Ubuntu Forums ubuntu.com - launchpad.net - ubuntu help  

Go Back   Ubuntu Forums > The Ubuntu Forum Community > Forum Archive > Main Support Categories > Hardware & Laptops
Register Reset Password Forum Help Forum Council Search Today's Posts Mark Forums Read

Hello, Unregistered You are browsing a READ only archive of the main support categories pre 4/21/2008. You will not be able to post or reply any threads in this section.

Hardware & Laptops
Problems with hardware & laptops not being detected or supported during or after install.

 
 
Thread Tools Display Modes
Old June 18th, 2006   #1
msak007
Has an Ubuntu Drip
 
msak007's Avatar
 
Join Date: Jan 2006
Location: msak007
Beans: 663
Kubuntu 7.04 Feisty Fawn
Send a message via AIM to msak007
How To: Creative Jukebox / Zen MTP MP3 player working in Dapper / Edgy using Gnomad

Updated 4/9/07
  • libmtp 0.1.5 released on 3/26/07
Quote:
Changlog: Improved support for setting track meta data on Philips devices. More verbose detection using mtp-detect. New devices in the database. Fixes to account for buggy iRiver firmware when handling ogg files.
  • Added the "--dpkgflags=--force-overwrite" flag to libnjb compilation instructions for Dapper to prevent conflicts and errors when using checkinstall
  • Also added a recommendation to use "make install" in the steps if checkinstall fails to install a pacakage
Current versions of the software:
Gnomad - 2.8.10
libnjb - 2.2.5
libmtp - 0.1.5

Before proceeding, make sure you do not have any packages that conflict. If you have already installed Gnomad from the repositories prior to running this how-to or installed it by previously using this guide, please uninstall it and its dependencies first:

Code:
sudo aptitude purge gnomad2
Also, if you have previously used this how-to to install libmtp, please uninstall the currently installed version before trying to compile the new version to prevent conflicts and errors:
Code:
sudo aptitude purge libmtp
Instructions for Edgy:

It is no longer necessary to compile everything from source to use Gnomad in Edgy. Unfortunately, the version of Gnomad in the repositories (2.8.3) was not compiled with libmtp, so the app will still have to be compiled from source. libnjb has been updated to 2.2.5 in the repos (latest version), and there is no need to compile libmtp from source unless a new version explicitly supports your device and an older version doesn't, or you are having other issues with communication, transferring files, etc. The repos currently contain libmtp version 0.0.19.

Method 1: Install repository versions
This method only requires Gnomad to be compiled from source to enable MTP support.

1. To prepare your system for the installation, you need to install several packages to resolve dependencies. Open a terminal and type:

Code:
sudo aptitude install build-essential libnjb-dev libmtp-dev libid3tag0-dev libglib2.0-dev libgtk2.0-dev libxml-perl checkinstall
Checkinstall is optional but I highly recommend it because it makes .debs and installs them, making uninstallation easier using apt / Syanptic / Adept. If you don't like this method or if at any point during the install process you get errors running checkinstall and a package fails to install, you may revert to using the normal "make install" method to install the software.

2. Create a directory to download the needed files to and compile from. If you open the terminal, it should default to your home directory so create the directory there:

Code:
mkdir gnomad_install
3. Next, download the latest version of Gnomad 2.8.10 to the folder you just created:

4. Navigate to the folder where you downloaded the file and extract it:
Code:
cd gnomad_install
tar -zxvf gnomad2-2.8.10.tar.gz
5. Navigate to the Gnomad folder to compile it:
Code:
cd gnomad2-2.8.10
6. Compile Gnomad:
Code:
./configure
make
sudo checkinstall
Hit Enter past all the prompts, and once it has completed Gnomad2 should be installed. It should place an entry in your menu, but if it doesn't start it from a terminal by typing

Code:
gnomad2
Method 2: Compile from source
1. To prepare your system for the installation, you need to install several packages to resolve dependencies. Open a terminal and type

