Please ensure Javascript is enabled for purposes of website accessibility Jump to content

Line 6 POD HD Pro X with Linux


Recommended Posts

Greetings everyone.

 

I'm here to clear a few things out about using the Line 6 POD HD Pro X with Linux OS, more precisely, Ubuntu 14.04 LTS.

 

The main question is: Is it possible?

 

I am curious about the possibility of using this amp's digital interface for recording and also I'd like to know if it is possible to use the POD's editor, all done in my OS of choice.

 

I am aware that Line 6 doesn't provide any drivers for Linux machines but in my research I've stumbled upon a thread about a project developing linux drivers not the HD Pro X but the HD500, and I wonder if those can be used with the HD Pro X.

 

Thank you for any replies.

Link to comment
Share on other sites

  • 1 year later...

at least in kernel 4.4 are included line6 modules. In ubuntu if you go to /lib/modules/4.4.0-36-generic/kernel/sound/usb/line6 you will see the modules:

snd-usb-line6
snd-usb-podhd
snd-usb-pod
snd-usb-toneport
snd-usb-variax

you should be able to load them with: modprobe
example:
sudo modprobe snd-usb-podhd

unfortunnately I haven't been able to bring my hd500x running, I don't know if it is because of the X or not. modprobe work's fine but I don't see it with

cat /proc/asound/cards

nor I see it in alsamixer.

hope this help, let us know how it goes.

Link to comment
Share on other sites

  • 9 months later...

Hi, I have good news.

We could patch the line6usb drivers and make my pod hd500x capture and playback in linux with kernel above or equal 4.9. I'm writing a guide on how to do it, when ready I will let you know. With a small change I believe it could work with pod hd pro, but I don't have one to test it.

Link to comment
Share on other sites

  • 2 months later...

Hi Hmoller,

 

Thank so much!!! I have a POD HD desktop and every time I'm dreaming with this solution. From time to time I search in internet to find anyone has a solution for that. Please let me know if you finish that guide. I wanna try to see if its will work with my POD.
 
Regards,
 
Link to comment
Share on other sites

Hi LuizMartins,

  the guide is ready and the patch for pod hd500x is present in kernel 4.13. But, since I only have the parameters for the hd500x, it won't work in hd desktop. However, it should be easy to build the patch, I need the lsusb -v of the device. If you don't know how to do it, right after you plug your device to the system you should run in a terminal dmesg.That will produce at the end an output like this:

[ 8860.408050] usb 1-3: new high-speed USB device number 4 using ehci-pci
[ 8860.527576] usb 1-3: New USB device found, idVendor=0e41, idProduct=4159
[ 8860.527579] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8860.527582] usb 1-3: Product: POD HD500X
[ 8860.527584] usb 1-3: Manufacturer: Line 6

what interest us is the idVendor (which should be 0e41, that's line6) and idProduct which should be similar to 4159.

store those numbers and the execute the following replacing idVendor and idProduct with the numbers you got in dmesg:

lsusb -v -d idVendor:idProduct

 

and give to me that output so I can prepare the patch.

Which kernel version are you using?

 

brgds

HPM
 

 

Link to comment
Share on other sites

Hmoller,

 

My Kernell is 4.10 low latency. It's important update the kernel? Bellow the output of dmesg and lsusb:

 

[ 1104.220447] usb 3-1: new high-speed USB device number 3 using xhci_hcd
[ 1105.720486] usb 3-1: new high-speed USB device number 4 using xhci_hcd
[ 1105.888840] usb 3-1: config 1 interface 1 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[ 1105.888845] usb 3-1: config 1 interface 1 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[ 1105.889140] usb 3-1: New USB device found, idVendor=0e41, idProduct=4156
[ 1105.889143] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1105.889145] usb 3-1: Product: POD HD
[ 1105.889147] usb 3-1: Manufacturer: Line 6
 
 
Bus 003 Device 004: ID 0e41:4156 Line6, Inc. POD HD Desktop
Couldn't open device, some information will be missing
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          0x4156 POD HD Desktop
  bcdDevice            0.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           64
    bNumInterfaces          2
    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              3 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              3 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x002e  1x 46 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x002e  1x 46 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
 
 
 
Thanks again for this help!
Link to comment
Share on other sites

Ok, it seems identical to pod hd500x so we will try with the same configuration. And since you have kernel above 4.9 it should be easy

The guide is in:

https://sites.google.com/site/hmoller/pod-hd500x-linux

 

change the lines where it says "HD500X" to "HDDESKTOP"

and the line:

{ LINE6_IF_NUM(0x4159, 0), .driver_info = LINE6_PODHD500X },

change it to

{ LINE6_IF_NUM(0x4156, 0), .driver_info = LINE6_PODHDDESKTOP },

 

this is to match HDDESKTOP product id.

 

try PATCH 1 and tell me how it works.

 

 

to know if it's working in dmesg you should see something like this (but with HDDESKTOP):

[ 9085.982607] snd_usb_podhd 1-3:1.0: Line 6 POD HD500X found
[ 9085.986607] snd_usb_podhd 1-3:1.0: Line 6 POD HD500X now attached
[ 9085.993332] usbcore: registered new interface driver snd_usb_podhd

 

which distro are you using? you can use alsamixer and select soundcard to make the audio use this new card.

 

brgds

HPM

Link to comment
Share on other sites

Hi,

 

I get an error in process. Maybe i'm forgot something cause i isn't have much knowlege to do that. So i followed these steps but i get this error when i will compile the modules:

 

luizmartins@luiz-notebook:/usr/src/linux-source-4.10.0$ sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
make: Entering directory '/usr/src/linux-headers-4.10.0-32-lowlatency'
 CC      kernel/bounds.s
 CHK     /usr/src/linux-source-4.10.0/include/generated/bounds.h
 CHK     /usr/src/linux-source-4.10.0/include/generated/timeconst.h
 CC      arch/x86/kernel/asm-offsets.s
 CHK     /usr/src/linux-source-4.10.0/include/generated/asm-offsets.h
make[1]: *** No rule to make target '/usr/src/linux-source-4.10.0/missing-syscalls', needed by '__build'.  Pare.
Makefile:1524: recipe for target '_module_/usr/src/linux-source-4.10.0' failed
make: *** [_module_/usr/src/linux-source-4.10.0] Error 2
make: Leaving directory '/usr/src/linux-headers-4.10.0-32-lowlatency'

 

 

I'm use kubuntu and i have the build-essentials and the kernel-headers installed. The kernel source i download from kubuntu ppa. 
 

Searching on internet, it's seems a problem with Makefile, but i don't know how to fix this. I'll keep trying to solve this. Please, tell me if you have any idea what's i can do. 

Link to comment
Share on other sites

I believe that the problem might be that you must run the command from the directory where te podhd.c is, in your case I believe is /usr/src/linux-source-4.10.0/kernel/sound/usb/line6/

try that and tell me how it works.

 

brgds

HPM

Link to comment
Share on other sites

You're  Right. I execute the command from correct folder ( /usr/src/linux-source-4.10.0/sound/usb/line6/ ) and now compile without problem, but now i have issue with the instalation. I get this error when i execute make module_install:

 

INSTALL /usr/src/linux-source-4.10.0/sound/usb/line6/snd-usb-podhd.ko
At main.c:158:
- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
sign-file: certs/signing_key.pem: No such file or directory

 

I found in internet, its seems Ubuntu have a signed kernel and i need to generate a ssl certified. I look for this signing_key.pem file, but i didn't found. I trying some tutorials but i cant make it work. Im stuck again  :( .

Link to comment
Share on other sites

I've seen that "error", but in my case the module was installed anyway, so continue and see what happens after modprobe.

look at this:

https://github.com/betolj/ndpi-netfilter/issues/38

https://github.com/patjak/mba6x_bl/issues/46

 

If it doesn't was installed look at this:

https://github.com/patjak/mba6x_bl/issues/54

 

tell me how it work.

brgds

HPM

Link to comment
Share on other sites

Its work man!! Finally!!! 

 

I had seen these post before but in my situation, the module was not installed and the insmod command dont work. I lost hours trying to solve and in the end i simply copying manually the .ko files generated by make command (snd-usb-podhd.ko and snd-usb-line6.ko) into /lib/modules/ folder. <_<  After that i load the modules with modprobe and works fine. I tested recording and playback with reaper and all works fine! In my case, the erro 11 didn't appear.

 

Thank you so much for this, now i can work with my notebook too  :)  :)  :)

Link to comment
Share on other sites

Good news!!

Take into consideration that every time you update/upgrade your kernel you will need to compile and install it again.

Until kernel 4.13 you won't have any problem, but in 4.13 the pod hd500x was added and since you don´t recieve the error 11 maybe another small change must be added.

 

