Subject: Testing IRDA device driver

From: Amit Virdi <[email-masked]>
Date: Wed, 13 Apr 2011 12:10:20 +0530

Hi All,

For the past few days I've been trying to test a driver that I've 
written for DICE Fast IrDA controller. As per my requirements, I need to 
use IrCOMM as the upper layer.

I'm using the same kernel image on the both the boards. When I run 
irattach on either of the boards I can see discovery protocol being 
initiated and completing successfully (cat /proc/net/irda/discovery 
giving output with other ends's device's MAC address as the daddr) but 
I'm struggling to test the driver further.

I've observed that the discovery request/response sequence goes on for 5 
minutes. After this, the discovery process stops. On the master side, I 
could see no IrLAP frame being sent/received and also the output of cat 
/proc/net/irda/discovery is NULL. However, on the slave side, the cat 
/proc/net/irda/discovery output shows the master side!!

If I run irattach on the slave side also, no DISCOVERY message is 
exchanged and then, the output of slave side also doesn't show anything.

Sometimes, I start getting log "IrLAP, no activity on link!" and then 
ircomm_close() API is called from within the stack.

If, I try to run getty on /dev/ircomm0, it does not work!

If I try to transfer data using
	echo "1234567890" > /dev/ircomm0
on the master side, and
	cat /dev/ircomm0
on the slave side, I can see SNRM command, UA response, RR command, 
IrLMP connect/disconnect etc. However, the data transfer actually didn't 
happen. I cannot see the string "1234567890" on the slave side.

Please suggest what I'm missing/doing wrong. I need to transfer data 
from one device to another to complete the testing. I shall be very much 
thankful for suggestions/advice.

Thanks n Regards
Amit Virdi