Bug 121801 - Roland VT-3: write error: -5,Input/output error
Summary: Roland VT-3: write error: -5,Input/output error
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-10 09:45 UTC by Jens Mühlenhoff
Modified: 2021-07-11 21:23 UTC (History)
2 users (show)

See Also:
Kernel Version: 4.6.3
Subsystem:
Regression: No
Bisected commit-id:


Attachments
HW Params (588 bytes, text/plain)
2016-07-10 09:45 UTC, Jens Mühlenhoff
Details
speaker-test with hw params (585 bytes, text/plain)
2016-07-10 09:46 UTC, Jens Mühlenhoff
Details
lusb -vvvv (45.12 KB, text/plain)
2016-07-14 18:32 UTC, Jens Mühlenhoff
Details
dmesg - after error (55.29 KB, application/octet-stream)
2016-07-14 18:33 UTC, Jens Mühlenhoff
Details

Description Jens Mühlenhoff 2016-07-10 09:45:57 UTC
Created attachment 222581 [details]
HW Params

I am trying to get sound input / output working on my Roland VT-3 USB device.

It is detected by the ALSA USB driver, but any attempts to playback failed so far.

speaker-test returns "-5,Input/output error" (see attachments)

Alsa DB link: http://www.alsa-project.org/db/?f=c92741355ec47e475551a281e9beee619ca89dbc
Comment 1 Jens Mühlenhoff 2016-07-10 09:46:38 UTC
Created attachment 222591 [details]
speaker-test with hw params
Comment 2 Jens Mühlenhoff 2016-07-10 09:52:25 UTC
The device works when I use USB pass-through to a KVM Windows VM:

qemu-system-x86_64 -enable-kvm -cpu host -hda ./win7.img -m 4G -smp 4 -usb -device nec-usb-xhci,id=xhci -device usb-host,bus=xhci.0,hostbus=3,hostaddr=11

I can provide a Wireshark USB trace if needed.
Comment 3 Raymond 2016-07-13 02:29:10 UTC
do the usb sound card gave any hardwre volume controls ?

lsusb -vvvv

state.VT3 {
	control.1 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.2 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		comment {
			access read
			type INTEGER
			count 4
			range '0 - 36'
		}
	}
}
Comment 4 Jens Mühlenhoff 2016-07-13 06:45:00 UTC
(In reply to Raymond from comment #3)
> do the usb sound card gave any hardware volume controls ?
> 

With kernel 4.2.0 there were none, i just rerun alsa-info with kernel 4.6.3:

http://www.alsa-project.org/db/?f=00e0f8b147788273808b7f2122eceb30cefcd432

There is a "MIDI Input Mode" control now, but it doesn't matter if set to "High Load" or "Light Load" the I/O error problem remains.
Comment 5 Raymond 2016-07-14 03:47:28 UTC
you have to post output of your usb audio 

lsusb -vvvv

and system log when the input/output error occur 


do it exceed maximum bandwidth of the usb controller if you card only support 96000Hz , s32_le and two channels
Comment 6 Jens Mühlenhoff 2016-07-14 18:32:55 UTC
Created attachment 223871 [details]
lusb -vvvv
Comment 7 Jens Mühlenhoff 2016-07-14 18:33:46 UTC
Created attachment 223881 [details]
dmesg - after error
Comment 8 Raymond 2016-07-15 03:15:36 UTC
[    6.857084] usb 3-9: Unable to change format on ep #8e: already in use
[    6.857170] usb 3-9: Unable to change format on ep #8e: already in use
[    6.857252] usb 3-9: Unable to change format on ep #8e: already in use
[    6.857327] usb 3-9: Unable to change format on ep #8e: already in use
[    6.857403] usb 3-9: Unable to change format on ep #8e: already in use
[    6.858180] usb 3-9: Unable to change format on ep #8e: already in use



Bus 003 Device 002: ID 0582:017a Roland Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol       255 
  bMaxPacketSize0        64
  idVendor           0x0582 Roland Corp.
  idProduct          0x017a 
  bcdDevice            1.00
  iManufacturer           1 Roland
  iProduct                2 VT-3
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          176
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2 
      bInterfaceProtocol      2 
      iInterface              0 
      ** UNRECOGNIZED:  06 24 f1 01 00 00
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2 
      bInterfaceProtocol      2 
      iInterface              0 
      ** UNRECOGNIZED:  07 24 01 01 00 01 00
      ** UNRECOGNIZED:  0b 24 02 01 02 04 18 01 00 77 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0d  EP 13 OUT
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0070  1x 112 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2 
      bInterfaceProtocol      1 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2 
      bInterfaceProtocol      1 
      iInterface              0 
      ** UNRECOGNIZED:  07 24 01 07 00 01 00
      ** UNRECOGNIZED:  0b 24 02 01 04 04 18 01 00 77 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8e  EP 14 IN
        bmAttributes           37
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Implicit feedback Data
        wMaxPacketSize     0x00e0  1x 224 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      3 
      bInterfaceProtocol      0 
      iInterface              0 
      ** UNRECOGNIZED:  06 24 f1 02 01 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      3 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol       255 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)
Comment 9 Lucas Endres 2021-04-05 00:13:09 UTC
Sorry to bring this up when this bug report is so old, but if it still isn't working for you, I've edited a patch for many Roland devices that probably will.  If you're curious, you can find my Roland umbrella-inclusion patch here: https://bugzilla.kernel.org/show_bug.cgi?id=212519

Thanks for any feedback you can give,

  Lucas
Comment 10 Jens Mühlenhoff 2021-07-11 09:15:59 UTC
(In reply to Lucas Endres from comment #9)
> Sorry to bring this up when this bug report is so old, but if it still isn't
> working for you, I've edited a patch for many Roland devices that probably
> will.  If you're curious, you can find my Roland umbrella-inclusion patch
> here: https://bugzilla.kernel.org/show_bug.cgi?id=212519
> 
> Thanks for any feedback you can give,
> 
>   Lucas

The problem is fixed, the Roland VT-3 is working on kernel 5.13.

Thank you!
Comment 11 Lucas Endres 2021-07-11 21:23:03 UTC
(In reply to Jens Mühlenhoff from comment #10)
> (In reply to Lucas Endres from comment #9)
> > Sorry to bring this up when this bug report is so old, but if it still
> isn't
> > working for you, I've edited a patch for many Roland devices that probably
> > will.  If you're curious, you can find my Roland umbrella-inclusion patch
> > here: https://bugzilla.kernel.org/show_bug.cgi?id=212519
> > 
> > Thanks for any feedback you can give,
> > 
> >   Lucas
> 
> The problem is fixed, the Roland VT-3 is working on kernel 5.13.
> 
> Thank you!

I'm glad, and you're welcome! Thanks is really due to Takashi Iwai, who along with Mike Oliphant's and my testing created the wonderful BOSS/EDIROL/Roland auto-detection/configuration patch that you're using in kernel 5.13.  My patch may have worked for you, but Takashi is the masterful one here: https://patchwork.kernel.org/project/alsa-devel/patch/20210422120413.457-2-tiwai@suse.de/

Note You need to log in before you can comment on or make changes to this bug.