From: P.G. R. <p.g...@ph...> - 2007-04-25 15:21:33
|
Jorg, As I understood it when playing around with the hal, the rules files would be installed into the hal config directory. When udev detects a device is attached and hands off to hal, the latter looks at its rules files and decides what the device is according to there rules files. Thus, if you have a rules file with a higher priority (ie. lower number in file name), it is the file used by hal to "identify" the device with. Failure to identify the device means hal will then try the next rules file and so on. Thus, on installation of libgpod, this rules file will get installed and thus give a more accurate assertion of what the device being identified by hal would be. This explains it better than me: http://www.mythic-beasts.com/~mark/random/hal/ Hope it helps. Regards PGR > Hi Jeff, > > all iPods are generic storage devices as far as libgpod is concerned. > > Concerning the rule files -- I don't quite understand if they belong in > libgpod. At this time libgpod expects a valid mountpoint and leaves > everything else up to the operating system. Maybe you can explain what > I'm missing. > > A release of libgpod was scheduled for around next week... no real > schedule, though... > > JCS. > > > Jeff Mitchell wrote: >> Excellent, that's very useful. I don't know the different storage >> capabilities of the different iPods, so I will probably (at least >> initially) skip the storage information that the default HAL rule had -- >> unless you can verify which ones support acting as a generic storage >> device and which ones don't. >> >> If I get this done, would you be willing to release a new version of >> libgpod with the rules files? (I don't know your normal release >> schedule, so don't know if the next release was planned soon, or never >> :-) ). >> >> Thanks, >> Jeff >> >> Jorg Schuler wrote: >>> Hi Jeff, >>> >>> you're right -- libgpod is not the library to do iPod detection. >>> udev/HAL seems to be a better way. Unfortunately I know little about >>> them... >>> >>> The only thing I can help out with here is my collection of 'lsusb' >>> outputs, which I'll paste below. If you would need a different >>> collection I can offer to put up a survey note on the gtkpod.org >>> homepage. >>> >>> Cheers, >>> >>> >>> JCS. >>> >>> >>> lsusb -- everything after the last ':' is a comment by myself >>> >>> The it appears the ID can actually be used to identify the model, by >>> the way -- anyone feeling like patching libgpod? >>> >>> >>> ! 1 Bus 005 Device 005: ID 05ac:1203 Apple Computer, Inc.: 40GB 4th >>> Gen (White) >>> 2 Bus 001 Device 032: ID 05ac:120a Apple Computer, Inc.: 4GB Nano >>> (1G, white) >>> 3 Bus 001 Device 031: ID 05ac:1209 Apple Computer, Inc.: 80GB Video >>> (white) >>> 4 Bus 005 Device 003: ID 05ac:1209 Apple Computer, Inc.: 60GB Video >>> (black) >>> ! 5 Bus 002 Device 003: ID 05ac:1203 Apple Computer, Inc.: 40G Gen 4 >>> (white) >>> 6 Bus 001 Device 003: ID 05ac:1300 Apple Computer, Inc.: iPod >>> Shuffle (.5GB) >>> 7 Bus 004 Device 003: ID 05ac:1209 Apple Computer, Inc.: 5G iPod >>> Video >>> 8 Bus 002 Device 005: ID 05ac:1205 Apple Computer, Inc.: 1G Mini >>> 9 Bus 004 Device 004: ID 05ac:1260 Apple Computer, Inc.: 2G Nano 8GB >>> 10 Bus 005 Device 009: ID 05ac:1209 Apple Computer, Inc.: 30GB Video >>> (5G) >>> 11 Bus 003 Device 002: ID 05ac:1209 Apple Computer, Inc.: 60GB Video >>> (5G) >>> 12 Bus 001 Device 005: ID 05ac:1301 Apple Computer, Inc.: 1GB Shuffle >>> (2G) >>> 13 Bus 003 Device 007: ID 05ac:120a Apple Computer, Inc.: 2GB Nano >>> (1G, white) >>> 14 Bus 004 Device 011: ID 05ac:1209 Apple Computer, Inc.: Video (5G) >>> 15 Bus 005 Device 002: ID 05ac:1209 Apple Computer, Inc.: 60GB Video >>> (5G) >>> 16 Bus 003 Device 003: ID 05ac:1260 Apple Computer, Inc.: 4GB Nano >>> (2G) >>> 17 Bus 001 Device 009: ID 05ac:1209 Apple Computer, Inc.: 30GB Video >>> (5G) >>> 18 Bus 004 Device 007: ID 05ac:1209 Apple Computer, Inc.: 60GB Video >>> (5G) >>> 19 Bus 005 Device 003: ID 05ac:1209 Apple Computer, Inc.: 30GB Video >>> (5G) >>> 20 Bus 002 Device 004: ID 05ac:1201 Apple Computer, Inc.: 30GB Reg. >>> (3G) >>> !21 Bus 002 Device 005: ID 05ac:1203 Apple Computer, Inc.: 20GB Reg. >>> (4G) >>> 22 Bus 005 Device 005: ID 05ac:1260 Apple Computer, Inc.: Nano (2G) >>> 23 Bus 007 Device 015: ID 05ac:1209 Apple Computer, Inc.: 30GB Video >>> (5G) >>> 24 Bus 004 Device 003: ID 05ac:1260 Apple Computer, Inc.: Nano (2G) >>> 25 05ac:1204 : 20GB Color >>> (4G) >>> 26 Bus 004 Device 005: ID 05ac:1260 Apple Computer, Inc.: 8GB Nano >>> (2G) >>> 27 Bus 004 Device 004: ID 05ac:1204 Apple Computer, Inc.: 60GB Photo >>> 28 ID 05ac:1201 Apple Computer, Inc.: 3G iPod >>> 29 Bus 005 Device 023: ID 05ac:1201 Apple Computer, Inc.: 3G iPod >>> 30 Bus 004 Device 003: ID 05ac:1204 Apple Computer, Inc.: 20GB Photo >>> (A079) >>> 31 Bus 005 Device 005: ID 05ac:1209 Apple Computer, Inc.: 80GB Video >>> !32 Bus 002 Device 005: ID 05ac:1205 Apple Computer, Inc.: 4GB Mini >>> 33 Bus 003 Device 007: ID 05ac:1209 Apple Computer, Inc.: 80GB Video >>> 34 Bus 001 Device 017: ID 22b8:4810 Motorola PCS E398 Storage: >>> Motorala Phone >>> 35 Bus 001 Device 003: ID 05ac:1205 Apple Computer, Inc.: 6GB Mini >>> 36 Bus 001 Device 034: ID 05ac:1201 Apple Computer, Inc.: Regular (3G) >>> 37 Bus 001 Device 004: ID 05ac:1205 Apple Computer, Inc.: 1G Mini >>> 38 Bus 001 Device 036: ID 05ac:1300 Apple Computer, Inc.: 1G Shuffle >>> 39 Bus 004 Device 005: ID 05ac:1203 Apple Computer, Inc.: 4G >>> monochrome >>> 40 Bus 001 Device 005: ID 05ac:1205 Apple Computer, Inc.: 2G Mini >>> (A1051) >>> 41 Bus 001 Device 003: ID 05ac:1301 Apple Computer, Inc.: 2G Shuffle >>> (1GB) >>> 42 Bus 005 Device 019: ID 05ac:1203 Apple Computer, Inc.: 4G mono >>> 43 Bus 001 Device 002: ID 05ac:1203 Apple Computer, Inc.: 4G mono >>> 44 Bus 001 Device 004: ID 05ac:1300 Apple Computer, Inc.: 1G 512MB >>> iPod Shuffle >>> 45 Bus 001 Device 004: ID 05ac:1204 Apple Computer, Inc.: iPod Photo >>> 46 Bus 001 Device 010: ID 05ac:120a Apple Computer, Inc.: 1G Nano >>> 47 Bus 005 Device 027: ID 05ac:1204 Apple Computer, Inc.: iPod Photo >>> 48 Bus 004 Device 032: ID 05ac:1202 Apple Computer, Inc.: 1G? Mini >>> 49 Bus 001 Device 008: ID 05ac:1204 Apple Computer, Inc.: 4G Photo >>> (color) >>> >>> Summary: >>> 05ac:1201: Regular (3G) >>> 05ac:1202: Mini (1G) >>> 05ac:1203: Photo?, Regular (4G) >>> 05ac:1204: Color (4G) >>> 05ac:1205: Mini (1G+2G) >>> 05ac:1209: Video (5G) >>> 05ac:120a: Nano (1G) >>> 05ac:1260: Nano (2G) >>> 05ac:1300: Shuffle (1G) >>> 05ac:1301: Shuffle (2G) >>> 22b8:4810: Motorala Phone (PCS E398) >>> >>> >>> >>> >>> Jeff Mitchell wrote: >>>> Greetings-- >>>> >>>> I work on Amarok, which supports iPod devices natively through >>>> libgpod, and am in contact with the guys working on Solid for KDE4. >>>> One things that is common to most of the proprietary libraries >>>> (libgpod, libifp, libmtp, etc) is that there is no good way to >>>> detect when such a device is plugged in, as well as what type of >>>> device it is. Often you can detect one or the other but not both. >>>> >>>> The way to do this lies with udev/HAL. I won't go into them, as I'm >>>> sure you're well aware of what they do and how they work...but I'm >>>> unclear as to whether or not libgpod is really fully supported with >>>> the current setup (as I don't have an iPod myself). >>>> >>>> The current 10-usb-music-players.fdi contains this: >>>> >>>> <!-- Apple iPod - TODO: use USB ids to determine exact output >>>> formats --> >>>> <match key="storage.vendor" contains="Apple"> >>>> <match key="storage.model" contains="iPod"> >>>> <append key="info.capabilities" >>>> type="strlist">portable_audio_player</append> >>>> <merge key="info.category" >>>> type="string">portable_audio_player</merge> >>>> <merge key="portable_audio_player.access_method" >>>> type="string">storage</merge> >>>> <merge key="portable_audio_player.type" >>>> type="string">ipod</merge> >>>> <merge key="portable_audio_player.storage_device" >>>> type="copy_property">info.udi</merge> >>>> <append key="portable_audio_player.output_formats" >>>> type="strlist">audio/mpeg</append> >>>> <append key="portable_audio_player.output_formats" >>>> type="strlist">audio/aac</append> >>>> <merge key="storage.requires_eject" >>>> type="bool">true</merge> >>>> </match> >>>> </match> >>>> >>>> Since I don't have an iPod/many iPods, I don't know if this is >>>> enough to match the whole range of devices (perhaps it is? You guys >>>> would probably know for sure). >>>> >>>> If any work needs to be done in this regard, I'm quite willing to >>>> help out with this >>>> >>>> Thanks, >>>> Jeff >>>> >>>> ------------------------------------------------------------------------- >>>> >>>> This SF.net email is sponsored by DB2 Express >>>> Download DB2 Express C - the FREE version of DB2 express and take >>>> control of your XML. No limits. Just data. Click to get it now. >>>> http://sourceforge.net/powerbar/db2/ >>>> _______________________________________________ >>>> Gtkpod-devel mailing list >>>> Gtk...@li... >>>> https://lists.sourceforge.net/lists/listinfo/gtkpod-devel >>> >> > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Gtkpod-devel mailing list > Gtk...@li... > https://lists.sourceforge.net/lists/listinfo/gtkpod-devel > -- Laws are partly formed for the sake of good men, in order to instruct them how they may live on friendly terms with one another, and partly for the sake of those who refuse to be instructed, whose spirit cannot be subdued, or softened, or hindered from plunging into evil. [The Laws, Plato] |