Bug 178146

Summary: Hotplug does not load joydev module for Super Smartjoy 2
Product: [Fedora] Fedora Reporter: W. Michael Petullo <redhat>
Component: udevAssignee: Harald Hoyer <harald>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: hdegoede, notting
Target Milestone: ---   
Target Release: ---   
Hardware: powerpc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-12 22:56:50 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description W. Michael Petullo 2006-01-17 20:27:40 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.7.12) Gecko/20051215 Epiphany/1.9.4

Description of problem:


Version-Release number of selected component (if applicable):
hotplug-2004_09_23-10.1

How reproducible:
Always

Steps to Reproduce:
Attach USB Super Smartjoy 2 adapter to system.

Actual Results:  The joydev module is not loaded.  The following is logged:

Jan 17 19:30:55 imp kernel: usb 3-1: new low speed USB device using ohci_hcd and address 7
Jan 17 19:31:01 imp kernel: usb 3-1: configuration #1 chosen from 1 choice
Jan 17 19:31:01 imp kernel: input: Smartjoy Family Super Smartjoy 2 as /class/input/input12
Jan 17 19:31:01 imp kernel: input: USB HID v1.00 Joystick [Smartjoy Family Super Smartjoy 2] on usb-0001:10:1b.1-1

Expected Results:  The joydev module should be loaded.

Additional info:

Contents of /proc/bus/usb/devices for device:

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=6666 ProdID=0667 Rev= 2.10
S:  Manufacturer=Smartjoy Family
S:  Product=Super Smartjoy 2
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   3 Ivl=10ms
Comment 1 Bill Nottingham 2006-01-17 21:45:59 EST
What's in /sys/bus/input (if it exists?)
Comment 2 W. Michael Petullo 2006-01-17 23:57:57 EST
/sys/bus/input does not exist (though sysfs is mounted).

/proc/bus/input/handlers has:
N: Number=0 Name=kbd
N: Number=1 Name=mousedev Minor=32
N: Number=2 Name=evdev Minor=64
N: Number=3 Name=joydev Minor=0

/proc/bus/input/devices has:
[...]

I: Bus=0003 Vendor=6666 Product=0667 Version=0210
N: Name="Smartjoy Family Super Smartjoy 2"
P: Phys=usb-0001:10:1b.1-1/input0
S: Sysfs=/class/input/input12
H: Handlers=event4 js0
B: EV=b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3

[...]
Comment 3 Bill Nottingham 2006-01-18 00:26:22 EST
Hm, ok. So, lots more questions:

- what kernel?
- does 'modinfo joydev' show input:.... aliases?
- is there a modalias file under /sys/class/input that matches one of these?
Comment 4 W. Michael Petullo 2006-01-18 20:57:06 EST
I have a USB thumb drive and when I plug it in the sd_mod and usb_storage
modules are loaded.

I noticed that there is no /sbin/hotplug and /proc/sys/kernel/hotplug is empty.
 Is this significant?  Or is my understanding of how hotplug works terribly out
of date?

Kernel version 2.6.15-1.1857_FC5.

"modinfo joydev" says:

filename:       /lib/modules/2.6.15-1.1857_FC5/kernel/drivers/input/joydev.ko
author:         Vojtech Pavlik <vojtech@ucw.cz>
description:    Joystick device interfaces
license:        GPL
vermagic:       2.6.15-1.1857_FC5 gcc-4.1
depends:
alias:          input:b*v*p*e*-e*3,*k*r*a*0,*m*l*s*f*w*
alias:          input:b*v*p*e*-e*3,*k*r*a*8,*m*l*s*f*w*
alias:          input:b*v*p*e*-e*3,*k*r*a*6,*m*l*s*f*w*
srcversion:     E85FFB616DC2979F2FD2093

input:b*v*p*e*-e*3,*k*r*a*0,*m*l*s*f*w* seems to match
input:b0003v6666p0667e0210-e0,1,3,k120,121,122,123,124,125,126,127,ra0,1,mlsfw
in /sys/class/input/input13/modalias.
Comment 5 Bill Nottingham 2006-01-18 21:32:37 EST
(In reply to comment #4)
> I noticed that there is no /sbin/hotplug and /proc/sys/kernel/hotplug is empty.
>  Is this significant?  Or is my understanding of how hotplug works terribly out
> of date?

Somewhat out of date. This is all handled by udev now.

> "modinfo joydev" says:
> 
> filename:       /lib/modules/2.6.15-1.1857_FC5/kernel/drivers/input/joydev.ko
> author:         Vojtech Pavlik <vojtech@ucw.cz>
> description:    Joystick device interfaces
> license:        GPL
> vermagic:       2.6.15-1.1857_FC5 gcc-4.1
> depends:
> alias:          input:b*v*p*e*-e*3,*k*r*a*0,*m*l*s*f*w*
> alias:          input:b*v*p*e*-e*3,*k*r*a*8,*m*l*s*f*w*
> alias:          input:b*v*p*e*-e*3,*k*r*a*6,*m*l*s*f*w*
> srcversion:     E85FFB616DC2979F2FD2093
> 
> input:b*v*p*e*-e*3,*k*r*a*0,*m*l*s*f*w* seems to match
> input:b0003v6666p0667e0210-e0,1,3,k120,121,122,123,124,125,126,127,ra0,1,mlsfw
> in /sys/class/input/input13/modalias.

Do you have a line that says:
ACTION=="add", SUBSYSTEM=="?*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"

in /etc/udev/rules.d/50-udev.rules?



Comment 6 W. Michael Petullo 2006-01-19 20:43:10 EST
> Do you have a line that says:
> ACTION=="add", SUBSYSTEM=="?*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"

> in /etc/udev/rules.d/50-udev.rules?

Yes.  This line exists.

I added this:

ACTION=="add", SUBSYSTEM=="?*", MODALIAS=="?*", RUN+="/bin/sh -c 'echo $modalias
>> /tmp/mod'"

and got (in /tmp/mod:)

usb:v6666p0667d0210dc00dsc00dp00ic03isc00ip00
usb:v6666p0667d0210dc00dsc00dp00ic03isc00ip00
usb:v6666p0667d0210dc00dsc00dp00ic03isc00ip00

Strange, no "input:..."

The environment(s) provided to this shell is:

SUBSYSTEM=usb
DEVPATH=/devices/pci0001:10/0001:10:1b.1/usb3/3-1/3-1:1.0
ACTION=add
MODALIAS=usb:v6666p0667d0210dc00dsc00dp00ic03isc00ip00
PWD=/
UDEV_LOG=3
UDEVD_EVENT=1
SHLVL=1
DEVICE=/proc/bus/usb/003/005
INTERFACE=3/0/0
PRODUCT=6666/667/210
TYPE=0/0/0
PHYSDEVBUS=usb
SEQNUM=642
_=/bin/env
PHYSDEVPATH=/devices/pci0001:10/0001:10:1b.1/usb3/3-1/3-1:1.0
EV=b
SUBSYSTEM=input
ABS=3
DEVPATH=/class/input/input9
NAME="Smartjoy Family Super Smartjoy 2"
ACTION=add
MODALIAS=input:b0003v6666p0667e0210-e0,1,3,k120,121,122,123,124,125,126,127,ra0,1,mlsfw
PWD=/
UDEV_LOG=3
KEY=ff 0 0 0 0 0 0 0 0 0
UDEVD_EVENT=1
SHLVL=1
PHYSDEVDRIVER=usbhid
PHYS="usb-0001:10:1b.1-1/input0"
PRODUCT=3/6666/667/210
PHYSDEVBUS=usb
UNIQ=""
SEQNUM=643
_=/bin/env
PHYSDEVPATH=/devices/pci0001:10/0001:10:1b.1/usb3/3-1/3-1:1.0
SUBSYSTEM=input
DEVPATH=/class/input/input9/event4
MINOR=68
ACTION=add
PWD=/
UDEV_LOG=3
MAJOR=13
UDEVD_EVENT=1
DEVNAME=/dev/input/event4
SHLVL=1
PHYSDEVDRIVER=usbhid
PHYSDEVBUS=usb
SEQNUM=644
_=/bin/env
Comment 7 Bill Nottingham 2006-01-20 13:09:10 EST
I'm confused. You have three events listed there:

ADD/USB - modalias = usb:v6666p0667d0210dc00dsc00dp00ic03isc00ip00

ADD/INPUT - modalias =
nput:b0003v6666p0667e0210-e0,1,3,k120,121,122,123,124,125,126,127,ra0,1,mlsfw

ADD/INPUT - no modalias

But the only modalias according to udev was the usb one???

Hm, something is off in either udev or the kernel.
Comment 8 Harald Hoyer 2006-01-23 03:35:27 EST
1. event:
  SUBSYSTEM=usb
  DEVPATH=/devices/pci0001:10/0001:10:1b.1/usb3/3-1/3-1:1.0
  ACTION=add
  MODALIAS=usb:v6666p0667d0210dc00dsc00dp00ic03isc00ip00

2. event:
  SUBSYSTEM=input
  DEVPATH=/class/input/input9
  MODALIAS=input:b0003v6666p0667e0210-e0...

3. event:
  SUBSYSTEM=input
  DEVPATH=/class/input/input9/event4
Comment 9 Bill Nottingham 2006-01-23 10:46:39 EST
Re: #8, yes, but see the debugging output in comment #6...
Comment 10 Harald Hoyer 2006-01-23 10:50:46 EST
hmm, right...
Comment 11 W. Michael Petullo 2006-02-12 22:56:50 EST
The newer kernel 2.6.15-1.1928_FC5 and udev 084-1 works fine.  The joydev module
is loaded automatically and /dev/input/js0 is created when I plug in my gamepad.
 The latest Raw Hide seems to fix this.
Comment 12 Hans de Goede 2006-04-02 01:44:53 EST
Ubfortunatly this bug still happens for me. This is on a Rawhide systems last
updated the day of FC-5 release (I'm still hesitating if I want to stick with
Rawhide or use FC-5 for a while).

kernel: kernel-2.6.15-1.2064_FC6.x86_64
udev: udev-084-13.x86_64

Joystick (gamepad): Logitech Rumblepad 2

Reopen? Anyways let me know what info you need to debug this and I'll add it.