Resolved JACK issues on notebook

Finally got around troubleshooting the issues I was facing with JACK on my notebook, a BTO that is actually a Clevo W170ER. Somehow I couldn’t go lower than -p128 with USB audio interfaces. When I thought I had tried every option, even disabling hyperthreading, I noticed two unidentified entries in my lsusb output:

Bus 001 Device 003: ID 8087:07da Intel Corp. 
Bus 002 Device 003: ID 5986:0401 Acer, Inc

The first entry is a Bluetooth adapter and the second entry is a webcam. Both devices are unnecessary when making music so I thought, why not unbind them. First I had to figure out their respective bus ID’s:

$ tree /sys/bus/usb/drivers/usb
/sys/bus/usb/drivers/usb
??? 1-1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1
??? 1-1.3 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3
??? 2-1 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1
??? 2-1.6 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6
??? bind
??? uevent
??? unbind
??? usb1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1
??? usb2 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2
??? usb3 -> ../../../../devices/pci0000:00/0000:00:14.0/usb3
??? usb4 -> ../../../../devices/pci0000:00/0000:00:14.0/usb4

Since the Bluetooth adapter sits on bus 1 and the webcam on bus two their respective ID’s should be 1-1 and 2-1. So I echoed the ID’s to the unbind file in the same directory:

$ echo -n "1-1" | sudo tee /sys/bus/usb/drivers/usb/unbind
$ echo -n "2-1" | sudo tee /sys/bus/usb/drivers/usb/unbind

Good riddance:

$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Then I started JACK again with -p64 using an USB audio interface connected to bus 3 (so no rate matching hub in between) and no more xruns, not even with a generic kernel and using WiFi and all. Next hurdle is the onboard sound. Below -p128 I get bursts of massive xruns and so far I didn’t manage to pinpoint the culprit.

Edit #1: I’ve found out that the Bluetooth adapter is the main bottleneck. Also, by echoing the aformentioned ID’s (1-1 and 2-1) you disable the whole USB bus apparently. To disable just the USB device echo the last ID in the respective path names, so for the Bluetooth adapter that’s 1-1.3 and for the webcam 2-1.6. This way you can still use the USB bus on which these devices are residing. In my case disabling the whole bus is not an option, this would mean I’d have to connect all my USB interfaces to bus 3 (bus 4 doesn’t have any external inputs) which could result in these devices getting in each other’s way with regard to bandwidth. After echoing the ID’s the output of the tree command looks like this:

$ tree /sys/bus/usb/drivers/usb
/sys/bus/usb/drivers/usb
??? 1-1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1
??? 2-1 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1
??? bind
??? uevent
??? unbind
??? usb1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1
??? usb2 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2
??? usb3 -> ../../../../devices/pci0000:00/0000:00:14.0/usb3
??? usb4 -> ../../../../devices/pci0000:00/0000:00:14.0/usb4

The lsusb command still shows the devices though.

Edit #2: unbinding drivers like described above won’t persist across reboots. If you’d like to make the unbinding persistent you could add the unbind command to /etc/rc.local or create a script that runs at login. There are other options of course like blacklisting the Bluetooth drivers.

Resolved JACK issues on notebook

New notebook: minor issues

“My keyboard seems a bit loose on the lower left side, is that something that could be fixed?”
“We’ll take a look at it, should be no problem.”

So I paid a visit to BTO again, had to be at a Horus meeting anyway, and within 15 minutes the tech guy returned with my notebook from the workshop.

“Could you try it out?”
“It’s perfect, no loose spots anymore, what did you do?”
“Oh, I just replaced the keyboard with a new one.”

He just replaced the keyboard with a new one. Now that’s what I call service. With any mainstream brand you will have to do without your notebook for at least 3 weeks and in the worst case they’ll start nagging the faulty keyboard is not a warranty case. Not at BTO. Fixed within 15 minutes, ready while you wait.

At the Horus meeting one of the items on the agenda was “Jeremy’s new monster notebook”. Did I really have to show off my notebook? Yes I had and soon 2 or 3 people were like I’m going to get a BTO too and told me I should become a sales rep. More on the Horus meeting in a separate blog post.

I did find out the card reader doesn’t work. But fortunately System76 apparently uses Clevo parts too so after installing their dkms package the reader immediately started working as the udisks package already contains the needed udev rule for this card reader.

New notebook: minor issues

New notebook: BTO P•BOOK 17CL45-GT650 i7 QUAD

Yay, got a new notebook, a BTO P•BOOK 17CL45-GT650 i7 QUAD! I visited BTO last Tuesday and placed an order for a custom built notebook and it arrived yesterday. It’s quite a monster if you ask me:

  • Intel Core i7-3630QM Quad Core Processor (6MB Cache, 2.3 GHz, Turbo Mode 3.3GHz)
  • 16GB RAM
  • 120GN SSD
  • 1TB HDD
  • Nvidia GT650M

One of the reasons I chose BTO besides the fact that they offer custom built notebooks is that they also offer the choice to have your custom built notebook come without an OS. Unfortunately it came without a license, in other words, when I first started the notebook it booted into a Windows 7 installation procedure. No biggie, created a bootable USB stick with the Ubuntu 12.04 mini ISO and wiped all partitions. 20 minutes later I could boot into a fresh Lubuntu installation. And you know what? All the essential stuff worked out of the box! So far the following things just work:

  • Network, both WiFi and wired
  • Sound
  • Webcam
  • Fn buttons
  • Display
  • Suspend to RAM

The only real challenge is probably getting the Nvidia Optimus configuration to work but I already found some very specific documentation. Yes, the BTO is actually a Clevo W170ER housing with custom hardware.


text-align: center;

BTO P•BOOK 17CL45-GT650 i7 QUAD/Clevo W170ER

Other than that the BTO was a breeze to set up and it happily runs Lubuntu 12.04. Booting into a complete desktop takes less than 15 seconds at the moment. Next up is configuring it properly for real-time, low-latency audio. If I want to get the most out of it I’ll probably have to start looking for a decent USB2.0 audio interface. The BTO has no FireWire or PCI Express ports. A sign of the times, guess FireWire is basically dead technology.

New notebook: BTO P•BOOK 17CL45-GT650 i7 QUAD