GENERICSD snapshot on a BBB has issues with loading the if_rtwn_usb module

Dr. Rolf Jansen freebsd-rj at obsigna.com
Mon Jan 18 12:03:00 UTC 2021


> Am 18.01.2021 um 05:45 schrieb Emmanuel Vadot <manu at bidouilliste.com>:
> 
> On Sun, 17 Jan 2021 19:01:24 -0300
> "Dr. Rolf Jansen" <freebsd-rj at obsigna.com> wrote:
> 
>>> Am 17.01.2021 um 18:55 schrieb Emmanuel Vadot <manu at bidouilliste.com>:
>>> 
>>> On Sun, 17 Jan 2021 18:49:01 -0300
>>> "Dr. Rolf Jansen" <freebsd-rj at obsigna.com> wrote:
>>> 
>>>>> Am 17.01.2021 um 13:45 schrieb Emmanuel Vadot <manu at bidouilliste.com>:
>>>>> 
>>>>> On Sat, 16 Jan 2021 15:11:28 -0300
>>>>> "Dr. Rolf Jansen" <freebsd-rj at obsigna.com <mailto:freebsd-rj at obsigna.com>> wrote:
>>>>> 
>>>>>>> Am 16.01.2021 um 14:48 schrieb Emmanuel Vadot <manu at bidouilliste.com <mailto:manu at bidouilliste.com>>:
>>>>>>> 
>>>>>>> On Sat, 16 Jan 2021 18:43:33 +0100
>>>>>>> Emmanuel Vadot <manu at bidouilliste.com <mailto:manu at bidouilliste.com> <mailto:manu at bidouilliste.com <mailto:manu at bidouilliste.com>>> wrote:
>>>>>>> 
>>>>>>>> On Sat, 16 Jan 2021 14:08:58 -0300
>>>>>>>> "Dr. Rolf Jansen" <freebsd-rj at obsigna.com> wrote:
>>>>>>>> 
>>>>>>>>> I updated one of my BBB from an older 13-CURRENT (July 2020) to the latest 13-ALPHA1 snapshot from Jan, 14th ? GENERICSD-20210114-7ae27c2d6c4-255938.
>>>>>>>>> 
>>>>>>>>> I had successfully employed an USB-WLAN dongle based on the RTL8188eu chipset. I only added the following into /boot/loader.conf:
>>>>>>>>> 
>>>>>>>>> if_rtwn_usb_load="YES"
>>>>>>>>> 
>>>>>>>>> By that all dependend modules were loaded automatically in a snap. With ALPHA1 this doesn?t work anymore. After hours of troubleshooting, I got it working by adding the following into /etc/rc.conf:
>>>>>>>>> 
>>>>>>>>> kld_list="if_rtwn_usb"
>>>>>>>>> 
>>>>>>>>> The "Loading kernel modules:" takes apprx. 4 seconds, however, then the USB-WLAN device is enumerated correctly and it is ready to use. This makes me think that this uncommon huge delay is the culprit. I checked this with some snapshot thats I had installed already. The issue seems to have been introduced together with the switch to GENERICSD. A GENERICSD 13-CURRENT from end of December showed this issue already, while a BBB-specific snapshot (from November 2020) that I had installed on another BBB works as before by loading the modules in /boot/loader.conf.
>>>>>>>>> 
>>>>>>>>> I don't mind to load the modules by the way of the kld_list directive in /etc/rc.conf. However, the unusual long duration of loading the module and its dependencies might be an indication for a more fundamental issue.
>>>>>>>>> 
>>>>>>>>> Please feel free to ask me for doing more tests. 
>>>>>>>>> 
>>>>>>>>> Best regards
>>>>>>>>> 
>>>>>>>>> Rolf
>>>>>>>> 
>>>>>>>> I can reproduce that on my netbooted BBB.
>>>>>>>> The module is correctly loaded :
>>>>>>>> 
>>>>>>>> Loading
>>>>>>>> kernel... /boot/kernel/kernel text=0x1b4 text=0x68d638 text=0x1c84f0
>>>>>>>> data=0xb4070 data=0x0+0x258000 syms=[0x4+0xa5ab0+0x4+0x119fd4] Loading
>>>>>>>> configured modules... /boot/kernel/if_rtwn_usb.ko text=0xb960
>>>>>>>> text=0x62c0 data=0x2cc+0x3b syms=[0x4+0x3570+0x4+0x293f] /boot/entropy
>>>>>>>> size=0x1000 /etc/hostid
>>>>>>>> size=0x25 Using DTB provided by EFI at
>>>>>>>> 0x87f00000. Kernel entry at
>>>>>>>> 0x96e00200... Kernel args:
>>>>>>>> (null)                                                                                                 
>>>>>>>> ---<<BOOT>>---                                                                                         
>>>>>>>> 
>>>>>>>> But it isn't loaded anymore after booting :
>>>>>>>> root at bbb:~ # kldstat 
>>>>>>>> Id Refs Address        Size Name
>>>>>>>> 1    1 0xc0000000   d23a8c kernel
>>>>>>>> 
>>>>>>>> I don't think it has to do with the switch to GENERICSD, there is (at
>>>>>>>> least shouldn't be) any difference between the old BBB image and the
>>>>>>>> GENERICSD one.
>>>>>> 
>>>>>> Yes, this might well be a coincidence. I do neither have the last BBB specific snapshot nor the first GENERICSD one for testing these against each other.
>>>>>> 
>>>>>>> Just did a test on my OrangePi One (Allwinner H3 armv7 with 512MB of
>>>>>>> RAM) and this is the same.
>>>>>>> The problem seems to be module dependancy, loader only loads
>>>>>>> if_rtnw_usb but doing a kldload also brings wlan.ko and rtwn.ko
>>>>>> 
>>>>>> I can confirm this. And in addition loading the if_rtwn_usb.ko module and its dependcies manually also takes now significantly longer compared to a manual load on the BBB specific 13-CURRENT from November. Perhaps something has been changed in the dependency resolver.
>>>>>> 
>>>>> 
>>>>> Fixed in 0f2434ea000e
>>>>> 
>>>>> Thanks for reporting.
>>>> 
>>>> Unfortunately, this did not resolve the issue. I updated my working copy with git pull and verified that your changes made it into my source tree. Then I built a new kernel and replaced the original ALPHA1 kernel from 2021-01-14 by this new one. The rtwn-modules are still not loaded by the if_rtwn_usb_load="YES" directive in /boot/loader.conf.
>>>> 
>>>> Best regards
>>>> 
>>>> Rolf
>>> 
>>> You need to update loader.efi on the ESP partition.
>> 
>> Please excuse my ignorance. Do I need to build world for this? Then where is the newly build loader.efi?
>> 
>> Best regards
>> 
>> Rolf
> 
> It's part of buildworld yes but you can rebuild it with :
> (cd stand/ && make buildenv TARGET_ARCH=armv7 BUILDENV_SHELL="make
> clean all -sj4")
> 
> Then locate loader_lua.efi in the obj directory and place it in the
> ESP (the fat16/fat32 partition) as efi/boot/bootarm.efi

This resolved the issue.

Thank you very much and best regards

Rolf


More information about the freebsd-arm mailing list