RPi1: cannot connect with v2.0.0 (but v1.24.1 is OK)

I’ve been trying to get Resin v2.0.0 up and running on a Raspberry Pi (v1b) using an image created from the Resin dashboard. But, regardless of whether I use an ethernet or wifi connection, I get the dreaded 4 ACT LED flashes indicating it was unable to connect.

However, if I create the Resin v1.24.1 image from the dashboard instead, it connects and works perfectly (on both ethernet and wifi).

I couldn’t see any log files on the SD card that would help me diagnose this issue. Any tips?

Hello,
this is strange. I cannot reproduce at the moment, since everything seems to work fine.

So I’d suggest to make sure the SSID and wifi credentials are correct, maybe re-write the SD card and validate that it’s flashed correctly. Etcher (https://etcher.io) is an amazing software by resin for that purpose!

Thanks ilias, I’ve already tried two different SD cards, verified the
correct SSID/credentials and even tried a different network to no avail.
However note that it also fails to connect on a standard ethernet
connection, so it’s not just WiFi that’s failing.

If I take the same SD card and write 1.24.1 on it (using Etcher and the
exact same SSID/credentials) it works fine. So something definitely up with
2.0.0 on my RPi (I’ve redownloaded the image a bunch of times so can be
pretty sure it wasn’t a corrupt download!)

What is the exact ResinOS version that you downloaded? v2.0.0+rev3 ?

Yep, I tried rev3, rev3.dev and rev2, all with the same results.

Hey @dave6, I tried this on the RPI3 and it works as expected.

We haven’t changed any network requirements for 2x network-requirements.

Are you touching the image at all or just downloading it and burning right away? (no config.json changes ect?)

  • Are you on macos or linux? If so could you mount the image and check the /resin-boot/system-connections/resin-wifi has the correct credentials? (just to double check)
  • Another quick check to run is download a dev image, then run resin local scan from your machine this will make sure that is available on the local network, that may narrow it down.

My last thought is that perhaps there are some wifi dongles that work on resinos 1v but not 2? I don’t think this is possible, right @telphan?

If none of this gives us any more clues, you should give it a go on another network, or get the serial cable out.

We’ll get to the bottom of it, let us know what you find!

I just read the docs, flashed rev3.dev, hooked up a kb and have been having a nose around. First discovery was that eth0 isn’t brought up if a WiFi adapter is present - disconnecting the WiFi adapter caused the board to connect fine over ethernet, so I can confirm this issue is restricted to WiFi only.

After booting (with WiFi), the dmesg output spams “IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready”.

I manually hooked up eth0 and dropbear so I can poke around from the comfort of my laptop. I can see the wifi adapter
is being found:

[    4.777912] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[    4.910213] usb 1-1.2: New USB device found, idVendor=7392, idProduct=7811
[    4.921026] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.932163] usb 1-1.2: Product: 802.11n WLAN Adapter
[    4.940891] usb 1-1.2: Manufacturer: Realtek

It correctly identifies the device as rl8192cu, but then things go a bit wrong, such as this: (apologies for long paste)

[   23.666593] usbcore: registered new interface driver rtl8192cu
[   29.414355] cfg80211: World regulatory domain updated:
[   29.423110] cfg80211:  DFS Master region: unset
[   29.427696] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   29.444344] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   29.455933] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz, 92000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[   29.468942] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[   29.480510] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[   29.493640] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[   29.506775] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[   29.518476] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   29.530114] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[   38.912156] i2c /dev entries driver
[   44.824145] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   44.928409] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   44.957296] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.241529] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   46.153142] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   46.195221] ------------[ cut here ]------------
[   46.201112] WARNING: CPU: 0 PID: 6 at /yocto/resin-board/build/tmp/work-shared/raspberrypi/kernel-source/net/wireless/sme.c:921 __cfg80211_disconnected+0x294/0x2d4 [cfg80211]()
[   46.217372] Modules linked in: i2c_dev 8192cu cfg80211 rfkill evdev snd_bcm2835 snd_pcm snd_timer snd i2c_bcm2708 spi_bcm2835 bcm2835_gpiomem bcm2835_wdt uio_pdrv_genirq uio sch_fq_codel
[   46.235262] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted 4.4.48 #2
[   46.241684] Hardware name: BCM2708
[   46.246232] Workqueue: cfg80211 cfg80211_event_work [cfg80211]
[   46.252526] [<c0016aa8>] (unwind_backtrace) from [<c0013a04>] (show_stack+0x20/0x24)
[   46.260641] [<c0013a04>] (show_stack) from [<c031a224>] (dump_stack+0x20/0x28)
[   46.268191] [<c031a224>] (dump_stack) from [<c0021e88>] (warn_slowpath_common+0x88/0xc0)
[   46.276715] [<c0021e88>] (warn_slowpath_common) from [<c0021f7c>] (warn_slowpath_null+0x2c/0x34)
[   46.286874] [<c0021f7c>] (warn_slowpath_null) from [<bf0be250>] (__cfg80211_disconnected+0x294/0x2d4 [cfg80211])
[   46.299152] [<bf0be250>] (__cfg80211_disconnected [cfg80211]) from [<bf09923c>] (cfg80211_process_wdev_events+0x1a4/0x210 [cfg80211])
[   46.313402] [<bf09923c>] (cfg80211_process_wdev_events [cfg80211]) from [<bf0992e4>] (cfg80211_process_rdev_events+0x3c/0x74 [cfg80211])
[   46.327877] [<bf0992e4>] (cfg80211_process_rdev_events [cfg80211]) from [<bf094208>] (cfg80211_event_work+0x24/0x2c [cfg80211])
[   46.340901] [<bf094208>] (cfg80211_event_work [cfg80211]) from [<c00377b0>] (process_one_work+0x1dc/0x44c)
[   46.351079] [<c00377b0>] (process_one_work) from [<c00385c0>] (worker_thread+0x48/0x544)
[   46.359514] [<c00385c0>] (worker_thread) from [<c003d7a0>] (kthread+0xd8/0xf8)
[   46.366999] [<c003d7a0>] (kthread) from [<c000f668>] (ret_from_fork+0x14/0x2c)
[   46.374490] ---[ end trace 52d47258ec1130bc ]---
[   46.394418] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   46.490260] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   46.499697] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[   47.846400] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   47.905364] ------------[ cut here ]------------
[   47.911285] WARNING: CPU: 0 PID: 6 at /yocto/resin-board/build/tmp/work-shared/raspberrypi/kernel-source/net/wireless/sme.c:921 __cfg80211_disconnected+0x294/0x2d4 [cfg80
211]()
[   47.932219] Modules linked in: i2c_dev 8192cu cfg80211 rfkill evdev snd_bcm2835 snd_pcm snd_timer snd i2c_bcm2708 spi_bcm2835 bcm2835_gpiomem bcm2835_wdt uio_pdrv_genirq 
uio sch_fq_codel
[   47.960134] CPU: 0 PID: 6 Comm: kworker/u2:0 Tainted: G        W       4.4.48 #2
[   47.972983] Hardware name: BCM2708
[   47.982687] Workqueue: cfg80211 cfg80211_event_work [cfg80211]
[   47.994055] [<c0016aa8>] (unwind_backtrace) from [<c0013a04>] (show_stack+0x20/0x24)
[   48.007240] [<c0013a04>] (show_stack) from [<c031a224>] (dump_stack+0x20/0x28)
[   48.019823] [<c031a224>] (dump_stack) from [<c0021e88>] (warn_slowpath_common+0x88/0xc0)
[   48.033333] [<c0021e88>] (warn_slowpath_common) from [<c0021f7c>] (warn_slowpath_null+0x2c/0x34)
[   48.048634] [<c0021f7c>] (warn_slowpath_null) from [<bf0be250>] (__cfg80211_disconnected+0x294/0x2d4 [cfg80211])
[   48.066056] [<bf0be250>] (__cfg80211_disconnected [cfg80211]) from [<bf09923c>] (cfg80211_process_wdev_events+0x1a4/0x210 [cfg80211])
[   48.085298] [<bf09923c>] (cfg80211_process_wdev_events [cfg80211]) from [<bf0992e4>] (cfg80211_process_rdev_events+0x3c/0x74 [cfg80211])
[   48.104820] [<bf0992e4>] (cfg80211_process_rdev_events [cfg80211]) from [<bf094208>] (cfg80211_event_work+0x24/0x2c [cfg80211])
[   48.122634] [<bf094208>] (cfg80211_event_work [cfg80211]) from [<c00377b0>] (process_one_work+0x1dc/0x44c)
[   48.137557] [<c00377b0>] (process_one_work) from [<c00385c0>] (worker_thread+0x48/0x544)
[   48.150848] [<c00385c0>] (worker_thread) from [<c003d7a0>] (kthread+0xd8/0xf8)
[   48.163207] [<c003d7a0>] (kthread) from [<c000f668>] (ret_from_fork+0x14/0x2c)
[   48.175541] ---[ end trace 52d47258ec1130bd ]---
[   48.367698] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   48.710774] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   49.000195] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

In addition, iwlist wlan0 scan returns no results.

So it looks like the board is struggling to initialise the WiFi adapter in v2.0.0.

Can you let us know the exact model WiFi adapter are you using?

It’s an Edimax EW-7811UN.

I’ve seen users reporting power issues with that dongle. Though it’s weird since with OS 1.24.1 you don’t face any problems. Can you make sure that the RPI is connected to stable power supply (i.e. not to a laptop’s USB) and plug the dongle prior to booting? The fact that the dongle prohibits the ethernet adapter to work also make me think power issues…

Hi, seems like I can reproduce it with the same dongle, checking with the devices team to see what might be going on.

@imrehg Super! Let me know if you need any more info from me, but I’ll add anything I find here.

@ilias I’ve tried two separate PSUs (different makes, but both with good service records!) with the same outcome, so pretty sure they’re fine.

Hey, following up with the device team, the only officially supported dongle is the Raspberry Pi wifi dongle (see more in the wifi dongles page on the docs).

Mentioned on that page:

Generally speaking, WiFi devices listed over at the elinux rpi wifi page or devices which use one of the linux-firmware-ath9k, linux-firmware-ralink and linux-firmware-rtl8192cu firmwares should work correctly.

but this is not a guarantee (“should”). This particular case seems to be a regression in resinOS and we started a discussion how to fix and avoid this, while we can’t really test on all dongles all the time (hardware availability, time, etc)

Will keep you posted about this, hope it can be sorted out soon! In the meantime I’d suggest probably switching dongles, even though I know it’s not ideal. :confused:

@imrehg For the moment I’ll sit on 1.24.1 or use 2.0.0 over ethernet (now I know I have to remove the WiFi dongle for it to connect) so it’s not a terrible position to be in. Thanks for investigating!

1 Like