# usbmuxd not working with connected ipod

## salamie

Hi im trying to mount my ipod touch 3.1.3 (jailbroken).

I emerged usbmuxd-1.0.4 and when i use usbmuxd without connected ipod it just does nothing, but when i use it with connected ipod it shows error:

```
usbmuxd

usbmuxd: ERROR: Failed to get init status from child, check syslog for messages.

```

lsusb output:

```
lsusb

Bus 004 Device 002: ID 046d:c51a Logitech, Inc. MX Revolution/G7 Cordless Mouse

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 001 Device 022: ID 05ac:1293 Apple, Inc.
```

and dmesg:

```
[76278.289714] usb 1-6: skipped 3 descriptors after interface

[76278.289717] usb 1-6: skipped 2 descriptors after interface

[76278.289720] usb 1-6: skipped 1 descriptor after endpoint

[76278.289722] usb 1-6: skipped 1 descriptor after interface

[76278.291586] usb 1-6: default language 0x0409

[76278.293598] usb 1-6: udev 22, busnum 1, minor = 21

[76278.293600] usb 1-6: New USB device found, idVendor=05ac, idProduct=1293

[76278.293603] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[76278.293605] usb 1-6: Product: iPod

[76278.293607] usb 1-6: Manufacturer: Apple Inc.

[76278.293609] usb 1-6: SerialNumber: 590bd47fbd2614148d60331d82cefec8faa9e874

[76278.293702] usb 1-6: usb_probe_device

[76278.293706] usb 1-6: configuration #1 chosen from 3 choices

[76278.295461] usb 1-6: adding 1-6:1.0 (config #1, interface 0)

[76278.295526] drivers/usb/core/inode.c: creating file '022'

[76278.295546] hub 1-0:1.0: state 7 ports 8 chg 0000 evt 0040

[76278.295932] usb 1-6: usb_disable_device nuking non-ep0 URBs

[76278.295935] usb 1-6: unregistering interface 1-6:1.0

[76278.299347] usb 1-6: adding 1-6:3.0 (config #3, interface 0)

[76278.299400] usb 1-6: adding 1-6:3.1 (config #3, interface 1)

[76279.141919] usb 1-6: BOGUS urb flags, 1 --> 0

[76279.141922] usb 1-6: usbfs: usb_submit_urb returned -22

[76279.142209] usbmuxd[3577]: segfault at 2827 ip b76b714d sp bf8cd6c0 error 4 in libpthread-2.11.1.so[b76af000+15000]
```

Does anyone know how to solve?

Thanks,

Nick

----------

## bungernut

You can apparently at least charge the device

http://matt.colyer.name/2007/08/23/iphone-now-charges-in-linux/

Has anyone tried? I am more comfortable trying when the kernel devs put it in like the blackberry device is now.

----------

## salamie

Of course I am able to charge and I didn't do anything specific to get it working. The charging just worked but connecting and mounting doesn't :S

```
usbmuxd -v -v -f

[23:39:30.573][3] usbmuxd v1.0.4 starting up

[23:39:30.573][4] Creating socket

[23:39:30.573][5] client_init

[23:39:30.573][5] device_init

[23:39:30.573][4] Initializing USB

[23:39:30.573][5] usb_init for linux / libusb 1.0

[23:39:30.575][4] Found new device with v/p 05ac:1293 at 1-32

[23:39:30.577][4] Using wMaxPacketSize=512 for device 1-32

[23:39:30.577][3] Connecting to new device on location 0x10020 as ID 1

[23:39:30.577][1] Failed to submit TX transfer 0x92d1b00 len 20 to device 1-32: -1

[23:39:30.577][1] usb_send failed while sending packet (len 20) to device 1: -1

[23:39:30.577][1] Error sending version request packet to device 1

[23:39:30.577][5] usb_disconnect: cancelling RX xfer

Segmentation fault

```

----------

## lukasz.sowinski

Hi! Have you managed to solved your problem?

If I may suggest, just guessing though, try recompiling all the relevant packages, and make sure they belong to the same version of 'libimobiledevice'. I have it up and running, somehow, with

```

app-pda/libimobiledevice-1.0.1

app-pda/usbmuxd-1.0.4

app-pda/ifuse-1.0.0

app-pda/libplist-1.3

dev-libs/libusb-1.0.7

dev-libs/libusb-0.1.12-r7

```

plus some dependencies, I guess. 

Good luck!

----------

## FreakWent

I have the same problem, on x64.  

lukasz.sowinski, how do you have 

dev-libs/libusb-1.0.7

dev-libs/libusb-0.1.12-r7 

both installed at once, don't they conflict?

----------

## lukasz.sowinski

@FreakWent

No problem, they are in different slots. Have a look at 'eix libusb'

```

[I] dev-libs/libusb

     Available versions:  

        (0)     0.1.11 0.1.12!t 0.1.12-r1!t (~)0.1.12-r2!t (~)0.1.12-r3!t (~)0.1.12-r4!t 0.1.12-r5!t (~)0.1.12-r6!t (~)0.1.12-r7!t

        (1)     (~)1.0.1 (~)1.0.2 (~)1.0.3 (~)1.0.4 (~)1.0.5 (~)1.0.6 (~)1.0.7

```

From what I can read from my installation, libimobiledevice was compiled against libusb:0, but usbmuxd against libusb:1. How this is supposed to work, I don't really know. 

On the other hand, I think that at least my usbmuxd installation works properly on the 32bit Intel laptop. When I resurrect the 64bit desktop, I will confirm it.

----------

## FreakWent

... that it was fixed in git; namely, this guy:

https://bugzilla.redhat.com/show_bug.cgi?id=581307#c5

So I did

  git clone http://git.sukimashita.com/usbmuxd.git

  cd usbmuxd/

  mkdir build

  cd build

  cmake ..

  make

  sudo make install

And it installed!

So I did

  sudo /usr/local/sbin/usbmuxd -v -f

...aaaand it's still broken.  Oh well....

[15:06:21.213][4] Found new device with v/p 05ac:1294 at 1-7

[15:06:21.213][4] Found interface 1 with endpoints 04/85 for device 1-7

[15:06:21.214][4] Using wMaxPacketSize=512 for device 1-7

[15:06:21.214][3] Connecting to new device on location 0x10007 as ID 2

[15:06:21.214][1] Failed to submit TX transfer 0x8157678 len 20 to device 1-7: -                                   

1

[15:06:21.214][1] usb_send failed while sending packet (len 20) to device 2: -1

[15:06:21.214][1] Error sending version request packet to device 2

[15:06:22.216][4] Found new device with v/p 05ac:1294 at 1-7

[15:06:22.216][4] Found interface 1 with endpoints 04/85 for device 1-7

[15:06:22.217][4] Using wMaxPacketSize=512 for device 1-7

[15:06:22.217][3] Connecting to new device on location 0x10007 as ID 3

[15:06:22.217][1] Failed to submit TX transfer 0x8157678 len 20 to device 1-7: -                                   

1

[15:06:22.217][1] usb_send failed while sending packet (len 20) to device 3: -1

[15:06:22.217][1] Error sending version request packet to device 3

[15:06:23.218][4] Found new device with v/p 05ac:1294 at 1-7

[15:06:23.218][4] Found interface 1 with endpoints 04/85 for device 1-7

[15:06:23.220][4] Using wMaxPacketSize=512 for device 1-7

[15:06:23.220][3] Connecting to new device on location 0x10007 as ID 4

[15:06:23.220][1] Failed to submit TX transfer 0x8157678 len 20 to device 1-7: -                                   

1

[15:06:23.220][1] usb_send failed while sending packet (len 20) to device 4: -1

[15:06:23.220][1] Error sending version request packet to device 4

----------

## Confused fishcake

I have exactly the same problem, strace gives me:

ioctl(8, USBDEVFS_SUBMITURB, 0x82c57f8) = -1 EINVAL (Invalid argument)

I've tried using the ubuntu binary that works on my ubuntu machine, but I get this same error. I assume then that this is a libusb/kernel bug, but I haven't a clue on how to go about fixing it.

----------

## Jimmy Kane

I have the exact same problem ....

```
[[01:20:58.200][3] usbmuxd v1.0.4 starting up

[01:20:58.204][3] Connecting to new device on location 0x10004 as ID 1

[01:20:58.204][1] Failed to submit TX transfer 0x96cc798 len 20 to device 1-4: -1

[01:20:58.204][1] usb_send failed while sending packet (len 20) to device 1: -1

[01:20:58.204][1] Error sending version request packet to device 1

Segmentation fault

```

The thing is that as far as i can remember this started after upgrading to the new -32-r7 kernel ... 

I tried severeal recompiles of the kernel changing options but no luck .... 

It is such a pitty that i cant use my iphone with gentoo while almost all the linux users can, using their distribution .... 

I have also tried using layman overlays but no luck at all.... 

Also tried using the git but again no luck .... 

I hope this will be fixed sometime ....

----------

## Confused fishcake

Try upgrading to libusb-1.0.8, fixed it for me  :Smile: 

----------

## moben

 *Confused fishcake wrote:*   

> Try upgrading to libusb-1.0.8, fixed it for me 

 

works for me too, bug seems solved  :Smile: 

----------

## FreakWent

I just got back to this; yep, it works, and yep, I'm now running libusb 1.08.  BUT... Where's the device node? Do I need a udev rule? What should it be?

----------

## ssteinberg

I use gvfs compiled with fuse use flag to automount on ~/.gvfs/

Works like a charm for my iPhone 3GS. gtkpod syncs it flawlessly as well.

----------

