stesso comportamento !
Ovviamente ho dovuto flashare il kernel den Kepler prima....
Visualizzazione stampabile
se partite con chiavetta staccata e collegandola successivamente il bt non vi funziona penso sia dovuto al fatto che i permessi settati in uevent.rkboard.rc vengono eseguito solo al boot, ovvero se rfkill si crea dopo non cambia i permessi, e senza permessi giusti non funzia (nella modifica del tizio di cui parlavo c'è anche un programma che ad ogni plug aggiusta i permessi, speriamo eldiau riesca a cavarne qualcosa)
un esempio:
codice:D/BluetoothService( 88): Bluetooth state 10 -> 11
E/bluedroid( 88): open(/sys/class/rfkill/rfkill0/state) for write failed: No such file or directory (2)
D/BluetoothService( 88): Bluetooth state 11 -> 10
codice:# busybox ls -la /sys/class/rfkill
drwxrwxrwx 2 0 0 0 Dec 13 08:15 .
drwxr-xr-x 41 0 0 0 Dec 13 10:18 ..
lrwxrwxrwx 1 0 0 0 Dec 13 12:57 rfkill1 -> ../../devices/platform/usb20_host/usb2/2-1/2-1:1.0/bluetooth/hci0/rfkill1
quando provate a collegare la chiavetta dopo il boot postatemi il risultato di "busybox ls -la /sys/class/rfkill/rfkill0/*" così vediamo subito se è un problema di permessi
Non potevo crederci, e infatti, ho riflashato il kernel Prestigio 1.0.17 e inserendo la chiavetta BT prima di accenderlo, poi ha funzionato tutto. Quindi il kernel BQ non aggiunge nulla ! ;)
Per fare funzionare il tutto con antenna gps bluetooth serve un modulo bluetooth seriale caricato con gli altri o c'è gia?
fa tutto rfcomm, basta che installi l'app "gps bluetooth", fai prima il pair con il dispositivo e poi dal programma ti connetti
ok, ho risolto anche la storia dei permessi e del cambio di rfkill (son riuscito a trovare una rom compilata armv7 con quell'hack per il bluetooth!)
Qui trovate tutto il necessario, e ricapitoliamo il tutto:
- scomprimere boot.img ed inserire tutti i file .ko nella root
- modificare init.rc e caricare i moduli nella sezione "on fs"
- modificare init.rk29board.rc commentando questa partecodice:on fs
insmod /rk29xxnand_ko.ko
insmod /bluetooth.ko
insmod /btusb.ko
insmod /l2cap.ko
insmod /rfcomm.ko
insmod /bnep.ko
insmod /sco.ko
insmod /hidp.ko
- modificare ueventd.rk29board.rc così:codice:#service hciattach /system/bin/hciattach -n -s 1500000 /dev/ttyS0 bcm4329 1500000 flow
# console
# user bluetooth
# group bluetooth net_bt_admin
# disabled
# oneshot
#service patch_plus /system/bin/brcm_patchram_plus --patchram /etc/bluez/bcm432x/BCM4329B1_TestOnly_0237_26MHz_SEMCO_B23.hcd --baudrate 1500000 --enable_hci /dev/ttyS0
# console
# user bluetooth
# group bluetooth net_bt_admin
# disabled
# oneshot
- ricostruire il boot.imgcodice:/dev/galcore 0666 system graphics
/dev/video0 0660 system camera
/dev/video1 0660 system camera
/dev/video2 0660 system camera
/dev/pmem_cam 0660 system camera
/dev/vpu 0660 system system
/dev/vpu_mem 0666 system system
# for Sensor HAL
/dev/akm8973 0660 system system
/dev/accelerometer 0660 system system
# for GPS
#/dev/ttyS3 0600 gps gps
# for BT
/dev/vflash 0660 bluetooth bluetooth
/dev/ttyS0 0660 bluetooth bluetooth
/dev/ttyS2 0660 bluetooth bluetooth
# for radio
/dev/ttyUSB0 0660 radio radio
/dev/ttyUSB1 0660 radio radio
/dev/ttyUSB2 0660 radio radio
/dev/ttyUSB3 0660 radio radio
/dev/ttyUSB4 0660 radio radio
/dev/ttyUSB5 0660 radio radio
/sys/devices/platform/usb20_host/usb2/2-1/2-1:1.0/bluetooth/hci0/rfkill* state 0660 bluetooth bluetooth
- modificare system.img inserendo:
il file "bluetoothd" dentro "/system/bin"
le due librerie "libbluedroid.so" e "libbluetoothd.so" in "/system/lib"
Flashare, inserire la chiavetta usb, aspettare un paio di secondi poi attivare il bluetooth (ricordo che non tutte funzionano, se la vostra chiavetta ha uno stack cambridge silicon radio ci son buone possibilità che funzioni).
In questo modo si può staccare ed attaccare la chiavetta senza bisogno di riavviare, perchè librerie e bluetoothd sono stati patchati per risolvere il problema dell'incremento di rfkill.
Adesso è veramente completo.
Gli auricolari bluetooth non funzionano, in logcat all'avvio del bluetooth si vede "Unable to start service Intent { act=android.bluetooth.IBluetoothHeadset }: not found" ma non ho idea di cosa sia.
ma se viene modificato il boot.img posso flashare solo quello senza perdere i dati?
si ma devi anche modificare quei file in system se no perdi la possibilità di fare lo sfila/infila della chiavetta senza bisogno di riavviare
i file in system posso modificarli direttamente dal tablet?