Skip to contentSkip to conversation

PS3 Bluetooth quirk for HCI_FLT_CLEAR_ALL

RFC Marcel Holtmann 3 participants 13 messages May 8, 2007 – Dec 17, 2007 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Marcel Holtmann

author maintainer
#1 lore raw

Hi Geoff,

Quoted 2 lines

It was found that the PS3 host controller needed this. I'm not at all familiar with the bluetooth stack. Could anyone suggest a better way?

the quirk is wrong. Please give me some information about the actual used Bluetooth hardware. I need /proc/bus/usb/devices and once it is working the output of hciconfig -a.

Regards

Marcel

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#2 lore raw
Quoted 3 lines · Marcel Holtmann

the quirk is wrong. Please give me some information about the actual used Bluetooth hardware. I need /proc/bus/usb/devices and once it is working the output of hciconfig -a.

T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=054c ProdID=0267 Rev= 1.00
S:  Manufacturer=Sony
S:  Product=Bluetooth Transceiver
C:* #Ifs= 4 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  11 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  11 Ivl=1ms
I:* If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  19 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  19 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  27 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  27 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  35 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  35 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  51 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  51 Ivl=1ms
I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=04(O) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=125us
I:  If#= 2 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=04(O) Atr=03(Int.) MxPS= 128 Ivl=125us
E:  Ad=85(I) Atr=03(Int.) MxPS= 128 Ivl=125us
I:  If#= 2 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=04(O) Atr=03(Int.) MxPS= 256 Ivl=125us
E:  Ad=85(I) Atr=03(Int.) MxPS= 256 Ivl=125us
I:  If#= 2 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none)
E:  Ad=04(O) Atr=03(Int.) MxPS=1024 Ivl=125us
E:  Ad=85(I) Atr=03(Int.) MxPS=1024 Ivl=125us

I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)

hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 UP RUNNING PSCAN
RX bytes:408 acl:0 sco:0 events:17 errors:0
TX bytes:317 acl:0 sco:0 commands:17 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'ps3.infradead.org-0'
Class: 0x120104
Service Classes: Networking, Object Transfer
Device Class: Computer, Desktop workstation
HCI Ver: 2.0 (0x3) HCI Rev: 0xe18 LMP Ver: 2.0 (0x3) LMP Subver: 0xe18
Manufacturer: Cambridge Silicon Radio (10)

Signature · 12 lines
dwmw2


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
author maintainer
#3 lore raw

Hi David,

Quoted 7 lines

hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 UP RUNNING PSCAN
RX bytes:408 acl:0 sco:0 events:17 errors:0
TX bytes:317 acl:0 sco:0 commands:17 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3

Quoted 8 lines

Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'ps3.infradead.org-0'
Class: 0x120104
Service Classes: Networking, Object Transfer
Device Class: Computer, Desktop workstation
HCI Ver: 2.0 (0x3) HCI Rev: 0xe18 LMP Ver: 2.0 (0x3) LMP Subver: 0xe18
Manufacturer: Cambridge Silicon Radio (10)

since it is a CSR device, please also do "hciconfig hci0 revision" as root and "bccmd buildname" plus "bccmd builddef".

Regards

Marcel

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#4 lore raw
Quoted 2 lines · Marcel Holtmann

since it is a CSR device, please also do "hciconfig hci0 revision" as root and "bccmd buildname" plus "bccmd builddef".

Sorry for delayed response. Reply-To: considered harmful.

[root@ps3 ~]# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown
Max key size: 128 bit
SCO mapping: HCI
[root@ps3 ~]# bccmd builddef
Build definitions:
0x0009 - TRANSPORT_BCSP
0x000a - TRANSPORT_H4
0x000b - TRANSPORT_USB
0x000d - MAX_CRYPT_KEY_LEN_128
0x0012 - REQUIRE_8MBIT
0x0013 - RADIOTEST
0x0015 - INSTALL_FLASH
0x0016 - INSTALL_EEPROM
0x0017 - INSTALL_COMBO_DOT11
0x001d - CHIP_BASE_BC3
0x0020 - INSTALL_HCI_MODULE
0x002a - BT_VER_1_2
0x0031 - CHIP_BASE_BC4
[root@ps3 ~]# bccmd buildname
Build name: sly_8hci_fl_bt2.0_tachikoma-rc29_encr128_tachikoma 2006-10-16

Signature · 12 lines
dwmw2


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
author maintainer
#5 lore raw

