Following your suggestions I'm going somewhere.
It is not much pratical right now, but still it works, more or less.
I've wrote a little script:
setserial /dev/ttyS3 baud_base 921600
hciattach /dev/ttyS3 billionton
hciconfig hci0 up
It basically does what /etc/init.d/bluetooth alone didn't do: setup my card and then startup the bluetooth services. Of course I too have commented out the references to HIDD in /etc/init.d/bluetooth.
However, even if when i run it everything seems to work well ("hciconfig -a" shows the device, and "hcitool -scan" gives the proper results), I get the following message just after running it:
BCSP initialization time out
Making some test, I found that is due to the "hciconfig hci0 up" being in the script.
If I remove it from there and run it manually, I don't get the message.
I've tried also to put some sleep time between "hciattach" and "hciconfig" in the script, but still I get the message. Any hint on this?
I can remove the card running /etc/init.d/bluetooth stop. When I re-insert it I should re-run my script. When I suspend, I have to resume the card manually, by "cardctl resume 0".
At least this way, I've to run just one command upon starting/stopping the bluetooth.
Thanks for any help so far.
The card is somewhat unreliable. Sometimes, upon insertion, the led doesn't blink.
Even if "cardctl status" shows the card as being active, it is not.
Doing "cardctl suspend 0", waiting a couple of seconds, and then "cardctl resume 0",
makes it up. Then the script works well, and doesn't give that "BCSP initialization time out" error message.