Kitkat を実行している Galaxy note 2 で bcm43xx チップを初期化しようとしています。
Bluetooth サブシステムをバックポートし、Bluez から hciattach、hciconfig などを追加しました (Bluedroid を置き換えるために ROM に移植しました)。
再起動時に、次を実行します
modprobe bluetooth //Load the backported subsystem
modprobe hci_uart
modprobe hci_smd
echo "1" > /sys/class/rfkill/rfkill0/state
hciattach /dev/ttySAC0 bcm43xx 3000000 flow 79:59:5E:**:**:** //The bt addr is loaded from /efs/bluetooth/bt_addr in which the ** are real hex
hciconfig hci0 up
とにかく、私は bcm4334.hcd ファームウェア ファイルを見つけるのに問題があったので、hciattach を改造しました。これは、私の ROM では /system/bin にあり、ソースにハードコーディングしました。
In '/system/bin': Success
In '/system/bin': Success
In '/system/bin/.ext': Success
Broke in '/system/bin/.ext': Success
Flash firmware /system/bin/bcm4334_semcosh.hcd
Set Controller UART speed to 3000000 bit/s
Device setup complete
最初の 4 行は、再帰的に検索する関数を取得しようとするデバッグ コードです。
ええ、それは機能します..そうではありません...シェルのツールを使用してping、スキャンなどを行うことができますが、hciconfig -aを見てください
hci0: Type: BR/EDR Bus: UART
BD Address: 43:34:B0:00:00:00 ACL MTU: 1021:8 SCO MTU: 64:1
DOWN
RX bytes:579 acl:0 sco:0 events:27 errors:0
TX bytes:379 acl:0 sco:0 commands:27 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
私のBDアドレスを見てください。これはデフォルトで、アドレスが指定されていません。私が今直面している問題は、Bluez がハードウェア アドレスをチェックし、それが一致しないことを確認し、失敗して起動しないことです。
どこに頼ればいいのかわからないところまで来ています。どんな助けでも素晴らしいでしょう
Bluez 5.18、バックポートされた 3.14 ドライバー、4.4.2 ベースを使用しています。
前もって感謝します