Bug 6139

Summary: Add PAP for the Archos Gmini 120
Product: hal Reporter: Thomas Basset <thomasbasset>
Component: miscAssignee: Danny Kukawka <danny.kukawka>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: high    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Thomas Basset 2006-03-05 19:58:48 UTC
The Archos Gmini 120 is one of the oldest MP3 player. It uses the USB mass
storage protocol. Currently hal does not detect it as a portable audio player.
As requested by the authors of Rhythmbox, I fill a bug.

Here are the relevant informations provided by hal-device. Hope this helps.

0: udi = '/org/freedesktop/Hal/devices/volume_uuid_9482_04AC'
  volume.unmount.valid_options = { 'lazy' } (string list)
  volume.mount.valid_options = { 'ro', 'sync', 'dirsync', 'noatime',
'nodiratime', 'noexec', 'quiet', 'utf8', 'shortname=', 'codepage=',
'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=' } (string list)
  org.freedesktop.Hal.Device.Volume.method_execpaths = {
'hal-system-storage-mount', 'hal-system-storage-unmount',
'hal-system-storage-eject' } (string list)
  org.freedesktop.Hal.Device.Volume.method_signatures = { 'ssas', 'as', 'as' }
(string list)
  org.freedesktop.Hal.Device.Volume.method_names = { 'Mount', 'Unmount', 'Eject'
} (string list)
  info.interfaces = { 'org.freedesktop.Hal.Device.Volume' } (string list)
  volume.ignore = false  (bool)
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_9482_04AC'  (string)
  volume.partition.msdos_part_table_type = 12  (0xc)  (int)
  info.product = 'JUKEBOX'  (string)
  volume.size = 19987398144  (0x4a7577e00)  (uint64)
  volume.num_blocks = 39037887  (0x253abbf)  (int)
  volume.block_size = 512  (0x200)  (int)
  volume.partition.number = 1  (0x1)  (int)
  info.capabilities = { 'volume', 'block' } (string list)
  info.category = 'volume'  (string)
  volume.is_partition = true  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = true  (bool)
  volume.mount_point = '/media/JUKEBOX'  (string)
  volume.label = 'JUKEBOX'  (string)
  volume.uuid = '9482-04AC'  (string)
  volume.fsversion = 'FAT32'  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.fstype = 'vfat'  (string)
  storage.model = ''  (string)
  block.storage_device =
'/org/freedesktop/Hal/devices/storage_serial_USB_HS_IC25N020ATMR04_0_2411041000E7'
 (string)
  block.is_volume = true  (bool)
  block.minor = 1  (0x1)  (int)
  block.major = 8  (0x8)  (int)
  block.device = '/dev/sda1'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent =
'/org/freedesktop/Hal/devices/storage_serial_USB_HS_IC25N020ATMR04_0_2411041000E7'
 (string)
  linux.sysfs_path_device = '/sys/block/sda/sda1'  (string)
  linux.sysfs_path = '/sys/block/sda/sda1'  (string)

1: udi =
'/org/freedesktop/Hal/devices/storage_serial_USB_HS_IC25N020ATMR04_0_2411041000E7'
  block.storage_device =
'/org/freedesktop/Hal/devices/storage_serial_USB_HS_IC25N020ATMR04_0_2411041000E7'
 (string)
  info.udi =
'/org/freedesktop/Hal/devices/storage_serial_USB_HS_IC25N020ATMR04_0_2411041000E7'
 (string)
  storage.requires_eject = true  (bool)
  storage.hotpluggable = true  (bool)
  info.capabilities = { 'storage', 'block' } (string list)
  info.category = 'storage'  (string)
  info.product = 'IC25N020ATMR04-0'  (string)
  info.vendor = 'USB-HS'  (string)
  storage.removable = false  (bool)
  storage.physical_device =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0'  (string)
  storage.lun = 0  (0x0)  (int)
  storage.firmware_version = '0.01'  (string)
  storage.serial = 'USB-HS_IC25N020ATMR04-0_2411041000E7'  (string)
  storage.vendor = 'USB-HS'  (string)
  storage.model = 'IC25N020ATMR04-0'  (string)
  storage.drive_type = 'disk'  (string)
  storage.automount_enabled_hint = true  (bool)
  storage.media_check_enabled = false  (bool)
  storage.no_partitions_hint = false  (bool)
  storage.bus = 'usb'  (string)
  block.is_volume = false  (bool)
  block.minor = 0  (0x0)  (int)
  block.major = 8  (0x8)  (int)
  block.device = '/dev/sda'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0_scsi_host_scsi_device_lun0'
 (string)
  linux.sysfs_path_device = '/sys/block/sda'  (string)
  linux.sysfs_path = '/sys/block/sda'  (string)
Comment 1 Danny Kukawka 2006-03-07 09:05:44 UTC
I take the bugs and write one patch for: 6095,6101,6102,6107,6130,6135,6139,
6140,6147,6148,6155,6156,6160 
Comment 2 Danny Kukawka 2006-03-07 11:27:21 UTC
1.) I need the complete lshal output for the device. This include the related 
USB-device with vendor and product ID
2.) What are the capabilities of the device? Need this information:

portable_audio_player.output_formats
portable_audio_player.access_method
portable_audio_player.type
portable_audio_player.input_formats
Comment 3 Thomas Basset 2006-03-07 23:57:49 UTC
portable_audio_player.access_method storage
portable_audio_player.type generic (I guess, couldn't find what the other
possible values are except ipod)
portable_audio_player.input_formats mp3 wma wav
portable_audio_player.output_formats mp3 wav

I'll give you the lshal output when I'm home ;)
Comment 4 Thomas Basset 2006-03-08 09:48:40 UTC
OK I guess the USB vendor is ARCHOS vendor_id = 3705  (0xe79)
and
the product should be Gmini 120 but is identified with various names. The
relevant product_id is probably 4609  (0x1201)

Here is the (I hope) relevant lshal:

Dumping 78 device(s) from the Global Device List:
-------------------------------------------------
udi = '/org/freedesktop/Hal/devices/volume_uuid_9482_04AC'
  volume.policy.desired_mount_point = 'JUKEBOX'  (string)
  volume.policy.mount_filesystem = 'vfat'  (string)
  volume.policy.should_mount = true  (bool)
  info.udi = '/org/freedesktop/Hal/devices/volume_uuid_9482_04AC'  (string)
  info.product = 'JUKEBOX'  (string)
  volume.size = 19987398144  (0x4a7577e00)  (uint64)
  volume.num_blocks = 39037887  (0x253abbf)  (int)
  volume.block_size = 512  (0x200)  (int)
  volume.partition.number = 1  (0x1)  (int)
  info.capabilities = {'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  volume.is_partition = true  (bool)
  volume.is_disc = false  (bool)
  volume.is_mounted = true  (bool)
  volume.mount_point = '/media/JUKEBOX'  (string)
  volume.label = 'JUKEBOX'  (string)
  volume.uuid = '9482-04AC'  (string)
  volume.fsversion = 'FAT32'  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.fstype = 'vfat'  (string)
  block.storage_device =
'/org/freedesktop/Hal/devices/storage_model_IC25N020ATMR04_0'  (string)
  block.is_volume = true  (bool)
  block.minor = 1  (0x1)  (int)
  block.major = 8  (0x8)  (int)
  block.device = '/dev/sda1'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent = '/org/freedesktop/Hal/devices/storage_model_IC25N020ATMR04_0' 
(string)
  linux.sysfs_path_device = '/sys/block/sda/sda1'  (string)
  linux.sysfs_path = '/sys/block/sda/sda1'  (string)

udi = '/org/freedesktop/Hal/devices/storage_model_IC25N020ATMR04_0'
  storage.policy.should_mount = true  (bool)
  block.storage_device =
'/org/freedesktop/Hal/devices/storage_model_IC25N020ATMR04_0'  (string)
  info.udi = '/org/freedesktop/Hal/devices/storage_model_IC25N020ATMR04_0'  (string)
  storage.requires_eject = true  (bool)
  storage.hotpluggable = true  (bool)
  info.capabilities = {'storage', 'block'} (string list)
  info.category = 'storage'  (string)
  info.product = 'IC25N020ATMR04-0'  (string)
  info.vendor = 'USB-HS'  (string)
  storage.removable = false  (bool)
  storage.physical_device =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0'  (string)
  storage.lun = 0  (0x0)  (int)
  storage.drive_type = 'disk'  (string)
  storage.vendor = 'USB-HS'  (string)
  storage.model = 'IC25N020ATMR04-0'  (string)
  storage.automount_enabled_hint = true  (bool)
  storage.media_check_enabled = false  (bool)
  storage.no_partitions_hint = false  (bool)
  storage.bus = 'usb'  (string)
  block.is_volume = false  (bool)
  block.minor = 0  (0x0)  (int)
  block.major = 8  (0x8)  (int)
  block.device = '/dev/sda'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0_scsi_host_scsi_device_lun0'
 (string)
  linux.sysfs_path_device = '/sys/block/sda'  (string)
  linux.sysfs_path = '/sys/block/sda'  (string)

udi =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0_scsi_host_scsi_device_lun0'
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0_scsi_host_scsi_device_lun0'
 (string)
  linux.subsystem = 'scsi'  (string)
  linux.hotplug_type = 1  (0x1)  (int)
  info.product = 'SCSI Device'  (string)
  scsi.lun = 0  (0x0)  (int)
  scsi.target = 0  (0x0)  (int)
  scsi.bus = 0  (0x0)  (int)
  scsi.host = 0  (0x0)  (int)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0_scsi_host' 
(string)
  info.bus = 'scsi'  (string)
  linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1:1.0/host0/target0:0:0/0:0:0:0'
 (string)
  linux.sysfs_path =
'/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1:1.0/host0/target0:0:0/0:0:0:0'
 (string)

udi = '/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0_scsi_host'
  info.udi =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0_scsi_host' 
(string)
  linux.subsystem = 'scsi_host'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  scsi_host.host = 0  (0x0)  (int)
  info.product = 'SCSI Host Adapter'  (string)
  info.capabilities = {'scsi_host'} (string list)
  info.category = 'scsi_host'  (string)
  info.parent =
'/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0'  (string)
  linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1:1.0/host0'  (string)
  linux.sysfs_path = '/sys/class/scsi_host/host0'  (string)

udi = '/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0'
  info.udi = '/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7_if0'
 (string)
  linux.subsystem = 'usb'  (string)
  linux.hotplug_type = 1  (0x1)  (int)
  info.product = 'USB Mass Storage Interface'  (string)
  usb.interface.protocol = 80  (0x50)  (int)
  usb.interface.subclass = 6  (0x6)  (int)
  usb.interface.class = 8  (0x8)  (int)
  usb.interface.number = 0  (0x0)  (int)
  usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1:1.0'
 (string)
  usb.configuration_value = 1  (0x1)  (int)
  usb.num_configurations = 1  (0x1)  (int)
  usb.num_interfaces = 1  (0x1)  (int)
  usb.device_class = 0  (0x0)  (int)
  usb.device_subclass = 0  (0x0)  (int)
  usb.device_protocol = 0  (0x0)  (int)
  usb.vendor_id = 3705  (0xe79)  (int)
  usb.product_id = 4609  (0x1201)  (int)
  usb.vendor = 'ARCHOS'  (string)
  usb.product = 'USB Mass Storage Interface'  (string)
  usb.device_revision_bcd = 260  (0x104)  (int)
  usb.max_power = 2  (0x2)  (int)
  usb.num_ports = 0  (0x0)  (int)
  usb.linux.device_number = 4  (0x4)  (int)
  usb.serial = '2411041000E7'  (string)
  usb.speed_bcd = 294912  (0x48000)  (int)
  usb.version_bcd = 512  (0x200)  (int)
  usb.is_self_powered = true  (bool)
  usb.can_wake_up = false  (bool)
  usb.bus_number = 4  (0x4)  (int)
  info.bus = 'usb'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7'
 (string)
  linux.sysfs_path_device =
'/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1:1.0'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1:1.0' 
(string)

udi = '/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7'
  info.udi = '/org/freedesktop/Hal/devices/usb_device_e79_1201_2411041000E7' 
(string)
  linux.subsystem = 'usb'  (string)
  linux.hotplug_type = 1  (0x1)  (int)
  usb_device.bus_number = 4  (0x4)  (int)
  usb_device.can_wake_up = false  (bool)
  usb_device.is_self_powered = true  (bool)
  usb_device.version_bcd = 512  (0x200)  (int)
  usb_device.speed_bcd = 294912  (0x48000)  (int)
  usb_device.serial = '2411041000E7'  (string)
  usb_device.linux.device_number = 4  (0x4)  (int)
  usb_device.num_ports = 0  (0x0)  (int)
  usb_device.max_power = 2  (0x2)  (int)
  usb_device.device_revision_bcd = 260  (0x104)  (int)
  info.product = 'Gmini100'  (string)
  usb_device.product = 'Gmini100'  (string)
  info.vendor = 'ARCHOS'  (string)
  usb_device.vendor = 'ARCHOS'  (string)
  usb_device.product_id = 4609  (0x1201)  (int)
  usb_device.vendor_id = 3705  (0xe79)  (int)
  usb_device.device_protocol = 0  (0x0)  (int)
  usb_device.device_subclass = 0  (0x0)  (int)
  usb_device.device_class = 0  (0x0)  (int)
  usb_device.num_interfaces = 1  (0x1)  (int)
  usb_device.num_configurations = 1  (0x1)  (int)
  usb_device.configuration_value = 1  (0x1)  (int)
  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1'
 (string)
  info.linux.driver = 'usb'  (string)
  info.bus = 'usb_device'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_7'  (string)
  linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1' 
(string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1'  (string)
Comment 5 Danny Kukawka 2006-03-09 09:43:38 UTC
Modified Files:
        10-usb-music-players.fdi 
Log Message:
2006-03-08  Danny Kukawka  <danny.kukawka@web.de>

        * fdi/information/10freedesktop/10-usb-music-players.fdi:
        applied patches and added new devices from fd.o bugs: 6101, 6139,
        6173, 6175

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.