OpenWrt Forum Archive

Topic: Siemens SX551

The content of this topic has been archived between 14 Apr 2018 and 5 May 2018. Unfortunately there are posts – most likely complete pages – missing.

F. I now see what I was doing wrong >.< I removed /init as I assumed that the kenrel will then boot /bin/sh... not. I'll make a symlink from /sbin/init to busybox and try again. passing rdinit=/bin/busybox booted at least, but then busybox passed away with a usage message.

Now I have a system running with kexec support in the kernel, which can mount an NFS share with a more extensive rootfs. But when I try to load a more extensive kernel using kexec-tools, I get

root@OpenWrt:/boot# kexec -l vmlinux.elf 
Could not find a free area of memory of 1000 bytes...
locate_hole failed
root@OpenWrt:/boot#

Sigh.

I've just updated my site with firmware resulting from my succesful attempts. I can now SSH into it and send a wake on lan packet to a PC (yay!).
The notes.txt file has also been updated with my attempts to turn other LEDS on from userspace writing to GPIOs.

As usual, the files can be found on http://lekensteyn.nl/files/sx551/

Perhaps http://wiki.openwrt.org/doc/howto/kexec helps you?

Unfortunately not. I've parked it for the moment.

Now I'm trying to get vlynq running. I found that the kernel log is not complete, the line

[    1.080000] vlynq0: regs 0x08611800, irq 29, mem 0x04000000

should be followed by a

Found a VLYNQ device: %08x

(I *think* this is the connected device, and because for each vlynq port/bus only one such a line can be printed, I suppose a vlynq channel can connect only one device. Maybe that's the reason why a vlynq2pci bridge is used. This box has a wifi card, usb and some voip chip. But only 2 vlynq channels.
Anyway, no device is found.
By adding printk's I've found that the detection of the clock in __vlynq_enable_device() in drivers/vlynq/vlynq.c fails. The divisor member of the vlynq_device struct is set to vlynq_div_auto. AFAICS all possibilities are probed, and all fail. I believe this means that no remote device is found to negotiate to.

Looking in the firmware bootlog:

In C_Entry() function ...
install_exception 
sys_irq_init() ...
Set GPIO
Reset USB, PCI and VP140 module ...
vpReset(0)
vpReset(1)
PciPortal.start 40000000
vlynq_config_init: HW Reset Bypass!
inside reset callbackreset assert
inside reset callbackreset deassert
inside reset callbackLink Estab
inside reset callbackinit ok
Checking for Vlynq Link...
VLYNQ0 @ base 0xa8611800 is properly enumerated.

The firmware is obviously doing something with USB, PCI and VP140 (a voice pump), while the vlynq is not yet touched. So this must be via gpio, I suppose. There is nothing else. Any suggestion which gpio's to use, and how? I saw you have been busy with led mapping. Maybe it's possible to let all gpio's pulsate, and measure on the pins of the vlynq2pci chip to see if the signal can be found, and then try the gpio's one by one.

My GPIO experiments were not really thoughtful, it was trial and error. Since I realized that just writing random stuff to GPIOs may break the board, I've stopped doing so. Perhaps the labels near the lines on the board can give more useful hints on the GPIOs to use?

@Lekensteyn

Is there a build to test with SE555?

Lepak wrote:

I'd like that too.. even basic stuff .. just wifi

I'm afraid wifi is not basic on this box. Wifi, USB and voip hardware are connected to the PCI bus, and PCI is provided by a VLYNQtoPCI bridge. Unfortunately this chip isn't detected on boot, so I think it has to be reset/powered by some gpio line(s). I haven't succeeded in doing so.
And even if the bridge is detected, there is still a lack of drivers. Actually I have not found any documentation about that chip. When you Google for VLYNQ2PCI you'll find TI documentation stating that a VLYNQ2PCI bridge could be connected to their VLYNQ capable SoC's, and hardware descriptions of the SX551 and family listing the chip.
No documentation, no sources. I have given up. Without PCI this box is just not worth the trouble. No wifi, no USB, very little flash. The only way to get something decent on this box would be using an NFS rootfs.

@Mijzelf please don't give up - according to this page the ar7 target is supported and I have one DSL-G684T running Openwrt and all is working normal. I think you are very close to run this SX551&SE555 because both are ar7 platform too... If you need any bootlog or config from the openwrt@DSL-G684T I can send...

Here is the link to another post of mine with some gpios extracted from
another ar7 device:
https://forum.openwrt.org/viewtopic.php … 34#p118934

Can you use this?

Regards.

(Last edited by vpritiskovic on 1 Nov 2012, 18:48)

AR7 isn't the problem. The box boots fine into Linux. Serial line works, wired network works, GPIO works (as in, you can switch on and off the leds).
I suppose DSL should also work, though I haven't tried.

I looked at the code you PM'ed me, this is the driver of the VLYNQ interface of the AR7. Similar code is already implemented in the OpenWRT AR7 kernel, where it is used for VLYNQ connected voip and Wifi. I suppose you triggered on the "vlynq2pci" string inside. Unfortunately this is just a recognition of the connected chip (The AR7 has two VLYNQ interfaces, and each interface can connect only one chip). The problem is the interface doesn't detect any connected chips, also no 'unrecognized ones'. So the VLYNQ2PCI chip has to be made detectable, and the only possible interfaces for that are gpio and serial, or maybe memory map. But without documentation it's shooting in the dark. I tried some gpio lines, but it didn't come up. A possibility could be to connect a logic analyzer to the pins of the chip, and run the stock firmware, to see what kind of signals come in, in relation to the serial bootlog. But I don't have that hardware. And even if I could switch on the chip, we still don't have a driver.

Without VLYNQ2PCI there is no USB, and without USB there is no room for something meaningful. The box has only 2MiB flash, from which only 1479 KiB is available as contiguous block. That 1479 KiB is enough for a stripped down kernel, and a simple initramfs. The binary needed to be able to mount an NFS share fits, but that's it.

so looks like there's no way to get OpenWrt on Siemens SX551 ?

The discussion might have continued from here.