frankdeath Posted September 21, 2019 Share Posted September 21, 2019 On 1/11/2018 at 1:19 PM, shemeshg said: Hi, Jens Yes, I can see all the 8 channels, and re-amp on linux and Ardour and all thanks to you As you've mentioned 1. JACK is required since it is not plays directly using ALSA and PulseAudio, However, Jack sink works greate. 2. It will be required to recopy snd_usb_audio on every kernel update. But it is huge benefit being able to Re-Amp and not to require all of those XLR cables Thanks Shemeshg Can you elaborate on how to configure jack to work with the HX stomp? I don't understand how it can work if it doesn't work with ALSA... Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted October 5, 2019 Share Posted October 5, 2019 Just FYI: Since i made the 2.82 firmware update, my Helix LT identifies with device id 0x424a ( idProduct=424a ) . Aka the patches must be adapted to work again. Not sure how other Helix devices changed because of the new ( unified ? ) core architecture. Did not yet noticed any further benfit other than new sounds/stomps etc. Sidenote: I don't wanna have Helix shown up in the systems pulse audio because it would not work reliable there either. So i made an udev rule to ignore it. If someone else cares too, place into /etc/udev/rules.d/89-pulseaudio.rules: #Ignore Helix ATTRS{idVendor}=="0e41", ATTRS{idProduct}=="424a", ENV{PULSE_IGNORE}="1" Cheers ... Jens Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted April 9, 2020 Share Posted April 9, 2020 Can't believe what I'm reading - is this actually working on linux :D @jensverwiebe Are these instructions still the way to go as of today? Someone seem to have it working out of the box on fedora https://line6.com/support/topic/30896-helix-as-interface-on-linux/?do=findComment&comment=328378. I'm on ubuntu studio 19.10 atm, using jack, that does not seem to recognize the helix floor for anything other than midi. Is there anything special to consider other than what is described in https://line6.com/support/topic/4426-line-6-with-linux/?tab=comments#comment-310804, it being a lowlatency kernel (5.3.0-46-lowlatency). I reckon I should go about changing the clone to git://kernel.ubuntu.com/ubuntu/ubuntu-eoan.git. Anything else? Quote Link to comment Share on other sites More sharing options...
glegodais Posted April 9, 2020 Share Posted April 9, 2020 @torgeirthoresen Well my Helix floor has been working out of the box for quite some time now on ubuntu 19.10 with ubuntustudio packages installed. That's with both generic and lowlatency kernels. Everything is working fine with jack, not with pulseaudio though. Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted April 9, 2020 Share Posted April 9, 2020 @gleogodais And by working you mean it’s discovered as a sound card and you can e.g. reamp over usb? That’s what I was aiming for coming here. If so it might be just my understanding of jack vs pulseaudio vs alsa that is lacking.. Care to explain how you go about setting things up? Quote Link to comment Share on other sites More sharing options...
glegodais Posted April 10, 2020 Share Posted April 10, 2020 Yes, all the channels (8 input/8output) are working! You can record DI from the guitar/mic as well as processed signal, playback sound, reamp... I don't know how well you know this stuff, if you're new to this here are some simple steps to make it work: Setting it up with jack is the same as any other usb sound interface with Ubuntu Studio Controls. If you want it to be your master device, set Jack Master Device to USB Jack Master and USB device that should be master to HELIX. If you check Bridge USB Devices to Jack when Plugged In, you'll be able to see it in Patchage and make the connections. Alsa focuses on the lower level audio, handling soundcards but also midi. Jack and Pulseaudio both use alsa as backend (most likely in your case). Pulseaudio is used for standard applications but is not suited for real-time use. A lot of applications like Firefox don't work with Jack (check out Pulse-Jack bridge to run Pulseaudio and Jack at the same time). Jack allows you to run audio applications with very low latency. A good ressource to check out: https://help.ubuntu.com/community/UbuntuStudio/AudioHandbook ;) Also, about low-latency vs generic kernel, low-latency used to work better for me but nowadays generic is definitely better the way ubuntu studio sets it up. Hope this helps :) Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted April 10, 2020 Share Posted April 10, 2020 7 hours ago, glegodais said: If you want it to be your master device, set Jack Master Device to USB Jack Master and USB device that should be master to HELIX. Hmm, sounds like what I'm already doing, but with my AudioFuse interface.I have Jack Master Device set to USB Jack Master but USB device that should be master is where I believe the issue is, because there is no Helix in the list, just my AudioFuse extrernal usb interface. Bridge USB Devices to Jack when Plugged In is checked. With e.g. Carla open when I plug the helix in I can see that it recognizes it as a midi device, as a capture/playback slot appears for the midi, but nothing else. `lsusb` shows the device is recognized though `Bus 003 Device 019: ID 0e41:4248 Line6, Inc. HELIX` EdIt: I see this in dmesg as I plug in the helix which seems like the issue you have been patching? [ 5701.507029] usb 3-1: new high-speed USB device number 20 using xhci_hcd [ 5701.520141] usb 3-1: New USB device found, idVendor=0e41, idProduct=4248, bcdDevice= 2.00 [ 5701.520143] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 5701.520144] usb 3-1: Product: HELIX [ 5701.520145] usb 3-1: Manufacturer: LINE 6 [ 5701.520145] usb 3-1: SerialNumber: 2929049 [ 5701.521707] usb 3-1: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates (clock 16) [ 5701.521886] usb 3-1: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates (clock 16) [ 5701.523044] input: LINE 6 HELIX as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.5/0003:0E41:4248.0010/input/input27 Quote Link to comment Share on other sites More sharing options...
glegodais Posted April 10, 2020 Share Posted April 10, 2020 I think it's because your Helix id is 0e41:4248 I instead of 0e41:4241, I guess you have a more recent firmware Send a patch with your Helix ID as described in this thread : Until this is fixed upstream you can recompile the kernel usb_audio module after adding your Helix ID to sound/usb/format.c like in this patch https://github.com/torvalds/linux/commit/d4bd30532688558a7de70f0c8edd2a7a25c3963f Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted April 10, 2020 Share Posted April 10, 2020 Half a day later, the stars align! And I'm reamping like a boss with the helix on ubuntu studio eoan 19.10 7 hours ago, glegodais said: it's because your Helix id is 0e41:4248 I instead of 0e41:4241 And you were quite correct, @glegodais, it needs to be 0e41x4248. Here are the steps I took to make it work. For some reason I am only able to get an output signal from the helix when attaching things in jack if I choose the HELIX as the "USB device that should be master", and not with the AudioFuse set as the master, even if the helix still appears in the jack interface and I wire it correctly. Suggestions? Attached photos of the working configuration if someone is curious. Thanks a bunch for your help! Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted April 12, 2020 Share Posted April 12, 2020 On 4/9/2020 at 7:59 PM, torgeirthoresen said: Can't believe what I'm reading - is this actually working on linux :D @jensverwiebe Are these instructions still the way to go as of today? Someone seem to have it working out of the box on fedora https://line6.com/support/topic/30896-helix-as-interface-on-linux/?do=findComment&comment=328378. I'm on ubuntu studio 19.10 atm, using jack, that does not seem to recognize the helix floor for anything other than midi. Is there anything special to consider other than what is described in https://line6.com/support/topic/4426-line-6-with-linux/?tab=comments#comment-310804, it being a lowlatency kernel (5.3.0-46-lowlatency). I reckon I should go about changing the clone to git://kernel.ubuntu.com/ubuntu/ubuntu-eoan.git. Anything else? Hi Sorry for being late to the party ;) Nice you sorted things out for now. Be aware that the new device id's are already in 5.5 kernel, so if you use the HWE you should be fine. 2020-01-25 15:09:17 - ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 Here we added: + case USB_ID(0x0E41, 0x4248): /* Line6 Helix >= fw 2.82 */ + case USB_ID(0x0E41, 0x4249): /* Line6 Helix Rack >= fw 2.82 */ + case USB_ID(0x0E41, 0x424a): /* Line6 Helix LT >= fw 2.82 */ Thus your adaptions are only needed for older kernel ( < 5.5 ) or if you need my additional frequency trick in case you suffer from rare clicks. I got a bit further with this sync problem, but still do not get this 100% working. As is should do for now. Cheers ... Jens Quote Link to comment Share on other sites More sharing options...
glegodais Posted April 13, 2020 Share Posted April 13, 2020 Well apparently I got the same issue, Helix is not working when not the master device. I'm not sure if it used to work or not since I almost always use the helix as master :/ Actually it even crashed jack and there was no way to restart it without a reboot. Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted April 13, 2020 Share Posted April 13, 2020 19 hours ago, jensverwiebe said: Be aware that the new device id's are already in 5.5 kernel, so if you use the HWE you should be fine Nice! I think I'll stay safe, though, now with everything working, until ubuntu studio fixes it for me xD 4 hours ago, glegodais said: Well apparently I got the same issue, Helix is not working when not the master device. I'm not sure if it used to work or not since I almost always use the helix as master :/ Actually it even crashed jack and there was no way to restart it without a reboot. Yeah, I had a few of those as well. I do to, so its not that big of a deal. I actually think pulseaudio was getting in the way somehow for me.. (?) A peek inside the ubuntustudio-controls script also revealed they seem to be killing everything with regards to sound before booting it up again to get a consistent startup. Having to wire all this up again was becoming a pain, so it made me discover https://github.com/SpotlightKid/jack-matchmaker Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted April 13, 2020 Share Posted April 13, 2020 Hi mates, some notes: - @torgeir, regarding nonfunctional rmmod in your script: i guess rmmod is just not default installed on your sys, use modprobe -r instead. - @ all: i' am able to get the endpoints working incl. the sync, by forcing it like for an Axe-FX3 for example. But the streams will not come up atm, grrrrrr. For all interested to fiddle until we get succes, here are my changes: In pcm.c i add something like this to the set_sync_ep_implicit_fb_quirk function ( your ID accordingly ) case USB_ID(0x0e41, 0x424a): /* Line6 HELIX LT */ ep = 0x83; ifnum = 3; goto add_sync_ep_from_ifnum; In endpoint.c Mike Oliphant found its needed to comment out in snd_usb_endpoint_start function. Otherwise the initialization of urbs would wait for each other ( capture/playback/sync ep ) forever. if (snd_usb_endpoint_implicit_feedback_sink(ep)) { for (i = 0; i < ep->nurbs; i++) { struct snd_urb_ctx *ctx = ep->urb + i; list_add_tail(&ctx->ready_list, &ep->ready_playback_urbs); } return 0; } Then one will get in terminal output while debugging ( trick: add "#define dev_dbg dev_info" to usb.h for avoiding a complete debug build of kernel ): jack/helix/duplex: dmesg | tail [11568.409129] usb 9-1.3: Setting params for ep #83 (type 0, 12 urbs), ret=0 [11568.409655] usb 9-1.3: setting usb interface 2:1 [11568.409656] usb 9-1.3: Creating new playback data endpoint #3 [11568.409659] usb 9-1.3: Re-using EP 83 in iface 3,1 @000000005f5f3a5c [11568.410006] usb 9-1.3: Setting params for ep #3 (type 0, 12 urbs), ret=0 [11568.410007] usb 9-1.3: match_endpoint_audioformats: (fmt @00000000f60f1dd9) score 2 [11568.410014] usb 9-1.3: Setting params for ep #83 (type 0, 12 urbs), ret=0 [11568.410015] usb 9-1.3: Starting data EP @00000000ef58d6e2 [11568.410478] usb 9-1.3: Starting sync EP @000000005f5f3a5c [11568.410960] usb 9-1.3: Starting data EP @000000005f5f3a5c jack/helix/playback:~$ dmesg | tail [11592.501593] usb 9-1.3: setting usb interface 2:1 [11592.501596] usb 9-1.3: Re-using EP 3 in iface 2,1 @00000000ef58d6e2 [11592.501598] usb 9-1.3: Re-using EP 83 in iface 3,1 @000000005f5f3a5c [11592.501924] usb 9-1.3: Setting params for ep #3 (type 0, 12 urbs), ret=0 [11592.501926] usb 9-1.3: match_endpoint_audioformats: (fmt @00000000f60f1dd9) score 2 [11592.501936] usb 9-1.3: Setting params for ep #83 (type 0, 12 urbs), ret=0 [11592.501937] usb 9-1.3: Starting data EP @00000000ef58d6e2 [11592.502393] usb 9-1.3: Starting sync EP @000000005f5f3a5c jack/helix/capture: dmesg | tail [11611.315495] usb 9-1.3: Re-using EP 83 in iface 3,1 @000000005f5f3a5c [11611.315781] usb 9-1.3: Setting params for ep #83 (type 0, 12 urbs), ret=0 [11611.316087] usb 9-1.3: Starting data EP @000000005f5f3a5c This all looks exact how it should be and like a Boss Katana for example will show up, but the helix will not yet come to life. Ideas are welcome. As i think we all have a lot time for such experimenting now, we may come to an result asap i hope. Cheers ... Jens Quote Link to comment Share on other sites More sharing options...
mac2222 Posted April 24, 2020 Share Posted April 24, 2020 Interestingly I've just tried Kubuntu 20.4 in a virtual machine and my helix is showing up without any additional configuration. Going to upgrade my workstation and see how well it works. I've updated the to 20.4 on my main workstation and Helix is connected and working. I'm new to using audio on linux, I've only just moved across from windows so am still learning all about it but Helix seems to work straight out of the box with Kubuntu 204. The screenshot below is from my main workstation. Quote Link to comment Share on other sites More sharing options...
glegodais Posted April 29, 2020 Share Posted April 29, 2020 @torgeirthoresen you can also use Ray Session as a graphical tool to automate wiring in jack, I think its already included in ubuntu studio :) Quote Link to comment Share on other sites More sharing options...
Skalamanga Posted May 20, 2020 Share Posted May 20, 2020 Hi all, Before I update my helix rack to v 2.91, has anyone done this already? Just wanted to check the USB ID hasn't changed again I'm partially working under Arch with the current 5.6 kernel branch using jack2 Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted January 3, 2021 Share Posted January 3, 2021 Half a year later, Ubuntu 20.04.1 LTS now shows the Helix as an input device as you'd expect. I am still not able to get any sound from it unless it is chosen as the USB device that should be Master. So what you see in the image does not give me any sound in Reaper. Making Helix the master works, though :shrug: Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted June 24, 2021 Share Posted June 24, 2021 Hi Folks I had a big surprise yesterday. As i always use HWE kernels on Linux Mint ( aka Ubuntu base ) i installed the now available 5.11 version and wanted to have a look if i can use implicit feedback by patching my device in the new implicit.c file special entries. To my surprise it worked OOTB ! Yay, no crude uneven samplerate or something, just staying stable and no xruns in hours ( tested down to 64 sample buffer in jack ). Along with my way to have HXEDIT in a small KVM all is nearly perfect now ( except staying fix @ 48KHz and you must use it always duplex ) EDIT: For the problem Helix only works duplex and thus as master i found a workaround. Use this script to add Helix in/outs to another master jackdevice which should also run @ 48kHz ( don't forget to make it runable with chmod +x ): #!/bin/bash gnome-terminal --title=Launch_HELIX_duplex -e '/bin/bash -c "zita-a2j -dhw:HELIX -j HELIX -c 8 | sleep 1 | zita-j2a -dhw:HELIX -j HELIX -c 8"' #If you have espeak and like this notification, uncomment next line #espeak "Enabling HELIX DUPLEX" sleep 3 #I recommend installing xdotool to get the terminal window out of the way. #Following command minimizes the window automatically xdotool getactivewindow windowminimize EDIT: Just talked with another Boss dev, who has the same problem and there will be a new way to start such devices in a way that allows also for solo capture or playback. This way zita_usb_in/out will be possible without the Helix being master. The code comes for kernel 5.13 and i guess we must test this and either try to apply to 5.13 too or in a later release. https://github.com/tiwai/sound/commit/ebe8dc5afb3912e2d4f5c62cf7c492a13143a77a Have fun and stay sane ... Cheers ... Jens Seeing is believing ( data ) : uname -a: 5.11.0-22-lowlatency #23~20.04.1-Ubuntu SMP PREEMPT Thu Jun 17 13:52:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux /proc/asound/HELIX/stream0: LINE 6 HELIX at usb-0000:06:00.0-2, high speed : USB Audio Playback: Status: Running Interface = 2 Altset = 1 Packet Size = 224 Momentary freq = 48000 Hz (0x6.0000) Interface 2 Altset 1 Format: S32_LE Channels: 8 Endpoint: 0x03 (3 OUT) (ASYNC) Rates: 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR FC LFE RL RR FLC FRC Sync Endpoint: 0x83 (3 IN) Sync EP Interface: 3 Sync EP Altset: 1 Implicit Feedback Mode: Yes Capture: Status: Running Interface = 3 Altset = 1 Packet Size = 224 Momentary freq = 48000 Hz (0x6.0000) Interface 3 Altset 1 Format: S32_LE Channels: 8 Endpoint: 0x83 (3 IN) (ASYNC) Rates: 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR FC LFE RL RR FLC FRC Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted February 10, 2022 Share Posted February 10, 2022 Bump - Just for linux heads-up: Linux Mint with 5.13 ( HWE ) kernel is still doing fine. Foxlet KVM serves me still well for HXEdit and did the hx 5.15 fw-update just perfect. Keep on rockin' on Linux ... Jens Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted February 11, 2022 Share Posted February 11, 2022 Would you mind summarizing the steps taken to make hx edit run in kvm? Would be a nice addition for a full linux setup. Updating the helix is one of the few things I need my dual boot setup for these days.. Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted February 11, 2022 Share Posted February 11, 2022 First of all: any VM with USB-passthrough would do, but i found foxlet to be the easiest way to go while having the smallest footprint. Just follow https://github.com/foxlet/macOS-Simple-KVM Quote Link to comment Share on other sites More sharing options...
torgeirthoresen Posted February 11, 2022 Share Posted February 11, 2022 The usb passthru was what stopped me the last time around. I am suspecting my thunderbolt dock is messing things up. Edit: Nvm, it works fine. Probably had to sudo to forward the usb device. Quote Link to comment Share on other sites More sharing options...
Uvrenight Posted February 21, 2022 Share Posted February 21, 2022 Hello everybody, I am a guitarist and I use Linux for my musical activities. I recently purchased the Line 6 Pod Go pedal board. Unfortunately there is no support on Linux. Actually, a patch for the clock rate has been placed in the stable branch of the 5.8 kernel. But even with this patch, Pod Go is not recognized by the ALSA system in Linux. I also tried to write a kernel module, starting with the one for the Pod HD, but without success. Has anyone on the list managed to get the Pod Go to work in Linux? Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted February 22, 2022 Share Posted February 22, 2022 Hi Uvrenight I just read up "POD Go supports the class compliant driver,which operates at 24-bit/48kHz sample rate." which is the same starting point as i had for the Helix LT. ( The modern Pod Go seems to be closer to Helix than the former Pod HD etc. ) My proposal is that you find your devices usb-id ( lsusb )and add it to the line6 devices that use a hardcoded 48kHz frequency. Recompile the module and reinsert as you can find it described in the thread somewhere earlier. This should give you the same basic usage like on driverless iOS or macOS use respective what we have for the Helix on linux atm.. ( kernel 5.11 or later for properly using implicit feedback endpoints btw. ) More info can be gathered with sudo lsusb -vvvv -d <your_vendor_id:your_device_id> if you like to investigate deeper. I myself would also like to be able to change the samplingfrequency for example. but i fear this is buried in vendorspecific classes, thus not reachable for us without further help from line6. Have fun ... Jens Quote Link to comment Share on other sites More sharing options...
Uvrenight Posted February 25, 2022 Share Posted February 25, 2022 Hi Jens, Thank you for your reply. Actually, the Pod Go's 48kHz clock rate has already been built into the Linux kernel. My problem was that I couldn't get it to work with ALSA alone. It was enough to start the Jack server and interface Pod Go with ALSA and .... voilà! It worked! Now I can finally use it with Linux and my DAW. Thanks again. Quote Link to comment Share on other sites More sharing options...
jensverwiebe Posted February 26, 2022 Share Posted February 26, 2022 On 2/25/2022 at 4:34 PM, Uvrenight said: My problem was that I couldn't get it to work with ALSA alone. Hi Uvrenight I'am not sure if you got my point with kernel versions of 5.11 or later. I did not emphasized the fakts enough, sorry. With those the sync finally works and thus makes ALSA operation ( JACK-less ) from within an DAW ( and also PulseAudio afaik ) working. It must be used duplex though, because the dummy endpoint stuff for line6 is not yet commited to any kernel tree afaik. This upcoming work will allow to use the playback or capture interfaces independently, which is interesting for device congregation. Aplay and arecord ( commandline ) cannot be used atm. for the same reason ( only activates playback OR capture side ). I also again ensured that your device is handled in format.c so we talk about the same driver in use: case USB_ID(0x0e41, 0x4247): /* Line6 Pod Go */ Here is an example of /proc/asound/HELIX/stream0 while operating in ARDOUR/MIXBUS as a pure ALSA-device ( duplex kernel 5.13 here ): LINE 6 HELIX at usb-0000:00:14.0-12, high speed : USB Audio Playback: Status: Running Interface = 2 Altset = 1 Packet Size = 224 Momentary freq = 48000 Hz (0x6.0000) Interface 2 Altset 1 Format: S32_LE Channels: 8 Endpoint: 0x03 (3 OUT) (ASYNC) Rates: 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR FC LFE RL RR FLC FRC Sync Endpoint: 0x83 (3 IN) Sync EP Interface: 3 Sync EP Altset: 1 Implicit Feedback Mode: Yes Capture: Status: Running Interface = 3 Altset = 1 Packet Size = 224 Momentary freq = 48000 Hz (0x6.0000) Interface 3 Altset 1 Format: S32_LE Channels: 8 Endpoint: 0x83 (3 IN) (ASYNC) Rates: 48000 Data packet interval: 125 us Bits: 24 Channel map: FL FR FC LFE RL RR FLC FRC You see, all is setup as it should be and is identically to the JACK approach i showed some posts earlier. Often people prefer the ALSA only operation ( ARDOUR devs recommend it even over JACK ), but i could think of situations, you may want to add congregated devices with zita_a2j or zita_j2a to enlarge your inputs/outputs. Be aware that the latter is maybe not always sampleaccurate. Just give a newer kernel a try ... Cheers ... Jens Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.