Commit 31d0c8bb8d92b29389088499d75d45a1462b145e

Authored by Marc Titinger
Committed by Marc TITINGER
1 parent 6e79b600

module: add udev rule, so tnt* device file has typical permission and group

Signed-off-by: Marc Titinger <marc.titinger@hotmail.fr>
README deleted
1 -  
2 -  
3 -tty0tty - linux null modem emulator v1.2  
4 -  
5 -  
6 -This is the tty0tty directory tree:  
7 -  
8 - module - linux kernel module null-modem  
9 - pts - null-modem using ptys (without handshake lines)  
10 -  
11 -  
12 -pts (unix98):  
13 -  
14 - When run connect two pseudo-ttys and show the connection names:  
15 -  
16 - (/dev/pts/1) <=> (/dev/pts/2)  
17 -  
18 - the connection is:  
19 -  
20 - TX -> RX  
21 - RX <- TX  
22 -  
23 -  
24 -  
25 -module:  
26 -  
27 - The module is tested in kernel 3.10.2 (debian)  
28 -  
29 - When loaded, create 8 ttys interconnected:  
30 - /dev/tnt0 <=> /dev/tnt1  
31 - /dev/tnt2 <=> /dev/tnt3  
32 - /dev/tnt4 <=> /dev/tnt5  
33 - /dev/tnt6 <=> /dev/tnt7  
34 -  
35 - the connection is:  
36 -  
37 - TX -> RX  
38 - RX <- TX  
39 - RTS -> CTS  
40 - CTS <- RTS  
41 - DSR <- DTR  
42 - CD <- DTR  
43 - DTR -> DSR  
44 - DTR -> CD  
45 -  
46 -  
47 -Requirements:  
48 -  
49 - for module build is necessary kernel-headers or kernel source  
50 -  
51 -  
52 -For e-mail suggestions : lcgamboa@yahoo.com  
README.md
@@ -70,26 +70,37 @@ cd tty0tty-1.2/module @@ -70,26 +70,37 @@ cd tty0tty-1.2/module
70 make 70 make
71 ``` 71 ```
72 72
73 -Copy the new kernel module into the kernel modules directory 73 +Install the new kernel module into the kernel modules directory
74 74
75 ``` 75 ```
76 -sudo cp tty0tty.ko /lib/modules/$(uname -r)/kernel/drivers/misc/ 76 +sudo make modules_install
77 ``` 77 ```
78 78
79 -Load the module 79 +NOTE: if module signing is enabled, in order for depmop to complete, you may
  80 +need to create file certs/x509.genkey in the kernel modules include directory
  81 +and generate file signing_key.pem using openssl, guides are available online.
  82 +
  83 +Appropriate permissions are provided thanks to a udev rule located under:
80 84
81 ``` 85 ```
82 -sudo depmod  
83 -sudo modprobe tty0tty 86 +/etc/udev/rules.d/50-tty0tty.rules
84 ``` 87 ```
85 88
86 -You should see new serial ports in ```/dev/``` (```ls /dev/tnt*```)  
87 -Give appropriate permissions to the new serial ports 89 +NOTE: you need to add yourself to the dialout group (and do a full relog), with:
88 90
89 ``` 91 ```
90 -sudo chmod 666 /dev/tnt* 92 +sudo usermod -a -G dialout ${USER}
91 ``` 93 ```
92 94
  95 +Load the module
  96 +
  97 +```
  98 +sudo udevadm control --reload-rules
  99 +sudo depmod
  100 +sudo modprobe tty0tty
  101 +```
  102 +
  103 +You should see new serial ports in ```/dev/``` (```ls /dev/tnt*```)
93 You can now access the serial ports as /dev/tnt0 (1,2,3,4 etc) Note that the consecutive ports are interconnected. For example, /dev/tnt0 and /dev/tnt1 are connected as if using a direct cable. 104 You can now access the serial ports as /dev/tnt0 (1,2,3,4 etc) Note that the consecutive ports are interconnected. For example, /dev/tnt0 and /dev/tnt1 are connected as if using a direct cable.
94 105
95 Persisting across boot: 106 Persisting across boot:
module/50-tty0tty.rules 0 → 100644
  1 +ACTION!="add", GOTO="default_end"
  2 +
  3 +KERNEL=="tnt[0-9]", GROUP="dialout"
  4 +
  5 +LABEL="default_end"
module/Makefile
@@ -27,6 +27,7 @@ default: @@ -27,6 +27,7 @@ default:
27 27
28 modules_install: 28 modules_install:
29 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install 29 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
  30 + install -m 644 50-tty0tty.rules /etc/udev/rules.d
30 31
31 endif 32 endif
32 33