Bluetooth Cubietruck not working


Recommended Posts

Removing the line from the dtb gives me a new line in the log:

[   14.709455] hci_uart_bcm serial0-0: No reset resource, using default baud rate

But there are no RFCOMM messages and no bt controller after two cold boots.

Next I moved the old firmware and NVRAM and linked the new firmware:

$ dmesg | grep -iE "bluetooth|bcm|brcm|uart|firmware"
[   12.781584] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   12.819250] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt failed with error -2
[   12.819266] brcmfmac mmc1:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
[   13.819752] Bluetooth: Core ver 2.22
[   13.819935] Bluetooth: HCI device and connection manager initialized
[   13.819962] Bluetooth: HCI socket layer initialized
[   13.819973] Bluetooth: L2CAP socket layer initialized
[   13.820005] Bluetooth: SCO socket layer initialized
[   14.323565] Bluetooth: HCI UART driver ver 2.3
[   14.323580] Bluetooth: HCI UART protocol H4 registered
[   14.323585] Bluetooth: HCI UART protocol BCSP registered
[   14.323745] Bluetooth: HCI UART protocol LL registered
[   14.323758] Bluetooth: HCI UART protocol ATH3K registered
[   14.323827] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   14.324126] Bluetooth: HCI UART protocol Intel registered
[   14.324390] Bluetooth: HCI UART protocol Broadcom registered
[   14.324445] Bluetooth: HCI UART protocol QCA registered
[   14.324450] Bluetooth: HCI UART protocol AG6XX registered
[   14.324496] Bluetooth: HCI UART protocol Marvell registered
[   14.324878] hci_uart_bcm serial0-0: serial0-0 supply vbat not found, using dummy regulator
[   14.325026] hci_uart_bcm serial0-0: serial0-0 supply vddio not found, using dummy regulator
[   14.325188] hci_uart_bcm serial0-0: No reset resource, using default baud rate
[   15.262320] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43362-sdio.txt failed with error -2
[   15.262337] brcmfmac mmc1:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43362-sdio.txt
[   16.646909] Bluetooth: hci0: command 0x0c03 tx timeout
[   17.131392] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[   24.806876] Bluetooth: hci0: BCM: Reset failed (-110)
[   27.310936] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   27.310948] Bluetooth: BNEP filters: protocol multicast
[   27.310975] Bluetooth: BNEP socket layer initialized

The brcmf_sdio_htclk message is new. The NVRAM file it wants is brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt

I copied ap6210/nvram.txt to brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt and warm rebooted.

$ dmesg | grep -iE "bluetooth|bcm|brcm|uart|firmware"
[   12.919648] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   13.229163] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   14.000161] Bluetooth: Core ver 2.22
[   14.000317] Bluetooth: HCI device and connection manager initialized
[   14.000375] Bluetooth: HCI socket layer initialized
[   14.000389] Bluetooth: L2CAP socket layer initialized
[   14.000427] Bluetooth: SCO socket layer initialized
[   14.500633] Bluetooth: HCI UART driver ver 2.3
[   14.500648] Bluetooth: HCI UART protocol H4 registered
[   14.500652] Bluetooth: HCI UART protocol BCSP registered
[   14.500765] Bluetooth: HCI UART protocol LL registered
[   14.500770] Bluetooth: HCI UART protocol ATH3K registered
[   14.500826] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   14.501114] Bluetooth: HCI UART protocol Intel registered
[   14.501455] Bluetooth: HCI UART protocol Broadcom registered
[   14.501522] Bluetooth: HCI UART protocol QCA registered
[   14.501527] Bluetooth: HCI UART protocol AG6XX registered
[   14.501590] Bluetooth: HCI UART protocol Marvell registered
[   14.501679] hci_uart_bcm serial0-0: serial0-0 supply vbat not found, using dummy regulator
[   14.501817] hci_uart_bcm serial0-0: serial0-0 supply vddio not found, using dummy regulator
[   14.501956] hci_uart_bcm serial0-0: No reset resource, using default baud rate
[   15.400349] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[   15.444079] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43362/1 wl0: Mar 10 2014 14:59:50 version 5.90.195.89.18 FWID 01-b13c09c7
[   16.775221] Bluetooth: hci0: command 0x0c03 tx timeout
[   24.807255] Bluetooth: hci0: BCM: Reset failed (-110)
[   26.513785] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   26.513798] Bluetooth: BNEP filters: protocol multicast
[   26.513824] Bluetooth: BNEP socket layer initialized
[   37.223098] ieee80211 phy0: brcmf_p2p_create_p2pdev: timeout occurred
[   37.236472] ieee80211 phy0: brcmf_cfg80211_add_iface: add iface p2p-dev-wlan0 type 10 failed: err=-5

