커널 2.6에서 추가 시리얼을 사용하고 싶습니다.

Shinkyo의 이미지

커널에 추가 시리얼을 사용할 수 있도록 되어있는지 먼저 정확하게 확인이 안되고 있네요..

커널 부팅시에 출력된 메세지 인데요.. 이걸로 봐선 추가 시리얼을 사용할 수 있을거 같은데

s3c2413_serial0 at MMIO 0x50000000 (irq = 54) is a S3C2413
s3c2413_serial1 at MMIO 0x50004000 (irq = 57) is a S3C2413
s3c2413_serial2 at MMIO 0x50008000 (irq = 60) is a S3C2413

그리고 커널 부팅 후 /dev/ 폴더에 시리얼과 관련된것으로 보이는 것입니다.

crw-rw-rw-   1 root   root   5, 0 Jan  1 00:00 tty
lr-xr-xr-x   1 root   root      4 Dec 31 23:59 tty0 -> vc/0
lr-xr-xr-x   1 root   root      4 Dec 31 23:59 tty1 -> vc/1
lr-xr-xr-x   1 root   root      4 Dec 31 23:59 tty2 -> vc/2

tty가 UART0으로 디버깅용으로 보이구요 tty0이 lr로 시작하는게 좀 의심스럽네요..

tty0 ~ 2에 아무리 써줘도 시리얼 통신이 되질 않습니다. 2413보드 관련된 내용도 거의없고

출력되는 내용도 조금씩 다르니 실마리를 찾기가 힘듭니다..ㅠㅠ

어디가 문제인지 어디부터 손봐야되는지 모르겠네요 고수분들의 답변 부탁드립니다.

ganadist의 이미지

tty[0-x] 는 시리얼 장치가 아니라 가상콘솔 장치입니다.

시리얼 장치는 보통 ttyS[0-x]라는 파일이름을 가집니다.

시스템에서 /proc/tty/driver/serial 및 /proc/tty/drivers 파일을 확인해보시기 바랍니다.

----
Do not feed troll!

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

Shinkyo의 이미지

해당 위치에 파일목록을 보니 ttySAC 라는 파일만 있네요..
현재 부팅과정에 출력된 내용을 보면 커널에 3개까지 시리얼을 사용할 수 있도록 드라이버가 올려져 있는 상태인가요?? 올려져 있다면 추가 시리얼을 어떤방식으로 사용할 수 있는지 궁금합니다 ㅜㅠ

Hyun의 이미지

눅스기계에 usb를 통해 시리얼을 확장하는걸 꼽으면 자동으로 인식됐던거 같습니다.

usb를 통한 확장은 데이터통신 속도가 느려 pci 슬롯에 시리얼카드를 꼽아봤는데 잘 인식했구요.

눅스에서 안되는게 어딧어~~~

Shinkyo의 이미지

임베디드 리눅스라서요, 답변 감사합니다

Shinkyo의 이미지

자답이네요.. 드라이버는 올려져 있는 상태였고 mknod 를 통해 ttyS0 을 생성해서 사용했더니 잘 됩니다. 전에도 해보았었는데 안되었었던 이유가 메이저넘버와 마이너넘버 때문이었네요.. 커널 소스(/drivers/serial/s3c2413.c)를 뒤져보고 디파인된 메이저와 마이너 넘버를 적용했더니 잘 됩니다.