Skip to contentSkip to conversation

/sys/class/tty bugglet in 2.6.0-test1 +

DISCUSSION James H. Cloos Jr. 2 participants 2 messages Jul 15, 2003

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

It looks like sysfs is creating a dir in class/tty by the name of usb/acm/0 for my acm modem:

:; ls -AF /sys/class/tty
total 0
0 console/
0 ptmx/
0 tty/
0 tty0/
[ tty1 to tty63 elided ]
0 ttyS0/
0 ttyS1/
0 ttyS2/
0 ttyS3/
0 usb/acm/0/

A [TAB] in bash will autocomplete /sys/class/tty/usb/acm/0.

W/ devfs the modem is at /dev/usb/acm/0, so it may be a sysfs vs. devfs conflict. (Box is gentoo; devfs is required for the init scripts to work.)

I think I'm at bk current, but may be off by a couple of csets.

-JimC

#1 lore raw
Quoted 15 lines · James H. Cloos Jr.

It looks like sysfs is creating a dir in class/tty by the name of usb/acm/0 for my acm modem:

:; ls -AF /sys/class/tty
total 0
0 console/
0 ptmx/
0 tty/
0 tty0/
[ tty1 to tty63 elided ]
0 ttyS0/
0 ttyS1/
0 ttyS2/
0 ttyS3/
0 usb/acm/0/

Ouch, someone forgot to fix up this driver's devfs_name logic. The patch below should fix it. Let me know if it doesn't work for you.

greg k-h

# USB: fix up cdc-acm driver's tty and devfs names.

drivers/usb/class/cdc-acm.c +2 -1
diff -Nru a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
@@ -765,7 +765,8 @@
 		return -ENOMEM;
 	acm_tty_driver->owner = THIS_MODULE,
 	acm_tty_driver->driver_name = "acm",
-	acm_tty_driver->name = "usb/acm/",
+	acm_tty_driver->name = "ttyACM",
+	acm_tty_driver->devfs_name = "usb/acm/",
 	acm_tty_driver->major = ACM_TTY_MAJOR,
 	acm_tty_driver->minor_start = 0,
 	acm_tty_driver->type = TTY_DRIVER_TYPE_SERIAL,