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 |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
04-04-2006, 04:26 PM
|
#1
|
Member
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76
Rep:
|
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.
|
|
|
04-04-2006, 04:43 PM
|
#2
|
LQ Guru
Registered: Jan 2002
Posts: 6,042
Rep: 
|
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.
|
|
|
04-05-2006, 10:59 AM
|
#3
|
LQ Newbie
Registered: Sep 2005
Distribution: Suse 10.0
Posts: 15
Rep:
|
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.
|
|
|
04-06-2006, 08:12 AM
|
#4
|
Member
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76
Original Poster
Rep:
|
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.
|
|
|
04-06-2006, 08:45 AM
|
#5
|
Member
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76
Original Poster
Rep:
|
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.
|
|
|
05-08-2006, 03:05 PM
|
#6
|
LQ Newbie
Registered: May 2006
Posts: 1
Rep:
|
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' ?
|
|
|
05-30-2006, 08:19 AM
|
#7
|
Member
Registered: Feb 2006
Location: Oxford, UK
Distribution: openSUSE 13.1
Posts: 76
Original Poster
Rep:
|
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.
|
|
|
08-21-2006, 11:38 PM
|
#8
|
LQ Newbie
Registered: Aug 2006
Posts: 2
Rep:
|
This is genius, thanks for letting me NOT pull my hair out.
|
|
|
All times are GMT -5. The time now is 06:48 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|