您尚未登录。

#1 2018-05-12 14:37:02

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

终于把V3s三个串口全部榨干,


控制台只能用 ssh 了, 泪崩

蓝牙,通讯, 加密芯片各用一个

离线

#2 2018-05-12 14:45:02

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

一开始默认控制台是 ttyS0,
我在u-boot里面手动把控制台设置成一个不存在的 ttySx,
但是程序死活起不动,
由于没有了控制台,
也不知道什么原因卡死,
又没有其他合适的调试办法。

离线

#3 2018-05-12 16:21:58

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

后来我去 V3s 的u-boot sun8i 改成这样:

#define CONFIG_BOOTARGS      "console=ttyS1,115200  ......"

把Linux的控制台改为 ttyS1, 接上电脑串口, 发现一旦程序 open("/dev/ttyS0"), 控制台就再也不受控制了。

再发现  echo xxxxxxxxxxx > /dev/ttyS0 直接输出到控制台,
这样就不太符合逻辑了, 因为当前的控制台已经是 ttyS1 了。

离线

#4 2018-05-12 16:25:01

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

继续折腾, 现在把网卡的座子焊起,把 dropbear sshd服务器运行起来,
ssh登录到V3s Linux,

发现应用程序的log是这样:

[error]open serial port /dev/ttyS0 failure ...

接着我直接输出到 /dev/ttyS0:

# echo 00000000000 > /dev/ttyS0
-sh: can't create /dev/ttyS0: No such device

接着我有一个大胆的想法,看看设备节点号:

# ls /dev/ttyS* /dev/console  -l
crw-rw----    1 root     root        5,   1 May 11 09:36 /dev/console
crw-rw----    1 root     root        5,   1 May 11 09:36 /dev/ttyS0
crw-rw----    1 root     root        4,  65 May 12 14:57 /dev/ttyS1
crw-rw----    1 root     root        4,  66 May 12 14:57 /dev/ttyS2
crw-rw----    1 root     root        4,  67 May 12 14:38 /dev/ttyS3
crw-rw----    1 root     root        4,  68 May 12 14:38 /dev/ttyS4
crw-rw----    1 root     root        4,  69 May 12 14:38 /dev/ttyS5
crw-rw----    1 root     root        4,  70 May 12 14:38 /dev/ttyS6
crw-rw----    1 root     root        4,  71 May 12 14:38 /dev/ttyS7

离线

#5 2018-05-12 16:27:58

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

列位是不是看出来了 /dev/ttyS0 与 其他 /dev/ttyS* 设备号有很大的区别?

离线

#6 2018-05-12 16:29:03

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

问题就出在这里了, 在根文件系统里面把 /dev/ttyS0 的节点改为 4, 64
现在三个串口已经愉快的一起玩耍了。

离线

#7 2018-05-12 16:47:56

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

关于如何编译 dropbear 这个使用 buildroot menuconfig 找到这个软件包开启即可,
然后眼力不好找不到,可以直接打开 .config 文件编辑即可。

使用方法可以参考这个:
https://blog.csdn.net/hai__yun/article/details/77966315

使用步骤:

[root@A ~]# mkdir /etc/dropbear                #创建存放密钥目录
[root@A ~]# dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048  #使用rsa算法生成2048位的密钥
[root@A ~]# dropbearkey -t dss -f /etc/dropbear/dropbear_dsa_host_key  #使用dss算法生成密钥
[root@A ~]# dropbear -p :2222 -F -E            #在前台启动dropbear端口位2222
[root@B ~]# ssh 192.168.8.128 -p 2222      #使用B去连A可以链接

离线

#8 2018-06-04 11:27:18

木子猫
会员
注册时间: 2018-03-27
已发帖子: 61
积分: 61

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

改串口要改哪些东西呢 改了dts dtsi,sun8i文件,不行呢

离线

#9 2018-06-04 11:38:54

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

改dts就可以了。

离线

#10 2018-06-05 14:56:55

木子猫
会员
注册时间: 2018-03-27
已发帖子: 61
积分: 61

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

改这句吗  stdout-path = "serial0:115200n8";

离线

