Thread: [Line6linux-devel] line6 out of staging
Status: Pre-Alpha
Brought to you by:
mgrabner
From: Laurent N. <lau...@ya...> - 2012-11-22 07:57:15
|
Hi guys, Let me know if there's some easy and boring tasks you don't want to waste time on. Like fix CodingStyle or so. I'm not a kernel guru but can fix minor issues. Thank's for your work! Laurent. |
From: Stefan H. <ste...@gm...> - 2012-11-22 09:50:06
|
On Thu, Nov 22, 2012 at 8:57 AM, Laurent Navet <lau...@ya...> wrote: > Let me know if there's some easy and boring tasks you don't want to waste > time on. Like fix CodingStyle or so. > I'm not a kernel guru but can fix minor issues. I will send out a patch series this weekend that drops a lot of code (that functionality moves to userspace). This means coding style cleanups right now might be wasted on code that gets deleted. Once I've sent the series I'll also send an email to line6linux-devel with the todo list that remains. Maybe you'll find something that you want to tackle. I'll CC you on the patches and would appreciate code review and/or testing. I only have a POD HD300 so I'm unable to test the POD XT, Variax, etc code that I've changed. If you have time to test the patches, please reply to the patch email thread with Tested-by: Laurent Navet <lau...@ya...> and the device model that you tested. Your Tested-by: line becomes part of the commit history when it gets merged into Linux. Stefan |
From: Stefan H. <ste...@gm...> - 2012-11-22 20:05:39
|
On Thu, Nov 22, 2012 at 10:49 AM, Stefan Hajnoczi <ste...@gm...> wrote: > On Thu, Nov 22, 2012 at 8:57 AM, Laurent Navet <lau...@ya...> wrote: >> Let me know if there's some easy and boring tasks you don't want to waste >> time on. Like fix CodingStyle or so. >> I'm not a kernel guru but can fix minor issues. > > I will send out a patch series this weekend that drops a lot of code > (that functionality moves to userspace). This means coding style > cleanups right now might be wasted on code that gets deleted. > > Once I've sent the series I'll also send an email to line6linux-devel > with the todo list that remains. Maybe you'll find something that you > want to tackle. I had some time to prepare the patch series and have sent them out earlier than expected. If you'd like to help clean up the staging driver, I suggest starting with my line6-drop-sysfs-attrs branch (saves you from applying the patch emails yourself): https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs By using the patches I just sent out as a starting point you avoid cleaning up code that is going to be removed anyway. Here are the remaining checkpatch.pl warnings, we should eventually address them all: WARNING: line over 80 characters #64: FILE: staging/line6/driver.c:61: + { LINE6_BIT_BASSPODXT, "BassPODxt", "BassPODxt", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #65: FILE: staging/line6/driver.c:62: + { LINE6_BIT_BASSPODXTLIVE, "BassPODxtLive", "BassPODxt Live", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #66: FILE: staging/line6/driver.c:63: + { LINE6_BIT_BASSPODXTPRO, "BassPODxtPro", "BassPODxt Pro", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #67: FILE: staging/line6/driver.c:64: + { LINE6_BIT_GUITARPORT, "GuitarPort", "GuitarPort", LINE6_BIT_PCM }, WARNING: line over 80 characters #68: FILE: staging/line6/driver.c:65: + { LINE6_BIT_POCKETPOD, "PocketPOD", "Pocket POD", LINE6_BIT_CONTROL }, WARNING: line over 80 characters #69: FILE: staging/line6/driver.c:66: + { LINE6_BIT_PODHD300, "PODHD300", "POD HD300", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #70: FILE: staging/line6/driver.c:67: + { LINE6_BIT_PODHD500, "PODHD500", "POD HD500", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #71: FILE: staging/line6/driver.c:68: + { LINE6_BIT_PODSTUDIO_GX, "PODStudioGX", "POD Studio GX", LINE6_BIT_PCM }, WARNING: line over 80 characters #72: FILE: staging/line6/driver.c:69: + { LINE6_BIT_PODSTUDIO_UX1, "PODStudioUX1", "POD Studio UX1", LINE6_BIT_PCM }, WARNING: line over 80 characters #73: FILE: staging/line6/driver.c:70: + { LINE6_BIT_PODSTUDIO_UX2, "PODStudioUX2", "POD Studio UX2", LINE6_BIT_PCM }, WARNING: line over 80 characters #74: FILE: staging/line6/driver.c:71: + { LINE6_BIT_PODX3, "PODX3", "POD X3", LINE6_BIT_PCM }, WARNING: line over 80 characters #75: FILE: staging/line6/driver.c:72: + { LINE6_BIT_PODX3LIVE, "PODX3Live", "POD X3 Live", LINE6_BIT_PCM }, WARNING: line over 80 characters #76: FILE: staging/line6/driver.c:73: + { LINE6_BIT_PODXT, "PODxt", "PODxt", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #77: FILE: staging/line6/driver.c:74: + { LINE6_BIT_PODXTLIVE, "PODxtLive", "PODxt Live", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #78: FILE: staging/line6/driver.c:75: + { LINE6_BIT_PODXTPRO, "PODxtPro", "PODxt Pro", LINE6_BIT_CONTROL_PCM_HWMON }, WARNING: line over 80 characters #79: FILE: staging/line6/driver.c:76: + { LINE6_BIT_TONEPORT_GX, "TonePortGX", "TonePort GX", LINE6_BIT_PCM }, WARNING: line over 80 characters #80: FILE: staging/line6/driver.c:77: + { LINE6_BIT_TONEPORT_UX1, "TonePortUX1", "TonePort UX1", LINE6_BIT_PCM }, WARNING: line over 80 characters #81: FILE: staging/line6/driver.c:78: + { LINE6_BIT_TONEPORT_UX2, "TonePortUX2", "TonePort UX2", LINE6_BIT_PCM }, WARNING: line over 80 characters #82: FILE: staging/line6/driver.c:79: + { LINE6_BIT_VARIAX, "Variax", "Variax Workbench", LINE6_BIT_CONTROL }, WARNING: line over 80 characters #218: FILE: staging/line6/driver.c:215: + line6->ep_control_write), WARNING: line over 80 characters #577: FILE: staging/line6/driver.c:574: + /* Wait for data length. We'll get a couple of 0xff until length arrives. */ WARNING: line over 80 characters #26: FILE: staging/line6/driver.h:23: +#if defined(CONFIG_LINE6_USB_DUMP_CTRL) || defined(CONFIG_LINE6_USB_DUMP_MIDI) || defined(CONFIG_LINE6_USB_DUMP_PCM) WARNING: Prefer netdev_err(netdev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... #59: FILE: staging/line6/driver.h:56: + printk(KERN_ERR "line6usb driver bug: missing case in %s:%d\n", \ WARNING: simple_strtoul is obsolete, use kstrtoul instead #87: FILE: staging/line6/pcm.c:84: + dev2pcm(dev)->impulse_period = simple_strtoul(buf, NULL, 10); ERROR: switch and case should be at the same indent #426: FILE: staging/line6/pcm.c:423: + switch (line6->product) { [...] + case LINE6_DEVID_TONEPORT_UX2: + case LINE6_DEVID_PODSTUDIO_UX2: WARNING: line over 80 characters #248: FILE: staging/line6/playback.c:245: + if (line6pcm->flags & LINE6_BIT_PCM_ALSA_CAPTURE_STREAM) { WARNING: line over 80 characters #254: FILE: staging/line6/playback.c:251: + urb_out->transfer_buffer_length); WARNING: line over 80 characters #40: FILE: staging/line6/pod.c:37: + /* POD_SYSEX_DUMPMEM2 = 0x76 */ /* dumps entire internal memory of PODxt Pro */ WARNING: line over 80 characters #162: FILE: staging/line6/pod.c:159: + if (memcmp(buf + 1, line6_midi_id, sizeof(line6_midi_id)) == 0) { ERROR: Macros with complex values should be enclosed in parenthesis #45: FILE: staging/line6/usbdefs.h:42: +#define LINE6_BIT(x) LINE6_BIT_ ## x = 1 << LINE6_INDEX_ ## x |
From: Laurent N. <lau...@gm...> - 2012-11-22 20:28:25
|
>>> Let me know if there's some easy and boring tasks you don't want to >>> waste >>> time on. Like fix CodingStyle or so. >>> I'm not a kernel guru but can fix minor issues. > > I had some time to prepare the patch series and have sent them out > earlier than expected. > > If you'd like to help clean up the staging driver, I suggest starting > with my line6-drop-sysfs-attrs branch (saves you from applying the > patch emails yourself): > https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs Ok, I'll do that I can test with a PodXT, and will work on checkpatch issues. I can't work on it this week-end, I'm going to Paris mini DebConf [1]. So don't except an answer before 5-7 days. Also, I've switched to gmail since it's this adress I use for my Open Source activities. Regards, [1] http://fr2012.mini.debconf.org/#schedule -- « On ne résout pas un problème avec les modes de pensée qui l’ont engendré. » « You cannot solve current problems with current thinking. Current problems are the result of current thinking » |
From: L. A. G. <agi...@sy...> - 2012-11-24 16:06:59
|
On Thu, Nov 22, 2012 at 09:05:31PM +0100, Stefan Hajnoczi wrote: > If you'd like to help clean up the staging driver, I suggest starting > with my line6-drop-sysfs-attrs branch (saves you from applying the > patch emails yourself): > https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs Aaah, that's what I meant in my older messages regarding to a public git repo to ease contribution :-) Thanks and regards, -- L. Alberto Giménez JabberID agi...@ja... GnuPG key ID 0x3BAABDE1 |
From: Stefan H. <ste...@gm...> - 2012-11-29 09:13:13
|
On Thu, Nov 29, 2012 at 9:40 AM, "L. Alberto Giménez" <agi...@sy...> wrote: > El 29/11/2012 7:54, Stefan Hajnoczi escribió: > >> >> Is the device plugged into a USB 2.0 port? >> > > It's connected to an external hub. I don't know if that's the reason of > lsusb not showing endpoints, but when I connect the device I get this > message: > > > [ 333.697431] usb 1-2.4: new full-speed USB device number 4 using ohci_hcd > [ 333.795169] usb 1-2.4: not running at top speed; connect to a high speed > hub > > I didn't know that would alter the number of endpoints that the device shows > to the system. > > I use a hub just because it's easier to me to reach the hub on my desk with > the USB cable than the rear of my computer, but I can try to connect > directly to the root hub and see if I see any changes. Does it work under Windows through your hub? Stefan |
From: Stefan H. <ste...@gm...> - 2012-11-24 17:06:21
|
On Sat, Nov 24, 2012 at 4:40 PM, L. Alberto Giménez <agi...@sy...> wrote: > On Thu, Nov 22, 2012 at 09:05:31PM +0100, Stefan Hajnoczi wrote: > >> If you'd like to help clean up the staging driver, I suggest starting >> with my line6-drop-sysfs-attrs branch (saves you from applying the >> patch emails yourself): >> https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs > > Aaah, that's what I meant in my older messages regarding to a public git repo to ease > contribution :-) The URL is a convenient way to share this long patch series. It will not receive additional commits because the "drop sysfs attrs" series is finished. It is not an ongoing "line6-cleanup" tree. Patches should be sent directly to the mailing lists - they will be merged into linux-next.git and the svn repo. Were we thinking about the same thing? :) Stefan |
From: L. A. G. <agi...@sy...> - 2012-12-20 21:09:15
|
On Thu, Nov 29, 2012 at 10:13:00AM +0100, Stefan Hajnoczi wrote: > > I didn't know that would alter the number of endpoints that the device shows > > to the system. > > > > I use a hub just because it's easier to me to reach the hub on my desk with > > the USB cable than the rear of my computer, but I can try to connect > > directly to the root hub and see if I see any changes. > > Does it work under Windows through your hub? Hi again, Sorry for the late reply. I've been offline for some weeks and I couldn't test it. It seems that the culprit was the hub. In my Windows box, it failed as well, so I tried to connect the POD directly to my Linux system (well... with an extension USB cable) and now lsusb sees the audio interface. When connecting the device I get some errors though, but I think that that's caused by the code itself: Dec 20 21:42:06 bart kernel: [ 3394.007846] usb 8-1: config 1 interface 1 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64 Dec 20 21:42:06 bart kernel: [ 3394.007850] usb 8-1: config 1 interface 1 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64 At least, it's some progress. Even aplay -l shows the audio device: card 2: PODHD500 [POD HD500], device 0: POD HD500 [POD HD500] Subdevices: 1/1 Subdevice #0: subdevice #0 card 3: PODHD500_1 [POD HD500], device 0: POD HD500 [POD HD500] Subdevices: 1/1 Subdevice #0: subdevice #0 I haven't been able to test it with real sound, but I think that it's something already. What I don't quite understand is why the hub causes the problem. Shouldn't it be 'transparent'? I'll post the results when I actually try to get sound from the device. Regards! -- L. Alberto Giménez JabberID agi...@ja... GnuPG key ID 0x3BAABDE1 |
From: L. A. G. <agi...@sy...> - 2012-12-29 20:16:55
|
On Thu, Dec 20, 2012 at 10:09:05PM +0100, L. Alberto Giménez wrote: > On Thu, Nov 29, 2012 at 10:13:00AM +0100, Stefan Hajnoczi wrote: Hi, I've installed some USB monitors on my Windows machines (some of them are trial versions, so I downloaded a handful of them and will try them out for features, ease of use, etc). So, anyone could point me to documentation on how to begin? I'm not familiar with inner USB workings though I have some basic background (I've read LDD). I can now get the URBs running between the Windows box and the POD after connecting the device via USB, but I don't know what to do or how to parse all of that data... any help? Regards, -- L. Alberto Giménez JabberID agi...@ja... GnuPG key ID 0x3BAABDE1 |
From: Markus G. <gr...@ic...> - 2012-12-29 21:31:43
|
Am Samstag, 29. Dezember 2012, 21:16:44 schrieb L. Alberto Giménez: > On Thu, Dec 20, 2012 at 10:09:05PM +0100, L. Alberto Giménez wrote: > > On Thu, Nov 29, 2012 at 10:13:00AM +0100, Stefan Hajnoczi wrote: > Hi, > > I've installed some USB monitors on my Windows machines (some of them are > trial versions, so I downloaded a handful of them and will try them out for > features, ease of use, etc). > > So, anyone could point me to documentation on how to begin? I'm not familiar > with inner USB workings though I have some basic background (I've read > LDD). I can now get the URBs running between the Windows box and the POD > after connecting the device via USB, but I don't know what to do or how to > parse all of that data... any help? I once had the optimistic assumption that it would be possible to write code for devices which are not available to me for testing. With this intention in mind, I wrote up some instructions what data to record to be able to figure our the protocol by which host and device communicate (basically reflecting the experiments I made to implement the PODxt Pro driver): http://www.tanzband-scream.at/line6/usblog.html Although it turned out to be very difficult to actually write code based on these data without being able to test myself, it might provide some hints for you. For the kernel part of the ALSA interface, you should read this: http://www.alsa-project.org/~tiwai/writing-an-alsa-driver/index.html For the USB stuff, I only used the documentation included in the kernel sources. Hope that helps, feel free to ask if you are looking for a particular piece of information! Kind regards, Markus |
From: L. A. G. <agi...@sy...> - 2012-11-26 20:39:13
|
On Sat, Nov 24, 2012 at 06:06:13PM +0100, Stefan Hajnoczi wrote: > On Sat, Nov 24, 2012 at 4:40 PM, L. Alberto Giménez > <agi...@sy...> wrote: > > On Thu, Nov 22, 2012 at 09:05:31PM +0100, Stefan Hajnoczi wrote: > > > >> If you'd like to help clean up the staging driver, I suggest starting > >> with my line6-drop-sysfs-attrs branch (saves you from applying the > >> patch emails yourself): > >> https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs > > > > Aaah, that's what I meant in my older messages regarding to a public git repo to ease > > contribution :-) > > The URL is a convenient way to share this long patch series. It will > not receive additional commits because the "drop sysfs attrs" series > is finished. Ok, got it. > > It is not an ongoing "line6-cleanup" tree. Patches should be sent > directly to the mailing lists - they will be merged into > linux-next.git and the svn repo. Understood. > Were we thinking about the same thing? :) It seems not :) I was thinking about a public cleanup branch to 'coordinate' the patches (or the development). I'm currently compiling the drop-sysfs branch. I have an HD 500 device, so I will give feedback about if it works 'out of the box' or not. Thanks for your great work! Regards, -- L. Alberto Giménez JabberID agi...@ja... GnuPG key ID 0x3BAABDE1 |
From: Stefan H. <ste...@gm...> - 2012-11-27 05:26:50
|
On Mon, Nov 26, 2012 at 9:39 PM, L. Alberto Giménez <agi...@sy...> wrote: > I'm currently compiling the drop-sysfs branch. I have an HD 500 device, so I will > give feedback about if it works 'out of the box' or not. Thanks for trying it out. On the HD 500 there should be no change in behavior from before. Stefan |
From: L. A. G. <agi...@sy...> - 2012-11-27 20:54:15
|
On Tue, Nov 27, 2012 at 06:26:42AM +0100, Stefan Hajnoczi wrote: > On Mon, Nov 26, 2012 at 9:39 PM, L. Alberto Giménez > <agi...@sy...> wrote: > > I'm currently compiling the drop-sysfs branch. I have an HD 500 device, so I will > > give feedback about if it works 'out of the box' or not. > > Thanks for trying it out. On the HD 500 there should be no change in > behavior from before. OK, so I compiled the cleanup branch, enabled the staging line6 driver (not the debug options since I saw in the mailing list messages that the kernel/user space apps already have debugging capabilities). The module loads fine, but the device won't work: [ 333.697431] usb 1-2.4: new full-speed USB device number 4 using ohci_hcd [ 333.795169] usb 1-2.4: not running at top speed; connect to a high speed hub [ 333.805144] usb 1-2.4: New USB device found, idVendor=0e41, idProduct=414d [ 333.805147] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 333.805149] usb 1-2.4: Product: POD HD500 [ 333.805151] usb 1-2.4: Manufacturer: Line 6 [ 334.284407] line6usb: module is from the staging directory, the quality is unknown, you have been warned. [ 334.284986] line6usb 1-2.4:1.0: Line6 POD HD500 found [ 334.284989] usb 1-2.4: selecting invalid altsetting 1 [ 334.284991] line6usb 1-2.4:1.0: set_interface failed [ 334.284996] line6usb: probe of 1-2.4:1.0 failed with error -22 aplay -l doesn't show anything but my regular sound card information and alsamixer won't show any POD related control. usb-devices output: T: Bus=01 Lev=02 Prnt=03 Port=03 Cnt=01 Dev#= 7 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 P: Vendor=0e41 ProdID=414d Rev=00.00 S: Manufacturer=Line 6 S: Product=POD HD500 C: #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) Any idea? Regards, -- L. Alberto Giménez JabberID agi...@ja... GnuPG key ID 0x3BAABDE1 |
From: Stefan H. <ste...@gm...> - 2012-11-28 07:35:05
|
On Tue, Nov 27, 2012 at 9:54 PM, L. Alberto Giménez <agi...@sy...> wrote: > On Tue, Nov 27, 2012 at 06:26:42AM +0100, Stefan Hajnoczi wrote: >> On Mon, Nov 26, 2012 at 9:39 PM, L. Alberto Giménez >> <agi...@sy...> wrote: >> > I'm currently compiling the drop-sysfs branch. I have an HD 500 device, so I will >> > give feedback about if it works 'out of the box' or not. >> >> Thanks for trying it out. On the HD 500 there should be no change in >> behavior from before. > > OK, so I compiled the cleanup branch, enabled the staging line6 driver (not the debug > options since I saw in the mailing list messages that the kernel/user space apps > already have debugging capabilities). > > The module loads fine, but the device won't work: > > [ 333.697431] usb 1-2.4: new full-speed USB device number 4 using ohci_hcd > [ 333.795169] usb 1-2.4: not running at top speed; connect to a high speed hub > [ 333.805144] usb 1-2.4: New USB device found, idVendor=0e41, idProduct=414d > [ 333.805147] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 > [ 333.805149] usb 1-2.4: Product: POD HD500 > [ 333.805151] usb 1-2.4: Manufacturer: Line 6 > [ 334.284407] line6usb: module is from the staging directory, the quality is > unknown, you have been warned. > [ 334.284986] line6usb 1-2.4:1.0: Line6 POD HD500 found > [ 334.284989] usb 1-2.4: selecting invalid altsetting 1 > [ 334.284991] line6usb 1-2.4:1.0: set_interface failed > [ 334.284996] line6usb: probe of 1-2.4:1.0 failed with error -22 > > aplay -l doesn't show anything but my regular sound card information and alsamixer > won't show any POD related control. > > usb-devices output: > T: Bus=01 Lev=02 Prnt=03 Port=03 Cnt=01 Dev#= 7 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 > P: Vendor=0e41 ProdID=414d Rev=00.00 > S: Manufacturer=Line 6 > S: Product=POD HD500 > C: #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=100mA > I: If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) > > Any idea? Has the HD 500 ever worked with the driver? AFAIK support for HD 500 is incomplete. Please post the output of "lsusb -d 0e41:414d -v" while the device is attached. This will provide the USB capabilities of the device so we can try to find the correct interface, altsetting, and endpoints. If you want to play with this yourself, try editing the switch statements in driver.c:line6_probe() to use the interface, altsetting, and endpoint information from the lsusb output. This is just guesswork, if you want to be sure then you need to capture USB traffic from the Line6 Edit software to see how the Windows driver talks to the device. Stefan |
From: L. A. G. <agi...@sy...> - 2012-11-28 20:15:40
|
On Wed, Nov 28, 2012 at 08:34:52AM +0100, Stefan Hajnoczi wrote: > > Has the HD 500 ever worked with the driver? AFAIK support for HD 500 > is incomplete. I don't know, it's the first time I try it out in Linux. I have the hardware and it would be awesome to help to add support for HD500 for Linux :) > Please post the output of "lsusb -d 0e41:414d -v" while the device is > attached. This will provide the USB capabilities of the device so we > can try to find the correct interface, altsetting, and endpoints. # lsusb -d 0e41:414d -v Bus 001 Device 010: ID 0e41:414d Line6, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 64 idVendor 0x0e41 Line6, Inc. idProduct 0x414d bcdDevice 0.00 iManufacturer 1 Line 6 iProduct 2 POD HD500 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 18 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x40 (Missing must-be-set bit!) Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 4 User Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered > > If you want to play with this yourself, try editing the switch > statements in driver.c:line6_probe() to use the interface, altsetting, > and endpoint information from the lsusb output. This is just > guesswork, if you want to be sure then you need to capture USB traffic > from the Line6 Edit software to see how the Windows driver talks to > the device. Well, yes, I want to play :) But I have a very limited knowledge of USB kernel (and ALSA) development. I need to read some kernel documents and try to understand the code! So, whare do you recommend me to begin with? On the other hand, I can begin to submit checkpatch fixes so I get comfortable with the code. In the kernel configuration, I didn't activate the debug options because i read in the list that they were to be obsoleted for general-purpose facilities (usbmon, etc). Would you recommend to activate those options anyway? Best regards, -- L. Alberto Giménez JabberID agi...@ja... GnuPG key ID 0x3BAABDE1 |
From: Stefan H. <ste...@gm...> - 2012-11-29 06:54:51
|
On Wed, Nov 28, 2012 at 9:15 PM, L. Alberto Giménez <agi...@sy...> wrote: > On Wed, Nov 28, 2012 at 08:34:52AM +0100, Stefan Hajnoczi wrote: >> Please post the output of "lsusb -d 0e41:414d -v" while the device is >> attached. This will provide the USB capabilities of the device so we >> can try to find the correct interface, altsetting, and endpoints. > > # lsusb -d 0e41:414d -v > > Bus 001 Device 010: ID 0e41:414d Line6, Inc. > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 255 Vendor Specific Class > bDeviceSubClass 255 Vendor Specific Subclass > bDeviceProtocol 255 Vendor Specific Protocol > bMaxPacketSize0 64 > idVendor 0x0e41 Line6, Inc. > idProduct 0x414d > bcdDevice 0.00 > iManufacturer 1 Line 6 > iProduct 2 POD HD500 > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 18 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0x40 > (Missing must-be-set bit!) > Self Powered > MaxPower 100mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 0 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 255 Vendor Specific Subclass > bInterfaceProtocol 255 Vendor Specific Protocol > iInterface 4 User This is weird. There are no endpoints (bNumEndpoints is 0). The driver can't make use of this. > Device Qualifier (for other device speed): > bLength 10 > bDescriptorType 6 > bcdUSB 2.00 > bDeviceClass 255 Vendor Specific Class > bDeviceSubClass 255 Vendor Specific Subclass > bDeviceProtocol 255 Vendor Specific Protocol > bMaxPacketSize0 64 > bNumConfigurations 1 > Device Status: 0x0001 > Self Powered Is the device plugged into a USB 2.0 port? Stefan |
From: L. A. G. <agi...@sy...> - 2012-11-29 08:40:30
|
El 29/11/2012 7:54, Stefan Hajnoczi escribió: > > Is the device plugged into a USB 2.0 port? > It's connected to an external hub. I don't know if that's the reason of lsusb not showing endpoints, but when I connect the device I get this message: [ 333.697431] usb 1-2.4: new full-speed USB device number 4 using ohci_hcd [ 333.795169] usb 1-2.4: not running at top speed; connect to a high speed hub I didn't know that would alter the number of endpoints that the device shows to the system. I use a hub just because it's easier to me to reach the hub on my desk with the USB cable than the rear of my computer, but I can try to connect directly to the root hub and see if I see any changes. Thanks, L. Alberto Giménez |
From: Markus G. <gr...@ic...> - 2012-11-29 19:56:42
|
Am Donnerstag, 22. November 2012, 21:05:31 schrieb Stefan Hajnoczi: > On Thu, Nov 22, 2012 at 10:49 AM, Stefan Hajnoczi <ste...@gm...> wrote: > If you'd like to help clean up the staging driver, I suggest starting > with my line6-drop-sysfs-attrs branch (saves you from applying the > patch emails yourself): > https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs Do I have to clone the entire thing, or can I somehow "switch" an existing kernel tree to your version, receiving only the changes between the official kernel and yours? Thanks & kind regards, Markus |
From: Stefan H. <ste...@gm...> - 2012-11-29 20:09:46
|
On Thu, Nov 29, 2012 at 8:55 PM, Markus Grabner <gr...@ic...> wrote: > Am Donnerstag, 22. November 2012, 21:05:31 schrieb Stefan Hajnoczi: >> On Thu, Nov 22, 2012 at 10:49 AM, Stefan Hajnoczi <ste...@gm...> > wrote: >> If you'd like to help clean up the staging driver, I suggest starting >> with my line6-drop-sysfs-attrs branch (saves you from applying the >> patch emails yourself): >> https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs > Do I have to clone the entire thing, or can I somehow "switch" an existing > kernel tree to your version, receiving only the changes between the official > kernel and yours? If you have an existing kernel git tree (linux.git or linux-next.git) then you have already downloaded most of the commits. Try this to avoid downloading the majority of the kernel commit history: $ cd linux # existing linux.git or linux-next.git tree $ git fetch git://github.com/stefanha/linux.git line6-drop-sysfs-attrs >From git://github.com/stefanha/linux * branch line6-drop-sysfs-attrs -> FETCH_HEAD $ git checkout FETCH_HEAD Or if you expect to fetch from my repo again in the future, add a remote: $ cd linux # existing linux.git or linux-next.git tree $ git remote add stefanha git://github.com/stefanha/linux.git $ git fetch stefanha $ git checkout stefanha/line6-drop-sysfs-attrs (Now you can fetch 'stefanha' again in the future to get new branches from my repo.) Stefan |
From: Markus G. <gr...@ic...> - 2012-11-29 21:41:40
|
Am Donnerstag, 29. November 2012, 21:09:35 schrieb Stefan Hajnoczi: > On Thu, Nov 29, 2012 at 8:55 PM, Markus Grabner <gr...@ic...> wrote: > > Am Donnerstag, 22. November 2012, 21:05:31 schrieb Stefan Hajnoczi: > >> On Thu, Nov 22, 2012 at 10:49 AM, Stefan Hajnoczi <ste...@gm...> > > > > wrote: > >> If you'd like to help clean up the staging driver, I suggest starting > >> with my line6-drop-sysfs-attrs branch (saves you from applying the > >> patch emails yourself): > >> https://github.com/stefanha/linux/tree/line6-drop-sysfs-attrs > > > > Do I have to clone the entire thing, or can I somehow "switch" an existing > > kernel tree to your version, receiving only the changes between the > > official kernel and yours? > > If you have an existing kernel git tree (linux.git or linux-next.git) > then you have already downloaded most of the commits. > > Try this to avoid downloading the majority of the kernel commit history: > > $ cd linux # existing linux.git or linux-next.git tree > $ git fetch git://github.com/stefanha/linux.git line6-drop-sysfs-attrs > From git://github.com/stefanha/linux > * branch line6-drop-sysfs-attrs -> FETCH_HEAD > $ git checkout FETCH_HEAD > > Or if you expect to fetch from my repo again in the future, add a remote: > > $ cd linux # existing linux.git or linux-next.git tree > $ git remote add stefanha git://github.com/stefanha/linux.git > $ git fetch stefanha > $ git checkout stefanha/line6-drop-sysfs-attrs > > (Now you can fetch 'stefanha' again in the future to get new branches > from my repo.) Thanks, now I received 15MB into an up-to-date linux.git tree (instead of ~1GB for the full clone)! Kind regards, Markus |