Menu

Support for GuitarPort

Help
2007-10-28
2013-06-13
  • Douglas Borg

    Douglas Borg - 2007-10-28

    I own a Line6 GuitarPort and I am trying to get it to work with this driver. First off, are there any reports of this working with the GuitarPort? Is this a hopeless endeavor?

    I pulled down the latest source (0.7.3beta) from svn and tried to edit the specified device id arrays, but I don't quite know what I am doing. I have very limited experience programming in C so forgive my noobness and any help would be much appreciated.

    After plugging in the GuitarPort my output of "lsusb -d 0e41:" is:
    Bus 001 Device 005: ID 0e41:4750 Line6, Inc. GuitarPort

    But I am not sure what I am supposed to do with it. After looking through driver.c, I didn't see any obvious place to put the 4750 device_id.

    That said, this is what I *have* done so far:

    device.c:
    ...
    /* table of devices that work with this driver */
    static struct usb_device_id line6_id_table [] = {
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXT) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXTLIVE) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXTPRO) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODXT) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODXTLIVE) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODXTPRO) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_POCKETPOD) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_VARIAX) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_TONEPORT_UX1) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_TONEPORT_UX2) },
        { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_GUITARPORT) }, // My edit to add GuitarPort
        { },
    };
    MODULE_DEVICE_TABLE (usb, line6_id_table);

    static const char *line6_name_table[] = {
        "BassPODxt",
        "BassPODxt Live",
        "BassPODxt Pro",
        "PODxt",
        "PODxt Live",
        "PODxt Pro",
        "Pocket POD",
        "Variax Workbench",
        "TonePort UX1",
        "TonePort UX2",
        "GuitarPort", // Another edit.
        0
    };
    ...

    This is the output I get when I try to make install after those changes (obviously, I am doing something wrong):

    make -C /lib/modules/2.6.22-14-generic/build SUBDIRS=/home/decappa/Desktop/svnline6usb/trunk modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic'
      CC [M]  /home/decappa/Desktop/svnline6usb/trunk/driver.o
    /home/decappa/Desktop/svnline6usb/trunk/driver.c:46: error: ‘LINE6_DEVID_GUITARPORT’ undeclared here (not in a function)
    /home/decappa/Desktop/svnline6usb/trunk/driver.c:77: error: ‘LINE6_BIT_GUITARPORT’ undeclared here (not in a function)
    /home/decappa/Desktop/svnline6usb/trunk/driver.c:77: error: initializer element is not constant
    /home/decappa/Desktop/svnline6usb/trunk/driver.c:77: error: (near initialization for ‘line6_bits_table[10]’)
    make[2]: *** [/home/decappa/Desktop/svnline6usb/trunk/driver.o] Error 1
    make[1]: *** [_module_/home/decappa/Desktop/svnline6usb/trunk] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
    make: *** [default] Error 2

    Hopefully someone out there can help me. I have looked around a bit and have found a few users who would appreciate a Linux driver for guitarport. I hope I can contribute something meaningful to this project.

     
    • Michael Hodgins

      Michael Hodgins - 2007-10-29

      Hi Douglas

      I'm not a c programmer but I have a fair amount of programming experience, and as you helped me out, I thought I'd take a look at this one. I've opened the source on KDevelop and then I did a search for LINE6_DEVID_BASSPODXTLIVE (just picked an existing device). The IDE found 8 matches, the most interesting being in usbdefs.h. I think you need to define your constant (LINE6_DEVID_GUITARPORT) here and it gets replaced with your device id (0x4750 I guess) during compilation.

      Then I think you'll have to add the LINE6_DEVID_GUITARPORT constant to the 5 switch statements in driver.c (near lines 361, 586, 603, 715 and 788 ) and also midi.c (near line 168).

      I hope this all helps, and good luck.

      Michael

       
    • tinivole

      tinivole - 2008-02-01

      As far as I know, GuitarPort is strictly a none-midi device, so all the places where Toneport should be just fine, though I am still working on getting my Toneport UX2 to be recognised by my PC with no errors...

       
    • Markus Grabner

      Markus Grabner - 2008-02-01

      The GuitarPort and TonePort seem to use a different protocol for audio data transmission. A user once sent me a log file, which looked quite different from what travels over the USB to a POD device. So I see little hope for Guitar-/TonePort support unless a user with USB driver development experience addresses this issue. I could give it a try myself (would certainly be interesting), but I don't have such a device.

      Kind regards,
      Markus

       
    • Anonymous

      Anonymous - 2008-02-14

      I too would like support for the GuitarPort. I have one and it is one of the biggest reasons I haven't converted fully to Linux. If I can help in anyway to get the support, please tell me. I have no coding experience but I do have the desire to help.

      -Chris

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.