The Traxdata EZ 5 in 1 player is a cool gadget that can play MP3 files, record WAV files in memory, can accommodate an extra flash memory card, not to mention the built in radio.
This web page gives some info for the geeks who just cannot accept that their MP3 player cannot be used on Linux, as stated by the Traxdata tech. support.
The player supports the mass storage protocol, this is how it can interwork with Linux.
Btw., the Linux kernel 2.4.* also supports the mass storage protocol, but you should use a recent enough version. Note that 2.4.20 is buggy in this aspect, (it can read files from the player but not write) so you must use a more recent one. Currently I use version 2.4.27 and it works fine.
Some of the key settings to use when configuring your kernel:
SCSI support: enable SCSI support and SCSI generic support (see the Linux SCSI howto). Further on, enable Probe all LUNs on each SCSI device to be able to access the plugged in flash memory card as a separate SCSI device.
File systems: enable DOS and VFAT file systems, /proc and /dev file system support, plus the kernel automounter support for your own convenience for accessing the device.
USB support: enable Preliminary USB device file system, UHCI support, USB mass storage support. (see the Linux USB howto).
Then build and install your kernel and the modules. I won't go into detail here, for that you can read the Linux kernel howto. Consider updating your /etc/modules.conf file if needed. Then take a deep breath and reboot.
First of all, start watching your syslog file, e.g. by tail -f /var/log/messages.
Then you can plug in your player's USB cable. Now you should see some message in the syslog, e.g.
Dec 6 11:54:40 ... kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 Dec 6 11:54:40 ... kernel: Attached scsi removable disk sdb at scsi0, channel 0, id 0, lun 1 Dec 6 11:54:40 ... kernel: SCSI device sda: 248576 512-byte hdwr sectors (127 MB) Dec 6 11:54:40 ... kernel: sda: Write Protect is off Dec 6 11:54:40 ... kernel: /dev/scsi/host0/bus0/target0/lun0: p1 Dec 6 11:54:40 ... kernel: SCSI device sdb: 498176 512-byte hdwr sectors (255 MB) Dec 6 11:54:40 ... kernel: sdb: Write Protect is off Dec 6 11:54:40 ... kernel: /dev/scsi/host0/bus0/target0/lun1: p1 Dec 6 14:02:20 ... kernel: hub.c: new USB device 00:14.2-2, assigned address 4
As you can see, there are 2 SCSI devices attached, so in this case /dev/sda1 will represent the on-board memory of the player (127 MB), while /dev/sdb1 is the extra memory (255 MB, see the log). You can mount them as VFAT file systems.
Useful mount options are: (note, you can use these even in case of mounting via automounter)
rw,noexec,nodev,sync,umask=0.
The option "sync" is useful to avoid long delay at unmounting after writing to the device (due to the operation of the buffer cache mechanism which means that the data is written to the kernel buffer cache memory only, and is flushed to the device with delayed write afterwards, or when the device is to be unmounted.)
Let's see some benchmarks on data transmission rates to/from the EZ player:
|
Operation |
Data transmission rate [Mbit/s] |
|---|---|
|
Write to onboard memory |
2.1 |
|
Read from onboard memory |
5.97 |
|
Write to external SD memory |
4.9 |
|
Read from external SD memory |
5.29 |
Some notes:
The CPU speed has some minor influence on the transmission speed. The measurements above were made on a 900 MHz Celeron (Coppermine) machine.
Probably the plugged in external memory card counts as well; I measured these with a Kingston 256 MB SD memory.
The verbose USB transfer logging may also slow down transfer; generally I recommend to switch that off in kernel configuration once you have the thing working correctly. If the verbose logging is on, it generates huge amount of data into the syslog file, e.g. it records the transfer of each 4K block or so. It can load an old CPU to 25-50 % !!!