alpinista Posted April 22, 2016 Posted April 22, 2016 Has anybody got this working with mainline kernel? When I do: brcm_patchram_plus -d --patchram bcm20710a1.hcd --enable_hci --bd_addr 11:22:33:44:55:66 --no2bytes --tosleep 1000 /dev/ttyS1 I get this: option patchram with arg bcm20710a1.hcd option enable_hci option bd_addr with arg 11:22:33:44:55:66 option no2bytes option tosleep with arg 1000 /dev/ttyS1 Previous discipline = 0 Done setting line discpline Current discipline = 0 Waiting CTS... And there it stops. No dev hci0 created. I woulb be thankful for any hints that point me in the right direction. Paul
Igor Posted April 22, 2016 Posted April 22, 2016 I also failed, but I guess I was not persistent enough. I manage to fix it in legacy kernel where works stable. It should go. Check this: https://github.com/phelum/CT_Bluetooth
alpinista Posted April 22, 2016 Author Posted April 22, 2016 Muchissimas Gracias, Igor! Will have a look into this later on. Thanks again for your great work!
zador.blood.stained Posted April 22, 2016 Posted April 22, 2016 Onboard BT will be supported with new mainline kernel release (I mean Armbian release, it's supported for self-compiled kernels now), you'll have to edit /etc/default/brcm40183 and use ttyS2 as Bluetooth port. But FYI Bluetooth audio is not supported on mainline - it requires I2S support, which is not present (and developer that tried to implement it said it won't be ready soon).
alpinista Posted April 23, 2016 Author Posted April 23, 2016 Well, I tried a lot. Compiled new kernel 4.6, patched the .dtb, did a lot of reading - now I am giving it up. No success. I whished I could come up with a step-by-step howto, but now I think I will just buy a cheap usb bluetooth dongle. It will always give me this: hciattach /dev/ttyS2 any Can't get port settings: Input/output error Can't initialize device: Input/output error
zador.blood.stained Posted April 23, 2016 Posted April 23, 2016 Compiled new kernel 4.6, patched the .dtb 4.6 is dev branch and it doesn't have necessary patch, while "next" branch does. Last time I tested it worked for me with following unit file (will work on Jessie, Stretch (testing) or Xenial): ➜ ~ % cat /etc/systemd/system/brcm40183-patch.service [Unit] Description=Patch firmware for brcm40183 Bluetooth adapter Before=bluetooth.service [Service] Environment=MAC_ADDR=11:22:33:44:55:66 Environment=PORT=/dev/ttyS1 EnvironmentFile=/etc/default/brcm40183 TimeoutStartSec=60 Type=simple ExecStartPre=/usr/local/bin/brcm_bt_reset /dev/${PORT} ExecStartPre=/bin/echo -en "" > /dev/${PORT} ExecStartPre=/usr/local/bin/brcm_patchram_plus -d --patchram /lib/firmware/ap6210/bcm20710a1.hcd --no2bytes --tosleep 1000 --bd_addr ${MAC_ADDR} /dev/${PORT} ExecStart=/usr/bin/hciattach -n /dev/${PORT} any [Install] WantedBy=bluetooth.target and configuration file ➜ ~ % cat /etc/default/brcm40183 MAC_ADDR=43:29:B1:E6:A1:02 PORT=ttyS2
Recommended Posts