[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kernel 2.6.1; /dev/ttyS0: No such device



Jak podają anonimowe źródła, przepowiedziano, że C1nu5 napisze:

> Mam taki problem: Skompilowalem jadro 2.6.1 ale niechce podniesc sie ppp0,
> czego powodem jest ta linijka w logach:
> 
> Jan 11 15:27:11 debian pppd[205]: Failed to open /dev/ttyS0: No such device
> 
> Nie wiem no wydawalo mi sie ze wszystko co potrzebne to wkompilowalem w
> jajo. Co macie pomysl co zrobilem zle i jak to naprawic?

1.
cat >>/etc/modprobe.d/serial <<EOF
alias /dev/tts serial
alias /dev/tts/0 serial
alias /dev/tts/1 serial
alias /dev/tts/2 serial
alias /dev/tts/3 serial
alias /dev/ttyS* serial
install serial /sbin/modprobe 8250 && { /etc/init.d/setserial modload ; }
remove serial { /etc/init.d/setserial modsave > /dev/null 2> /dev/null; }; /sbin/modprobe -r 8250

EOF

2. 

update-modules

3. 

echo serial >>/etc/modules-2.6

Generalnie jest to problem z automatycznym ładowaniem tych modułów
gdzieś od 2.6.0-test7 albo 8

Winna jest ta poprawka:

diff -Nru a/fs/char_dev.c b/fs/char_dev.c
--- a/fs/char_dev.c	Sun Nov 23 17:33:38 2003
+++ b/fs/char_dev.c	Sun Nov 23 17:33:38 2003
@@ -434,7 +434,7 @@
 
 static struct kobject *base_probe(dev_t dev, int *part, void *data)
 {
-	request_module("char-major-%d", MAJOR(dev));
+	request_module("char-major-%d-%d", MAJOR(dev), MINOR(dev));
 	return NULL;
 }

A ten patch częściowo pomaga (tzn. ładowany jest automatycznie moduł
8250 i nie musisz mieć linijki serial w /etc/modules-2.6)

--- linux-2.6.0-test11/drivers/serial/8250.c	2003-11-27 11:03:42.000000000 +1000
+++ linux-2.6.0-test11-sy/drivers/serial/8250.c	2003-12-01 11:40:44.000000000 +1000
@@ -34,6 +34,7 @@
 #include <linux/serial.h>
 #include <linux/serialP.h>
 #include <linux/delay.h>
+#include <linux/device.h>
 
 #include <asm/io.h>
 #include <asm/irq.h>
@@ -2195,3 +2196,4 @@
 MODULE_PARM(force_rsa, "1-" __MODULE_STRING(PORT_RSA_MAX) "i");
 MODULE_PARM_DESC(force_rsa, "Force I/O ports for RSA");
 #endif
+MODULE_ALIAS_CHARDEV_MAJOR(TTY_MAJOR);


Pozdrawiam

-- 
Jacek Kawa  *Everything happens for a reason, except possibly football.** ['Thief of time']



Reply to: