Still having this problem.  I switched to 2.4.17 irda modules and all the
irda stuff is modules - no irda stuff in the kernel.  My test script looks
like this:

insmod ./irda.o
insmod ./ircomm.o
insmod ./ircomm-tty.o
insmod ./irtty.o
insmod ./sa1100_ir.o
irattach irda0 -s 1
echo 38400 > /proc/sys/net/irda/max_baud_rate

Then after checking that discovery has worked, on one computer I enter:

cat /dev/ircomm0 > /tmp/irda.out

and on the other computer:

cat a_big_file > /dev/ircomm0

The first time the sending cat returns immediately.  The second time it
hangs for minutes until I kill it.  The receiving side times out after a
minute or so without writing anything to /tmp/irda.out

With a scope I can see stuff happening on the Rx and Tx pins of the IRDA
transceiver.  But it doesn't look like normal async ascii characters.

If someone out there could point me to a resonable debugging strategy, I
would be greatly appreciative.

dmesg on the sending side says:

irda_init()
IrCOMM protocol (Dag Brattli)
irlap_change_speed(), setting speed to 9600
ircomm_tty_attach_cable()
ircomm_tty_ias_register()
irlap_change_speed(), setting speed to 38400
ircomm_param_service_type(), services in common=06
ircomm_param_service_type(), resulting service type=0x04
ircomm_param_port_type(), port type=0
ircomm_tty_close()
ircomm_tty_shutdown()
ircomm_tty_detach_cable()
ircomm_close()
ircomm_tty_attach_cable()
ircomm_tty_ias_register()
IrLAP, no activity on link!
irlmp_state_setup() WATCHDOG_TIMEOUT!
IrLAP, no activity on link!
IrLAP, no activity on link!
IrLAP, no activity on link!
irlap_change_speed(), setting speed to 9600
ircomm_tty_close()
ircomm_tty_shutdown()
ircomm_tty_detach_cable()
ircomm_close()

-----Original Message-----
From: Whaley, Robert [mailto:[EMAIL PROTECTED]] 
Sent: Friday, February 08, 2002 12:20 PM
To: [EMAIL PROTECTED]
Subject: [Linux-IrDA] IRDA discovery works, but nothing else does


I'm trying to get a single board computer with StrongARM SA1110 processor to
run IRDA.  I'm using linux 2.4.9.
 
Discovery seems to work well on everything I have tried to connect to (Palm,
Cassiopeia, Win2000 laptop, other SBCs).  But I seem to be unable to
transfer data using IrNET, IrLAN, or IrCOMM.
 
Right now I'm testing by trying to get 2 of my single board computers to
talk with each other using IrCOMM.
 
I have sa1100_ir.o and irda.o built into the kernel and everything else is a
module.
 
To get things started, on both systems I run:
 
  insmod ./ircomm.o
  insmod ./irtty.o     # (or ./irport.o)
  insmod ./ircomm-tty.o
 
  irattach irda0 -s 1
 
  echo 38400 > /proc/sys/net/irda/max_baud_rate
  echo 9 > /proc/sys/net/irda/debug
 
The at this point discovery seems to work fine.  Both computers have good
looking discovery entries for the other one.
 
So I try to send something across from one to the other.
 
On the first computer I run:
 
  cat /dev/ircomm0 > /tmp/foo
 
On the second computer I run:
 
  echo foobarbaz > /dev/ircomm0
 
The 'cat' on the first computer seems to wait for some data to come over the
port, but eventually it returns with zero status and outputs nothing.
 
The 'echo' on the second computer sometimes will return immediately, other
times it hangs forever and eventually I kill it.  The characters 'foobarbaz'
never seem to make it from the second computer to the first one.
 
I get a lot of debugging output.  There is so much, that I'm having a hard
time understanding it.  I seem to get a lot 
of watchdogtimer expirations.

Can anyone point me toward a good debugging strategy from here?
 
Thanks,
 
Robert Whaley
_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to