Code:
sudo aptitude install build-essential libnjb-dev libid3tag0-dev libglib2.0-dev libusb-dev libgtk2.0-dev libxml-perl checkinstall
Checkinstall is optional but I highly recommend it because it makes .debs and installs them, making uninstallation easier using apt / Syanptic / Adept.

2. Create a directory to download the needed files to and compile from. If you open the terminal, it should default to your home directory so create the directory there:

Code:
mkdir gnomad_install
3. Download the required packages to the folder you just created:

libmtp 0.1.5
gnomad 2.8.10

4. Navigate to the folder where you downloaded the files:

Code:
cd gnomad_install
5. Extract both packages:

Code:
tar -zxvf libmtp-0.1.5.tar.gz
tar -zxvf gnomad2-2.8.10.tar.gz
6. Go to the extracted libmtp folder.
Code:
cd libmtp-0.1.5
7. Compile libmtp
Code:
./configure --prefix=/usr
sudo make
sudo checkinstall
Hit Enter three times, give your package a description, then hit Enter twice. You'll get a confirmation that the package was installed telling you the name of the package, where the package was created, and how to uninstall it.

There should be a file called libmtp.rules in the same folder you are currently in. This is an updated udev ruleset that tells the system who can access the devices, and with what permissions. Without this ruleset, you would have to run Gnomad as root every time. It is constantly being updated with new devices with every subsequent release of libmtp, so there should be no need to update it manually. To copy the file where it needs to go, type
Code:
sudo bash hotplug.sh
You should see an output telling you that you have udev, and that the udev ruleset was installed. You'll also get a prompt asking you if you want the old hotplut support, type "n" and hit Enter.

Note: Running the "hotplug.sh" script should copy the file "libmtp.rules" to where it's supposed to go. If it doesn't, you can simply copy the file manually:
Code:
sudo cp libmtp.rules /etc/udev/rules.d/
8. Navigate to the folder where Gnomad was extracted
Code:
cd ..
cd gnomad2-2.8.10
9. Compile and install Gnomad
Code:
./configure
sudo make
sudo checkinstall
Once again, hit Enter past all prompts to choose default answers, give it a description, and hit Enter two more times to install Gnomad.

9. Restart udev so that the rulesets we copied over earlier will be applied:
Code:
sudo /etc/init.d/udev restart
10. Once this has completed, it should place an entry in your menu for Gnomad. If it doesn't start it from a terminal by typing

Code:
gnomad2
Adding the menu entry:

Once you've verified that Gnomad works (using either method), you can take the following steps to add the menu entry. You should still be in the Gnomad directory where you just compiled from.

1. Copy the menu entry file and corresponding icon to their respective locations:
Code:
sudo cp gnomad2.desktop /usr/share/applications
sudo cp gnomad2-logo.png /usr/share/pixmaps

2. Reload your menu and the entry should be there:

- If you're a Gnome user:
Code:
sudo killall gnome-panel
- If you're a KDE user:
Code:
kbuildsycoca --incremental

Now the menu entry should show up in your Multimedia group.

Instructions for Dapper:
Dapper requires all 3 components (Gnomad, libnjb, and libmtp) to be compiled from source, so the only option is to compile from source.

1. To prepare your system for the installation, you need to install several packages to resolve dependencies. Open a terminal and type

Code:
sudo aptitude update
sudo aptitude install build-essential libxml-perl libid3tag0-dev libusb-dev libgtk2.0-dev checkinstall
Checkinstall is optional but I highly recommend it because it makes .debs and installs them, making uninstallation easier using apt / Syanptic / Adept. If you don't like this method or if at any point during the install process you get errors running checkinstall and a package fails to install, you may revert to using the normal "make install" method to install the software.

2. Create a directory to download the needed files to and compile from. If you open the terminal, it should default to your home directory so create the directory there:

Code:
mkdir gnomad_install
3. Download the required packages to the folder you just created.

libmtp 0.1.5
libnjb 2.2.5
gnomad 2.8.10

4. Navigate to the folder where you downloaded the files:

Code:
cd gnomad_install
5. Extract all 3 packages:

Code:
tar -zxvf libmtp-0.1.5.tar.gz
tar -zxvf libnjb-2.2.5.tar.gz
tar -zxvf gnomad2-2.8.10.tar.gz
6. Go to the extracted libmtp folder.
Code:
cd libmtp-0.1.5
7. Compile libmtp
Code:
./configure --prefix=/usr
sudo make
sudo checkinstall
Hit Enter three times, give your package a description, then hit Enter twice. You'll get a confirmation that the package was installed telling you the name of the package, where the package was created, and how to uninstall it.

8. There should be a file called libmtp.rules in the same folder you are currently in. This is an updated udev ruleset that tells the system who can access the devices, and with what permissions. Without this ruleset, you would have to run Gnomad as root every time. It is constantly being updated with new devices with every subsequent release of libmtp, so there should be no need to update it. To copy the file where it needs to go, type
Code:
sudo bash hotplug.sh
You should see an output telling you that you have udev, and that the udev ruleset was installed. You'll also get a prompt asking you if you want the old hotplug support, type "n" and hit Enter.

Note: Running the "hotplug.sh" script should copy the file "nomad.rules" to where it's supposed to go. If it doesn't, you can simply copy the file manually:
Code:
sudo cp libmtp.rules /etc/udev/rules.d/
8. Go to the folder where you extracted libnjb
Code:
cd ..
cd libnjb-2.2.5
12. Compile libnjb
Code:
./configure --prefix=/usr --enable-hotplugging
sudo make
sudo checkinstall --dpkgflags=--force-overwrite
Just as with libmtp, hit Enter past any of the prompts to choose the default answer, give it a description, then hit Enter two more times to install it.

13. In the libnjb folder, there's another udev ruleset file called nomad.rules. If you're following this how-to then it is most likely because you have an MTP device. This file isn't as critical to you because libnjb has not been updated recently and does not account for any of the newer MTP devices. It does however have some older (non-MTP) devices in it that are not listed in libmtp.rules (libmtp assumes you've already installed libnjb with the corresponding ruleset and reduces redundancy), so it's still a good idea to install the file so you can still use Gnomad if you happen to have one of those devices. The --enable-hotplugging flag passed to libnjb enables hotplug support and creates a script file called "hotplug.sh" to install the udev ruleset. Just as before with lbmtp.rules, to copy nomad.rules file to where it needs to go, type
Code:
sudo bash hotplug.sh
Once again you should see an output telling you that you have udev, and that the udev ruleset was installed. You'll also get a prompt asking you if you want the old hotplug support, type "n" and hit Enter.

Note: Just as with "libmtp.rules", running the "hotplug.sh" script should copy the file "nomad.rules" to where it's supposed to go, but some people have had problems with this and the file doesn't copy correctly. If you encounter this situation, simply copy the file manually:
Code:
sudo cp nomad.rules /etc/udev/rules.d/
14. Last but not least, go to the folder you extracted Gnomad to to compile it

Code:
cd ..
cd gnomad2-2.8.10
15. Compile and install Gnomad
Code:
./configure
sudo make
sudo checkinstall
Once again, hit Enter past all prompts to choose default answers, give it a description, and hit Enter two more times to install Gnomad.

16. Restart udev so that the rulesets we copied over earlier will be applied:
Code:
sudo /etc/init.d/udev restart
17. At this point all three packages are should have been installed. Start Gnomad by typing

Code:
gnomad2
Adding the menu entry:

Once you've verified that Gnomad works, you can take the following steps to add the menu entry. You should still be in the Gnomad directory where you just compiled from.

1. Copy the menu entry file and corresponding icon to their respective locations:
Code:
sudo cp gnomad2.desktop /usr/share/applications
sudo cp gnomad2-logo.png /usr/share/pixmaps

2. Reload your menu and the entry should be there:

- If you're a Gnome user:
Code:
sudo killall gnome-panel
- If you're a KDE user:
Code:
kbuildsycoca --incremental

Now the menu entry should show up in your Multimedia group.

Last edited by msak007; April 9th, 2007 at 12:58 AM.. Reason: Updated instructions
msak007 is offline  
Old June 18th, 2006   #2
msak007
Has an Ubuntu Drip
 
msak007's Avatar
 
Join Date: Jan 2006
Location: msak007
Beans: 663
Kubuntu 7.04 Feisty Fawn
Send a message via AIM to msak007
Re: Creative Zen MP3 player working in Dapper using Gnomad

This post is no longer relevant, see post # 1.

Last edited by msak007; September 7th, 2006 at 12:18 AM..
msak007 is offline  
Old June 19th, 2006   #3
wastrel
A Carafe of Ubuntu
 
Join Date: Jan 2005
Beans: 87
Re: Creative Zen MP3 player working in Dapper using Gnomad

Hey! Thanks, I bought a Zen Micro today, (not the microphoto) and followed your instructions to install libmtp, libnjb and gnomad2.

I've got it working now and am hoping the battery charge finishes soon...

My install notes:

I had to apt-get install libusb-dev.

There was no /etc/udev/rules.d/nomad.rules, and I had to run gnomad2 as root. I did use --enable-hotplugging when building libnjb.

To fix this, so I don't need root to run gnomad2, I created /etc/udev/rules.d/45-libnjb.rules (as root) and added the lines:

Code:
 
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libnjb_rules_end"

SYSFS{idVendor}=="041e", SYSFS{idProduct}=="411e", GROUP="plugdev", MODE="0660"
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="413c", GROUP="plugdev", MODE="0660"
# Creative Nomad Jukebox Zen MicroPhoto <-- MINE
SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4130", GROUP="plugdev", MODE="0660"

LABEL="libnjb_rules_end"
I used the vendor & device ID's from the lsusb entry for my device. This allows me to launch gnomad2 as my user, & everything seems to be working so far... I'll update if I run into any problems.

Thanks for your post, it was very helpful!
wastrel is offline  
Old June 19th, 2006   #4
msak007
Has an Ubuntu Drip
 
msak007's Avatar
 
Join Date: Jan 2006
Location: msak007
Beans: 663
Kubuntu 7.04 Feisty Fawn
Send a message via AIM to msak007
Re: Creative Zen MP3 player working in Dapper using Gnomad

I'm glad the how-to helped you! I struggled with it for a long long time and figured I'd prevent others the frustration. Thanks for letting me know about the dependency issue you ran into as I couldn't remember everything that was needed. I forgot "libusb-dev" (as you mentioned above) and "libgtk2.0-dev". It's kind of hard to backtrack and think of everything when at the time all you can think of is getting it to work not making a how-to . If I can get a list of all the dependencies / packages needed, maybe I'll revise this and make it a real how-to.

Now as far as the nomad.rules file, it was supposed to be created by the --enable-hotplugging flag according to the installation documentation. Maybe it's broken, but if that doesn't work type this in the console in the same folder you compiled from AFTER you've compiled:

Code:
sudo sh hotplug.sh
You'll get an output telling you that you have udev on the system, and a prompt asking if you want to install the old hotplug support. Type "n" and hit Enter. This will create the nomad.rules file that was supposed to be created during configure in the /etc/udev/rules.d folder. At that point, the file can be edited to add your MP3 player if it's not in the list. Alternatively, you can edit nomad.rules in the source folder before you run the hotplug script, following the other entries for a template, and add your device. Either way you do it it's the same net result. Interestingly, nomad.rules doesn't have any references to "plugdev" or any other groups, but the permissions are set to 666 so anybody can access the devices. Thanks again for letting me know it worked, hopefully others can get use out of it.
msak007 is offline  
Old June 20th, 2006   #5
patatas21
First Cup of Ubuntu
 
Join Date: Apr 2006
Beans: 1
Re: Creative Zen MP3 player working in Dapper using Gnomad

Does this include Creative Zen Neeon?
patatas21 is offline  
Old June 20th, 2006   #6
msak007
Has an Ubuntu Drip
 
msak007's Avatar
 
Join Date: Jan 2006
Location: msak007
Beans: 663
Kubuntu 7.04 Feisty Fawn
Send a message via AIM to msak007
Re: Creative Zen MP3 player working in Dapper using Gnomad

I assume it should. I don't know much about the Neeon, but if it's a newer player then chances are it uses MTP / PlayForSure. If it doesn't, then you really don't need to compile libmtp or Gnomad 2.8.5. The version of Gnomad in the repositories may suffice as the only difference with the newest version is that it supports MTP. You can also grab libnjb5 from the repositories. I couldn't find anything on Creative's page indicating whether or not this is an MTP / PlayForSure MP3 player or not.
msak007 is offline  
Old June 20th, 2006   #7
wastrel
A Carafe of Ubuntu
 
Join Date: Jan 2005
Beans: 87
Re: Creative Zen MP3 player working in Dapper using Gnomad

Here's an update after using gnomad2 and my player for a bit. gnomad2 is working and can talk to my micro; I can transfer music over and edit track info like album, track number etc.

However, playlists and data file transfer are not supported with MTP devices. This is a big downside to me -- I would really like to be able to manage playlists in gnomad2 rather than in the tiny screen on my player.

Any idea on the status of playlist and data support? I may try to downgrade my firmware if this isn't on the near horizon. Is this a gnomad2 or a libmtp or a libnjb issue? Is there anything I as a user can do to assist in the process?
wastrel is offline  
Old June 20th, 2006   #8
msak007
Has an Ubuntu Drip
 
msak007's Avatar
 
Join Date: Jan 2006
Location: msak007
Beans: 663
Kubuntu 7.04 Feisty Fawn
Send a message via AIM to msak007
Re: Creative Zen MP3 player working in Dapper using Gnomad

I never really paid attention to that feature because I don't use playlists much, I just used it to copy files. Unfortunately that's a limitation explicitly stated on Gnomad's front page:

Quote:
2006-03-22: Gnomad 2.8.3 is released. This version includes MTP support for a select number of Creative devices, provided that libmtp 0.0.2 is properly installed on your system. Only track transfers work on MTP, no data files or playlists, sorry. (You might have to run this as root to get it to work with MTP devices.)
I know that sucks but I see it as a minor annoyance, not a major showstopper. libmtp is in its very early stages and is not quite as mature as libnjb, so if I had to guess I'd say the limitation is libmtp, not gnomad or libnjb. I tried kzenexplorer, but that hasn't been updated since last year and doesn't see the player. I'm using KDE so I also tried the njb kio slave for Konqueror - that doesn't work either and doesn't see the player. So at this point in time Gnomad is the only app I know of that will even see these players. I think the only 2 solutions are a.) deal with that limitation and manually edit playlists on the player, or b.) downgrade your firmware to make it fully functional. It's all a matter of personal preference and what your needs and priorities are. I'll deal with it for now and hope it gets better soon.
msak007 is offline  
Old June 20th, 2006   #9
wastrel
A Carafe of Ubuntu
 
Join Date: Jan 2005
Beans: 87
Re: Creative Zen MP3 player working in Dapper using Gnomad

You're right it was a limitation of libmtp. I noticed in the gnomad2 changelog that playlists are now supported in the development version, so I installed gnomad 2.8.6 and libmtp from CVS and can now manage playlists!

edit: s/from/and/

Last edited by wastrel; June 21st, 2006 at 03:32 AM..
wastrel is offline  
Old June 21st, 2006   #10
msak007
Has an Ubuntu Drip
 
msak007's Avatar
 
Join Date: Jan 2006
Location: msak007
Beans: 663
Kubuntu 7.04 Feisty Fawn
Send a message via AIM to msak007
Re: Creative Zen MP3 player working in Dapper using Gnomad

Well I'm glad you got it worked out without having to downgrade the firmware. I didn't think about a CVS version as I rarely / never use CVS, but it's good to hear that capability is in the works for a future release. I read the changelog and saw that playlist support was added on 6/16. If that's the case, then maybe it was a limitation in gnomad after all. Did you also install a newer (CVS) version of libmtp?
msak007 is offline  
 

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:47 PM.


vBulletin ©2000 - 2010, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical © Canonical Ltd. Tango Icons © Tango Desktop Project. lingonberry