Hi folks,
                I am using linux kernel 2.2.17 and implemented a app
using irOBEX to send and receive data with the Palm
devices. This app works fine with single Palm device .
Issue is , when the linux box discovers more than one
device at a given point of time, IR stack gets stuck
and this problem is not consistence with all the
discoveries. If this happens the palm device is
displays a message �Searching �.� .  , and the dmesg
on the linux shows ,
 
rlmp_next_lap_state(), LMP LAP = LAP_STANDBY
irlmp_do_lsap_event(), EVENT =
LM_LAP_DISCONNECT_INDICATION, STATE =
LSAP_DISCONNECTED
irlmp_state_dtr()
irlmp_next_lsap_state(), LMP LSAP = LSAP_DISCONNECTED
irlmp_convert_lap_reason(), LAP_NO_RESPONSE
irlmp_disconnect_indication(),
reason=LM_LAP_DISCONNECT
irlmp_disconnect_indication(), slsap_sel=00,
dlsap_sel=01
hashbin_remove()
dequeue_general()
hashbin_insert()
enqueue_first()
iriap_disconnect_indication(),
reason=LM_LAP_DISCONNECT
iriap_disconnect_indication(), disconnect as server
state_r_call()
iriap_close()
hashbin_remove()
dequeue_general()
__irlmp_close_lsap()
hashbin_remove()
dequeue_general()
__iriap_close()
irda_task_timer_expired()
irda_task_kick()
irtty_change_speed(), <7050070>
__irtty_change_speed(), Setting speed to 9600
irda_task_next_state(), state = IRDA_TASK_DONE
hashbin_remove()
dequeue_general()
irda_device_set_media_busy(FALSE)
irlmp_discovery_timer_expired()
irlmp_discovery_timer_expired()
irlmp_discovery_timer_expired()
irlmp_discovery_timer_expired()
irlmp_discovery_timer_expired()

Did an irdadump and It was keep on transmitting
discovery packets , and i was able to see the device
name in the discovery buffer too.  Following is the
irdadump mesg, 

rlmp_next_lap_state(), LMP LAP = LAP_STANDBY
irlmp_do_lsap_event(), EVENT =
LM_LAP_DISCONNECT_INDICATION, STATE =
LSAP_DISCONNECTED
irlmp_state_dtr()
irlmp_next_lsap_state(), LMP LSAP = LSAP_DISCONNECTED
irlmp_convert_lap_reason(), LAP_NO_RESPONSE
irlmp_disconnect_indication(),
reason=LM_LAP_DISCONNECT
irlmp_disconnect_indication(), slsap_sel=00,
dlsap_sel=01
hashbin_remove()
dequeue_general()
hashbin_insert()
enqueue_first()
iriap_disconnect_indication(),
reason=LM_LAP_DISCONNECT
iriap_disconnect_indication(), disconnect as server
state_r_call()
iriap_close()
hashbin_remove()
dequeue_general()
__irlmp_close_lsap()
hashbin_remove()
dequeue_general()
__iriap_close()
irda_task_timer_expired()
irda_task_kick()
irtty_change_speed(), <7050070>
__irtty_change_speed(), Setting speed to 9600
irda_task_next_state(), state = IRDA_TASK_DONE
hashbin_remove()

Finaly i killed irattach and irmanager and restated
again , but it didnt help. When i restarted irmanager
and irattach, dmesg is, 

hashbin_remove()
dequeue_general()
irda_device_event(), NETDEV_DOWN
hashbin_remove()
dequeue_general()
irda_release()
irda_destroy_socket()
irlmp_unregister_client()
hashbin_find()
irlmp_unregister_client(), removing client!
hashbin_remove()
dequeue_general()
irlmp_unregister_service()
irlmp_discovery_timer_expired()
irlmp_discovery_timer_expired()
irda_close()
irlmp_discovery_timer_expired()
irlmp_discovery_timer_expired()

 I am wondering whether any one faced the above
mentioned issue and found any solution for it. 
 
Thanks,
Sudakar.S




__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/
_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to