LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 04-04-2006, 04:26 PM   #1
JamesHall
Member
 
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76

Rep: Reputation: 15
Very slow data transfer to USB MP3 player


Hi,

I've got a Creative MuVo TX MP3 player which plugs straight into a USB port. It works, but the data transfer speed is less than I think it should be. Usually it's in the region of 250 to 415 KB/s, but sometimes it drops down to between 19 and 30 KB/s, and sometimes it just stalls completely. It seems to be the case that the more data I try and transfer in one go, the worse the performance is. A single MP3 file will transfer at a faster rate than a folder full of them.

Example transfer times achieved today using a 49.2MB folder:

To copy from hard disk to the MP3 player: 130 seconds
To delete from the player: 15 seconds

For comparison, moving the same folder onto the MP3 player from my Windows 2000 box (identical hardware spec and build to the Linux box) takes 46 seconds, and deleting it from the player takes 2 seconds.

I'm using SUSE 10 OSS, kernel version 2.6.13-15.8-default.

Output from dmesg when the player is connected is:

Code:
usb 4-5: new high speed USB device using ehci_hcd and address 3
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
  Vendor: Creative  Model: NOMAD MuVo TX     Rev: 0100
  Type:   Direct-Access                      ANSI SCSI revision: 04
usb-storage: device scan complete
SCSI device sda: 1005824 512-byte hdwr sectors (515 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 1005824 512-byte hdwr sectors (515 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
 sda: sda1
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
subfs 0.9
When mounted, the entry for the player in /etc/mtab is:

Code:
/dev/sda1  /media/usbdisk  subfs  rw,nosuid,nodev,sync,fs=floppyfss,procuid,utf8=true  0  0
The relevant line in the output of lsusb is:

Code:
Bus 004 Device 003: ID 041e:4117 Creative Technology, Ltd  Nomad MuVo TX
Any suggestions on how to improve the rate of data transfer, ideally so that it's comparable with the rates I can get out of the Windows box, would be gratefully received.

Thanks

James.
 
Old 04-04-2006, 04:43 PM   #2
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
Mount it yourself and do not include sync. Before you remove the device, you will have to run the utility sync and unmount it.

USB is slow because of its higher latency compared to IEEE-1394. USB is not designed for constant throughput.
 
Old 04-05-2006, 10:59 AM   #3
jamlc
LQ Newbie
 
Registered: Sep 2005
Distribution: Suse 10.0
Posts: 15

Rep: Reputation: 0
Hi, you might want to check this out...

https://bugzilla.novell.com/show_bug.cgi?id=105871#c19

I have been using this method for some time and it works fine for me.

PS: I was just wandering, isn't there any patch to take care of this? Does suse do the same thing even in 10.1?

Last edited by jamlc; 04-05-2006 at 11:01 AM.
 
Old 04-06-2006, 08:12 AM   #4
JamesHall
Member
 
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76

Original Poster
Rep: Reputation: 15
Thanks for the hint jamlc - unfortunately I think I'm missing something, as my device doesn't seem to have a volume.uuid value.

Here's the relevant part (I think) of the output from lshal:
Quote:
udi = '/org/freedesktop/Hal/devices/volume_part1_size_514954752'
info.callouts.remove = {'hal-resmgr', 'hald-subfs-mount'} (string list)
resmgr.class = 'floppy' (string)
info.callouts.add = {'hald-add-selinux-mount-option', 'hal-resmgr', 'hald-subfs-mount'} (string list)
volume.policy.desired_mount_point = 'usbdisk' (string)
volume.policy.mount_filesystem = 'vfat' (string)
volume.policy.should_mount = true (bool)
info.udi = '/org/freedesktop/Hal/devices/volume_part1_size_514954752' (string)
volume.partition.msdos_part_table_type = 6 (0x6) (int)
info.product = 'Volume (vfat)' (string)
volume.size = 514954752 (0x1eb19600) (uint64)
volume.num_blocks = 1005771 (0xf58cb) (int)
volume.block_size = 512 (0x200) (int)
volume.partition.number = 1 (0x1) (int)
info.capabilities = {'volume', 'block'} (string list)
info.category = 'volume' (string)
volume.is_partition = true (bool)
volume.is_disc = false (bool)
volume.is_mounted = true (bool)
volume.mount_point = '/media/usbdisk' (string)
volume.label = '' (string)
volume.uuid = '' (string)
volume.fsversion = 'FAT16' (string)
volume.fsusage = 'filesystem' (string)
volume.fstype = 'vfat' (string)
block.storage_device = '/org/freedesktop/Hal/devices/storage_model_NOMAD_MuVo_TX' (string)
block.is_volume = true (bool)
block.minor = 1 (0x1) (int)
block.major = 8 (0x8) (int)
block.device = '/dev/sda1' (string)
linux.hotplug_type = 3 (0x3) (int)
info.parent = '/org/freedesktop/Hal/devices/storage_model_NOMAD_MuVo_TX' (string)
linux.sysfs_path_device = '/sys/block/sda/sda1' (string)
linux.sysfs_path = '/sys/block/sda/sda1' (string)

udi = '/org/freedesktop/Hal/devices/storage_model_NOMAD_MuVo_TX'
info.addons = {'hald-addon-storage'} (string list)
storage.policy.should_mount = true (bool)
block.storage_device = '/org/freedesktop/Hal/devices/storage_model_NOMAD_MuVo_TX' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_model_NOMAD_MuVo_TX' (string)
storage.requires_eject = false (bool)
storage.hotpluggable = true (bool)
info.capabilities = {'storage', 'block'} (string list)
info.category = 'storage' (string)
info.product = 'NOMAD MuVo TX' (string)
info.vendor = 'Creative' (string)
storage.removable = true (bool)
storage.physical_device = '/org/freedesktop/Hal/devices/usb_device_41e_4117_000001050158C78A_if0' (string)
storage.lun = 0 (0x0) (int)
storage.drive_type = 'disk' (string)
storage.vendor = 'Creative' (string)
storage.model = 'NOMAD MuVo TX' (string)
storage.automount_enabled_hint = true (bool)
storage.media_check_enabled = true (bool)
storage.no_partitions_hint = false (bool)
storage.bus = 'usb' (string)
block.is_volume = false (bool)
block.minor = 0 (0x0) (int)
block.major = 8 (0x8) (int)
block.device = '/dev/sda' (string)
linux.hotplug_type = 3 (0x3) (int)
info.parent = '/org/freedesktop/Hal/devices/usb_device_41e_4117_000001050158C7
8A_if0_scsi_host_scsi_device_lun0' (string)
linux.sysfs_path_device = '/sys/block/sda' (string)
linux.sysfs_path = '/sys/block/sda' (string)
I'm a bit puzzled firstly by line 22 in the above, "volume.uuid = ' '" (this doesn't look right to me), and secondly by lines 27 and 57 in the above, "block.is_volume = true" and "block.is_volume = false" respectively.

Sorry if I'm showing my ignorance but I don't really understand what I'm seeing here...

Thanks

J.
 
Old 04-06-2006, 08:45 AM   #5
JamesHall
Member
 
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76

Original Poster
Rep: Reputation: 15
Forgot to say thanks also to Electro - manually mounting without the sync option works brilliantly, it would just be nice to find a way of getting SUSE to do this automatically...

Cheers

J.
 
Old 05-08-2006, 03:05 PM   #6
jugoso
LQ Newbie
 
Registered: May 2006
Posts: 1

Rep: Reputation: 0
Hi guys.

Same problem here, I tried to match the device by using
Code:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<!-- disable sync for mount -->
<match key="info.category" string="storage">
<match key="storage.bus" string="usb">
<append key="volume.policy.mount_option.sync" type="bool">false</append>
</match>
</match>
<match key="volume.policy.desired_mount_point" string="usbdisk">
<append key="volume.policy.mount_option.sync" type="bool">false</append>
</match>
</device>
</deviceinfo>
I ran 'lshal' and found that the only device that matched those properties (storage.bus='usb' && info.category='storage') was a usbstick, but still no results... is there a way to view the results the 'match' tag is giving out? Also, is there another way round it, apart from editing '/etc/fstab' ?
 
Old 05-30-2006, 08:19 AM   #7
JamesHall
Member
 
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76

Original Poster
Rep: Reputation: 15
Mounting USB drives without sync in SUSE 10 - problem solved

Hi guys,

I found a solution to this problem on the SUSE community forums. What you need to do is:

1. Unmount and remove all USB drives, if any are mounted
2. As root, create the directory /usr/share/hal/fdi/policy/95userpolicy (if it does not already exist)
3. Within this directory, create the file nosync.fdi (or edit it, if it already exists)
4. Populate the file with the following lines:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<!-- disable sync for mount -->
<match key="block.is_volume" bool="true">
<match key="volume.fsusage" string="filesystem">
<match key="@info.parent:storage.bus" string="usb">
<merge key="volume.policy.mount_option.sync" type="bool">false</merge>
</match>
</match>
</match>
</device>
</deviceinfo>
5. Save the file and exit the editor
6. Restart the HAL daemon:
Code:
/etc/init.d/haldaemon restart
Your USB drives should now mount without sync. It works for me, anyway.

Cheers

James.
 
Old 08-21-2006, 11:38 PM   #8
steamingbiscuit
LQ Newbie
 
Registered: Aug 2006
Posts: 2

Rep: Reputation: 0
This is genius, thanks for letting me NOT pull my hair out.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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 Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
USB transfer speeds incredibly slow apachedude SUSE / openSUSE 3 10-20-2005 06:16 PM
Flash Drive or MP3 Player, slow access underscorelinux Linux - Software 0 10-05-2005 10:48 AM
FC3 very slow DNS and data transfer frankinmerth Linux - Networking 8 04-15-2005 10:58 PM
transfer to my mp3 player in suse 9.1 coolgy768 Linux - Hardware 1 08-02-2004 01:28 PM
is there anyway that I can transfer to my portable MP3 player in linux? onelung02 Linux - Newbie 7 12-14-2003 07:22 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 06:48 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration