svlug-hints_about_possible_problems_with_usb_modules_conflicting_with_each_other

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



From: Rick Schultz <bloodyvikings@sbcglobal.net>
Subject: [svlug] KB JamStudio
Date: Thu, 4 Dec 2003 13:40:48 -0800
To: svlug@lists.svlug.org

I'm trying to get a graphics tablet working with XFree86 (and,
eventually, gimp), but I'm doing something wrong.  I figured I might be
missing something obvious, so I thought I'd ask here.  For the record,
this is Debian testing/unstable, XF86 4.2.1, Linux 2.4.22-ac4.

I picked up a Disney SketchBoard Studio, which is apparently a rebranded
KB Gear JamStudio, for $15 at Surplus Computers.  I found the js_x
driver, and got it compiled in the XFree86 4.2.1 source tree.  When I
try to start the server, I get "No such device" in the log.  In fact, I
can't open any of the raw hiddev device files:

[~]# ls -l /dev/usb/hid/
total 0
crw-r--r--    1 root     root     180,  96 Nov 29 11:48 hiddev0
crw-r--r--    1 root     root     180,  97 Nov 29 11:48 hiddev1
crw-r--r--    1 root     root     180,  98 Nov 29 11:48 hiddev2
crw-r--r--    1 root     root     180,  99 Nov 29 11:48 hiddev3
[~]# cat /dev/usb/hid/hiddev*
cat: /dev/usb/hid/hiddev0: No such device
cat: /dev/usb/hid/hiddev1: No such device
cat: /dev/usb/hid/hiddev2: No such device
cat: /dev/usb/hid/hiddev3: No such device

[~]# grep HID /usr/src/linux/.config
# USB Human Interface Devices (HID)
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
CONFIG_USB_HIDDEV=y

/proc/bus/usb/devices says:
T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=084e ProdID=1001 Rev= 0.02
S:  Product=KBGear USB Tablet
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbmouse
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

So I'm assuming that the usbmouse driver is "claiming" the device,
preventing access via the raw hiddev device.

usbmodules tells me both usbmouse and hid.  (I assume what I'm looking
for is "Driver=hid" in /proc/bus/usb/devices).  I tried adding usbmouse
to hotplug's blacklist; I even removed usbmouse from the modules tree
entirely, but the closest I seem to get is "Driver=(none)".

None of my googling has turned up anything useful, so I assume the
problem is either completely obscure or blatently obvious.  Anything
jump out at any of you?

===

From: Akkana Peck <akkana@shallowsky.com>
Subject: Re: [svlug] KB JamStudio
Date: Thu, 4 Dec 2003 21:31:34 -0800
To: svlug@lists.svlug.org

Rick Schultz writes:
> I picked up a Disney SketchBoard Studio, which is apparently a rebranded
> KB Gear JamStudio, for $15 at Surplus Computers.  I found the js_x

I haven't used a KB Jam, but a couple of problems that I hit when
getting a Wacom to work (it was a while ago, different kernel and
distro, so this is from memory):

- I think I did have to turn off the simple mouse driver in the
  kernel config, and use only the HID input/mouse driver, but it
  sounds like your blacklist entry should be accomplishing the
  same thing.  It wouldn't hurt to turn off usbmouse in the kernel
  config, just in case (you don't need it if you're using HID input).

- The modules have to be loaded before you start X, or X won't see them.
  Now I just build all the mouse modules into the kernel so I can
  plug in a usb mouse any time and have it work, but you can also
  call modprobe directly or put it in your .xinitrc.

- I assume you already have the "second mouse on USB" entry in
  your X86Config, right?  I don't think you mentioned that.

- I had to modprobe evdev explicitly; loading the input drivers
  didn't load evdev, but the wacom definitely needed it.

Is evdev loaded?  That might explain those "No such device" messages.

	...Akkana

===


From: Rick Schultz <bloodyvikings@sbcglobal.net>
Subject: Success! [Re: [svlug] KB JamStudio]
Date: Wed, 10 Dec 2003 12:16:02 -0800
To: svlug@lists.svlug.org

On Thu, Dec 04, 2003 at 09:31:34PM -0800, Akkana Peck wrote:
> I haven't used a KB Jam, but a couple of problems that I hit when
> getting a Wacom to work

Thanks very much for the reply; it wasn't any of these specifically, but
it was investigating these points that led me to the answer.

> - I think I did have to turn off the simple mouse driver in the
>   kernel config, and use only the HID input/mouse driver, but it
>   sounds like your blacklist entry should be accomplishing the
>   same thing.

Turns out, I had CONFIG_USB_MOUSE enabled ("This is almost certainly not
what you want.") for some reason.  When I recompiled without it, all I
could get was "Driver=(none)" and "No such device" when I tried to cat
hiddev0.  So, I started reading some source.

It seems after Brian Goines implemented the js_x driver for XFree86
(since merged into cvs) based on the raw hiddev device, somebody else
wrote a kernel-level driver, kbtab.  As far as I can tell, there is no
XFree86 driver using the kernel driver (is there some use for a graphics
tablet that wouldn't involve X?).  Since there's another kernel driver
for it, the generic HID driver explicitly blacklists the jamstudio,
essentially ignoring its presence, whether or not the kbtab driver is
enabled.  I commented out the blacklist entry (in hid-core.c),
recompiled _without_ CONFIG_USB_KBTAB, and now it works.

What worries me now is that anybody trying to use one of these tablets on
a recent kernel is going to run into exactly the same problems - you
can't use the only X driver for this device without modifying your
kernel.  It seems, at bare minimum, the blacklist entry should be
enclosed in an #ifdef CONFIG_USB_KBTAB, and a note in Configure.help
about this option destroying any chance of using the js_x driver
wouldn't go amiss.  Is this worth pursuing?  If so, where is the
appropriate place to bring this up?

===
From: Akkana Peck <akkana@shallowsky.com>
Subject: Re: Success! [Re: [svlug] KB JamStudio]
Date: Thu, 11 Dec 2003 10:34:35 -0800
To: svlug@lists.svlug.org

Rick Schultz writes:
[success after much poking and prodding]

Congratulations!

> It seems, at bare minimum, the blacklist entry should be
> enclosed in an #ifdef CONFIG_USB_KBTAB, and a note in Configure.help
> about this option destroying any chance of using the js_x driver
> wouldn't go amiss.  Is this worth pursuing?  If so, where is the
> appropriate place to bring this up?

Probably linux-usb-devel:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

You could bring it up on linux-kernel, but it might be easier/better
to get it reviewed/accepted by the USB maintainer by starting with
the USB list.

===

the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu