Gentoo Wiki


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc



Getting your fancy new iRiver to work in Linux is suprisingly easy. However, the firmware of the player determines the connection type. The earlier firmware versions do not attach the device as a mass storage, even under Windows. The communication to the device in this case is established by the opensource ifp-driver. Instructions to both types are given.

Configuration as a mass storage device

Configuring the Kernel

See this guide.

H10: Starting UMS Mode

The H10 6GB colour (and possibly other models) automaticaly try to transfer files by MTP (Media Transfer Protocol). This is a protocol that Windows recognises, and so treats the iriver as an external hard disk. Linux does not recognise MTP mode.

To have linux recognise the H10 as an external hard disk, the H10 must be switched to UMS mode. After configuring all modules in the kernel (as shown above), turn on the H10, and plug the USB cable into both the H10 and the computer. dmesg at this point will reveal that the device has been detected, but will not asign it a device node. The screen of the iriver will show that usb is connected. Now, three steps must be performed.

1. Hold down the 'o' button.

2. Disconnect and then quickly reconnect the usb cable to the h10.

3. Release the 'o' button.

If the above steps have been performed correctly, then at the top of the screen, the words "emergency connection" will appear. After a few moments, the original screen "USB connected" be displayed. At this point, the H10 is in UMS mode, and you can continue to the next step.

It is possible to set the H10 to always start in UMS mode. See

Modifying /etc/fstab

You will probably want to create an fstab entry so you can easily mount and unmount the iRiver. Find your device in /dev/disk/, create a new mount point, e.g. (mkdir /mnt/iriver), and edit your /etc/fstab accordingly:

File: /etc/fstab
/dev/disk/by-id/H100             /mnt/iriver     auto            rw,user                 0 0

If you notice that transfers take a very long time and you have a usb 2.0 capable port and iriver, then try adding async to the mount options above.

That's it! Now any user should be able to simply mount /mnt/iriver and access the iRiver just like you would any directory on your system.

Configuration for the ifp-driver

Unofficial ebuilds

Installing the driver manually

Portage has the libifp driver, but you still have to fetch the ifp_gui ebuild from b.g.o.

# emerge --ask libifp ifp_gui

Now you should be able to run the frontend as a normal user.

$ ifp_gui &


Useful links

Retrieved from ""

Last modified: Fri, 29 Aug 2008 01:59:00 +0000 Hits: 16,918