From: Joseph Roback <joe@ro...> - 2004-05-22 13:51:30
well i just hacked the 0.2.3 version to work with my iFP-790, I did use
I had some problems with the 2 hacks in ifp_routines.c,
on ifp_upload_dir, checks to see ifp_connected(dh) and the other in
ifp_upload_file, where it sends the zero byte IFP_FILE_UPLOAD_APPEND, caused
further IFP_LS* control messages to error. commenting both of those hacks out
Also the IFP_BULK_TO and IFP_BULK_FROM needed to be changed from 0x03/0x83 to
0x01/0x81 my /proc/bus/usb/devices shows the endpoints (for at least the 7XX
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 16 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=4102 ProdID=1007 Rev= 1.00
S: Manufacturer=iRiver Limited.
S: Product=iRiver Internet Audio Player IFP-700
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
>E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms ***** 0x81 (input)
>E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms ***** 0x01 (output)
I also fixed the battery status. it should return 0,1,2,3,4, based off how many
bars are present on the battery icon in the actual device. It was returning 40
all the time for me.
I also corrected the bulk transfers for the firmware version and typestring, the
control data tells you exactly what size to make the buffer, one of queries
was short by 1 byte, one i believe was over by 2 bytes.
Anyway. I just downloaded the 0.2.4 source and I am going to merge my changes in
there. I come up with a patch.
I also cleaned up the ifp_list_dir_printf() function since that was the one I
was having the most trouble with. On the 7XX models, the bulk transfers when
the buffer is not exactly what the device sends you (in my case 256) the
bulk_read always timed out. The original had a macro defined at 1024 buffer
I should have users of the 1XX and 3XX models download my source when I am
finished and try it out before any changes are merged in.
Get latest updates about Open Source Projects, Conferences and News.