A cold reboot gives the same log and still no controller.

I replaced the original dtb and warm rebooted.

$ dmesg | grep -iE "bluetooth|bcm|brcm|uart|firmware"
[   12.983575] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   13.273307] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   13.711672] Bluetooth: Core ver 2.22
[   13.711814] Bluetooth: HCI device and connection manager initialized
[   13.711841] Bluetooth: HCI socket layer initialized
[   13.711853] Bluetooth: L2CAP socket layer initialized
[   13.711887] Bluetooth: SCO socket layer initialized
[   14.242778] Bluetooth: HCI UART driver ver 2.3
[   14.242793] Bluetooth: HCI UART protocol H4 registered
[   14.242797] Bluetooth: HCI UART protocol BCSP registered
[   14.243063] Bluetooth: HCI UART protocol LL registered
[   14.243070] Bluetooth: HCI UART protocol ATH3K registered
[   14.243154] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   14.243408] Bluetooth: HCI UART protocol Intel registered
[   14.243668] Bluetooth: HCI UART protocol Broadcom registered
[   14.243729] Bluetooth: HCI UART protocol QCA registered
[   14.243734] Bluetooth: HCI UART protocol AG6XX registered
[   14.243789] Bluetooth: HCI UART protocol Marvell registered
[   14.243977] hci_uart_bcm serial0-0: serial0-0 supply vbat not found, using dummy regulator
[   14.244142] hci_uart_bcm serial0-0: serial0-0 supply vddio not found, using dummy regulator
[   14.744480] Bluetooth: hci0: BCM: chip id 63
[   14.745148] Bluetooth: hci0: BCM: features 0x07
[   14.747710] Bluetooth: hci0: BCM20702A
[   14.747731] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[   14.747903] bluetooth hci0: Direct firmware load for brcm/BCM20702A1.hcd failed with error -2
[   14.747912] bluetooth hci0: Falling back to sysfs fallback for: brcm/BCM20702A1.hcd
[   15.317964] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[   15.322966] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43362/1 wl0: Mar 10 2014 14:59:50 version 5.90.195.89.18 FWID 01-b13c09c7
[   16.188328] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1.hcd not found
[   25.282073] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   25.282083] Bluetooth: BNEP filters: protocol multicast
[   25.282111] Bluetooth: BNEP socket layer initialized
[   36.966865] ieee80211 phy0: brcmf_p2p_create_p2pdev: timeout occurred
[   36.985529] ieee80211 phy0: brcmf_cfg80211_add_iface: add iface p2p-dev-wlan0 type 10 failed: err=-5
[   50.223896] Bluetooth: RFCOMM TTY layer initialized
[   50.223937] Bluetooth: RFCOMM socket layer initialized
[   50.223979] Bluetooth: RFCOMM ver 1.11

The controller is there. It doesn't see my device.

cd /lib/firmware/brcm

sudo ln -s ../ap6210/bcm20710a1.hcd BCM20702A1.hcd

warm reboot- no controller:

[   15.922697] Bluetooth: hci0: BCM: chip id 63
[   15.923514] Bluetooth: hci0: BCM: features 0x07
[   15.926102] Bluetooth: hci0: BCM20702A
[   15.926125] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[   16.116317] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[   16.122494] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43362/1 wl0: Mar 10 2014 14:59:50 version 5.90.195.89.18 FWID 01-b13c09c7
[   16.659233] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[   16.659974] Bluetooth: hci0: BCM: Using default device address (20:70:02:a0:00:00)

Cold reboot- no change.

 

To summarise:

It doesn't look like removing the reset from the dtb helps.

Using the WiFi firmware and NVRAM from ap6210/ gives us a controller even after a warm reboot.

Using the hcd from ap6210/ takes it away again although its log messages look better.

No device detection yet.

Link to post
Share on other sites
Donate and support the project!

Using ap6210/nvram_ap6210.txt loses the controller again.

Using ap6210/nvram.txt and the newer brcmfmac43362-sdio.bin from linux-firmware has a controller after a cold boot but not after a warm boot. No device detected.

$ dmesg | grep -iE "bluetooth|bcm|brcm|uart|firmware"
[   12.866616] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   13.871351] Bluetooth: Core ver 2.22
[   13.871648] Bluetooth: HCI device and connection manager initialized
[   13.871674] Bluetooth: HCI socket layer initialized
[   13.871688] Bluetooth: L2CAP socket layer initialized
[   13.871725] Bluetooth: SCO socket layer initialized
[   14.143274] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[   14.233200] Bluetooth: HCI UART driver ver 2.3
[   14.233214] Bluetooth: HCI UART protocol H4 registered
[   14.233219] Bluetooth: HCI UART protocol BCSP registered
[   14.233321] Bluetooth: HCI UART protocol LL registered
[   14.233326] Bluetooth: HCI UART protocol ATH3K registered
[   14.233381] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   14.233618] Bluetooth: HCI UART protocol Intel registered
[   14.233864] Bluetooth: HCI UART protocol Broadcom registered
[   14.233920] Bluetooth: HCI UART protocol QCA registered
[   14.233925] Bluetooth: HCI UART protocol AG6XX registered
[   14.234008] Bluetooth: HCI UART protocol Marvell registered
[   14.234194] hci_uart_bcm serial0-0: serial0-0 supply vbat not found, using dummy regulator
[   14.234422] hci_uart_bcm serial0-0: serial0-0 supply vddio not found, using dummy regulator
[   14.659780] Bluetooth: hci0: BCM: chip id 63
[   14.660457] Bluetooth: hci0: BCM: features 0x07
[   14.666130] Bluetooth: hci0: BCM20702A
[   14.666152] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[   14.666475] bluetooth hci0: Direct firmware load for brcm/BCM20702A1.hcd failed with error -2
[   14.666488] bluetooth hci0: Falling back to sysfs fallback for: brcm/BCM20702A1.hcd
[   15.180796] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[   16.225530] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1.hcd not found
[   26.307828] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   26.307841] Bluetooth: BNEP filters: protocol multicast
[   26.307869] Bluetooth: BNEP socket layer initialized
[   49.502878] Bluetooth: RFCOMM TTY layer initialized
[   49.502915] Bluetooth: RFCOMM socket layer initialized
[   49.502982] Bluetooth: RFCOMM ver 1.11

Adding the hcd from ap6210 loses the controller again.

 

So the best result seems to be the firmware and nvram.txt from ap6210/ with no hcd. That gives a controller after a warm boot. Nothing detects my device. The only other working bt device I have is my phone. Maybe that is worth trying tomorrow.

 

 

Link to post
Share on other sites

