CSR BC57E BlueCore 5

Hi, I have a module branded NFore with CSR BC57E687C BlueCore 5 chip, the module model is NF2301-16M.

The module is this one:

This is the pinout:
BMNF2301000M Bluetooth Module User Manual NF2301__FCC Jazz Hipster

The module works because I can dump the firmware and PSKeys via LPT-SPI, unfortunately the car audio system where I got the module doesn't work, so, I can't spy serial/spi lines to know how to use this module.

At the moment, using PSTool I know that UART is configured for 38.4 and bootmode is 1, using a serial terminal the module send 0xD0 0x02 0x00 to the serial console after a reset, the same sequence repeats if I send 32 bytes via serial port or after a cold reset from Blueflash.

I try with bootmode 0, 1, 2 and 3, they works almost equal, but bootmode 4 dumps a sequence of 8 bytes to terminal all the time.

I also try BCSP, H4 and H5 via serial port and none of them works in PSTool, even using RTS/CTS hardware, only SPI BCCMP (LPT-SPI) mode works.

Leds, PIO, Batt and USB pins are not used (not implemented on the board and don't do anything putting leds and switches on the pins), so the communication with the car audio was only via PCM, SPI, TX&RX.

The module is on a little board which route commented pins and PIO1/PIO3 but this two don't seems to be used on the main board, they have no connections (maybe debug or future implementation).

I just sent an email to NFore about any application note, but I doubt that they will answer my email.

I don't know if the module came with a factory firmware (CSR), a custom one (NFore) or maybe the creator of the car audio made some kind of firmware for this module, anyway, nothing human readable happens on the serial port and there is nothing I can do on the SPI interface except PSTool or Blueflash.

I have some pdf from CSR/Qualcomm about the module, they talk about anything but nothing about commands or protocols to use the module.

I found an api for BCSP but I have to make some programs to try it, anyway, if the api can't use the lpt-spi it will no work like PSTool.

Maybe the module is in HCI mode, something that I ignore at the moment, or have an HCI firmware, something that I read somewhere, not about this module, but some papers about some other modules talk about a Command firmware and a HCI firmware, that's why I test changing boot mode PSKey.

I have to try the BCSP api and learn something about HCI to test is something works on this module.

If anybody have some information about this module, or someone want to share a copy of a firmware for this module I will be happy to test on my module and try to use in a future for something interesting.

Some advance

I put the bootmode in 4 again and route UART to BCSP (was routed to VM), so, the repeating sequence start again and I found on the net that is a sync packet of BCSP protocol.

0xda, 0xdc, 0xed, 0xed

Attach the module to my Linux box via uart and use:

hciattach /dev/ttyUSB0 bcsp 38400
Response: Device setup complete
hci0: Type: Primary Bus: UART
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
RX bytes:38 acl:0 sco:0 events:1 errors:0
TX bytes:42 acl:0 sco:0 commands:3 errors:0

No BT address and I can't put the module UP, so I can't send commands with hcitool, but there is some progress.

Still looking for an original firmware somewhere.
Finally I made it works, so, for future reference if someone got a module like this one and was configured for something else like mine (car audio).
I put the module in bootmode 2 because I see some PS_Keys overriding for this bootmode, specially UART to BCSP and UART rate to 115200.

Then I connect the module to my serial port on my linux box, then hciattach with 115200.

And voila, got the module running, my phone paired, sound routed to linux via serial port (low quality because the low link speed), sent a file from linux to phone and from phone to linux, I have to check out if the analog lines of the modules make some sound or find some PCM convertor to test the interface, anyway I have a lot to discover and to play with this module.

But the thing that I connect to my computer via serial port and use hciattach and the module works drives me crazy, hehehee.

Will test the usb interface too, because I want to use this module for my wifi speakers, should be nice to have bluetooth sound too.