首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多端口串行适配器:即使在加载驱动程序时,也不能工作。

多端口串行适配器:即使在加载驱动程序时,也不能工作。
EN

Unix & Linux用户
提问于 2019-12-18 12:34:55
回答 1查看 248关注 0票数 0

我买了这个串行适配器

在linux上,debian被识别。

代码语言:javascript
复制
lspci -k

02:00.0 Serial controller: Device 1c00:3253 (rev 10)
    Subsystem: Device 1c00:3253
    Kernel driver in use: serial 

setserial系列报告正常

代码语言:javascript
复制
setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16850, Port: 0xe8c0, IRQ: 16
setserial -g /dev/ttyS1
/dev/ttyS1, UART: 16850, Port: 0xe8c8, IRQ: 16

所以我用系统激活了串行登录

代码语言:javascript
复制
cp /lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyS0.service
ln -s /etc/systemd/system/serial-getty@ttyS0.service /etc/systemd/system/getty.target.wants/
systemctl daemon-reload
systemctl start serial-getty@ttyS0.service

cp /lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyS1.service
ln -s /etc/systemd/system/serial-getty@ttyS1.service /etc/systemd/system/getty.target.wants/
systemctl daemon-reload
systemctl start serial-getty@ttyS1.service

我已经让两个端口都试过了但是..。都不管用。来自外部pc或内部pc的Minicom -D不工作,只报告一个没有串行活动的黑色冻结屏幕,我已经设置了通常的96008N1没有软件/hw控制和软件/hw控制,但没有工作。即使发送经典的回波命令也不起作用

代码语言:javascript
复制
echo "proof" > /dev/ttyS0
cat -V < /dev/ttyS0 

为什么不工作?

编辑:在网上搜索我看到这个板需要一个外部的(原文如此!)驱动程序,当然,因为它们不更新最新内核编译的代码,所以有点困难。

编辑2:我发现一个过时的司机。

https://github.com/wd5gnr/WCH4SDriver.git

当然不要编译..。

代码语言:javascript
复制
root/WCH4SDriver/wch_serial.c: In function ‘ser_wait_modem_status’:
/root/WCH4SDriver/wch_serial.c:1340:9: error: implicit declaration of function ‘signal_pending’; did you mean ‘timer_pending’? [-Werror=implicit-function-declaration]
     if (signal_pending(current))
         ^~~~~~~~~~~~~~
         timer_pending
/root/WCH4SDriver/wch_serial.c: In function ‘ser_open’:
/root/WCH4SDriver/wch_serial.c:2109:8: error: ‘struct tty_struct’ has no member named ‘alt_speed’
     tty->alt_speed = 0;
        ^~
/root/WCH4SDriver/wch_serial.c: In function ‘wch_ser_register_ports’:
/root/WCH4SDriver/wch_serial.c:3116:7: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
       init_timer(&sp->timer);
       ^~~~~~~~~~
       init_timers
/root/WCH4SDriver/wch_serial.c:3118:26: error: assignment to ‘void (*)(struct timer_list *)’ from incompatible pointer type ‘void (*)(long unsigned int)’ [-Werror=incompatible-pointer-types]
       sp->timer.function = wch_ser_timeout;

编辑3:通过这个指南,我终于让驱动程序工作起来,驱动程序wch.ko / dev /ttyWCH1 0和/dev/ttyWCH1 1创建了两个新的dev,但是使用minicom,我仍然无法获得登录.

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-12-18 17:16:03

解决方案:倒装电缆!有人倒了一条串行口电缆。现在,在按正确顺序更换电缆后,所有工作正常,不需要外部驱动程序

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/557856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档