2006-11-26 06:45:07

by Brad Midgley

[permalink] [raw]
Subject: [Bluez-devel] bccmd and usb/uart switching

Hey

I am about to switch a bluegiga bluecore4 module from usb to uart/h4 so
I can use it to work on audio stuff using a gumstix. I really can't
afford to brick this thing and documentation is hard to come by... does
it look like

bccmd psset 0x1f9 3
bccmd psset 0x3cd 4

(to change HOST_INTERFACE & INITIAL_BOOTMODE respectively) is what I
need so the module will respond on the uart at 115k with hw flow control?

$ bccmd psread
// PSKEY_BDADDR
&0001 = 0081 bc3e 0080 0007
// PSKEY_LC_MAX_TX_POWER
&0017 = 0014
// PSKEY_TX_GAIN_RAMP
&001d = 3004
// PSKEY_LC_DEFAULT_TX_POWER
&0021 = 000c
// PSKEY_LC_ENHANCED_POWER_TABLE
&0031 = 0784 0000 3fc8 4100 ee00 098b 0000 3fc8 4300 f300 0a93 0000 3fdc
4500 f800 0aa3 0000 3fc8 4800 fd00 09ff 0000 3fd2 4b00 0200 12ff 0000
3fe3 4e00 0700 1eff 0000 3f00 0001 0c00
// PSKEY_DEVICE_NAME
&0108 = 5457 3131
// PSKEY_DFU_ATTRIBUTES
&0136 = 0005
// PSKEY_DFUENC_VMAPP_PK_MODULUS_MSB
&015e = c208 899a 96a2 8dbb 851d 1013 81bf 14c7 9bfe 8b70 6e30 47af 18ec
c19a 64cf a2ca 824b 638e 7bf5 f0eb 4f2b a166 66a0 cf16 86ec 6054 8e9a
67f9 cce7 15bd 1191 116c
// PSKEY_DFUENC_VMAPP_PK_MODULUS_LSB
&015f = c5c1 e4db 80b4 a854 fc02 fb10 bb70 163f 2153 f9aa 120a 4ccf b614
a957 fcd5 d932 9ed9 dfdc ccc3 e769 1ba4 67f8 bca2 0144 661d 1a71 9246
610e d478 39ef 658d 9981
// PSKEY_DFUENC_VMAPP_PK_M_DASH
&0160 = 597f
// PSKEY_DFUENC_VMAPP_PK_R2N_MSB
&0161 = 398b 10ee 48f1 ba7f 134f b237 0b2c 16c6 3267 280d 900c 732e ff8b
f0c6 7d31 7b89 b1bf 161f c3cd a7b3 f087 9a8d d8b5 762f b36d 4e9d 4cfd
4b9c e10f 3987 64d1 44af
// PSKEY_DFUENC_VMAPP_PK_R2N_LSB
&0162 = 6364 2838 c8cf 6307 8617 4f41 1a41 1660 7b0d c08c 108c 1833 8e55
32d6 bff1 3b78 ee31 ec6b 8e49 f12f 4db5 25fa ad12 2561 3604 4674 4370
efe9 beed d103 96df 6bfe
// PSKEY_UART_BAUDRATE
&01be = 01d8
// PSKEY_ANA_FTRIM
&01f6 = 0027
// PSKEY_TXRX_PIO_CONTROL
&0209 = 0002
// PSKEY_TX_PRE_LVL
&0240 = 0001
// PSKEY_RX_SINGLE_ENDED
&0242 = 0001
// PSKEY_MODULE_DESIGN
&025a = 0004
// PSKEY_MOD_MANUF0
&025e = 0002 0001 0000
// PSKEY_MOD_MANUF1
&025f = 000c
// PSKEY_USR35
&02ad = 5457 3131
// PSKEY_MR_TX_CONFIG2
&03ba = ff07
// PSKEY_MR_TX_FILTER_CONFIG
&03bb = aa00 0001
// PSKEY_INITIAL_BOOTMODE
&03cd = 0003
// 0x04b0
&04b0 = 01f9 0268 03cc
// 0x04b2
&04b2 = 01f9 025d 02d0
// 0x04b3
&04b3 = 01f9 025d
// 0x04b4
&04b4 = 01f9 025d
// 0x04b8
&04b8 = 0004
// 0x04b9
&04b9 = 0000
// 0x04ba
&04ba = 0001
// 0x0538
&0538 = 0002
// 0x0539
&0539 = 0001
// 0x053a
&053a = 0002
// 0x0578
&0578 = 0002
// 0x0579
&0579 = 0001
// 0x05b8
&05b8 = 0003
// 0x05b9
&05b9 = 0001

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel


2006-11-28 10:58:00

by Peter Wippich

[permalink] [raw]
Subject: Re: [Bluez-devel] bccmd and usb/uart switching


Hi Brad,

> fwiw, it worked great to try pskey values out in ram before making them
> permanent.
>
> http://bluetooth-alsa.sourceforge.net/embed.html

Congregulations ;-)

Peter


| Peter Wippich Voice: +49 30 46776411 |
| G&W Instruments GmbH fax: +49 30 46776419 |
| Gustav-Meyer-Allee 25, Geb. 12 Email: [email protected] |
| D-13355 Berlin / Germany |


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-11-28 05:38:52

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] bccmd and usb/uart switching

Guys

>> Because you can realy damage your device (if you don't have SPI access)
>> Marcel implemented bccmd "save". You realy should know what you're doing
>> when using bccmd to change ps-keys on CSR chips.
>
> thanks for your help! I've decided it is too easy to get things wrong. I
> am going to rewire things so I can have both usb and uart connected,
> then make the pskey change in ram and softboot into uart mode.

fwiw, it worked great to try pskey values out in ram before making them
permanent.

http://bluetooth-alsa.sourceforge.net/embed.html

Brad

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-11-27 17:15:44

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] bccmd and usb/uart switching

Peter

> Because you can realy damage your device (if you don't have SPI access)
> Marcel implemented bccmd "save". You realy should know what you're doing
> when using bccmd to change ps-keys on CSR chips.

thanks for your help! I've decided it is too easy to get things wrong. I
am going to rewire things so I can have both usb and uart connected,
then make the pskey change in ram and softboot into uart mode.

Brda

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-11-27 10:33:53

by Peter Wippich

[permalink] [raw]
Subject: Re: [Bluez-devel] bccmd and usb/uart switching


Hi Brad,

> 2. Change following parameters to switch to HCI mode
> a. PSKEY_INITIAL_BOOTMODE
> i. 0000 = iWRAP
> ii. 0001 = HCI, BCSP, 115800,8n1
> iii. 0003 = HCI, USB
> iv. 0004 = HCI, H4, 115200,8n1
> b. PSKEY_UART_BAUDRATE (Suitable value if H4
> or BCSP used)
> c. PSKEY_UART_CONFIG_H4
> PSKEY_UART_CONFIG_BCSP (Suitable key/value)
> d. PSKEY_USB_XXXX (If USB used,
> configure necessary keys)
> ========================================

> did they bump all the bootmodes forward one slot?
Mmmmh, my initial reply was wrong regarding the bootmodes. I did not
expect that somebody do not use bootmodes in sequence.

However, from what I can see from the PS-DUMP you sent the bootmodes used
are 0 2 3 4 (not 0 1 3 4), but 4 is used for Uart / H4 in any case.

> regarding bccmd, all the read options use CSR_STORES_DEFAULT if not
> specified but writing uses CSR_STORES_PSRAM if not specified. I suppose
> the idea is you can make changes in ram and soft reboot the chip to
> test them before making them permanent.
>
> It was somewhat confusing that CSR_STORES_DEFAULT (0x0003) is not the
> same meaning of default when you use something like
This is the internal "default" for the bccmd tool.

> bccmd psset -s default 0x3cd 4
>
> but rather the command is using 0 for the store. In any case, I think
> "-s default" is what you are suggesting I use.
Right.

Because you can realy damage your device (if you don't have SPI access)
Marcel implemented bccmd "save". You realy should know what you're doing
when using bccmd to change ps-keys on CSR chips.

> I don't know what belongs in PSKEY_UART_CONFIG_H4 (all I know is it's 16
> bits in key 0x1c0)
The default setting (8N1 / RTS/CTS handshake) should be fine for most
applications. If you need something different let me know. I may break
some NDA when posting the full description here .......

Ciao,

Peter

| Peter Wippich Voice: +49 30 46776411 |
| G&W Instruments GmbH fax: +49 30 46776419 |
| Gustav-Meyer-Allee 25, Geb. 12 Email: [email protected] |
| D-13355 Berlin / Germany |


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-11-26 20:47:00

by Brad Midgley

[permalink] [raw]
Subject: Re: [Bluez-devel] bccmd and usb/uart switching

Peter

> Be carefull with this module when you want to change configuration !!!
>
> They use different "bootmodes" (boot configurations) to switch between
> different operation modes. If you change anything this will only be
> changed for the mode you are currently in.
>
> According to what I can see from your PS dump the default bootmode (3)
> configures the module for UART/H4. However, when the module is currently
> in USB mode either the default bootmode isn't 3 or it must have been
> rebootet from the VM (wich again is strange because bootmode 3 disables
> the VM).

Maybe it's because the bluegiga has their own firmware as a boot option
(this is a bc4-ext). I found the text below in a recent rev of their
data sheet.

========================================
10.3 Switching to HCI firmware
New WRAP THOR firmware builds are called unified firmware (firmware
versions 18.2 and
later). This means the firmware contains both iWRAP firmware and RFCOMM
and HCI
stacks. The selection which part is active is done with PS-keys and
there is no need to
reflash the actual firmware as with older versions of iWRAP.
Switching can be done easily using PSTool software.
1. Connect the WRAP THOR module as instructed in chapter 8.1.
2. Change following parameters to switch to HCI mode
a. PSKEY_INITIAL_BOOTMODE
i. 0000 = iWRAP
ii. 0001 = HCI, BCSP, 115800,8n1
iii. 0003 = HCI, USB
iv. 0004 = HCI, H4, 115200,8n1
b. PSKEY_UART_BAUDRATE (Suitable value if H4
or BCSP used)
c. PSKEY_UART_CONFIG_H4
PSKEY_UART_CONFIG_BCSP (Suitable key/value)
d. PSKEY_USB_XXXX (If USB used,
configure necessary keys)
========================================

> If you realy want to play with this module only change the bootmode
> (0x3CD) to 3. This will set up anything to boot for UARt / H4. And to make
> the change permanent you need to use the default store (see source for
> bccmd, I never can remember the command options).

did they bump all the bootmodes forward one slot?

regarding bccmd, all the read options use CSR_STORES_DEFAULT if not
specified but writing uses CSR_STORES_PSRAM if not specified. I suppose
the idea is you can make changes in ram and soft reboot the chip to
test them before making them permanent.

It was somewhat confusing that CSR_STORES_DEFAULT (0x0003) is not the
same meaning of default when you use something like

bccmd psset -s default 0x3cd 4

but rather the command is using 0 for the store. In any case, I think
"-s default" is what you are suggesting I use.

I don't know what belongs in PSKEY_UART_CONFIG_H4 (all I know is it's 16
bits in key 0x1c0)

