Recently my free HP/Palm Pre 2 developer device arrived from the US here in Germany.
In March I wrote an email to HP/Palm to apply for the “developer program”, in which they offered free Pre2 devices to qualified developers. As I’m involved in the SHR-Project and especially in the port of it to the Palm Pre product family, it is really great to get supported by HP/Palm itself!
Thank you very much HP/Palm for supporting the FOSS community in such a way!
The first project I started to bring FOSS to the Pre is Bootr, which is a multiboot solution capable of booting serveral Linux distributions like WebOS, SHR or Android on your HP/Palm Pre, Pre+ and Pre2.
The next bigger project I’ll be involved with is msmcomm, which is a utility to communicate with the Palms modem. Thanks to the awsome work of the guys from the FSO-Project this utlity is already capable of initializing the modem, communicating with the SIM card, reading SIM contacts, using a 3G data connection and even initiating and accepting a call. My work will hopefully lead to being able to send and recieve SMS.
To work on this I setup my enviroment like this:
- Cross-compile the serial_forward utility (git.freesmartphone.org) for the Pre (using OpenEmbedded or another cross-toolchain) and copy it over
- Enable usbnet on the Pre:
usbnet enable
- Connect to the Pre using novaterm:
novaterm
- Stop the TelephonyInterfaceLayer:
stop TelephonyInterfaceLayer
- Reset the modem:
pmmodempower cycle
- Run serial_forward, to forward the modem to you host computer:
./serial_forward -n /dev/modemuart -p 3001 -t hsuart
- On your host computer configure the usbnet interface:
ifconfig usb0 192.168.0.1
- Install libmsmcomm, msmcomm-specs and msmcommd
- Change the connection settings in msmcommds config (/etc/msmcommd.conf) to look like this:
- Start msmcommd:
msmcommd
- Install mdbus2 or any other DBus debugging tool
- Issue the following DBus commands, to setup the modem:
org.msmcomm /org/msmcomm org.msmcomm.Management.Reset
org.msmcomm /org/msmcomm org.msmcomm.Management.Initialize
org.msmcomm /org/msmcomm org.msmcomm.Misc.TestAlive
org.msmcomm /org/msmcomm org.msmcomm.SIM.VerifyPin "PIN1" "1234"
org.msmcomm /org/msmcomm org.msmcomm.State.ChangeOperationMode "ONLINE"
[connection]
# Which type of connection we should use to connect to the modem: network, serial
# type = serial
# path = /dev/modemuart
# If you want to connect to the modem over a network link you should use the
# configuration below
type = network
ip = 192.168.0.202
port = 3001