great! will give this a try in a few days when back on my system. Did
a quick search on /etc/inittab, from what I gather this contains
instructions for starting up the getty process to manage user logins
on the console via the serial port(?) If that's right, do you think
commenting it out will prevent use of the serial port for accessing
the board (handy when ethernet is unavailable)?
--- In wrote:
>
> Got it to work. You have to disable the consol on the com ports.
> Look at your /etc/inittab. Comment out any lines with the com
ports
> name in it. I am using both ports so I commented out both: ttyAM0
and
> ttyAM1.
>
> Quoting tedapt <>:
>
> > OK, I'll let you know whatever I find too. Won't be able to get
back
> > to this and retest for a few days though. My test plan is to
write a
> > Java app that will listen for data on the serial port, and echo it
> > when received.
> >
> > One thing I've noticed is that if I try to start a listening app
on
> > the port it seems to lock the port at the OS level. I was then
unable
> > to access the port through the command line (e.g., echo
> >> /dev/ttyS0). Wonder if this may be related to the read problem?
If
> > that's so, wonder if there's a way to share the port between
multiple
> > clients?
> >
> > --- In justin@ wrote:
> >>
> >> Hey,
> >>
> >> Yeah, I am having a similar problem. I can write just fine. I
set
> > up
> >> a comm connection to the hyper term. But I can't receive
anything
> >> back. I'll let you know what I find. I ended up building my own
> > rxtx
> >> lib, but same problem so I don't think thats the issue.
> >>
> >>
> >> Quoting tedapt <tedapt@>:
> >>
> >> > thanks Justin. I seem to have had some limited success with
rxtx
> > 2.1
> >> > (the one you mention first) by simply creating a symlink
> >> > from /dev/ttyAMO to /dev/ttyS0 (ln -s /dev/ttyAM0 /dev/ttyS0).
> > Still
> >> > having problems communicating with a Modbus device, but
otherwise
> >> > Java is acting like it finds and can open the serial port (of
> > course
> >> > my "solution" may be part of the problem!)
> >> >
> >> > Current problem is that though my app claims to open
connections
> > and
> >> > make Modbus requests on /dev/ttyS0, I'm unable to get a
readable
> >> > response back (this code works properly on another platform).
I
> > need
> >> > to do some further testing with some simple Serial code to
prove
> > to
> >> > myself I can really write and read with the port properly.
> >> >
> >> > I'm wondering if I need to configure my serial port somehow
(not
> > very
> >> > experienced with serial ports, not sure if that's required or
> > takes
> >> > care of itself). My app sets connection params of 9600 baud, no
> >> > parity, 8 data bits, 1 stop bit. Anyone know if the linux
system
> >> > (perhaps using stty) needs to configure the port to match this,
> > or is
> >> > it only the client app at the other end of the communication
that
> >> > needs to match the same parameters?
> >> >
> >> > Also, I'm using JamVM, so my RXTXcomm.jar was placed
> >> > in /usr/lib/jamvm (also where I placed librxtxSerial.so)
> >> >
> >> > Further, I was unable to enumerate the serial ports using rxtx
> > 2.0.
> >> > I would settle for a working rxtx 2.1 solution, and from the
rxtx
> >> > documentation it seems that rxtx 2.1 is the preferred solution
> > when
> >> > possible to use it (i.e., when have ability to import gnu.io
> > classes
> >> > instead of javax.comm).
> >> >
> >> > --- In justin@ wrote:
> >> >>
> >> >> I am working on the same thing, didnt want to respond till I
an
> >> > answer
> >> >>
> >> >> You can download the most current version of the arm-unknown-
> > linux-
> >> > gnu
> >> >> binary at rxtx site:
> >> >> ftp://ftp.qbang.org/pub/rxtx/ToyBox/2.1-7-build1/Linux/glibc-
> >> > 2.3.5/arm-unknown-linux-gnu/
> >> >>
> >> >> The easyest way to add the ttyAMx com ports is to set the
system
> >> > properties:
> >> >> jamvm -Dgnu.io.rxtx.SerialPorts=/dev/ttyAM0:/dev/ttyAM1 foo
> >> >>
> >> >> The other way:
> >> >> RXTXCommDriver.java is
> >> >> available in ftp://ftp.qbang.org/pub/rxtx/rxtx-2.0-7pre2/src/
> >> > Download the
> >> >> RXTXCommDriver.java. In this code, you will find
> >> >>
> >> >> if (osName.equals ("Linux")) { String[]Temp = { "ttyS", //
linux
> >> > Serial
> >> >> Ports "ttySA" // for the IPAQs }; CandidatePortPrefixes =
Temp;
> >> >>
> >> >> Replace this code with
> >> >>
> >> >> if (osName.equals ("Linux")) { String[]Temp =
> >> > { "ttyS", "ttyAM", // linux
> >> >> Serial Ports "ttySA" // for the IPAQs };
CandidatePortPrefixes =
> >> > Temp; }
> >> >>
> >> >> Compile the RXTXCommDriver.java and add the resulting
> >> > RXTXCommDriver.class
> >> >> file to RXTXcomm.jar
> >> > in /usr/java/jdk1.5.0_07/jre/lib/ext/RXTXcomm.jar
> >> >>
> >> >> Hope this help,
> >> >> Justin
> >> >>
> >> >>
> >> >>
> >> >> Quoting tedapt <tedapt@>:
> >> >>
> >> >> > Can anyone clarify Dave's statement about the use of rxtx:
> >> >> >
> >> >> > > note: you have to add the arm's /dev/ttyAMx to rxtx, it
> >> > doesn't
> >> >> > know about them
> >> >> >
> >> >> > Also, any notes from anyone who has successfully setup and
used
> >> > rxtx
> >> >> > with jamvm would be appreciated!
> >> >> >
> >> >> > The setup I'm attempting to get working is:
> >> >> >
> >> >> > - TS-7250
> >> >> > - debian on a USB thumbdrive
> >> >> > - jamvm installed via apt-get
> >> >> > - downloaded rxtx rxtx-2.0-7pre1 for Linux from:
> >> >> > http://users.frii.com/jarvi/rxtx/download.html (file
at
> >> >> > ftp://ftp.qbang.org/pub/rxtx/rxtx-2.0-7pre1-i686-pc-linux-
> >> > gnu.tar.gz)
> >> >> > - extracted librxtxSerial.so and placed it
in /usr/lib/jamvm
> >> >> > - using Sun's comm.jar (from a Java 1.3 distribution)
> >> >> >
> >> >> > When I invoke the test class (source below) I get these
> > results:
> >> >> >
> >> >> > root# /usr/bin/jamvm -cp .:comm.jar
SerialTest /dev/ttyAM0
> > 9600
> >> >> > Specified serial port (/dev/ttyAM0) does not exist
> >> >> > null
> >> >> > javax.comm.NoSuchPortException
> >> >> > at
> >> >> > javax.comm.CommPortIdentifier.getPortIdentifier
> >> > (CommPortIdentifier.java:105)
> >> >> > at SerialTest.main(SerialTest.java:32)
> >> >> >
> >> >> > Here's source for SerialTest.java:
> >> >> >
> >> >> > import java.io.IOException;
> >> >> > import java.io.InputStream;
> >> >> > import java.io.OutputStream;
> >> >> > import java.util.Enumeration;
> >> >> >
> >> >> > import javax.comm.CommPortIdentifier;
> >> >> > import javax.comm.NoSuchPortException;
> >> >> > import javax.comm.PortInUseException;
> >> >> > import javax.comm.SerialPort;
> >> >> > import javax.comm.UnsupportedCommOperationException;
> >> >> >
> >> >> > public class SerialTest {
> >> >> >
> >> >> > private static SerialPort sp;
> >> >> > private static InputStream sin;
> >> >> > private static OutputStream sout;
> >> >> >
> >> >> > public static void main(String[] args) {
> >> >> > try {
> >> >> > if (args.length != 2) {
> >> >> > System.out.println("Usage:
java
> >> > SerialTerm.tini port_name data_rate");
> >> >> > System.out.println("Available
ports
> >> > are:\n");
> >> >> > Enumeration ports =
> >> > CommPortIdentifier.getPortIdentifiers();
> >> >> > while(ports.hasMoreElements())
{
> >> >> > System.out.println
> >> > (ports.nextElement() + "\n");
> >> >> > }
> >> >> > System.exit(1);
> >> >> > }
> >> >> > String portName = args[0];
> >> >> > int baudRate = Integer.parseInt(args[1]);
> >> >> > try {
> >> >> > sp =
> >> >> > (SerialPort)CommPortIdentifier.getPortIdentifier
(portName).open
> >> > ("SerialTerm",
> >> >> > 5000);
> >> >> > sp.setSerialPortParams(baudRate,
> >> > SerialPort.DATABITS_8,
> >> >> > SerialPort.STOPBITS_1,
> >> >> > SerialPort.PARITY_NONE);
> >> >> > sin = sp.getInputStream();
> >> >> > sout = sp.getOutputStream();
> >> >> > } catch (NoSuchPortException nsp) {
> >> >> > System.out.println("Specified serial port
> > ("+portName+
> >> >> > ") does not exist");
> >> >> > throw nsp;
> >> >> > } catch (PortInUseException piu) {
> >> >> > System.out.println("Serial port "+portName+
> >> >> > " in use by another
> > application");
> >> >> > throw piu;
> >> >> > } catch (UnsupportedCommOperationException usc) {
> >> >> > System.out.println("Unable to configure
> >> > port:"+portName);
> >> >> > throw usc;
> >> >> > } catch (IOException ioe) {
> >> >> > System.out.println(
> >> >> > "Unable to acquire I/O
streams
> > for
> >> > port
> >> >> > " + portName);
> >> >> > throw ioe;
> >> >> > }
> >> >> > } catch (Exception e) {
> >> >> > System.out.println(e.getMessage());
> >> >> > e.printStackTrace();
> >> >> > }
> >> >> > }
> >> >> >
> >> >> > }
> >> >> >
> >> >> > --- In Dave Cramer <davec@> wrote:
> >> >> >>
> >> >> >> I've been running jamvm on mine for quite a while. You
don't
> > need
> >> >> >> jikes, unless you plan to compile on the arm (Very slow)
> >> >> >> I pulled alot of the gnuclasspath out, and the whole thing
is
> >> > quite
> >> >> >> small. Around 4M or so
> >> >> >>
> >> >> >> you need rxtx for serial port work with java,, other than
that
> >> > it's
> >> >> >> write once deploy everywhere
> >> >> >>
> >> >> >> note: you have to add the arm's /dev/ttyAMx to rxtx, it
> > doesn't
> >> > know
> >> >> >> about them
> >> >> >>
> >> >> >> Dave
> >> >> >> On 7-Nov-06, at 8:57 PM, gunghoiguana wrote:
> >> >> >>
> >> >> >> > The install was much easier than I anticipated:
> >> >> >> >
> >> >> >> > apt-get install jikes
> >> >> >> > apt-get install jamvm
> >> >> >> > apt-get install jikes-classpath
> >> >> >> >
> >> >> >> > Everything seems to work fine, and I can run class files
> > that I
> >> >> >> > compiled on my desktop PC. I've only checked out basic
> >> > functions and
> >> >> >> > console IO so far, but I'll be checking out the serial
port
> > and
> >> >> >> > network interfaces soon. Java is *supposed* to make those
> >> > things
> >> >> >> > easy...
> >> >> >> >
> >> >> >> > Brian
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >>
> >> >> >
> >> >> >
> >> >> >
> >> >>
> >> >
> >> >
> >> >
> >>
> >
> >
> >
>
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|