TuxMobil - Linux on Laptops, PDAs and mobile Phones

Creative Nomad MuVo2 and Linux

MuVo Creative Nomad MuVo2 is a miniature MP3 USB2.0 player and data storage device with capacity of 1.5 or 4 GB. The player hosts a built-in microdrive inside.

Nomad MuVo2 is a very attractive device due to its small size and yet large capacity. Sylvain Toullec and Thomas Hopfner reported that in order to make it work on Linux, you need the 2.4.26 or 2.6.3 (and newer) kernel. The /etc/fstab file then can contain the following line in order to mount the device:

/dev/sdb /mnt/muvo auto defaults,user,noauto 0 0

Of course, the directory /mnt/muvo must be created first and you need to select the correct /dev/sdX device and your preferred mount options.

Tom Hopfner also tested a hint from the manual: If one wants to charge the MuVo2 via USB it says you have to use "eject" from the windows context menu. He tried this in Linux and therefore used

eject /dev/sda

and MuVo2 really started to charge. You can verify this by looking at the icon in the upper right corner of the display, which shows a blinking charge indicator.

Bjorn Anger sent me a detailed report about his attempts to make the Muvo2 player work on Linux with pre-2.4.26 kernels:

I just bought a MuVo2 1.5B mp3-player thinking that it could be useful as a storage device for other files than mp3's as well.

The MuVo2 connects to a Windows computer just fine using no special software and Windows do see it as a FAT formatted disk.

The output of uname -a is

Linux junior2 2.4.20-4GB #1 Wed Dec 17 18:03:22 UTC 2003 i686 unknown unknown GNU/Linux

It is a "GenuineIntel" Pentium 4 CPU 2.4GHz, Intel 845 chipset, Intel 82801DB USB 2 controller (using the ehci-hcd driver - ok it is also loaded). MSI 845 Max 2 PE motherboard. USB audio via alsa works fine btw.

I do have scsi and sd (block device) modules compiled into my kernel. Other scsi devices such as cd-rom, tape etc are supported as loadable modules as well as usb hub (usb-uhci) and usb-storage. Vfat is also supprted. I have no problem mounting other fat16 or 32 formatted disks.

So it should also work with my Linux box.

But I'm not being able to mount it in Linux. All I get is "bad superblock".

lsmod lists usb-storage and usb-uhci.

cat  /proc/scsi/scsi produces:

Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: _NEC Model: CD-RW NR-9300A Rev: 2.12
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: CREATIVE Model: MuVo^2 Rev: 0001
Type: Direct-Access ANSI SCSI revision: 02
 

/var/log/messages shows:

Feb 21 20:29:22 junior2 kernel: hub.c: new USB device 00:1d.7-3, assigned address 8
Feb 21 20:29:22 junior2 kernel: WARNING: USB Mass Storage data integrity not assured
Feb 21 20:29:22 junior2 kernel: USB Mass Storage device found at 8
Feb 21 20:29:25 junior2 kernel: SCSI device sda: 2817727 512-byte hdwr sectors (1443 MB)
Feb 21 20:29:25 junior2 kernel: sda: Write Protect is off
Feb 21 20:29:28 junior2 kernel: sda: sda1 sda2 sda3 sda4
Feb 21 20:29:29 junior2 /etc/hotplug/usb.agent[10562]: Can't ignore signal CHLD, forcing to default.

After, for instance, typing mount -t vfat /dev/sda1 /mnt the /var/log/messages contains the following lines

i/o error sector 0
FAT: unable to read boot sector

(I have also tried mounting it as /dev/sda, sda2.. using the various options for fat)

fdisk says cannot read sector 0 - unrecognised partition - No partition found

Next, I continued trying to determine the partition type with the msdos fdisk utility, but it simply wouldn't see this drive at all - just as I had guessed.

I decided to continue my exploration in Linux with the ehci-hcd module removed even though this didn't change the outcome of trying to mount the device with an unmodified partition.

I then tried to reformat the MuVo using mkdosfs or mkfs but both refused to let me do this.

Next thing was to repartition the drive. Linux fdisk simply refused and so did cfdisk. Sfdisk did see 4 partitions on the drive, claiming (ha ha ha) that one of them was a GNU/Hurd partition. Now, sfdisk would let me repartition the device with the -D option into 1.4M blocks x 1024 bytes. I used the -c option as well and, not using USB 2.0, this took forever.

Formatting the MuVo using mkdosfs went smoth from there and the unit mounted nicely and I could drop down a couple of files and read them from it. Now I had almost 1.5GB of USB mass-storage.

But would the MuVo work as a stand-alone unit? I dropped down a mp3 on it, dismounted and disconnected it from my computer.

First it would complain that it hadn't been 'ejected' in a safe manner, rebooting and displaying the Creative logo. But from there it went into a "restoration mode" only leaving me with the option of reformatting and downloading the firmware from a PC.

But before doing any of that I opted to just connect it to a Windows machine. Windows would open the unit without any errors and I could open the files I had dropped down onto it. But strangely enough Windows only saw 800MB of total storage capacity.

Now, I opted to disconnect the MuVo from the Windows PC and reformat the drive. Then I downloaded the firmware from Creative's support site and run it (Windows only of course) to restore to the MuVo. The unit now worked as before as a stand-alone mp3-player and Windows once again saw 1.5GB of storage capacity.

So, finally I had to test the unit with my Linux box to see if the partition info had been garbled by the units own reformatting. And, yes! Linux wouldn't let me mount the drive.

i/o error sector 0
FAT: unable to read boot sector

I also did use a disk analyzing tool called R-Studio on a Windows machine to see what the MuVo2 filesystem looks like.

It doesn't have a master boot record, it starts off from sector 0 with the FAT boot sector.

BPB (BIOS Parameter Block)
3 bytes jump address to bottstrap
8 bytes OEM ID Doesn't seem to be in ASCII or ISO-8859-1 (perhaps Japanese)

Field Length Value (Typical Values)
Bytes Per Sector 2 200h = 512B 512B
Sectors Per Cluster 1 40h = 64 1, 2, 4, 8, 16, 32, 64, and 128
Reserved Sectors 2 01h = 1 >=1
FATs 1 02h = 2 2
Root Entries 2 200h = 512 512
Small Sectors 2 00h 0 for large volumes
Media Descriptor 1 F8h F8 = fixed disk
Sectors Per FAT 2 ACh
Sectors Per Track 2 20h = 32 Formatting option
Heads 2 40h = 64 Formating option
Hidden Sectors 4 00h 0 = no MBR preceeding the FAT boot sector
Large Sectors 4 00 2A FE BF Tot. number of sectors used by FAT (for large volumes)

That is 1442MB storage capacity.

Extended BPB

Field Length Value (Typical Values)
Physical Drive No 1 80h 80h = First fixed disk in BIOS (during format - well, for the MuVo it certainly is)
Current Head 1 00h
Signature 1 29h Must be 28h or 29h to be recognised by Win2k or XP
ID 4 28 25 78 FD Random number to help set it appart from other drives
Volume Label 11 MuVo2
System ID 8 FAT16 FAT12, 16 or 32

Bootstrap area contain the normal textarea "Invalid system disk" etc.

So the MuVo2 shouldn't be anything special. By the way, my Linux box halts during startup when starting the hotplugging services if the MuVo is connected to the machine. Looks like debugging the USB should be the next logical step.