Brad

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-11-26 14:02:56

by Peter Wippich

[permalink] [raw]
Subject: Re: [Bluez-devel] bccmd and usb/uart switching


Hi Brad,


On Sat, 25 Nov 2006, Brad Midgley wrote:

> Hey
>
> I am about to switch a bluegiga bluecore4 module from usb to uart/h4 so
> I can use it to work on audio stuff using a gumstix. I really can't
> afford to brick this thing and documentation is hard to come by... does
> it look like
>
> bccmd psset 0x1f9 3
> bccmd psset 0x3cd 4
>
> (to change HOST_INTERFACE & INITIAL_BOOTMODE respectively) is what I
> need so the module will respond on the uart at 115k with hw flow control?

Be carefull with this module when you want to change configuration !!!

They use different "bootmodes" (boot configurations) to switch between
different operation modes. If you change anything this will only be
changed for the mode you are currently in.

According to what I can see from your PS dump the default bootmode (3)
configures the module for UART/H4. However, when the module is currently
in USB mode either the default bootmode isn't 3 or it must have been
rebootet from the VM (wich again is strange because bootmode 3 disables
the VM).

If you realy want to play with this module only change the bootmode
(0x3CD) to 3. This will set up anything to boot for UARt / H4. And to make
the change permanent you need to use the default store (see source for
bccmd, I never can remember the command options).

Good luck,

Peter



| Peter Wippich Voice: +49 30 46776411 |
| G&W Instruments GmbH fax: +49 30 46776419 |
| Gustav-Meyer-Allee 25, Geb. 12 Email: [email protected] |
| D-13355 Berlin / Germany |


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2006-11-26 10:23:54

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] bccmd and usb/uart switching

Hi Brad,

> I am about to switch a bluegiga bluecore4 module from usb to uart/h4 so
> I can use it to work on audio stuff using a gumstix. I really can't
> afford to brick this thing and documentation is hard to come by... does
> it look like
>
> bccmd psset 0x1f9 3
> bccmd psset 0x3cd 4
>
> (to change HOST_INTERFACE & INITIAL_BOOTMODE respectively) is what I
> need so the module will respond on the uart at 115k with hw flow control?

I haven't done this for years and if, then only with Casira where I had
the SPI as fallback. I actually think the initial bood mode is wrong,
because this is for HID proxy and alike if I am not mistaken. You want
the UART settings for H4, but I can't remember what that was. I do
remember that they changed with the HCI 18.x firmware and got split off
into transport specific PS keys, but that's basically it.

Regards

Marcel



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel