后来我去 V3s 的u-boot sun8i 改成这样:
#define CONFIG_BOOTARGS "console=ttyS1,115200 ......"
把Linux的控制台改为 ttyS1, 接上电脑串口, 发现一旦程序 open("/dev/ttyS0"), 控制台就再也不受控制了。
再发现 echo xxxxxxxxxxx > /dev/ttyS0 直接输出到控制台,
这样就不太符合逻辑了, 因为当前的控制台已经是 ttyS1 了。
在线
继续折腾, 现在把网卡的座子焊起,把 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
在线
关于如何编译 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可以链接
在线
改串口要改哪些东西呢 改了dts dtsi,sun8i文件,不行呢
离线
改这句吗 stdout-path = "serial0:115200n8";
离线
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";
};
改上面两个文件.
在线
再请教一下 比如uart2作为终端输出 还需要改哪里
离线
再请教一下 比如uart2作为终端输出 还需要改哪里
有两个办法:
1. 在u-boot命令行修改 bootargs 参数
2. 修改 u-boot源码 include/configs/sun8i.h 改成这样
#define CONFIG_BOOTARGS "console=ttyS1,115200 ......"
在线
有用,mark!!
离线
有 USB cdc作为debug输出
离线
有 USB cdc作为debug输出
这个怎么玩?
离线
这个怎么玩?
首先要支持 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设备,方便网络访问
离线
那就不如用adb了,adb可以双向传文件,可以adb shell打开命令行。
离线
USB作为debug调试口好处是不用增加USB转串口芯片,可以直接连电脑调试,缺点是调试bootloader有困难,内核调试也比较费劲
离线
关于如何编译 dropbear 这个使用 buildroot menuconfig 找到这个软件包开启即可,
然后眼力不好找不到,可以直接打开 .config 文件编辑即可。使用方法可以参考这个:
https://blog.csdn.net/hai__yun/article/details/77966315使用步骤:
dropbear 密钥对登录没搞定,悲伤
离线
太棒了mark
离线
终于把V3s三个串口全部榨干, 控制台只能用 ssh 了, 泪崩
蓝牙,通讯, 加密芯片各用一个
晕哥,蓝牙用的串口必须要带流控么
离线
加个usb转串口的芯片
离线
加个usb转串口的芯片
spi转串口的也可以
离线
dropbear 密钥对登录没搞定,悲伤
我目前新建一个用户,在这个用户下创建.ssh/authorized_keys文件,写入pub key就可以用这个用户来登陆了。
离线
我目前新建一个用户,在这个用户下创建.ssh/authorized_keys文件,写入pub key就可以用这个用户来登陆了。
感谢大佬提醒,不知道我当时怎么弄的了,我空我就按照大佬你的提示做试一试,搞定了再来post回帖。
离线
我目前新建一个用户,在这个用户下创建.ssh/authorized_keys文件,写入pub key就可以用这个用户来登陆了。
确实新建一个用户就能秘钥登录,但是 root 用户却不行, 正在查找原因。
离线
确实新建一个用户就能秘钥登录,但是 root 用户却不行, 正在查找原因。
参考这篇博文:
https://blog.csdn.net/huyuan7494/article/details/81627108
root 用户也搞定了, 公钥保存到这个目录就可以了: /root/.ssh/authorized_keys
刚刚一直不成功的原因是 /root 目录的拥有者是 sshd 用户,
改成 root 用户就可以了: chown -R root:root /root/
太感谢 @ifree64 大神了。
离线
问题就出在这里了, 在根文件系统里面把 /dev/ttyS0 的节点改为 4, 64
这个具体怎样改
离线
晕哥 请问 V3S在tina里面对应哪一个选项(在lunch的时候)
离线
我只把密码改了就可以正常登录了
我思故我在 说:确实新建一个用户就能秘钥登录,但是 root 用户却不行, 正在查找原因。
参考这篇博文:
https://blog.csdn.net/huyuan7494/article/details/81627108root 用户也搞定了, 公钥保存到这个目录就可以了: /root/.ssh/authorized_keys
刚刚一直不成功的原因是 /root 目录的拥有者是 sshd 用户,
改成 root 用户就可以了: chown -R root:root /root/
太感谢 @ifree64 大神了。
离线
跟我之前遇到一个项目类似,把调试串口都开放出来做功能了,串口资源全部榨干。
离线
一开始默认控制台是 ttyS0,
我在u-boot里面手动把控制台设置成一个不存在的 ttySx,
但是程序死活起不动,
由于没有了控制台,
也不知道什么原因卡死,
又没有其他合适的调试办法。
可能是没有进入终端登陆,所以起不来
离线
晕哥,您好,新人想请教一个问题哈~就是我现在设置console=ttyS0,就使用了串口0进行终端交互。现在我想知道这个“ttyS0”是如何跟底层板子的uart0联系起来的哇?我想尝试这在底层驱动里面寻找联系,但是不知道去哪里找,代码太多了:|。所以想请教一下您,这个问题困扰好久了,自己还是没有找到:|。
离线
那就不如用adb了,adb可以双向传文件,可以adb shell打开命令行。
ssh 也是双向的。 也可以传文件。 用winscp.
离线
@晕哥
兄弟你好,想麻烦你个事情,有时间的话能调试下t113 tina的Wayland吗?谢谢!
离线