精华内容
下载资源
问答
  • Linux-串口重定向到SSH

    2021-03-16 11:15:35
    Linux-串口重定向到SSH 概述 在嵌入式Linux系统中,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。 可以将程序重新启动到...

    Linux-串口重定向到SSH

    概述
    在嵌入式Linux系统中,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。
    可以将程序重新启动到当前终端界面,但是在程序出现问题时,如果重启程序,可能会破坏了问题现场,再查找问题就不好查找了。
    下面是实现的代码,可以将输出到串口的日志信息,重定向到当前的telnet或者ssh界面
    ————————————————
    版权声明:本文为CSDN博主「fensnote」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/fensnote/article/details/105782796
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <fcntl.h>
    #include <sys/ioctl.h>
    #include <unistd.h>

    int main(int argc, char *argv[])
    {
    int tty = -1;
    char *tty_name = NULL;

    if(argc < 2)
    {
        printf("miss argument\n");
        return 0;
    }
    
    /* 获取当前tty名称 */
    tty_name = ttyname(STDOUT_FILENO);
    printf("tty_name: %s\n", tty_name);
    
    if(!strcmp(argv[1], "on"))
    {
        /* 重定向console到当前tty */
        tty = open(tty_name, O_RDONLY | O_WRONLY);
        ioctl(tty, TIOCCONS);
        perror("ioctl TIOCCONS");
    }
    else if(!strcmp(argv[1], "off"))
    {
        /* 恢复console */
        tty = open("/dev/console", O_RDONLY | O_WRONLY);
        ioctl(tty, TIOCCONS);
        perror("ioctl TIOCCONS");
    }
    else
    {
        printf("error argument\n");
        return 0;
    }
    
    close(tty);
    return 0;
    

    }

    在这里插入图片描述

    展开全文
  • Linux开启串口和权限

    2020-10-30 15:26:12
    用命令:sudo chmod 666 /dev/ttyS0,但是每次重启以后,权限又回复以前状态,有什么方法可以永久的修改串口权限呢? 考虑的方法: 一:将系统的登录权限改为 root 由于之前的一些软件都是不是安装子啊 root 账户下,...

    /dev/hd[a-t] IDE设备
    /dev/sd[a-z] SCSI设备
    /dev/fd[0-7] 标准软驱
    /dev/md[0-31] 软raid设备
    /dev/loop[0-7] 本地回环设备
    /dev/ram[0-15] 内存
    /dev/null 无限数据接收设备,相当于黑洞
    /dev/zero 无限零资源
    /dev/tty[0-63] 虚拟终端 /dev/ttyUSB*是U转串
    /dev/ttyS[0-3] 串口
    /dev/lp[0-3] 并口
    /dev/console 控制台
    /dev/fb[0-31] framebuffer
    /dev/cdrom => /dev/hdc
    /dev/modem => /dev/ttyS[0-9]
    /dev/pilot => /dev/ttyS[0-9]
    /dev/random 随机数设备
    /dev/urandom 随机数设备

    1.串口权限

    用命令:sudo chmod 666 /dev/ttyS0,但是每次重启以后,权限又回复以前状态,有什么方法可以永久的修改串口权限呢?

    考虑的方法:

    一:将系统的登录权限改为 root

    由于之前的一些软件都是不是安装子啊 root 账户下,所以此方法没有采取

    二:修改配置文件

    在 /etc/udev/rules.d 目录下,自己再添加一个 20-usb-serial.rules文件,内容如下:
    sudo touch 20-usb-serial.rules
    添加内容:

    KERNEL=="ttyUSB*"  MODE="0777" 
    KERNEL=="ttyS*"  MODE="0777" 
    

    保存
    重启电脑,或者拔掉由串口过来的USB线,重新连接
    查看权限:ls /dev/ttyS0 -l

    方法2
    银河麒麟串口改成普通用户能访问

    sudo usermod -a -G dialout $USER
    

    注:测试串口通断,可下载cutecom,短接2,3脚,随便发什么,会原数据返回。

    2.USB和设备权限

    在 /etc/udev/rules.d 目录下,自己再添加一个 70-usblib.rules文件,内容如下:

    # 特定 usb devices
    ATTRS{idVendor}=="735f",MODE="0666",OWNER="user",GROUP="user"
    # All usb devices
    KERNEL=="sg*",MODE="0666"
    KERNEL=="sd*",MODE="0666"
    

    或 开特定USB设备USB权限参考:
    PID,VID要改为当前设备的

    在 Linux 中永久修改 USB 设备权限
    1、 sudo vi /etc/udev/rules.d/50-myusb.rules
    添加如下信息:
    SUBSYSTEMS=="usb",ATTRS{idVendor}=="23a4",ATTRS{idProduct}=="0219", GROUP="ggatm", MODE="0666"
    2、执行命令sudo udevadm control --reload  
         或重启
         后生效
    
    展开全文
  • 如何启用Linux串口终端

    千次阅读 2018-03-20 21:40:39
    临时为/dev/ttyS0启用串口登录(重启后失效): systemctl start getty@ttyS0.service 永久为/dev/ttyS0启用串口登录: systemctl enable serial-getty@ttyS0.service 查看/dev/ttyS0的串口登录功能是否启用:...

    临时为/dev/ttyS0启用串口登录(重启后失效):

    systemctl start getty@ttyS0.service
    

    永久为/dev/ttyS0启用串口登录:

    systemctl enable serial-getty@ttyS0.service
    

    查看/dev/ttyS0的串口登录功能是否启用:

    systemctl status serial-getty@ttyS0.service
    
    展开全文
  • linux串口权限设置

    千次阅读 2016-10-31 14:51:59
    修改配置文件 在 /etc/udev/rules.d 目录下,自己再添加一个 20-usb-serial.rules文件,内容如下: sudo gedit 20-usb-serial.rules 添加内容: KERNEL=="ttyUSB*" MODE=...重启电脑,或者拔掉由串口过来的USB线
    修改配置文件
    
    在 /etc/udev/rules.d 目录下,自己再添加一个 20-usb-serial.rules文件,内容如下:
    sudo gedit 20-usb-serial.rules
    添加内容:
    KERNEL=="ttyUSB*"  MODE="0777" 
    KERNEL=="ttyS*"  MODE="0777" 
    保存
     
    重启电脑,或者拔掉由串口过来的USB线,重新连接
    查看权限:ls /dev/ttyUSB0 -l
    展开全文
  • Linux串口权限修改

    千次阅读 2013-12-20 11:38:02
    安装完成以后,发觉上位机应用程序不能获取底层串口发送的数据,网上搜索了一下:说是串口权限问题,用命令:sudo chmod 666 /dev/ttyS0,但是每次重启以后,权限又回复以前状态,有什么方法可以永久的修改串口权限呢...
  • suse系统,新建一个/etc/init/ttyS0.conf文件,内容如下:start on runlevel [23]stop on runlevel [!23]respawnexec /sbin/getty -L 115200ttyS0 ansi保存,重启OS即可。
  • Linux永久打开串口权限

    千次阅读 2019-04-19 14:12:31
    但这样的权限是短暂的,每次重启或者关闭计算机,插拔USB串口都得重写指令,这无疑是很麻烦的一件事! 如下图所示: 从第一条指令可以看到串口ttyACM0所属用户组为 dialout, root用户才具有操作权...
  • Linux 重启网络服务__2018.07.28

    千次阅读 2018-07-28 18:38:58
    使用minicom 软件开发串口 进入minicom:   sudo minicom  设置PC机的静态IP地址:  sudo vim /etc/network/interfaces   auto eth0  iface eth0 inet static  address 192.168.1.30  netmask 255.255.255.0...
  • Linux/Ubuntu串口权限

    2019-08-24 16:29:19
    sudo usermod -a -G dialout user_name groups user_name –> user_name: user_name adm dialout cdrom sudo dip plugdev lpadmin sambashare...可见 user_name 在dialout用户组(需要重启生效,或者。。。) ...
  • 重启之后就可以看到添加的串口了,配置后就可以正常使用了。常用的配置命令有:修改/etc/init.d/boot.local 文件,添加:setserial /dev/ttyS6 uart 16550a port 0x300 irq 7 baud_base 115200setserial /dev/ttyS7 ...
  • Linux启用大于四个串口 先说结论 # 1.修改开机grub文件 sudo vi /etc/default/grub # 2.在"GRUB_CMDLINE_LINUX_DEFAULT="一行的结尾空格,添加内容 8250.nr_uarts=8 # 3.更新开机引导并重启 sudo update-grub 再说...
  • 最近使用树莓派进行多串口硬件操作,使用了两种串口,一种是usb转ttl,一种是usb转rs232。...无意当中发现系统重启后,对应的串口出现了变化。比如访问设备,控制开关门的串口设备名称,原来是/dev/ttyUSB...
  • 嵌入式linux,增加串口登陆密码

    千次阅读 2013-12-14 13:54:34
    修改/etc/inittab文件 把 ::askfirst:-/bin/sh tty2::askfirst:-/bin/sh 等全部注掉 ...然后在命令行下用passwd命令输入密码,接着重启就会需要密码。但是每次退出时必须用exit命令退出终端,如果直接
  • 光猫下挂一个机顶盒,机顶盒通过DHCP从光猫获取地址上网,在机顶盒上面切换节目的时候,光猫出现重启串口打印softirq: huh, entered softirq 3 NET_RX c0348f54 with preempt_count 00000101, exited with ...
  • Linux/Unix通信永久打开串口权限

    千次阅读 2019-05-15 14:33:07
    使用转串口工具时,经常需要使用指令: ...但这样的权限是短暂的,每次重启或者关闭计算机,插拔USB串口都得重写指令,这无疑是很麻烦的一件事! ls -l /dev/ttyUSB0 whoami sudo usermod -aG dial...
  • /*tcgetattr(fd,&options)得到与fd指向对象的相关参数,并将它们保存于options,该函数还可以测试配置是否正确,该串口是否可用等。若调用成功,函数返回值为0,若调用失败,函数返回值为1. */ if ( tcgetattr( fd...
  • 无意当中发现系统重启后,对应的串口出现了变化。比如访问设备,控制开关门的串口设备名称,原来是/dev/ttyUSB0,重启后变成了/dev/ttyUSB2。多次重启后,发现这种变化没有规律可言。通过搜索,最后终于发现了解...
  • 用vmware的虚拟串口输出xen或linux的启动日志 referencehttp://wiki.xenproject.org/wiki/Xen_Serial_Console 最近在自己写一个xen的调度器,写了一个简单的调度器之后就迫不及待地编译,然后安装,...
  • mini2440的linux系统启动后不断重启

    千次阅读 2012-03-08 23:26:59
    先前几天一直在搞uboot的移植工作,这几天终于将开发板、PC与XPping通了(本人比较笨的),于是想在ubuntu系统上利用浏览器访问开发板的IP地址,做网络控制LED的测试,于是就开始烧写linux内核之类的事情,在经过漫长...
  • hdmi_rotate display_lcd_rotate=0(不能有空格) display_hdmi_rotate=0(不能有空格) 0-不旋转,1-顺时针旋转90度,2-顺时针旋转180度,3-顺时针旋转270度 Ctrl+x--y报存,重启 八、树莓派定时重启 1、例如:执行如下...
  • 1.烧arm linux内核 插入SD卡 上电,不断按空格直到出U-boot run xflash 等安装完,重启OK 2.修改静态ip vi /etc/network/interfaces 同一网段 iface eth0 inet static ...
  • 树莓派——串口编程

    2021-02-12 13:57:06
    linux一切皆文件。 一、树莓派在串口编程之前,需要配置文件, 打开cmdline文件:输入指令:sudo vi /boot/cmdline.txt, 当打开cmdline文件,进入输入模式(点击键盘i键),把console= 的这段文字删除掉,并保存退出...
  • linux下使用C语言编写一个接收串口数据的程序,从网上找了部分代码,结合自己的一些东西编写了一个程序。但是运行之后收不到数据,于是启动minicom进行调试,发现在minicom下可以收到数据,于是关闭minicom,再次...
  • 1 功能需求利用USART串口实现电脑与STM32单片机的命令交互,类似Linux系统一样的shell功能,通过这个功能掌握STM32单片机USART串口的基本用法,具体我们实现以下功能:读取STM32单片机的唯一序列号;读取STM32单片机...
  • (该单板已升级过固件,但仅能解决电脑重启串口不识别的问题)具体遇到的故障现象为,在linux上打开串口,当串口有非常多的打印数据时,关闭串口后无法再次打开。故障时,串口仍然可以识别,但芯片不响应。同样操作...
  • Arduino的串口监视器

    千次阅读 2017-08-06 13:58:04
    显示Arduino或Genuino(USB或串口板)发送的数据,要想发送数据给控制板的话...注意在Windows、Mac或Linux中,当你打开串口监视器的时候Arduino或Genuino会重启(程序会重新开始运行)。 控制板同样能够和Processing,
  • 在嵌入式Linux系统中,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。 也可以将程序重新启动到当前终端界面,但是在程序...
  • 又碰到一个神奇的进程调度问题,在系统重启过程中,发现系统挂住了,过了30s后才重新复位,真正系统复位的原因是硬件看门狗重启的系统,而非原来正常的reboot流程。硬件狗记录的复位时间,将不喂狗的时间向前推30s...
  • IMX6下reboot重启失败的解决办法

    千次阅读 2016-09-21 11:44:33
    D-Chip IMX6板子下的linux或者android系统在串口命令行下使用reboot无法重启或者重启失败的解决办法。

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 145
精华内容 58
关键字:

linux重启串口

linux 订阅