Hi David,

Quoted 7 lines

[root@ps3 ~]# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown
Max key size: 128 bit
SCO mapping: HCI

the chip version is unknown. That is strange. I need to modify bccmd to read the raw value of the chip version. Can you quickly poke around the hciconfig code to get me the raw value of it.

Quoted 10 lines

[root@ps3 ~]# bccmd builddef
Build definitions:
0x0009 - TRANSPORT_BCSP
0x000a - TRANSPORT_H4
0x000b - TRANSPORT_USB
0x000d - MAX_CRYPT_KEY_LEN_128
0x0012 - REQUIRE_8MBIT
0x0013 - RADIOTEST
0x0015 - INSTALL_FLASH
0x0016 - INSTALL_EEPROM

Quoted 8 lines

0x0017 - INSTALL_COMBO_DOT11
0x001d - CHIP_BASE_BC3
0x0020 - INSTALL_HCI_MODULE
0x002a - BT_VER_1_2
0x0031 - CHIP_BASE_BC4
[root@ps3 ~]# bccmd buildname
Build name: sly_8hci_fl_bt2.0_tachikoma-rc29_encr128_tachikoma 2006-10-16

This looks like a specific firmware build. Need to investigate what is so special about it.

Can you dfutool archive it for me.

Regards

Marcel

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#6 lore raw
Quoted 9 lines · Marcel Holtmann

Hi David,

Quoted 7 lines

[root@ps3 ~]# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown
Max key size: 128 bit
SCO mapping: HCI

hci0: Type: USB
BD Address: 00:13:A9:73:1F:0D ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown (4h)
Max key size: 128 bit
SCO mapping: HCI

Quoted 24 lines

the chip version is unknown. That is strange. I need to modify bccmd to read the raw value of the chip version. Can you quickly poke around the hciconfig code to get me the raw value of it.

Quoted 10 lines

[root@ps3 ~]# bccmd builddef
Build definitions:
0x0009 - TRANSPORT_BCSP
0x000a - TRANSPORT_H4
0x000b - TRANSPORT_USB
0x000d - MAX_CRYPT_KEY_LEN_128
0x0012 - REQUIRE_8MBIT
0x0013 - RADIOTEST
0x0015 - INSTALL_FLASH
0x0016 - INSTALL_EEPROM

Quoted 8 lines

0x0017 - INSTALL_COMBO_DOT11
0x001d - CHIP_BASE_BC3
0x0020 - INSTALL_HCI_MODULE
0x002a - BT_VER_1_2
0x0031 - CHIP_BASE_BC4
[root@ps3 ~]# bccmd buildname
Build name: sly_8hci_fl_bt2.0_tachikoma-rc29_encr128_tachikoma 2006-10-16

Quoted 4 lines

This looks like a specific firmware build. Need to investigate what is so special about it.

Can you dfutool archive it for me.

The device seems to disconnect when you try to read the firmware. I get this when I try:

[root@ps3-nfs ~]# dfutool archive ps3.dfu
Available devices with DFU support:

1) Bus 002 Device 003: ID 054c:0267 Interface 3

Select device (abort with 0): 1

Can't identify device with DFU mode

And see this in the log:

May  8 15:50:07 ps3-nfs kernel: usb 2-2: reset high speed USB device using ps3-ehci-driver and address 3
May  8 15:50:07 ps3-nfs kernel: usb 2-2: USB disconnect, address 3
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 down
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been disabled
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 unregistered
May  8 15:50:07 ps3-nfs hcid[2286]: Unregister path: /org/bluez/hci0
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been removed

Any suggestions?

-Geoff

#7 lore raw
Quoted 69 lines · Geoff Levand
Quoted 9 lines · Marcel Holtmann

Hi David,

Quoted 7 lines

[root@ps3 ~]# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown
Max key size: 128 bit
SCO mapping: HCI

hci0: Type: USB
BD Address: 00:13:A9:73:1F:0D ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown (4h)
Max key size: 128 bit
SCO mapping: HCI

Quoted 24 lines

the chip version is unknown. That is strange. I need to modify bccmd to read the raw value of the chip version. Can you quickly poke around the hciconfig code to get me the raw value of it.

Quoted 10 lines

