You are not logged in.
Pages: 1
I have Cowon D2+ which I have been trying ot get working with MTP since I first got it. Before anyone asks - the reason I want MTP support is simply so that I can scrobble to last.fm and also for better playlist support. I have set the device to connect using MTP.
I have followed the instructions here : http://bbs.archlinux.org/viewtopic.php? … 87#p585487. The relevant results of
lsusb -vare:
Bus 001 Device 006: ID 0e21:0871 Cowon Systems, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0e21 Cowon Systems, Inc.
idProduct 0x0871
bcdDevice 2.51
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
So, based on the instructions, I created /etc/udev/rules.d/65-libmtp.rules and added the following:
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libmtp_rules_end"
#Cowon D2+
SYSFS{idVendor}=="0e21", SYSFS{idProduct}=="0871", SYMLINK+="libmtp-%k", MODE="666", GROUP="audio"
LABEL="libmtp_rules_end"However, when I run mtp-detect I am simply told that there are
No raw devices found.
If I look in /dev and run
ls -larth libmtp*I get the following results:
lrwxrwxrwx 1 root root 15 Dec 21 16:33 libmtp-1-6 -> bus/usb/001/006
lrwxrwxrwx 1 root root 9 Dec 21 16:33 libmtp-usbdev1.6 -> usbdev1.6
lrwxrwxrwx 1 root root 3 Dec 21 16:33 libmtp-sg5 -> sg5
lrwxrwxrwx 1 root root 11 Dec 21 16:33 libmtp-7:0:0:0 -> bsg/7:0:0:0
lrwxrwxrwx 1 root root 3 Dec 21 16:33 libmtp-sg6 -> sg6
lrwxrwxrwx 1 root root 11 Dec 21 16:33 libmtp-7:0:0:1 -> bsg/7:0:0:1
lrwxrwxrwx 1 root root 3 Dec 21 16:33 libmtp-sdg -> sdg
lrwxrwxrwx 1 root root 3 Dec 21 16:33 libmtp-sdf -> sdf
Which suggests to me that something is happening - but not enough for me to connect over MTP.
Offline
After a failed attempt to run 'mtp-detect' my kernel.log contains the following:
Dec 22 16:19:50 localhost kernel: usb 1-6: usbfs: USBDEVFS_CONTROL failed cmd mtp-detect rqt 128 rq 6 len 255 ret -110
Dec 22 16:19:51 localhost kernel: usb 1-6: usbfs: USBDEVFS_CONTROL failed cmd mtp-detect rqt 128 rq 6 len 1024 ret -110
Dec 22 16:20:21 localhost kernel: usb 1-6: usbfs: USBDEVFS_CONTROL failed cmd mtp-detect rqt 128 rq 6 len 255 ret -110
Dec 22 16:20:22 localhost kernel: usb 1-6: usbfs: USBDEVFS_CONTROL failed cmd mtp-detect rqt 128 rq 6 len 1024 ret -110
Does that help shed any light on why this is failing?
Offline
No ideas at all?
Offline
What's your version of libmtp? There is a libmtp 0.3.7 available in extra repo, which seems to be outdated. A bit of googling told me that such errors in kernel.log can be caused by a device unsupported by libmtp. Feel free to use following PKGBUILD to update your libmtp to the 1.0.1 version.
# $Id: PKGBUILD 53862 2009-10-03 15:55:18Z giovanni $
# Contributor: damir <damir@archlinux.org>
# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
pkgname=libmtp
pkgver=1.0.1
pkgrel=1.0
pkgdesc="library implementation of the Media Transfer Protocol"
arch=("i686" "x86_64")
url="http://libmtp.sourceforge.net"
license=("LGPL")
depends=("libusb")
makedepends=('doxygen')
source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('d540a0ef033483bd10b7f83f7a84e4a7')
options=('!libtool')
build() {
cd $srcdir/$pkgname-$pkgver
./configure --prefix=/usr
make || return 1
make DESTDIR=$pkgdir install
install -D -m0644 libmtp.rules \
$pkgdir/lib/udev/rules.d/52-libmtp.rules
install -D -m0644 libmtp.fdi \
$pkgdir/usr/share/hal/fdi/information/20thirdparty/libmtp.fdi
}libmtp 1.0.1 lists Cowon iAudio D2+ if I run "mtp-hotplug | grep Cowon"
Last edited by MadCat_X (2009-12-23 16:40:21)
Offline
That's fantastic - thank you!
I have now made progress. mtp-detect now gives the following output:
libmtp version: 1.0.1
Listing raw device(s)
Found 1 device(s):
Cowon: iAudio D2+ DAB FW 4.x (MTP mode) (0e21:0871) @ bus 0, dev 3
Attempting to connect device(s)
It never gets beyond that - it just sits there with no errors either in the console or the logs...
I've tried it both as root and normal user and have met with no success...
Offline
Is there any info in "dmesg"? Have you tried rebooting both your PC and the player?
Offline
Thanks for your help.
dmesg says:
usb 1-6: usbfs: process 1907 (mtp-detect) did not claim interface 0 before use
I have tried restarting both my computer and the player without success.
Offline
OK - it's decided to start working now... Hoping it's not inconsistent...
Offline
This is most likely a bug in libmtp, but it _might_ be solved by recompiling libmtp against new libusb. Arch uses legacy libusb 0.1.12 by default, but there is a libusb1 in extra repo with the latest libusb 1.0.6. The catch is that these packages are installed separately and forcing libmtp to compile against the new libusb1 is not really a straightaway operation. To do so I had to do following.
Caution, this is a bit of a hack and few things could screw up after finishing it. I tried it myself and my PC seems to work just fine so far, but you never know....
1) Remove libmtp
pacman -R libmtp
2) Install libusb1 from extra
pacman -S libusb1
3) Remove libusb (form now on things might go weird)
pacman -Rd libusb
4) Get libusb-compat package from AUR and modify the PKGBUILD so that it contains "provides=('libusb')" line
5) Install libusb-compat
makepkg -cif --asroot
6) Install libmtp
7) Reboot and pray:)
When I did this I got pacman complaining about missing dependency for hal (needs libusb>=0.1.12), but this most likely just a matter of creating proper "provides" line in libusb-compat PKGBUILD. If you have an idea, I'd be glad to hear it:)
Last edited by MadCat_X (2009-12-23 20:13:11)
Offline
OK - I did find that whatever had caused it to work before was very intermittent. I tried what you suggested above and everything work and it also now seems to work much more consistently.
However, I don't think I'm quite there yet! ![]()
Whenever I run a command like mtp-connect I get the following errors before it goes on to look like it's working:
libusb couldn't open USB device /dev/bus/usb/001/004: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/002: Permission denied.
libusb requires write access to USB device nodes.
I don't know if that's important or not, nor how I might fix it.
I now find that, when I have an mtp device plugged in that amarok consistently crashes. I tried running banshee and it sees the cowon and can tell me details about it - but not list any of the tracks on the device...
Offline
Unfortunately I don't have any player using MTP around to test with, but can you manipulate with files on the player using console commands? As for the errors reported by libmtp, I get it too, but I don't consider it serious.
Last edited by MadCat_X (2009-12-23 20:11:11)
Offline
I created a simple playlist so I figure that it's working OK. Now I just need to get some sort of GUI working that can handle playlists and last.fm scrobbling and I'm golden! ![]()
Thanks for all the help!
Offline
Would something like this suffice?
Offline
4) Get libusb-compat package from AUR and modify the PKGBUILD so that it contains "provides=('libusb')" line
When I did this I got pacman complaining about missing dependency for hal (needs libusb>=0.1.12), but this most likely just a matter of creating proper "provides" line in libusb-compat PKGBUILD. If you have an idea, I'd be glad to hear it:)
In order to fix this issue with HAL you should modify PKGBUILD so that it contains "provides=('libusb=0.1.12')" line
Pay attention to version specification in provides section.
Offline
Pages: 1