I am still puzzled by the old problem I have brought up several times. I was getting ready to write an new IrOBEX for Palm, printing the standards and reading any piece of software I can get about irda programming. However I just found something new that made me scratch my head.
+++ what I am trying to do again: I am trying to transfer files to windows 95/98 from my Palm PDA. +++ Current status: I can receive file from windows 95/98 with stock MS driver or third party (xConnect and FileConnect) on my Palm; I cannot send file from Palm to windows 95/98. btw: I can do two way send between windows xp and Palm. +++ What I have found just minutes ago: I have openobex (sourceforge.net) package installed on my Linux box. The package comes with two test programs, one is "irobex_palm3" for sending to and receiving from Palm PDA, another one is "irxfer" for sending to and recieving from windows 95. The current knowledge is that windows 95 IrXfer talks "OBEX:IrXfer" and Palm ExgLib talks "OBEX". On the Linux box, I can use "irobex_palm3" to send and receive from my Palm PDA just fine, but I cannot use "irxfer" to do so, which is perfectly reasonable. Now talk about the Windows 98 box. I can receive stuff on my Palm, which I have mentioned above. But I cannot send file back to Windows 98 from my Palm. The original thought is that Windows 98 irxfer only understands "OBEX:IrXfer". Alright, so I got a third party software called FileConnect from http://www.riverwave.com, which supports the "OBEX" protocal. After installing it, I can use the linux programs both "irobex_palm3" and "irxfer" to send files to Windows 98 without any problem. This means the Windows 98 box now understands both "OBEX" and "OBEX:IrXfer". However, I still cannot send file from Palm to the same windows 98 machine!? I captured some infrared frame dump with "irdadump" from irda-utils package for Linux while the FileConnect is running on my windows 98 machine. Below is one segment: =========================== b23:58:39.989747 rr:rsp > ca=b2 pf=1 nr=4 (2) 23:58:40.059716 rr:cmd < ca=b2 pf=1 nr=6 (2) 23:58:40.059756 rr:rsp > ca=b2 pf=1 nr=4 (2) 23:58:40.079719 i:cmd < ca=b2 pf=1 nr=6 ns=4 LM slsap=03 dlsap=00 GET_VALUE_BY_CLASS: "OBEX" "IrDA:TinyTP:LsapSel" (30) 23:58:40.079777 i:rsp > ca=b2 pf=1 nr=5 ns=6 LM slsap=00 dlsap=03 GET_VALUE_BY_CLASS: No such class (11) 23:58:40.099709 rr:cmd < ca=b2 pf=1 nr=7 (2) 23:58:40.099738 rr:rsp > ca=b2 pf=1 nr=5 (2) 23:58:40.119712 i:cmd < ca=b2 pf=1 nr=7 ns=5 LM slsap=05 dlsap=00 CONN_CMD (7) 23:58:40.119769 i:rsp > ca=b2 pf=1 nr=6 ns=7 LM slsap=00 dlsap=05 CONN_RSP (6) 23:58:40.139712 i:cmd < ca=b2 pf=1 nr=0 ns=6 LM slsap=05 dlsap=00 DISC (6) 23:58:40.139758 rr:rsp > ca=b2 pf=1 nr=7 (2) 23:58:40.159709 rr:cmd < ca=b2 pf=1 nr=0 (2) 23:58:40.159734 rr:rsp > ca=b2 pf=1 nr=7 (2) 23:58:40.179709 rr:cmd < ca=b2 pf=1 nr=0 (2) 23:58:40.179732 rr:rsp > ca=b2 pf=1 nr=7 (2) 23:58:40.199709 rr:cmd < ca=b2 pf=1 nr=0 (2) 23:58:40.199734 rr:rsp > ca=b2 pf=1 nr=7 (2) 23:58:40.219718 i:cmd < ca=b2 pf=1 nr=0 ns=7 LM slsap=03 dlsap=00 GET_VALUE_BY_CLASS: "OBEX:IrXfer" "IrDA:TinyTP:LsapSel" (37) 23:58:40.219757 i:rsp > ca=b2 pf=1 nr=0 ns=0 LM slsap=00 dlsap=03 GET_VALUE_BY_CLASS: No such class (11) 23:58:40.239710 rr:cmd < ca=b2 pf=1 nr=1 (2) 23:58:40.239738 rr:rsp > ca=b2 pf=1 nr=0 (2) 23:58:40.259711 i:cmd < ca=b2 pf=1 nr=1 ns=0 LM slsap=05 dlsap=00 CONN_CMD (7) 23:58:40.259762 i:rsp > ca=b2 pf=1 nr=1 ns=1 LM slsap=00 dlsap=05 CONN_RSP (6) 23:58:40.279710 i:cmd < ca=b2 pf=1 nr=2 ns=1 LM slsap=05 dlsap=00 DISC (6) 23:58:40.279755 rr:rsp > ca=b2 pf=1 nr=2 (2) ================== >From what appears above, it seems the windows 98 box now does have both "OBEX" and "OBEX:IrXfer" in its IAS database. So what puzzles me is: If I can send file using OBEX from Linux to windows, why can't I do this from Palm -> windows? If I initialize the send from Palm to Windows, the process dies with error saying cannot find handheld nearby. This makes me think that Palm somehow does not think it gets the right device after the discovery process, which is obviously a wrong judgement if this is the case. But why it works with windows XP? I really don't know. I have my windows XP and Linux on the same physical machine so I cannot test between them. If I use irdadump on the windows 98 without the FileConnect utility running, the hint bit is purely "0400". The hint bit I captured from Palm is "8220" (8204 when hotsync over ir is running, IrCOMM). Is that true the Palm gives up because the windows machine does not advertise the "OBEX" bit in the second byte?? If this is the case and I want to write my own OBEX for Palm, does it make sense to ignore the OBEX hint at all and attempt to make a OBEX or OBEX:IrXfer connection to windows? Would someone know the details of Palm infrared explain this, please? Thank you. Max ===== http://www.weirdwww.com/ __________________________________________________ Do You Yahoo!? Send FREE Valentine eCards with Yahoo! Greetings! http://greetings.yahoo.com -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