[root@ps3 ~]# bccmd builddef
Build definitions:
0x0009 - TRANSPORT_BCSP
0x000a - TRANSPORT_H4
0x000b - TRANSPORT_USB
0x000d - MAX_CRYPT_KEY_LEN_128
0x0012 - REQUIRE_8MBIT
0x0013 - RADIOTEST
0x0015 - INSTALL_FLASH
0x0016 - INSTALL_EEPROM

Quoted 8 lines

0x0017 - INSTALL_COMBO_DOT11
0x001d - CHIP_BASE_BC3
0x0020 - INSTALL_HCI_MODULE
0x002a - BT_VER_1_2
0x0031 - CHIP_BASE_BC4
[root@ps3 ~]# bccmd buildname
Build name: sly_8hci_fl_bt2.0_tachikoma-rc29_encr128_tachikoma 2006-10-16

Quoted 4 lines

This looks like a specific firmware build. Need to investigate what is so special about it.

Can you dfutool archive it for me.

The device seems to disconnect when you try to read the firmware. I get this when I try:

[root@ps3-nfs ~]# dfutool archive ps3.dfu
Available devices with DFU support:

1) Bus 002 Device 003: ID 054c:0267 Interface 3

Select device (abort with 0): 1

Can't identify device with DFU mode

And see this in the log:

May  8 15:50:07 ps3-nfs kernel: usb 2-2: reset high speed USB device using ps3-ehci-driver and address 3
May  8 15:50:07 ps3-nfs kernel: usb 2-2: USB disconnect, address 3
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 down
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been disabled
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 unregistered
May  8 15:50:07 ps3-nfs hcid[2286]: Unregister path: /org/bluez/hci0
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been removed
Quoted 1 line

Any suggestions?

There seems to be some trouble in dfutool... Others tried it with the same results. I'll look at it some more tomorrow.

-Geoff

*** glibc detected *** dfutool: double free or corruption (fasttop):
0x08016080
***
======= Backtrace: =========
/lib/libc.so.6[0x7ed0394] /lib/libc.so.6(cfree+0xc8)[0x7ed05e8] /usr/lib/libusb-0.1.so.4(usb_close+0x3c)[0x7fd87ec] dfutool[0x8002840]
dfutool[0x8002ba4]
dfutool[0x8003640]
/lib/libc.so.6[0x7e6fd4c] /lib/libc.so.6(__libc_start_main+0x144)[0x7e6ff74]
======= Memory map: ========
00100000-00103000 r-xp 00100000 00:00 0
07e52000-07fb1000 r-xp 00000000 2a:02 693780 /lib/libc-2.5.so 07fb1000-07fbe000 ---p 0015f000 2a:02 693780 /lib/libc-2.5.so 07fbe000-07fc2000 r--p 0016c000 2a:02 693780 /lib/libc-2.5.so 07fc2000-07fc3000 rw-p 00170000 2a:02 693780 /lib/libc-2.5.so 07fc3000-07fc6000 rw-p 07fc3000 00:00 0
07fd6000-07fde000 r-xp 00000000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 07fde000-07fee000 ---p 00008000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 07fee000-07ff0000 rw-p 00008000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 08000000-08006000 r-xp 00000000 2a:02 281135 /usr/bin/dfutool 08015000-08016000 rw-p 00005000 2a:02 281135 /usr/bin/dfutool 08016000-08037000 rwxp 08016000 00:00 0 [heap] 0ffc0000-0ffde000 r-xp 00000000 2a:02 693779 /lib/ld-2.5.so 0ffef000-0fff0000 r--p 0001f000 2a:02 693779 /lib/ld-2.5.so 0fff0000-0fff1000 rw-p 00020000 2a:02 693779 /lib/ld-2.5.so f7fce000-f7fcf000 rw-p f7fce000 00:00 0
f7ffc000-f7fff000 rw-p f7ffc000 00:00 0
ffc89000-ffc9e000 rw-p ffc89000 00:00 0 [stack]
Aborted

author maintainer
#8 lore raw

Hi Geoff,

Quoted 66 lines
Quoted 66 lines
Quoted 7 lines
Quoted 7 lines

[root@ps3 ~]# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown
Max key size: 128 bit
SCO mapping: HCI

hci0: Type: USB
BD Address: 00:13:A9:73:1F:0D ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown (4h)
Max key size: 128 bit
SCO mapping: HCI

Quoted 24 lines

the chip version is unknown. That is strange. I need to modify bccmd to read the raw value of the chip version. Can you quickly poke around the hciconfig code to get me the raw value of it.

Quoted 10 lines

