lostwebsite.net blog

Annex to the Lost Website

iRiver LPlayer in Linux

with 7 comments

The player

I’ve got this little device recently to replace my 256mb MP3 player. I was pleased that I got it pretty cheap during Black Friday from NewEgg Canada. NewEgg “leaked” their Black Friday rebates to Canada and reduced the price of that player to 85 CAN$ which is pretty cheap for a 8gb model.

At first, I must admit I was a bit sad with bugs and some missing features of the player. It is obviously an entry-level player. I’ve managed to find a satisfying way to work around all the bugs and uploaded 8gb of music to it and I’m happy since. I did not realize 8gb was that much content.

This post is a concentrate of the bugs I’ve found on the player and how I work around them. If you have better solutions, please comment on this post.

The bugs

MTP support

This is not really a bug, since this device works in UMS/MSC mode. Since I like to explore the capacities of my devices, I’ve nonetheless tried to get it to work.

For most Linux users, this player won’t work in MTP mode. I’ve only managed to make it work on very recent snapshots of libmtp. I got it to upload, but not to delete. I have not investigated that. Don’t count on MTP to work well until the next major Ubuntu release, Jaunty Jackalope. If MTP support was good, the most important bug on this player would be alleviated, but as it is not the case, please read on.

Bad sorting

The first and by far most annoying bug I’ve found is that the player doesn’t sort the ID3 tags on the player. The music files are displayed in the order they are uploaded on the player. If the player worked well with MTP, this wouldn’t be a problem because the media player will upload the files to the player in the correct order. File manager such as Konqueror don’t do that as it’s possibly slower to get the files from the disk in any kind of order. They are also multithreaded so that multiple files are copied at the same time. So if you upload on the player using Konqueror, the order will be screwed up. With file managers, the only options would be to copy files one by one by hand. This is obviously not a scalable process.

I’m satisfied to use rsync to copy files from my MP3 directory to my player. rsync copy and write the file in order.

rsync --verbose \
        --recursive \
        --times \
        --whole-file \
        --delay-updates \
        --modify-window=1 \
        --delete-before ~/Media/mp3/* .

I’m not exactly sure how this work and I now that my music is on the player, I don’t care enough to investigate it. Of course, I this probably is not perfect. I think that if I make changes inside an album, then rsync will just sync the changed file and thus the order inside the album will be screwed up. This could be automated but order will never be quite right. The only solution is correct sorting on the firmware, but, until that is fixed by iRiver, I’ll be happy to just reformatted the player and redo the copy overnight with rsync when I want to change the content of the player.

ID3v2.3 vs ID3v2.4

Most of my MP3 were correctly tagged using ID3v2 tags, but I initially did not know there were several incompatible versions of ID3v2. Amarok, as most MP3 players, read any ID3v2 versions, but writes only ID3v2.4 tags. The device simply cannot read those tags and will put files tagged in such way in the “Unknown Artist/Unknown Album” bunch, which is a PITA.

The first solution I’ve found was to use Kid3. It has a function to convert tags back and from ID3v2.3 and ID3v2.4. Kid3 is a fine program despite some UI shortcomings, but it doesn’t scale to gigabytes of files.

The next best thing was to use the EyeD3 library. EyeD3 is a simple Python program and library to manage ID3 tags. It includes features to convert between ID3v2 versions. I’ve lost the small script I’ve done to mass convert my MP3 files to ID3v2.3, but it looked a bit like that (untested) snippet.

tag.link("/some/file.mp3", eyeD3.ID3_V2)
tag.update(eyeD3.ID3_V2_3)

If I ever rewrite the script, I’ll post it here.

.ogg and Vorbis tags

The device doesn’t read Vorbis tags. For some people, this would be a total let-down. Not for me. I re-encoded I had as OGG to MP3. I have not investigated this further.

Playlists

The device uses .PLA playlists. The format of .PLA playlists is detailed here. I have not yet found the time look at this as playlists are not a killer feature for me.

LPlayer for the rest of us

I don’t consider I’ve discovered anything. All that informations I list here was scattered around the net. If you want more informations, please do Google and you will eventually find some.

The most important page I’ve found for LPlayer owner is LPlayer for the rest of us, which is a blog post similar to mine. I’ve tested all the information he has posted there and managed tp update my firmware, and encode a video to play on the player. Kudos to Tim De Pauw.

Written by fdgonthier

December 18, 2008 at 11:46 am

7 Responses

Subscribe to comments with RSS.

  1. You’re welcome. :-)

    One thing I’ve noticed is that iriverPlus, the Windows-only software that comes with the player *does* let you change the order of files and folders. So it appears to be intentional. Mine’s set to UMS/MSC too and I was able to drag folders around a while ago. I’m not sure how they’re doing it. I don’t suppose the software edits the FAT TOC, so I presume it just alters some obscure index in a proprietary format. It’s not enough of a burden to make me use iriverPlus, personally.

    Also, I presume support for Vorbis tags is underway, along with some other interesting stuff. iriver has been known to introduce major features with firmware updates. I hope the next one will let me use the screen vertically instead of horizontally, making scrolling less of a pain. Version 1.04 kinda got my hopes up by adding the ability to use it upside down.

    Tim De Pauw

    December 25, 2008 at 7:46 pm

  2. > The device doesn’t read Vorbis tags.

    i found it woud read the tags on some of my oggs but not others. looking into it i found that the tag names had to be upper case, not the values but the tag names (ARTIST=, ALBUM=, TITLE= etc)

    koogs

    January 6, 2009 at 4:09 pm

  3. Hi,
    Attempted to use my l-player in MTP mode, just for kicks… after changing it back to UMS/MSC mode it doesn’t mount anymore on my ubuntu 8.04.
    What did I break? :)
    I am a linux newbie, so any help is appreciated.
    thanks,
    -Tone

    Tone

    February 13, 2009 at 5:41 pm

  4. I’m really sorry I can’t help you with that. I can’t test either since putting my player in MTP mode would me I need to reformat it and I’m happy with my current selection.

    I don’t think it ever mounted automatically for me but since I’m rather old-school, I have always mounted it manually. Don’t follow my example. It should automount. If it doesn’t please report a bug to Ubuntu and they will help you better than I can.

    fdgonthier

    February 13, 2009 at 6:43 pm

  5. fdgonthier:
    Well.. I’d like to try and mount it manually if nothing else than to see if it will mount at all…

    Also can someone verify for me that the “out of the box” format/filesystem on the the l-player is the same as the result of the “format device” command on the player itself?

    Tone

    February 13, 2009 at 8:00 pm

  6. To mount manually I usually do something like:

    sudo mount -ouid=1000 /dev/sdb /media/lplayer

    /dev/sdb will vary depending of you system and the uid might also be different.

    I can’t verifiy anything for you about formatting but I suggest you use the device format feature.

    fdgonthier

    February 13, 2009 at 8:54 pm

  7. Hey thanks!
    got it mounted with your help, I assumed vfat is the correct filesystem as mount didn’t autodetect….
    Seems to be working, now to put some music in and test.

    Tone

    February 13, 2009 at 10:41 pm


Leave a Reply