Transformer TF701: Debian bluetooth
Posted by sky | Tags: Android , Debian , Linux , Open-Source , Personal , armhf , bluetooth , installation , testing , transformer
In Debian Linux on Transformer TF701, it is noted that the bluetooth is not working.
Geometry has provided the detailed steps to create xubuntu 14.04 rootfs for the tf701t in xda post. I have confirmed that bluetooth is working in xubuntu.
Base on /etc/init/patchram.conf , it is using the same /usr/sbin/brcm_patchram_plus which is the same as what I was trying earlier.
Extracting the patchram.conf into a script /usr/sbin/bcm_patch.sh
1 #!/bin/sh
2 rfkill unblock bluetooth
3 BLUED=/sys/devices/platform/bluedroid_pm.0/rfkill/rfkill0
4 chmod 0660 "$BLUED/state"
5 chmod 0660 "$BLUED/type"
6 chgrp dialout "$BLUED/state"
7 chgrp dialout "$BLUED/type"
8
9 exec /usr/sbin/brcm_patchram_plus --use_baudrate_for_download --no2bytes --enable_lpm --enable_hci --baudrate 3000000 --scopcm=0,2,0,0,0,0,0,0,0,0 --patchram /etc/firmware/bcm43341.hcd --tosleep=50000 /dev/ttyHS2 &
10
If I run this script, it still gives the error, "Can't set line discipline". (which is expected)
So, something else makes the difference. It has to be the Linux kernel. (or rather the kernel modules)
I am using a bluetooth headset to test. First, to install the bluetooth and pulseaudio packages with
1 $ sudo apt-get install bluez blueman
2 $ sudo apt-get install pulseaudio gstreamer0.10-pulseaudio pulseaudio-utils pulseaudio-module-bluetooth pulseaudio-module-x11 pavucontrol
3
Next, is to replace the Debian boot.img with the xubuntu boot.img (with slight modification) and then reboot and try again:
1 $ sudo /etc/init.d/bluetooth stop
2 $ sudo bcm_patch.sh
3 $
4 $ Done setting line discpline
5 $ sudo /etc/init.d/bluetooth start
6
As can be seen, brcm_patchram_plus can now set the line discpline.
After pairing and connecting to the bluetooth headset using blueman, audio can be sent to the headset successfully.
It looks like the original kernel does not include hci_uart.ko kernel module.
Previous Post Next Post