[root@ps3 ~]# bccmd builddef
Build definitions:
0x0009 - TRANSPORT_BCSP
0x000a - TRANSPORT_H4
0x000b - TRANSPORT_USB
0x000d - MAX_CRYPT_KEY_LEN_128
0x0012 - REQUIRE_8MBIT
0x0013 - RADIOTEST
0x0015 - INSTALL_FLASH
0x0016 - INSTALL_EEPROM

Quoted 8 lines

0x0017 - INSTALL_COMBO_DOT11
0x001d - CHIP_BASE_BC3
0x0020 - INSTALL_HCI_MODULE
0x002a - BT_VER_1_2
0x0031 - CHIP_BASE_BC4
[root@ps3 ~]# bccmd buildname
Build name: sly_8hci_fl_bt2.0_tachikoma-rc29_encr128_tachikoma 2006-10-16

Quoted 4 lines

This looks like a specific firmware build. Need to investigate what is so special about it.

Can you dfutool archive it for me.

The device seems to disconnect when you try to read the firmware. I get this when I try:

[root@ps3-nfs ~]# dfutool archive ps3.dfu
Available devices with DFU support:

1) Bus 002 Device 003: ID 054c:0267 Interface 3

Select device (abort with 0): 1

Can't identify device with DFU mode

And see this in the log:

May  8 15:50:07 ps3-nfs kernel: usb 2-2: reset high speed USB device using ps3-ehci-driver and address 3
May  8 15:50:07 ps3-nfs kernel: usb 2-2: USB disconnect, address 3
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 down
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been disabled
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 unregistered
May  8 15:50:07 ps3-nfs hcid[2286]: Unregister path: /org/bluez/hci0
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been removed
Quoted 4 lines
Quoted 1 line

Any suggestions?

There seems to be some trouble in dfutool... Others tried it with the same results. I'll look at it some more tomorrow.

alternatively you can try dfu-util from the openmoko.org project. I never did, but it should work just quite fine.

Quoted 24 lines

*** glibc detected *** dfutool: double free or corruption (fasttop):
0x08016080
***
======= Backtrace: =========
/lib/libc.so.6[0x7ed0394] /lib/libc.so.6(cfree+0xc8)[0x7ed05e8] /usr/lib/libusb-0.1.so.4(usb_close+0x3c)[0x7fd87ec] dfutool[0x8002840]
dfutool[0x8002ba4]
dfutool[0x8003640]
/lib/libc.so.6[0x7e6fd4c] /lib/libc.so.6(__libc_start_main+0x144)[0x7e6ff74]
======= Memory map: ========
00100000-00103000 r-xp 00100000 00:00 0
07e52000-07fb1000 r-xp 00000000 2a:02 693780 /lib/libc-2.5.so 07fb1000-07fbe000 ---p 0015f000 2a:02 693780 /lib/libc-2.5.so 07fbe000-07fc2000 r--p 0016c000 2a:02 693780 /lib/libc-2.5.so 07fc2000-07fc3000 rw-p 00170000 2a:02 693780 /lib/libc-2.5.so 07fc3000-07fc6000 rw-p 07fc3000 00:00 0
07fd6000-07fde000 r-xp 00000000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 07fde000-07fee000 ---p 00008000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 07fee000-07ff0000 rw-p 00008000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 08000000-08006000 r-xp 00000000 2a:02 281135 /usr/bin/dfutool 08015000-08016000 rw-p 00005000 2a:02 281135 /usr/bin/dfutool

Quoted 8 lines

08016000-08037000 rwxp 08016000 00:00 0 [heap] 0ffc0000-0ffde000 r-xp 00000000 2a:02 693779 /lib/ld-2.5.so 0ffef000-0fff0000 r--p 0001f000 2a:02 693779 /lib/ld-2.5.so 0fff0000-0fff1000 rw-p 00020000 2a:02 693779 /lib/ld-2.5.so f7fce000-f7fcf000 rw-p f7fce000 00:00 0 f7ffc000-f7fff000 rw-p f7ffc000 00:00 0 ffc89000-ffc9e000 rw-p ffc89000 00:00 0 [stack] Aborted

I have seen this one before. I think it is a libusb bug.

Regards

Marcel

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bluez-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#9 lore raw
Quoted 68 lines · Marcel Holtmann

Hi Geoff,

Quoted 66 lines
Quoted 66 lines
Quoted 7 lines
Quoted 7 lines

