Having recently bought a RaspberryPi I decided to mount VxWorks to it.
Having followed the steps in the SDK guide i was greeted with
“start4.elf is not compitable the board requires newer hardware”
I got the latest firmware from the raspberry pi boot and managed to get VxWorks to boot, but i am facing a few issues with getting it to communcate to WRStudio in vs code, to an FTP server etc, when it boots i am getting an error, and also when i try to communicate with say ping etc im getting value = 4294967295 = 0xffffffff.
Is ther anything im missing that could be causing these errors or could it be that the latest firmare on the Pi isn’t compatible with VxWorks?
Any help would be greatly appreciated
(hopefully the image uploads)
The recommended firmware mentioned in the README file is https://github.com/raspberrypi/firmware/archive/1.20200212.tar.gz. I haven’t checked recent RPi4 firmware updates, but I’ll try to do that soon.
Meanwhile, you should be able to set an IP address manually using ifconfig. For example this is the set of commands I used to set a static IP address.
ifconfig genet0 188.8.131.52
Here is a more detailed log which includes the aforementioned commands:
-> cmd [vxWorks *]# ifconfig -a lo0 Link type:Local loopback inet 127.0.0.1 mask 255.255.255.255 inet6 unicast fe80::1%lo0 prefixlen 64 automatic inet6 unicast ::1 prefixlen 128 UP RUNNING LOOPBACK MULTICAST NOARP ALLMULTI MTU:1500 metric:1 VR:0 ifindex:1 RX packets:17 mcast:0 errors:0 dropped:0 TX packets:17 mcast:0 errors:0 collisions:0 unsupported proto:0 RX bytes:1275 TX bytes:1275 genet0 Link type:Ethernet HWaddr dc:a6:32:08:cf:f5 inet6 unicast fe80::dea6:32ff:fe08:cff5%genet0 prefixlen 64 automatic UP RUNNING SIMPLEX BROADCAST MULTICAST DHCP MTU:1500 metric:1 VR:0 ifindex:2 RX packets:0 mcast:0 errors:0 dropped:0 TX packets:0 mcast:5 errors:0 collisions:0 unsupported proto:0 RX bytes:0 TX bytes:0 [vxWorks *]# ifconfig genet0 -dhcp [vxWorks *]# ifconfig genet0 184.108.40.206 [vxWorks *]# ifconfig -a lo0 Link type:Local loopback inet 127.0.0.1 mask 255.255.255.255 inet6 unicast fe80::1%lo0 prefixlen 64 automatic inet6 unicast ::1 prefixlen 128 UP RUNNING LOOPBACK MULTICAST NOARP ALLMULTI MTU:1500 metric:1 VR:0 ifindex:1 RX packets:21 mcast:0 errors:0 dropped:0 TX packets:21 mcast:0 errors:0 collisions:0 unsupported proto:0 RX bytes:1585 TX bytes:1585 genet0 Link type:Ethernet HWaddr dc:a6:32:08:cf:f5 inet 220.127.116.11 mask 255.255.0.0 broadcast 18.104.22.168 inet6 unicast fe80::dea6:32ff:fe08:cff5%genet0 prefixlen 64 automatic UP RUNNING SIMPLEX BROADCAST MULTICAST MTU:1500 metric:1 VR:0 ifindex:2 RX packets:14 mcast:0 errors:0 dropped:4 TX packets:6 mcast:10 errors:0 collisions:0 unsupported proto:0 RX bytes:898 TX bytes:480 [vxWorks *]# ping -c 2 22.214.171.124 Pinging 126.96.36.199 (188.8.131.52) with 64 bytes of data: Reply from 184.108.40.206 bytes=64 ttl=255 seq=0 time=16ms Reply from 220.127.116.11 bytes=64 ttl=255 seq=1 time=16ms --- 18.104.22.168 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1017 ms rtt min/avg/max = 16/16/16 ms [vxWorks *]#
That’s the firmware version I used but when booting it said
“start4.elf is not compatible this board requires newer software” << not hardware sorry I made a mistake in the original post.
After moving to the latest firmware for the RPi it booted.
The Ethernet connection actually did turn itself on after waiting about 5 minutes. Maybe i was just being impatient with that one.
Thanks for your help,
Hello, I am having the same issue trying to access the FTP server.
I followed the readme and I am using firware version 1.20200212.
I have set the IP address using the ifconfig command. I can successfully ping the host as well.
However the command → netDevCreate(“wrs”,“10.71.250.20”,1) results in value = 4294967295 = 0xffffffff
instead how to make manual IP setting persistent at boot?
I cannot see a /etc dir…
And second question… How to launch a custom DKM application at startup (for example the start function of my myapp.o)?
Thanks in advance
I had the same problem and RESOLVED adding a slash in front of the dev name. Like this:
netDevCreate("/wrs", "<your host IP>", 1)
@dan.milea the README contains this error.
The VxWorks kernel from the Raspberry Pi 4 SDK is configured to always start with DHCP. Manual IP addresses must be set using the shell, after the DHCP client has terminated.
Start-up scripts defined in the boot line are used to perform actions on startup, but this is not available in the prebuilt kernel where the boot line is not user configurable.
Thank you @amannini for pointing out the issue in the documentation. This behavior has been introduced in a more recent version of VxWorks, but there are still earlier versions of the SDK where the command without / in the device name will be the recommended usage.