#11 2018-06-05 15:08:22

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

sun8i-v3s.dtsi 文件:

uart0_pins_a: uart0@0 {
                pins = "PB8", "PB9";
                function = "uart0";
            };

            uart1_pins_a: uart1@0 {
                pins = "PE21", "PE22";
                function = "uart1";
                bias-pull-up;
            };

            uart2_pins_a: uart2@0 {
                pins = "PB0", "PB1";
                function = "uart2";
                bias-pull-up;
            };

sun8i-v3s-licheepi-zero.dts 文件:

&uart0 {
    pinctrl-0 = <&uart0_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};

&uart1 {
    pinctrl-0 = <&uart1_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};

&uart2 {
    pinctrl-0 = <&uart2_pins_a>;
    pinctrl-names = "default";
    status = "okay";
};

改上面两个文件.

离线

#12 2018-06-05 23:47:33

木子猫
会员
注册时间: 2018-03-27
已发帖子: 61
积分: 61

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

再请教一下 比如uart2作为终端输出 还需要改哪里

离线

#13 2018-06-06 08:05:49

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9191

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

木子猫 说:

再请教一下 比如uart2作为终端输出 还需要改哪里

有两个办法:
1. 在u-boot命令行修改 bootargs 参数
2. 修改 u-boot源码 include/configs/sun8i.h 改成这样

#define CONFIG_BOOTARGS      "console=ttyS1,115200  ......"

离线

#14 2020-02-10 23:08:35

RedK
会员
注册时间: 2020-01-15
已发帖子: 15
积分: 15

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

有用,mark!!

离线

#15 2020-02-12 18:24:21

小王子&木头人
会员
注册时间: 2018-05-08
已发帖子: 49
积分: 49

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

有 USB cdc作为debug输出

离线

#16 2020-02-12 18:51:37

cityf
会员
注册时间: 2017-11-03
已发帖子: 195
积分: 195

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

小王子&木头人 说:

有 USB cdc作为debug输出

这个怎么玩?

离线

#17 2020-02-13 14:27:08

小王子&木头人
会员
注册时间: 2018-05-08
已发帖子: 49
积分: 49

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

cityf 说:

这个怎么玩?

首先要支持 cdc acm
USB Gadget Support  --->
    <*>   USB Gadget functions configurable through configfs
    *     Abstract Control Model (CDC ACM)
    *     RNDIS
    <*>   USB Gadget precomposed configurations (CDC Composite Device (Ethernet and ACM))  --->

在/etc/inittab console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL下增加一条
ttyGS0::respawn:/sbin/getty -L ttyGS0 115200 vt100 # GENERIC_SERIAL

注ttyGS0就是USB虚拟出来的串口,我将USB复合成cdc acm + rndis设备,方便网络访问

离线

#18 2020-02-13 14:29:41

smartcar
会员
注册时间: 2018-02-19
已发帖子: 729
积分: 729

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

那就不如用adb了,adb可以双向传文件,可以adb shell打开命令行。

离线

#19 2020-02-13 14:29:54

小王子&木头人
会员
注册时间: 2018-05-08
已发帖子: 49
积分: 49

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

USB作为debug调试口好处是不用增加USB转串口芯片,可以直接连电脑调试,缺点是调试bootloader有困难,内核调试也比较费劲

离线

#20 2020-03-25 19:03:11

我思故我在
会员
注册时间: 2019-09-03
已发帖子: 242
积分: 242

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

晕哥 说:

关于如何编译 dropbear 这个使用 buildroot menuconfig 找到这个软件包开启即可,
然后眼力不好找不到,可以直接打开 .config 文件编辑即可。

使用方法可以参考这个:
https://blog.csdn.net/hai__yun/article/details/77966315

使用步骤:

dropbear 密钥对登录没搞定,悲伤

离线

#21 2020-04-04 17:00:30

qiushan
会员
注册时间: 2020-01-16
已发帖子: 26
积分: 26

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

太棒了mark

离线

#22 2020-04-16 17:07:00

adda
会员
注册时间: 2020-04-09
已发帖子: 11
积分: 11

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

晕哥 说:

终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩

蓝牙,通讯, 加密芯片各用一个

晕哥,蓝牙用的串口必须要带流控么

离线

#23 2020-04-17 10:16:18

asdfwyg
会员
注册时间: 2020-04-10
已发帖子: 26
积分: 26

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

加个usb转串口的芯片

离线

#24 2020-04-17 21:31:21

liuchangyin
会员
注册时间: 2020-03-17
已发帖子: 204
积分: 204

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

asdfwyg 说:

加个usb转串口的芯片

spi转串口的也可以

离线

#25 2020-04-25 07:56:04

ifree64
会员
注册时间: 2019-06-27
已发帖子: 66
积分: 66

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

我思故我在 说:

dropbear 密钥对登录没搞定,悲伤

我目前新建一个用户,在这个用户下创建.ssh/authorized_keys文件,写入pub key就可以用这个用户来登陆了。

离线

#26 2020-04-25 08:07:43

我思故我在
会员
注册时间: 2019-09-03
已发帖子: 242
积分: 242

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

ifree64 说:

我目前新建一个用户,在这个用户下创建.ssh/authorized_keys文件,写入pub key就可以用这个用户来登陆了。

感谢大佬提醒,不知道我当时怎么弄的了,我空我就按照大佬你的提示做试一试,搞定了再来post回帖。

离线

#27 2020-04-25 10:03:01

我思故我在
会员
注册时间: 2019-09-03
已发帖子: 242
积分: 242

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

ifree64 说:

我目前新建一个用户,在这个用户下创建.ssh/authorized_keys文件,写入pub key就可以用这个用户来登陆了。

确实新建一个用户就能秘钥登录,但是 root 用户却不行, 正在查找原因。

离线

#28 2020-04-25 10:13:46

我思故我在
会员
注册时间: 2019-09-03
已发帖子: 242
积分: 242

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

我思故我在 说:

确实新建一个用户就能秘钥登录,但是 root 用户却不行, 正在查找原因。

参考这篇博文:
https://blog.csdn.net/huyuan7494/article/details/81627108

root 用户也搞定了,    公钥保存到这个目录就可以了: /root/.ssh/authorized_keys

刚刚一直不成功的原因是 /root 目录的拥有者是 sshd 用户,

改成 root 用户就可以了:  chown -R root:root /root/


太感谢 @ifree64 大神了。

离线

#29 2020-04-27 20:22:20

shunshn
会员
注册时间: 2020-04-13
已发帖子: 15
积分: 15

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

问题就出在这里了, 在根文件系统里面把 /dev/ttyS0 的节点改为 4, 64
这个具体怎样改

离线

#30 2020-04-28 22:13:47

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 1,985
积分: 1907

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

shunshn 说:

问题就出在这里了, 在根文件系统里面把 /dev/ttyS0 的节点改为 4, 64
这个具体怎样改

mknod /dev/ttyS0  C  4  64

在线

#31 2020-12-31 09:59:46

伍零壹
会员
注册时间: 2019-12-16
已发帖子: 112
积分: 112

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

晕哥  请问 V3S在tina里面对应哪一个选项(在lunch的时候)

离线

#32 2021-03-29 11:47:34

xfdr0805
会员
注册时间: 2020-07-23
已发帖子: 116
积分: 105

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

我只把密码改了就可以正常登录了

我思故我在 说:
我思故我在 说:

确实新建一个用户就能秘钥登录,但是 root 用户却不行, 正在查找原因。

参考这篇博文:
https://blog.csdn.net/huyuan7494/article/details/81627108

root 用户也搞定了,    公钥保存到这个目录就可以了: /root/.ssh/authorized_keys

刚刚一直不成功的原因是 /root 目录的拥有者是 sshd 用户,

改成 root 用户就可以了:  chown -R root:root /root/


太感谢 @ifree64 大神了。

离线

#33 2021-03-31 09:28:14

JasonWoo
会员
注册时间: 2019-06-04
已发帖子: 70
积分: 68.5

Re: 终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩 (dropbear大法好,还能秘钥登录)

跟我之前遇到一个项目类似,把调试串口都开放出来做功能了,串口资源全部榨干。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn