Instructions on how to use pskey to set csr into h4 mode on ipaq H3600 ============================================================================= by Sam Engström (mail@samengstrom.com), please correct errors if you encounter them. IMPORTANT UPDATE! I wrote these instructions in 2002 with ipaq H3600 in mind. They quite likely will not work on other ipaqs, and are known to render bluetooth on ipaq 3870s unusable. -- On Thu, 11 Dec 2003, Paolo Marques wrote: The iPaq 3870 uart doesn't support 1Mbit, so [using the pskey settings in this document] renders the csr chip useless. The original factory pskey settings for a 3870 iPaq are (according to Andrew Christian, and verified by me): 0191 03b0 0006 00fa 0014 0004 0000 0004 001e 0064 000a 01f9 0001 -- The rest of this document remains unchanged after 2002-05-23, and it is assumed that you know that the values you are using are the correct ones for your hardware. WARNING: If you type the commands incorrectly you may render the HSR chip unusable beyond reboots. Be careful and double check every command before quitting pskey after which the changes are applied. DISCLAIMER: I claim no responsibility if you choose to proceed and do render the chip unusable. These instructions have been derived from my e-mail correspondence with Fabrizio Gennari, the author of pskey. Please read his posting to the bluez-devel mailing list at http://www.geocrawler.com/archives/3/11993/2002/3/100/8148714/ And here's what he wrote about the command line Usage: pskey [-b] [-d device] [-s speed] -b: use BCSP (default:use H4) device: device file representing the serial port the BT device is connected to (default:/dev/ttyS0) speed: speed of serial port in bit/s (default:115200) On the pskey command line: - to read a key, just type its number in hex - to write a key, type its number in hex followed by the new value, words separated by spaces Here are the instructions: Commands and output My comments ============================================================================= # ./pskey -b -d /dev/tts/0 you might need to replace /dev/tts/0 with something else, for example /dev/ttySB0 and the speed might also be initially set to 230400 so you might need -s Physical device :/dev/tts/0 Speed :115200 Use BCSP :YES Initiating read thread BT SYS: Initializing BCSP BT SYS: BCSP initialized and syncronized Synchronized Successfully read firmware info. Firmware version: 115 pskey>1f9 0003 this sets the mode to h4 Warning: timeout on BCSP data send, resending never mind these Warning: timeout on BCSP data send, resending warnings if you get them Key 01f9 length 1 0001 The new length of key 1f9 will be 1 The new value will be 0003 Type yes to write those values, anything else to cancel yes or no>yes pskey>191 01d8 00a8 00fa 0014 0004 0000 0004 001e 0064 000a this sets the initial baud rate and other settings Key 0191 length 10 1000 0006 00fa 0014 0004 0000 0004 001e 0064 000a if your settings differ from this you need to use your own last 8 words The new length of key 191 will be 10 The new value will be 01d8 00a8 00fa 0014 0004 0000 0004 001e 0064 000a Type yes to write those values, anything else to cancel yes or no>yes pskey>191 you may choose to verify that the changes have actually happened Key 0191 length 10 01d8 00a8 00fa 0014 0004 0000 0004 001e 0064 000a pskey>1f9 Key 01f9 length 1 0003 pskey>quit and we're done End now, if you want to run pskey again, you need to set the baud rate as follows # setserial /dev/tts/0 baud_base 1000000 remember that we're in h4 mode now, so no -b! # ./pskey -d /dev/tts/0 ... ============================================================================= 2003-12-11 Sam Engström