The dtb change was to test if there was some issue with the shutdown gpio. Without that it is relying on the power on reset, i.e. a non working warm boot is expected.
It looks like as soon as the BT firmware got loaded, the BT chip stops working. My research has shown that the files in ap6210/ are the ones that were also used with the old user space load method. Therefore, they should be right and work. Maybe it is worth to revert back to the old method and try if this still works. To do this, remove the entire bluetooth {...}; node from the dtb. This way the kernel driver will no longer touch bluetooth and the old method (brcm_patchram_plus, hciattach, ...) should be usable again.
What me puzzles is with which hardware we are here really dealing. The referenced cubietruck documentation claims it has an AP6210 with a BCM20710. But the initial firmware announces it as BCM20702A and despite the name ap6210/bcm20710a1.hcd, it contains this string: "BCM20702A1 Generic UART Class 1 @ 26 MHz".

Link to post
Share on other sites

I removed the bluetooth stanza from the dt. Installed CT_Bluetooth and rebuilt the binaries. Set it to use /dev/ttyS2 and the systemd service from here. I had to link the hcd from ap6210/ to brcm/ to start the brcm40183-patch.service then I got a controller:

$ sudo systemctl status bluetooth                    
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-07-22 20:54:40 CST; 5s ago
       Docs: man:bluetoothd(8)
   Main PID: 1938 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 4553)
     Memory: 1.3M
     CGroup: /system.slice/bluetooth.service
             └─1938 /usr/lib/bluetooth/bluetoothd

Jul 22 20:54:40 truck1 systemd[1]: Starting Bluetooth service...
Jul 22 20:54:40 truck1 bluetoothd[1938]: Bluetooth daemon 5.53
Jul 22 20:54:40 truck1 systemd[1]: Started Bluetooth service.
Jul 22 20:54:40 truck1 bluetoothd[1938]: Starting SDP server
Jul 22 20:54:40 truck1 bluetoothd[1938]: Bluetooth management interface 1.14 initialized
Jul 22 20:54:40 truck1 bluetoothd[1938]: Endpoint registered: sender=:1.45 path=/MediaEndpoint/A2DPSink/sbc
Jul 22 20:54:40 truck1 bluetoothd[1938]: Endpoint registered: sender=:1.45 path=/MediaEndpoint/A2DPSource/sbc
$ dmesg | grep -iE "bluetooth|bcm|brcm|uart|firmware"
[   13.127350] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   13.430411] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1
[   15.494788] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[   15.499792] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43362/1 wl0: Mar 10 2014 14:59:50 version 5.90.195.89.18 FWID 01-b13c09c7
[   35.495118] ieee80211 phy0: brcmf_p2p_create_p2pdev: timeout occurred
[   35.508654] ieee80211 phy0: brcmf_cfg80211_add_iface: add iface p2p-dev-wlan0 type 10 failed: err=-5
[ 1334.088176] Bluetooth: Core ver 2.22
[ 1334.088375] Bluetooth: HCI device and connection manager initialized
[ 1334.088404] Bluetooth: HCI socket layer initialized
[ 1334.088417] Bluetooth: L2CAP socket layer initialized
[ 1334.088451] Bluetooth: SCO socket layer initialized
[ 1334.172727] Bluetooth: HCI UART driver ver 2.3
[ 1334.172743] Bluetooth: HCI UART protocol H4 registered
[ 1334.172747] Bluetooth: HCI UART protocol BCSP registered
[ 1334.172851] Bluetooth: HCI UART protocol LL registered
[ 1334.172857] Bluetooth: HCI UART protocol ATH3K registered
[ 1334.172915] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 1334.173218] Bluetooth: HCI UART protocol Intel registered
[ 1334.173422] Bluetooth: HCI UART protocol Broadcom registered
[ 1334.173477] Bluetooth: HCI UART protocol QCA registered
[ 1334.173483] Bluetooth: HCI UART protocol AG6XX registered
[ 1334.173542] Bluetooth: HCI UART protocol Marvell registered
[ 1334.524690] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1334.524703] Bluetooth: BNEP filters: protocol multicast
[ 1334.524728] Bluetooth: BNEP socket layer initialized
[ 1334.991299] Bluetooth: RFCOMM TTY layer initialized
[ 1334.991339] Bluetooth: RFCOMM socket layer initialized
[ 1334.991379] Bluetooth: RFCOMM ver 1.11
$ hciconfig -a
hci0:   Type: Primary  Bus: UART
        BD Address: 43:29:B1:E6:A1:02  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING 
        RX bytes:730 acl:0 sco:0 events:48 errors:0
        TX bytes:3697 acl:0 sco:0 commands:48 errors:0
        Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
        Link policy: RSWITCH SNIFF 
        Link mode: SLAVE ACCEPT 
        Name: 'truck1'
        Class: 0x0c0000
        Service Classes: Rendering, Capturing
        Device Class: Miscellaneous, 
        HCI Version: 4.0 (0x6)  Revision: 0x1000
        LMP Version: 4.0 (0x6)  Subversion: 0x220e
        Manufacturer: Broadcom Corporation (15)

