forked from arduino/RXTX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.IPAQ
86 lines (60 loc) · 3.16 KB
/
README.IPAQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Here's what I came up with as far as documentation. First, I'm mainly a
windows person... ewww.. but, as such.. some things are probably not
solved optimally.
---
Getting the Comm API working on an Ipaq
Thomas O'Connell (thomas@cc.gatech.edu)
For the most part, things go pretty much according to the documents
provided by: http://www.interstice.com/~kevinh/linuxcomm.html
I'll just cover the gotchas:
1) Getting Java itself to run: This was actually the most complicated
part (for me). You can download a JRE 1.3 from Blackdown for the ARM
processor, but no JDK. But you can tease a javac, jar, javah, etc.. out
of a tools.jar file from some other distro(i went with an i386 linux
sdk, same version as the JRE), and writing scripts to emulate the
behaviors (and adding tools.jar to your classpath).
Example:
javac is:
#! /bin/sh
java com.sun.tools.javac.Main $@
The rest can be created similarily. I kept pulling as many as those out
until the .configure of rxtx stopped complaining.
- include files: in addition to pulling tools.jar from another linux
jdk, I brought over the <jdk>\include files too. Dumped it in the
<j2re1.3.1> directory.
- sim link: in the j2re1.3.1 directory, I created a jre sub directory,
and beneath that I sym linked a j2re1.3.1\jre\lib to j2re1.3.1\lib.
Also, both my JDK_HOME and JAVA_HOME were set to the j2re1.3.1 location.
After all this, the rxtx package built correctly. I added jcl.jar to my
classpath as well.
Your mileage may vary here, since I'm doing this all from recollection.
I imagine I'll have to reformat at some point and pay more attention the
next time I have to set it up. Lots of trial and error here, and I'm no
script kiddie.. I imagine some of this could be fixed up internally.
2) Killing getty - So there's the console terminal running on the comm
port. You need to be able to kill this in order for the comm port to be
released. Since you don't want to entirely kill getty (since,
networking is often flaky on these things), I just changed the
/etc/inittab with regards to getty.
Changed: T0:2:respawn:/sbin/getty -L tts/0 115200 vt100
To: T0:2:boot:/sbin/getty -L ttySA0 115200 vt100
This keeps the ipaq from respawning getty everytime you kill it, but
does activate it upon boot.
3) Fixing RXTXCommDriver.java. Based on OS, the code tried to find the
serial ports. This will fail because of a naming convention that
Intimate/?Debian? uses for the com ports. Need to add a prefix that
includes ttySA. By default the code looks like:
if(osName.equals("Linux"))
{
String[] Temp = {
"ttyS" // linux Serial Ports
};
CandidatePortPrefixes=Temp;
}
4) Cable: The hotsync cable that the ipaq comes with is a null modem
cable. compaq does sell a RS-232 cable for the hotsync port, if you're
trying to control a serial device like me. $26 though..
--
Thomas O'Connell Georgia Institute of Technology
Aware Home Lab ManagerCollege of Computing
www.cc.gatech.edu/fce/ahri www.cc.gatech.edu/~thomas