We also need yout help, to help the linux+pod hd community we should include the patch in the kernel. Since the kernel updates are incremental, we should build the patch upon kernel 4.13.So, you will have to test the patch in kernel 4.13. I will reach you in PM to coordinate this.

Link to comment
Share on other sites

  • 4 years later...

Hi,

 I'm using Line6 TonePort DI-Silver with linux.

 

I found latest kernel support:

TonePort GX
TonePort UX1
Toneport UX2
from this site:
 
actually, I tested this driver in kernel_5.13.10-arch1-1 with archlinux, with my toneport di-silver hardware, like this:
 
$ sudo modprobe snd-usb-toneport
plug in the toneport di-silver to the usb port, led start to flash red, after a wile, led will turn off, then excute this:
$ echo "0e41 4144" | sudo tee /sys/bus/usb/drivers/snd_usb_toneport/new_id
 
the led will turn green, and it start to work.
plug in my electric guitar, it start to make sound for my guitar.
(if plug in the usb after the step adding "0e41 4144" to driver's new id, the led will keep flashing red, but the sound card can also work.)
 
but there's a problem: without any virtual amplifier, the toneport di-s sound card will always directly make clean tone of guitar from the right speaker channel when i play the guitar.
If I use virtual amplifier like "guitartix" with JACK, the guitarix will work good, I can setup JACK's sample rates or frames, it make the sound what I want, distortion, delay, reverb... from both left and right speakers, it's good, but the direct clean tone is still there from right speaker which is not uneccessary. I can't turn off the uneccessary clean tone or control it.
 
is this problem the same with TonePort GX, UX1, UX2 ?
how can I fix it?
Link to comment
Share on other sites

  • 3 months later...

It's good to see someone working on linux support for Line 6 products.

Is this a native driver or will it work with wine.

I have a Pod HD500X, the edit software works fine through wine but it doesn't see the HD500X so I can't change or update any settings or sounds with out using windows.

Sound play back through the HD500X works fine natively on Ubuntu 20.04

Sound recording from the HD500X works fine natively on Ubuntu 20.04

It would seem we only need a driver to bridge the gap between Linux USB and the HD500X driver running in the wine environment.

Come on Line 6 you can do it if you try.

 

Link to comment
Share on other sites

  • 1 year later...

hey guys? is anyone is trying to find the solution? or this case is unsolvable?

 

Hello esteemed community,

I've encountered a challenge trying to use Windows audio drivers for a specialized USB audio interface on the Steam Deck. Here's the series of actions and their outcomes:

  1. Using Wine: I initially attempted to install the Line 6 Monkey software through Wine, hoping it would set up the required drivers. The software got installed, but unfortunately, Wine couldn't interact correctly with the audio device.
  2. VMware Attempt: I tried installing VMware, but the system blocked this attempt.
  3. VirtualBox Attempt: My attempt to install VirtualBox was also unsuccessful. The system blocked the installation, returning errors related to trying to write to protected filesystem partitions. Notably, during the VirtualBox installation, the terminal kept throwing multiple warnings about the inability to create directories in the /usr directory, indicating that the filesystem was read-only.
  4. Multiple Reinstallations: After several tries to reinstall or upgrade VirtualBox and other packages, I was faced with the same issue: the filesystem would not allow any write operations.

Currently, the audio device is being detected by the system, but it doesn't function as expected due to the lack of audio driver support. I contemplated using Linux drivers directly, but there were complexities given the protected partitions of the Steam Deck.

I would greatly appreciate any insights or suggestions that could assist me in overcoming this hurdle. Perhaps some of you have encountered a similar situation and found a way to get Windows drivers working on Steam Deck, or there are methods to bypass the system's restrictions?

Quote

Steam Deck operates on SteamOS, which is a Linux-based operating system specifically tailored by Valve for the Steam Deck hardware. The latest version of SteamOS is based on Arch Linux and comes with a KDE Plasma desktop environment when switched to desktop mode. SteamOS is optimized for gaming and the Steam client, but users can access a full Linux desktop experience and install additional software as needed.


 

(deck@steamdeck ~)$ lsusb -v -d 0e41:415a

Bus 003 Device 012: ID 0e41:415a Line6, Inc. POD HD Pro X
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          0x415a 
  bcdDevice            0.00
  iManufacturer           1 Line 6
  iProduct                2 POD HD Pro X
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0040
    bNumInterfaces          2
    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              3 Audio
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              3 Audio
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x002e  1x 46 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x002e  1x 46 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              4 User
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
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

 

Screenshot_20231106_033312.jpg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...