[root@ps3 ~]# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown
Max key size: 128 bit
SCO mapping: HCI

hci0: Type: USB
BD Address: 00:13:A9:73:1F:0D ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown (4h)
Max key size: 128 bit
SCO mapping: HCI

Quoted 24 lines

the chip version is unknown. That is strange. I need to modify bccmd to read the raw value of the chip version. Can you quickly poke around the hciconfig code to get me the raw value of it.

Quoted 10 lines

[root@ps3 ~]# bccmd builddef
Build definitions:
0x0009 - TRANSPORT_BCSP
0x000a - TRANSPORT_H4
0x000b - TRANSPORT_USB
0x000d - MAX_CRYPT_KEY_LEN_128
0x0012 - REQUIRE_8MBIT
0x0013 - RADIOTEST
0x0015 - INSTALL_FLASH
0x0016 - INSTALL_EEPROM

Quoted 8 lines

0x0017 - INSTALL_COMBO_DOT11
0x001d - CHIP_BASE_BC3
0x0020 - INSTALL_HCI_MODULE
0x002a - BT_VER_1_2
0x0031 - CHIP_BASE_BC4
[root@ps3 ~]# bccmd buildname
Build name: sly_8hci_fl_bt2.0_tachikoma-rc29_encr128_tachikoma 2006-10-16

Quoted 4 lines

This looks like a specific firmware build. Need to investigate what is so special about it.

Can you dfutool archive it for me.

The device seems to disconnect when you try to read the firmware. I get this when I try:

[root@ps3-nfs ~]# dfutool archive ps3.dfu
Available devices with DFU support:

1) Bus 002 Device 003: ID 054c:0267 Interface 3

Select device (abort with 0): 1

Can't identify device with DFU mode

And see this in the log:

May  8 15:50:07 ps3-nfs kernel: usb 2-2: reset high speed USB device using ps3-ehci-driver and address 3
May  8 15:50:07 ps3-nfs kernel: usb 2-2: USB disconnect, address 3
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 down
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been disabled
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 unregistered
May  8 15:50:07 ps3-nfs hcid[2286]: Unregister path: /org/bluez/hci0
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been removed
Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Any suggestions?

There seems to be some trouble in dfutool... Others tried it with the same results. I'll look at it some more tomorrow.

alternatively you can try dfu-util from the openmoko.org project. I never did, but it should work just quite fine.

I see this at their site:

WARNING: Dfu-util is currently broken on big-endian architectures

and this

NOTE: Upload support is currently broken

Any other ideas?

#10 lore raw
In reply to Marcel Holtmann
Quoted 109 lines · Marcel Holtmann

Hi Geoff,

Quoted 66 lines
Quoted 66 lines
Quoted 7 lines
Quoted 7 lines

[root@ps3 ~]# hciconfig hci0 revision
hci0: Type: USB
BD Address: 00:13:A9:79:09:C3 ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown
Max key size: 128 bit
SCO mapping: HCI

hci0: Type: USB
BD Address: 00:13:A9:73:1F:0D ACL MTU: 384:8 SCO MTU: 64:8 Build 3608
Chip version: Unknown (4h)
Max key size: 128 bit
SCO mapping: HCI

Quoted 24 lines

the chip version is unknown. That is strange. I need to modify bccmd to read the raw value of the chip version. Can you quickly poke around the hciconfig code to get me the raw value of it.

Quoted 10 lines

[root@ps3 ~]# bccmd builddef
Build definitions:
0x0009 - TRANSPORT_BCSP
0x000a - TRANSPORT_H4
0x000b - TRANSPORT_USB
0x000d - MAX_CRYPT_KEY_LEN_128
0x0012 - REQUIRE_8MBIT
0x0013 - RADIOTEST
0x0015 - INSTALL_FLASH
0x0016 - INSTALL_EEPROM

Quoted 8 lines

0x0017 - INSTALL_COMBO_DOT11
0x001d - CHIP_BASE_BC3
0x0020 - INSTALL_HCI_MODULE
0x002a - BT_VER_1_2
0x0031 - CHIP_BASE_BC4
[root@ps3 ~]# bccmd buildname
Build name: sly_8hci_fl_bt2.0_tachikoma-rc29_encr128_tachikoma 2006-10-16

Quoted 4 lines

This looks like a specific firmware build. Need to investigate what is so special about it.

Can you dfutool archive it for me.

The device seems to disconnect when you try to read the firmware. I get this when I try:

[root@ps3-nfs ~]# dfutool archive ps3.dfu
Available devices with DFU support:

1) Bus 002 Device 003: ID 054c:0267 Interface 3

Select device (abort with 0): 1

Can't identify device with DFU mode

And see this in the log:

May  8 15:50:07 ps3-nfs kernel: usb 2-2: reset high speed USB device using ps3-ehci-driver and address 3
May  8 15:50:07 ps3-nfs kernel: usb 2-2: USB disconnect, address 3
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 down
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been disabled
May  8 15:50:07 ps3-nfs hcid[2286]: HCI dev 0 unregistered
May  8 15:50:07 ps3-nfs hcid[2286]: Unregister path: /org/bluez/hci0
May  8 15:50:07 ps3-nfs hcid[2286]: Device hci0 has been removed
Quoted 4 lines
Quoted 1 line

Any suggestions?

There seems to be some trouble in dfutool... Others tried it with the same results. I'll look at it some more tomorrow.

alternatively you can try dfu-util from the openmoko.org project. I never did, but it should work just quite fine.

Quoted 24 lines

*** glibc detected *** dfutool: double free or corruption (fasttop):
0x08016080
***
======= Backtrace: =========
/lib/libc.so.6[0x7ed0394] /lib/libc.so.6(cfree+0xc8)[0x7ed05e8] /usr/lib/libusb-0.1.so.4(usb_close+0x3c)[0x7fd87ec] dfutool[0x8002840]
dfutool[0x8002ba4]
dfutool[0x8003640]
/lib/libc.so.6[0x7e6fd4c] /lib/libc.so.6(__libc_start_main+0x144)[0x7e6ff74]
======= Memory map: ========
00100000-00103000 r-xp 00100000 00:00 0
07e52000-07fb1000 r-xp 00000000 2a:02 693780 /lib/libc-2.5.so 07fb1000-07fbe000 ---p 0015f000 2a:02 693780 /lib/libc-2.5.so 07fbe000-07fc2000 r--p 0016c000 2a:02 693780 /lib/libc-2.5.so 07fc2000-07fc3000 rw-p 00170000 2a:02 693780 /lib/libc-2.5.so 07fc3000-07fc6000 rw-p 07fc3000 00:00 0
07fd6000-07fde000 r-xp 00000000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 07fde000-07fee000 ---p 00008000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 07fee000-07ff0000 rw-p 00008000 2a:02 1021105 /usr/lib/libusb-0.1.so.4.4.4 08000000-08006000 r-xp 00000000 2a:02 281135 /usr/bin/dfutool 08015000-08016000 rw-p 00005000 2a:02 281135 /usr/bin/dfutool

Quoted 8 lines

08016000-08037000 rwxp 08016000 00:00 0 [heap] 0ffc0000-0ffde000 r-xp 00000000 2a:02 693779 /lib/ld-2.5.so 0ffef000-0fff0000 r--p 0001f000 2a:02 693779 /lib/ld-2.5.so 0fff0000-0fff1000 rw-p 00020000 2a:02 693779 /lib/ld-2.5.so f7fce000-f7fcf000 rw-p f7fce000 00:00 0 f7ffc000-f7fff000 rw-p f7ffc000 00:00 0 ffc89000-ffc9e000 rw-p ffc89000 00:00 0 [stack] Aborted

Quoted 1 line

I have seen this one before. I think it is a libusb bug.

OK, so users are screaming for bluetooth support. Can we get this resolved?

Here is the patch again.

-Geoff

----------------------------------------------------------------------
Subject: PS3 Bluetooth quirk for HCI_FLT_CLEAR_ALL

It seems the PS3 built-in bluetooth host controler doesn't support the HCI_FLT_CLEAR_ALL command properly. Add a check to conditionally use the HCI_FLT_CONN_SETUP command to clear the event filter on PS3.

With this patch bluetooth mouse or keyboard are automatically re-connected after reboot.

---
 include/net/bluetooth/hci.h |    6 ++++++
 net/bluetooth/hci_core.c    |   18 ++++++++++++++++++
 2 files changed, 24 insertions(+)
include/net/bluetooth/hci.h +6 -0
@@ -424,6 +424,12 @@ struct hci_cp_set_event_flt {
 	__u8     condition[0];
 } __attribute__ ((packed));
 
+struct hci_cp_set_event_flt_conn {
+	__u8 flt_type;
+	__u8 cond_type;
+	__u8 condition;
+} __attribute__ ((packed));
+
 /* Filter types */
 #define HCI_FLT_CLEAR_ALL	0x00
 #define HCI_FLT_INQ_RESULT	0x01
net/bluetooth/hci_core.c +18 -0
@@ -46,6 +46,9 @@
 
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
+#if defined(CONFIG_PPC_PS3)
+#include <asm/firmware.h>
+#endif
 
 #ifndef CONFIG_BT_HCI_CORE_DEBUG
 #undef  BT_DBG
@@ -243,6 +246,21 @@ static void hci_init_req(struct hci_dev 
 	flt_type = HCI_FLT_CLEAR_ALL;
 	hci_send_cmd(hdev, HCI_OP_SET_EVENT_FLT, 1, &flt_type);
 
+#if defined(CONFIG_PPC_PS3)
+	/*
+	 * The PS3 built-in bluetooth host controler doesn't support the
+	 * HCI_FLT_CLEAR_ALL command properly.  Use the HCI_FLT_CONN_SETUP
+	 * command to clear the event filter.
+	 */
+	if (firmware_has_feature(FW_FEATURE_PS3_LV1)) {
+		struct hci_cp_set_event_flt_conn cp;
+		cp.flt_type = HCI_FLT_CONN_SETUP;
+		cp.cond_type = 0; /* all devices */
+		cp.condition = 1; /* auto accept is off */
+		hci_send_cmd(hdev, HCI_OP_CREATE_CONN, sizeof(cp), &cp);
+	}
+#endif
+
 	/* Page timeout ~20 secs */
 	param = cpu_to_le16(0x8000);
 	hci_send_cmd(hdev, HCI_OP_WRITE_PG_TIMEOUT, 2, &param);
author maintainer
#11 lore raw

Hi Geoff,

Quoted 5 lines

OK, so users are screaming for bluetooth support. Can we get this resolved?

Here is the patch again.

Quoted 8 lines

-Geoff

----------------------------------------------------------------------
Subject: PS3 Bluetooth quirk for HCI_FLT_CLEAR_ALL

It seems the PS3 built-in bluetooth host controler doesn't support the HCI_FLT_CLEAR_ALL command properly. Add a check to conditionally use the HCI_FLT_CONN_SETUP command to clear the event filter on PS3.

actually can you just test with a 2.6.23 or later kernel. I fixed the OCF_SET_EVENT_FLT since it was broken since the beginning. In case you give HCI_FTL_CLEAR_ALL you are not allowed to give any additional parameters. Otherwise the command fails. So with this command now succeeding, it might be enough to get Bluetooth working.

Regards

Marcel

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#12 lore raw
Quoted 16 lines · Marcel Holtmann

Hi Geoff,

Quoted 5 lines

OK, so users are screaming for bluetooth support. Can we get this resolved?

Here is the patch again.

Quoted 8 lines

-Geoff

----------------------------------------------------------------------
Subject: PS3 Bluetooth quirk for HCI_FLT_CLEAR_ALL

It seems the PS3 built-in bluetooth host controler doesn't support the HCI_FLT_CLEAR_ALL command properly. Add a check to conditionally use the HCI_FLT_CONN_SETUP command to clear the event filter on PS3.

Quoted 5 lines

actually can you just test with a 2.6.23 or later kernel. I fixed the OCF_SET_EVENT_FLT since it was broken since the beginning. In case you give HCI_FTL_CLEAR_ALL you are not allowed to give any additional parameters. Otherwise the command fails. So with this command now succeeding, it might be enough to get Bluetooth working.

Hi Marcel,

I got the following back from our Kimoto-san, so it seems to work properly with your update:

I tried Bluetooth on linux 2.6.24-rc4.
BT HID also works after boot without patch.
I checked mouse and keyboard of Microsoft and they work well without the patch.

I'll do some more testing this coming week also.

Thanks.

-Geoff

author maintainer
#13 lore raw

Hi Geoff,

Quoted 6 lines

I got the following back from our Kimoto-san, so it seems to work properly with your update:

I tried Bluetooth on linux 2.6.24-rc4.
BT HID also works after boot without patch.
I checked mouse and keyboard of Microsoft and they work well without the patch.

this is what I expected. I was a really stupid mistake, but unfortunately buried really deep since the first releases.

Quoted 1 line

I'll do some more testing this coming week also.

Please do.

Regards

Marcel

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel