sl-modem issues
أحمد المحمودي
aelmahmoudy at users.sourceforge.net
Mon Jun 29 15:56:12 BST 2009
Hello,
It seems that the 2.9.11~20080817-3ubuntu2 release of sl-modem is
one of causes of Launchpad bug 375148 "no more /dev/ttySL0
device node". In that release Ubuntu removed a modprobe conf file that
creates a static device (mknod /dev/slamr0).
I understand that creating static devices is not allowed in Ubuntu, but
the problem is that sl-modem code doesn't dynamically create devices.
The following is the output of udevadm when modprobing slamr module, as
far as I understand, this output is not enough to get udev to
dynamically create a /dev/slamr* device.
# udevadm monitor --environment --kernel
you can see all the uevents sent when the module registers itself, the
driver, the device, and finally the block and/or the class, etc. in
sysfs. The slamr module only sends these uevents:
UEVENT[1237419361.101064] add /module/slamr (module)
ACTION=add
DEVPATH=/module/slamr
SUBSYSTEM=module
SEQNUM=1395
UEVENT[1237419361.142691] add /bus/pci/drivers/slamr (drivers)
ACTION=add
DEVPATH=/bus/pci/drivers/slamr
SUBSYSTEM=drivers
SEQNUM=1396
Btw, sl-modem it isn't really maintained upstream (they just accept patches).
As far as I understand, sl-modem code shouldn't use udev because of
license problems. [1] [2]
Maurizio Avogadro (he co-maintains sl-modem in Debian) suggested to me
the following few months ago:
"I think that the needed information for udev (basically major and
minor) are usually sent in the block or in the class uevent: if I got
this right, the class uevent is sent if an instance of the GPL-only
structs class_create() and device_create() has been created.
I completely ignore whether there are some other ways to send the needed
data to udev or not: that was the way slamr sent the needed information
along with its class uevent until kernel 2.6.13 (when the structs had
different names).
I think the patch you added has been introduced in order to
automatically load the slamr module when an _already_existing_ char
device node having major 242 is being accessed (thus superceding the
corresponding alias line)."
I think that the patch he mentioned in the last paragraph is Ubuntu's
autoload.diff patch, that I've merged into Debian.
[1] http://archives.linmodems.org/33183
[2] http://bugs.debian.org/354216
--
أحمد المحمودي (Ahmed El-Mahmoudy)
Digital design engineer
GPG KeyID: 0xEDDDA1B7 (@ subkeys.pgp.net)
GPG Fingerprint: 8206 A196 2084 7E6D 0DF8 B176 BC19 6A94 EDDD A1B7
More information about the Ubuntu-motu
mailing list