SMART Boards hang with kernels prior to 3.6

Veli-Matti Lintu veli-matti.lintu at opinsys.fi
Thu Nov 1 15:07:14 UTC 2012


Hi everyone,

As there are probably people using SMART Board interactive whiteboards from Smarttech in schools here, I thought to share this with everyone. This is the outcome of a monthlong bug hunting session in our Ubuntu/LTSP environment, but this probably affects all distributions out there.

After debugging this with my colleague we found that there's a bug in all linux kernels prior to v3.6 that causes the kernel to crash randomly when the SMART Board drivers are running. Usually the screen just froze and nothing worked anymore for the user. The kernel error messages were usually not displayed on the screen. The bug itself is in the kernel's usb driver code and the closed source driver just triggers it. The problems go way back in the 2.6.x series. Fixes in kernel v3.6 make everything stable. Luckily 3.6 was just out when we were debugging this so the fix was already existing.

http://www.spinics.net/lists/linux-usb/msg71651.html

It could be that this fixes also other random hangs that occur because of the race conditions in the USB stack. It seems like also kernel 3.7 will get a lot of USB stack fixes.


If you are experiencing crashes when using SMART Boards with Ubuntu, there are two options to fix it now:

1. Disable USB2 support (works only with some chipsets) as it seems to mitigate the problem, e.g.:

  for echidev in $(lspci | awk '/USB2 EHCI/ { print $1 }'); do
    echo -n "0000:$echidev" > /sys/bus/pci/drivers/ehci_hcd/unbind
  done

2. Update to kernel 3.6 or newer from kernel-ppa as there are no Ubuntu kernels for 3.6 yet:

  Download kernel packages from http://kernel.ubuntu.com/~kernel-ppa/mainline/
  Install the packages with dpkg -i


There are a lot more details here (probably more than anyone cares to read):

http://labs.opinsys.com/blog/2012/11/01/debugging-smartboards-in-linux/

If you are using SMART Boards with LTSP, you need to compile your own kernel packages with overlayfs support. As we did this, we documented the process:

http://labs.opinsys.com/blog/2012/10/08/building-and-packaging-kernels/


All the debugging was done with SMART software version 10.3, but also the new version 11 is affected by this:

http://www.smarttech.com/Support/Browse+Support/Download+Software/Software/SMART+Notebook+collaborative+learning+software/Previous+versions/SMART+Notebook+10_3+for+Linux

http://www.smarttech.com/Support/Browse+Support/Download+Software/Software/SMART+Notebook+collaborative+learning+software/SMART+Notebook+software/SMART+Notebook+11+software+for+Linux


I hope this helps if you are affected by the problem.

Happy hacking!

Veli-Matti



More information about the edubuntu-users mailing list