So, maybe my last post wasn’t that accurate – it looks like maybe commands were being sent; but the debug message wasn’t being printed. Nonetheless, I’ve identified the key difference between the first step of initialization on the Diamond and the Touch Pro:
CDMA Touch Pro:
00:00:00 [D:BT] [FM00:06:54:547] fmSendInitScript
00:00:00 [D:BT] [FM00:06:54:552] Send HCI opcode(fd37)+++
00:00:00 [D:BT] [FM]len:(1)
00:00:00 [D:BT] [FM]00
00:00:00 [D:BT] [FM00:06:54:553] Send HCI opcode(fd37)---
+sio_rs232_dm_transmit()
sio_rs232_dm_transmit 1
sio_rs232_dm_transmit 1
[BTU]sio_rs232_dm_transmit():send 5
sio_rs232_dm_transmit 3
3.sio_rs232_dm_transmit():uart_dm_imr=0x9
+Tx call dmov_transfer
-Tx call dmov_transfer
-sio_rs232_dm_transmit()
CDMA Diamond:
00:00:00 [D:BT] [FM00:02:40:644] fmSendInitScript
00:00:00 [D:BT] [FM00:02:40:647] Send HCI opcode(fd37)+++
00:00:00 [D:BT] [FM]len:(1)
00:00:00 [D:BT] [FM]0c
00:00:00 [D:BT] [FM00:02:40:647] Send HCI opcode(fd37)---
23:37:24 [D:BT] [BTU]SystemIdleTimerReset
+sio_rs232_dm_transmit()
sio_rs232_dm_transmit 1
sio_rs232_dm_transmit 1
[BTU]sio_rs232_dm_transmit():send 5
sio_rs232_dm_transmit 3
23:37:24 [D:BT] [BTU]SystemIdleTimerReset
3.sio_rs232_dm_transmit():uart_dm_imr=0x9
+Tx call dmov_transfer
-Tx call dmov_transfer
-sio_rs232_dm_transmit()
As to why the Diamond transmits 0x0c as its first byte while the Touch Pro transmits 0x0, I don’t know. I suppose it’s a pretty important difference though – maybe its reading from the wrong init script?
The next send is difference as well:
CDMA Touch Pro:
00:00:00 [D:BT] [FM00:06:54:727] fmSendInitScript
00:00:00 [D:BT] [FM00:06:54:728] Send HCI opcode(fd35)+++
00:00:00 [D:BT] [FM]len:(193)
00:00:00 [D:BT] [FM]00 00 00 00 00 10 00 01 35 fd c1 65 be 00 00 00 00 00 00 00 00 27 01 a0 02 99 01 a0 bb cc 00 03 00 05 01 a0 00 00 00 00 00 00 00 00 bb cc 00 06 bc 03 03 c1 be f0 02 61 36 03 03 43 bb cc 00 09 00 27 01 a0 00 00 00 00 80 00 00 f3 bb cc 00 0c a8 06 01 3c 32 44 00 ea 0a 00 01 52 bb cc 00 0f c6 00 02 23 d8 12 02 1d 4b 00 02 22 bb cc 00 12 80 0c 00 f2 d6 00 01 53 d8 16 02 1d bb cc 00 15 00 21 01 a0 f8 01 02 23 b8 03 03 c2 bb cc 00 18 3c 1b 03 c2 4d b4 02 70 c6 00 02 23 bb cc 00 1b e8 1e 02 1d de b4 02 61 00 1f 01 a0 bb cc 00 1e de b4 02 60 56 03 03 42 00 24 01 a0 bb cc 00 21 b8
00:00:00 [D:BT] [FM00:06:54:734] Send HCI opcode(fd35)---
CDMA Diamond:
00:00:00 [D:BT] [FM00:02:40:824] Send HCI opcode(fd35)+++
00:00:00 [D:BT] [FM]len:(193)
00:00:00 [D:BT] [FM]0c 20 0d ba 4c 7a fe 01 35 fd c1 65 be 00 00 00 00 00 00 00 00 27 01 a0 02 99 01 a0 bb cc 00 03 00 05 01 a0 00 00 00 00 00 00 00 00 bb cc 00 06 bc 03 03 c1 be f0 02 61 36 03 03 43 bb cc 00 09 00 27 01 a0 00 00 00 00 80 00 00 f3 bb cc 00 0c a8 06 01 3c 32 44 00 ea 0a 00 01 52 bb cc 00 0f c6 00 02 23 d8 12 02 1d 4b 00 02 22 bb cc 00 12 80 0c 00 f2 d6 00 01 53 d8 16 02 1d bb cc 00 15 00 21 01 a0 f8 01 02 23 b8 03 03 c2 bb cc 00 18 3c 1b 03 c2 4d b4 02 70 c6 00 02 23 bb cc 00 1b e8 1e 02 1d de b4 02 61 00 1f 01 a0 bb cc 00 1e de b4 02 60 56 03 03 42 00 24 01 a0 bb cc 00 21 b8
00:00:00 [D:BT] [FM00:02:40:829] Send HCI opcode(fd35)---
Anyway, I’ll have to figure out exactly why they’re different. Looking carefully, it looks like for whatever reason the first few bytes of the Touch Pro’s script is zero’d out --- the rest appears nearly identical. Which might be the crucial difference. Well, once I figure out, I’ll be sure to let you know.