Power & Source of Big Ideas

Which WiFi USB module works with Android on the NanoPi Fire3

Moderators: chensy, FATechsupport

As the subject says, which one has anyone got to work on this board running Android?
I too would love to know. None of the "supported" ones seem to work with Android.
I have this partially working now. The RTL8188 driver was not built into the kernel. Once I did this and rebuilt the kernel and updated the Fire 3, it was able to detect the USB device but failed to complete because of a missing bin file. I have the bin file but need to do some work on the Android build to include this as I can't push it to the device as it is read-only.

Code: Select all

<7>[ 1770.888000] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0008
<7>[ 1770.888000] hub 1-1:1.0: port 3, status 0101, change 0001, 12 Mb/s
<7>[ 1771.016000] hub 1-1:1.0: debounce: port 3: total 100ms stable 100ms status 0x101
<6>[ 1771.088000] usb 1-1.3: new high-speed USB device number 4 using nxp-ehci
<7>[ 1771.104000] hub 1-1:1.0: port 3 not reset yet, waiting 10ms
<7>[ 1771.200000] usb 1-1.3: default language 0x0409
<7>[ 1771.200000] usb 1-1.3: udev 4, busnum 1, minor = 3
<6>[ 1771.200000] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8176
<6>[ 1771.200000] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>[ 1771.208000] usb 1-1.3: Manufacturer: Realtek
<6>[ 1771.212000] usb 1-1.3: SerialNumber: 00e04c000001
<7>[ 1771.220000] usb 1-1.3: usb_probe_device
<7>[ 1771.220000] usb 1-1.3: configuration #1 chosen from 1 choice
<7>[ 1771.220000] usb 1-1.3: adding 1-1.3:1.0 (config #1, interface 0)
<7>[ 1771.220000] rtl8192cu 1-1.3:1.0: usb_probe_interface
<7>[ 1771.220000] rtl8192cu 1-1.3:1.0: usb_probe_interface - got id
<6>[ 1771.220000] rtl8192cu: Chip version 0x10
<6>[ 1771.320000] rtl8192cu: MAC address: e8:4e:06:1f:f6:5c
<6>[ 1771.320000] rtl8192cu: Board Type 0
<6>[ 1771.324000] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1
<6>[ 1771.328000] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin
<7>[ 1771.336000] drivers/usb/core/inode.c: creating file '004'
<7>[ 1771.336000] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0008
<3>[ 1771.336000] rtlwifi: Firmware rtlwifi/rtl8192cufw.bin not available
OK, I was able to make /system read/write from ADB and copy the required binary file to the device.

Code: Select all

adb push rtl8192cufw.bin /system/vendor/firmware/rtlwifi/rtl8192cufw.bin


WiFi still doesn't seem to work and doesn't detect anything when you switch it on in the WiFi settings. Mmmmm

Code: Select all

<7>[  241.288000] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0008
<7>[  241.288000] hub 1-1:1.0: port 3, status 0101, change 0001, 12 Mb/s
<7>[  241.416000] hub 1-1:1.0: debounce: port 3: total 100ms stable 100ms status 0x101
<6>[  241.488000] usb 1-1.3: new high-speed USB device number 4 using nxp-ehci
<7>[  241.504000] hub 1-1:1.0: port 3 not reset yet, waiting 10ms
<7>[  241.596000] usb 1-1.3: default language 0x0409
<7>[  241.596000] usb 1-1.3: udev 4, busnum 1, minor = 3
<6>[  241.596000] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8176
<6>[  241.596000] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>[  241.604000] usb 1-1.3: Manufacturer: Realtek
<6>[  241.608000] usb 1-1.3: SerialNumber: 00e04c000001
<7>[  241.616000] usb 1-1.3: usb_probe_device
<7>[  241.616000] usb 1-1.3: configuration #1 chosen from 1 choice
<7>[  241.616000] usb 1-1.3: adding 1-1.3:1.0 (config #1, interface 0)
<7>[  241.616000] rtl8192cu 1-1.3:1.0: usb_probe_interface
<7>[  241.616000] rtl8192cu 1-1.3:1.0: usb_probe_interface - got id
<6>[  241.616000] rtl8192cu: Chip version 0x10
<6>[  241.716000] rtl8192cu: MAC address: e8:4e:06:1f:f6:5c
<6>[  241.716000] rtl8192cu: Board Type 0
<6>[  241.720000] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1
<6>[  241.724000] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin
<7>[  241.732000] drivers/usb/core/inode.c: creating file '004'
<7>[  241.732000] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0008
<7>[  241.732000] ieee80211 phy1: Selected rate control algorithm 'rtl_rc'
<6>[  241.736000] rtlwifi: wireless switch is on
<7>[  251.680000] dhd_module_init: in
<7>[  251.680000] ======== bcm_wlan_set_plat_data ========
<7>[  251.680000] host_oob_irq: 187
<7>[  251.680000] host_oob_irq_flags = 414
<7>[  251.680000] dhd_wifi_platform_load: Enter
<7>[  251.680000] Power-up adapter 'DHD generic adapter'
<7>[  251.680000] wifi_platform_set_power = 1
<7>[  251.680000] ======== PULL WL_REG_ON HIGH! ========
<7>[  251.680000] wifi_pm: bcmdhd: 1
<7>[  252.000000] wifi_platform_bus_enumerate device present 1
<3>[  253.036000] dw_mmc dw_mmc.1: Data0: Never released by cmd52
<7>[  253.200000] failed to power up DHD generic adapter, 1 retry left
<7>[  253.228000] wifi_platform_set_power = 0
<7>[  253.228000] ======== PULL WL_REG_ON LOW! ========
<7>[  253.228000] wifi_pm: bcmdhd: 0
<7>[  253.340000] wifi_platform_bus_enumerate device present 0
<3>[  254.040000] dw_mmc dw_mmc.1: Data0: Never released by cmd52
<3>[  255.048000] dw_mmc dw_mmc.1: Data0: Never released by cmd0
<3>[  256.052000] dw_mmc dw_mmc.1: Data0: Never released by cmd8
<3>[  257.060000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  258.068000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  259.072000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  260.076000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  261.080000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  262.088000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  263.092000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  264.096000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  265.100000] dw_mmc dw_mmc.1: Data0: Never released by cmd1
<7>[  265.100000] failed to power up DHD generic adapter, max retry reached**
<7>[  265.100000] unregister wifi platform drivers
<7>[  265.100000] wifi_platform_bus_enumerate device present 0
<7>[  265.100000] dhd_module_init: Failed to load the driver, try cnt 1
<7>[  265.100000] ======== bcm_wlan_set_plat_data ========
<7>[  265.100000] host_oob_irq: 187
<7>[  265.100000] host_oob_irq_flags = 414
<7>[  265.100000] dhd_wifi_platform_load: Enter
<7>[  265.100000] Power-up adapter 'DHD generic adapter'
<7>[  265.100000] wifi_platform_set_power = 1
<7>[  265.100000] ======== PULL WL_REG_ON HIGH! ========
<7>[  265.100000] wifi_pm: bcmdhd: 1
<7>[  265.420000] wifi_platform_bus_enumerate device present 1
<3>[  266.456000] dw_mmc dw_mmc.1: Data0: Never released by cmd52
<7>[  266.620000] failed to power up DHD generic adapter, 1 retry left
<7>[  266.648000] wifi_platform_set_power = 0
<7>[  266.648000] ======== PULL WL_REG_ON LOW! ========
<7>[  266.648000] wifi_pm: bcmdhd: 0
<7>[  266.764000] wifi_platform_bus_enumerate device present 0
<3>[  267.464000] dw_mmc dw_mmc.1: Data0: Never released by cmd52
<3>[  268.476000] dw_mmc dw_mmc.1: Data0: Never released by cmd0
<3>[  269.484000] dw_mmc dw_mmc.1: Data0: Never released by cmd8
<3>[  270.492000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  271.496000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  272.500000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  273.504000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
<3>[  274.512000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  275.520000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  276.528000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  277.532000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
<3>[  278.540000] dw_mmc dw_mmc.1: Data0: Never released by cmd1
<7>[  278.540000] failed to power up DHD generic adapter, max retry reached**
<7>[  278.540000] unregister wifi platform drivers
<7>[  278.540000] wifi_platform_bus_enumerate device present 0
<7>[  278.540000] dhd_module_init: Failed to load the driver, try cnt 0
<7>[  278.540000] dhd_module_init: Failed to load driver max retry reached**
<7>[  278.540000] dhd_module_init: Exit err=-19
For reference, the BIN files are located here.

https://git.kernel.org/pub/scm/linux/ke ... ee/rtlwifi

Click on them and then choose to download raw otherwise you get the text version if you right click and save.
When I enable the WiFi in the settings, this appears on the debug output.

Any clues?

Code: Select all

[   43.188000] dw_mmc dw_mmc.1: Hardware locked write error
[   43.204000] dw_mmc dw_mmc.1: Hardware locked write error
[   44.228000] dw_mmc dw_mmc.1: Data0: Never released by cmd52
[   45.232000] dw_mmc dw_mmc.1: Data0: Never released by cmd52
[   45.232000] dw_mmc dw_mmc.1: Hardware locked write error
[   46.240000] dw_mmc dw_mmc.1: Data0: Never released by cmd0
[   46.240000] dw_mmc dw_mmc.1: Hardware locked write error
[   47.248000] dw_mmc dw_mmc.1: Data0: Never released by cmd8
[   48.256000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
[   49.260000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
[   50.264000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
[   51.272000] dw_mmc dw_mmc.1: Data0: Never released by cmd5
[   52.276000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
[   53.280000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
[   54.288000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
[   55.292000] dw_mmc dw_mmc.1: Data0: Never released by cmd55
[   55.292000] dw_mmc dw_mmc.1: Hardware locked write error
No wifi module works with the Fire 3. I have even used the stock Android image from FriendlyArm and it does not work with any of the listed WiFi modules shown on the wiki.

This is frustrating as I have built 3 prototype modules using the Fire 4 and apart from no wifi, they run great with Android and all the sensors work. I am stuck on being able to offer these for sale and open source until I get WiFi working. :(
Truly a disappoint as the board is killer otherwise.
DesignerDave wrote:
Truly a disappoint as the board is killer otherwise.


Pretty bad when they state that they are supported and yet, neither of us can get them working.

I got this reply from their tech support. Not what I wanted to hear and certainly does not mean they are supported as per what the wiki says.

You also need to compile kernel modules and update the kernel modules package in android bsp. It should exist in the vendor directory of android bsp.

I've already modified the kernel to include various USB wifi drivers and it does detect them when you plug them in, as can be seen from the above posts, but it does not work with Android. I have a feeling we need to do some more work on the Android mk files to support a single USB wifi module. I have an idea where this is to be done but not yet worked out how to do it.

If I get this working, and I need it to be otherwise my investment in the Fire 3 is wasted, then I will post what I find here and I will document what you need to do on my blog.

Who is online

In total there are 3 users online :: 0 registered, 0 hidden and 3 guests (based on users active over the past 5 minutes)
Most users ever online was 5185 on Wed Jan 22, 2020 1:44 pm

Users browsing this forum: No registered users and 3 guests