/dev/ttyS2 has not disappeared. Device not detected.

Looking at the service file it seems I shouldn't have to link the hcd. Hmm.

A cold reboot and the service didn't start. Doing it manually works though:

$ sudo systemctl status brcm40183-patch.service 
● brcm40183-patch.service - Patch firmware for brcm40183 Bluetooth adapter
     Loaded: loaded (/etc/systemd/system/brcm40183-patch.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
martin@truck1:~$ sudo systemctl start brcm40183-patch.service 
martin@truck1:~$ sudo systemctl status brcm40183-patch.service 
● brcm40183-patch.service - Patch firmware for brcm40183 Bluetooth adapter
     Loaded: loaded (/etc/systemd/system/brcm40183-patch.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-07-22 21:16:26 CST; 2s ago
    Process: 1846 ExecStartPre=/usr/local/bin/brcm_bt_reset /dev/${PORT} (code=exited, status=0/SUCCESS)
    Process: 1847 ExecStartPre=/bin/echo -en  > /dev/${PORT} (code=exited, status=0/SUCCESS)
    Process: 1848 ExecStartPre=/usr/local/bin/brcm_patchram_plus -d --patchram /lib/firmware/ap6210/bcm20710a1.hcd --no2bytes --tosleep 1000 --bd_addr ${MAC_ADDR} /dev/${PORT} (code=exited>
   Main PID: 1849 (hciattach)
      Tasks: 1 (limit: 4562)
     Memory: 708.0K
     CGroup: /system.slice/brcm40183-patch.service
             └─1849 /usr/bin/hciattach -n /dev/ttyS2 any

Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: DCD = 0
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: Waiting for 1 bytes...7 done
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: received 7
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: 04 0e 04 01 01 fc 00
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: F/W load done
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: option patchram with arg /lib/firmware/ap6210/bcm20710a1.hcd
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: option no2bytes
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: option tosleep with arg 1000
Jul 22 21:16:26 truck1 brcm_patchram_plus[1848]: option bd_addr with arg 43:29:B1:E6:A1:02
Jul 22 21:16:26 truck1 systemd[1]: Started Patch firmware for brcm40183 Bluetooth adapter.

It looks like everything works except the radio part. I set the cubietruck to discoverable and my phone didn't see it though it picked up my R1 and even my laptop at five times the distance past the cubie.

Link to post
Share on other sites
5 hours ago, CryBaby said:

BCM43362/1 wl0: Mar 10 2014 14:59:50 version 5.90.195.89.18 FWID 01-b13c09c7

Because "strings ap6210/fw_bcm40181a2.bin | grep 43362" gives me "43362a2-roml/sdio-g-pno-pktfilter-keepalive-wapi-wme-p2p-*unknown* Version: 5.90.195.0 CRC: b99a439d Date: Mon 2014-03-10 15:00:57 CST", I wonder if you have another one or do not use it. The kernel driver is expecting it as /lib/firmware/brcm/brcmfmac43362-sdio.bin for loading. And its companion nvram as brcmfmac43362-sdio.cubietech,cubietruck.txt. If not available it will fall back to brcmfmac43362-sdio.txt.
 Wifi and bluetooth have to cooperate because they share at least the same antenna in your design.

5 hours ago, CryBaby said:

Looking at the service file it seems I shouldn't have to link the hcd. Hmm.

Where user space tools expect and name their resources is a completely different story.

Link to post
Share on other sites

I have the same one:

/lib/firmware$ strings ap6210/fw_bcm40181a2.bin | grep 43362
43362a2-roml/sdio-g-pno-pktfilter-keepalive-wapi-wme-p2p-*unknown* Version: 5.90.195.0 CRC: b99a439d Date: Mon 2014-03-10 15:00:57 CST
/lib/firmware$ ls -la brcm/brcmfmac43362*
lrwxrwxrwx 1 root root      27 Jul 21 07:05 brcm/brcmfmac43362-sdio.bin -> ../ap6210/fw_bcm40181a2.bin
-rw-r--r-- 1 root root    1121 Jul 20 21:15 brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
$ dmesg | grep -iE "bluetooth|bcm|brcm|uart|firmware"
[   12.799205] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43362-sdio for chip BCM43362/1

And it seems to be using it.

I think we've established that we can load what we think are the right firmware files, either by the new kernel style or the old userspace style, and it all looks fine (to the best of my knowledge, such as it is) but it still doesn't actually work.

I'm gong to try the linux-firmware files again. I suspect I may have screwed up before.

Link to post
Share on other sites

Nah, using brcmfmac43362-sdio.bin and brcmfmac43362-sdio.cubietech,cubietruck.txt from linux-firmware with no hcd gives a (non-functioning) controller on cold boot only.

Adding in ap6210/bcm20710a1.hcd gives no controller.

 

Also, none of the 54 hcd files from github match ap6210/bcm20710a1.hcd

 

I don't know what to try next.

Link to post
Share on other sites
14 hours ago, CryBaby said:

And it seems to be using it.

According to your log, which I quoted in my previous post, it was not. Hence my request for the version verify.

The wifi kernel driver loads any code that is in the outlined location, and as long as you have not "ln --symbolic /lib/firmware/ap6210/fw_bcm40181a2.bin /lib/firmware/brcm/brcmfmac43362-sdio.bin" and "ln --symbolic /lib/firmware/ap6210/nvram.txt /lib/firmware/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt" in place, it won't use the desired ones.
You can also copy over the code, but I prefer the symlink method if I have to differ from the mainline linux-firmware code. If a mainline linux-firmware update breaks in an incompatible way, I only lose the symlinks and recreating them again restores the functionality.

10 hours ago, CryBaby said:

Also, none of the 54 hcd files from github match ap6210/bcm20710a1.hcd

Since these are firmwares for USB host interface attached chips, we are dealing with the UART host interface.

Link to post
Share on other sites

Hi,

I've managed to get BT working with Armbian stretch on my Cubietruck.  But I had to modify the .dtb to get the CT_Bluetooth patch to work.  I'll download the buster release and see if I can get BT to work.

 

I've uploaded my relevant files to http://phelum.net/temp/Armbian

 

One possibly relevant fact is that I'm using /sbin/init rather than systemd here. 

 

I've just tested with buster (5.7.15) and find I must use the 4.19.62 dtb and set /etc/bluetooth/uart to /dev/ttyS2.  Then my bt-load script can load the firmware into the device and bluetooth works somewhat.  I'm using the old 4.99 bluetooth release.  So I think my code for loading the device is okay in this new environment.  Can anybody get the current bluez release to work with a uart device as opposed to a USB device ?  I can establish a serial link to other devices but can't get DUN to work because wvdial times out while I'm entering the PIN on my phone.

 

Cheers,

Steven

Edited by phelum
testing results
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...