文章目录
- 前言
- 1、ubuntu查看版本号
- 2、gpio调试
- 3、can调试
- 4、查看时区,设置上海时区
- 5、查看gpio状态
- 6、设置RK3568 otg模式
- 7、开机执行脚本,ubuntu20.04方案
- 8、文件系统挂载
- 9、ubuntu20.04修改中端登录打印信息
- 10、蓝牙调试
- 11、wifi调试
- 12、fan调试
- 13、录音测试
- 14、播放测试
- 15、声卡1的录音设备0录音,从声卡0播出
- 16、查看声卡
- 17、amixer命令控制声卡输出音量大小
- 18、导出文件系统(rk3588-debian-rootfs)
- 19、设置串口波特率
- 20、修改指定用户登录,登录时需要输入密码
- 21、设置串口开机直接自动登录
- 22、网络adb
- 23、windos下修改脚本bat文件,把散包合成一个按时间命名的update-xx-xx-xx-xx.img文件
- 24、修改分区大小
- 25、系统桌面旋转
- 26、要查看正在执行的服务,可以使用以下命令:
- 27、ubuntu20.04网络配置
- 28、wifi驱动加载不成功处理
- 29、rp-ubuntu20.04-xfce 修改配置
- 30、配置开机启动指定程序
- 31、adc调试
- 32、解决开机卡“A start job is running for wait for network to be Configured”的解决方法
- 33、在ARM架构的系统上安装Screen
- 34、5G测试
- 35、usb存储设备测试读写速度
前言
驱动调试等记录
1、ubuntu查看版本号
cat /etc/issue
cat /proc/version
2、gpio调试
gpio2_D3 // 64 24 3
echo 91 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio91/direction
echo 1 > /sys/class/gpio/gpio91/value
3、can调试
1、http://www.xbhp.cn/news/80724.html
2、https://blog.csdn.net/proware/article/details/126107886
3、设置can波特率才能up
ip link set can0 down #关闭can设备;
ip link set can0 up type can bitrate 250000 #设置can波特率
ip link set can0 up #开启can设备
cansend can0 123#000102030405060708 #发送信息
candump can0 #接收can总线发来数据
ip -details link show can0 #显示can设备详细信息
ifconfig can0 down #关闭can设备,以便配置
ip link set can0 down
ip link set can0 up type can bitrate 250000
ip link set can0 up
cansend can0 001#000102030405060708
candump can0
4、查看时区,设置上海时区
cat /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5、查看gpio状态
cat /sys/kernel/debug/gpio
6、设置RK3568 otg模式
echo host > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode //host
echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode //device
7、开机执行脚本,ubuntu20.04方案
1.修改rc-local.service文件,没有就sudo cp /lib/systemd/system/rc-local.service /etc/systemd/system
sudo vim /etc/systemd/system/rc-local.service
添加如下:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
2.创建rc.local文件
touch /etc/rc.local
里边写运行的命令:
#!/bin/sh
echo "This is test" > /tmp/my.log
exit 0
给/etc/rc.local加上可执行权限
sudo chmod +x /etc/rc.local
参考:https://blog.csdn.net/weixin_44692055/article/details/131839118
8、文件系统挂载
1.将文件系统 ubuntu-rootfs.img放到linux系统中,并创建目录rootfs
- 创建mount.sh脚本:
#!/bin/bash
mnt() {
echo "MOUNTING"
sudo mount -t proc /proc ${2}proc
sudo mount -t sysfs /sys ${2}sys
sudo mount -o bind /dev ${2}dev
sudo mount -o bind /dev/pts ${2}dev/pts
sudo chroot ${2}
}
umnt() {
echo "UNMOUNTING"
sudo umount ${2}proc
sudo umount ${2}sys
sudo umount ${2}dev/pts
sudo umount ${2}dev
}
if [ "$1" == "-m" ] && [ -n "$2" ] ; then
sudo mount -o loop ubuntu-rootfs.img ./rootfs
mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ]; then
umnt $1 $2
sudo umount ubuntu-rootfs.img ./rootfs
else
echo ""
echo "Either 1'st, 2'nd or both parameters were missing"
echo ""
echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
echo ""
echo "For example: ch-mount -m /media/sdcard/"
echo ""
echo 1st parameter : ${1}
echo 2nd parameter : ${2}
fi
执行./mount.sh -m rootfs/
在linux系统下进入rootfs目录下,增加或删除文件
修改完之后输入exit退出
执行./mount.sh -u rootfs/
5.ubuntu-rootfs.img就是改过的
9、ubuntu20.04修改中端登录打印信息
https://blog.csdn.net/terry_xiwang/article/details/124669156
10、蓝牙调试
1、hciconfig查看设备
2、http://t.csdn.cn/6HWZp
3、http://t.csdn.cn/c9uw1
4、https://blog.csdn.net/gangyanliang/article/details/47338743
11、wifi调试
扫描热点
sudo nmcli dev wifi
接入热点
sudo nmcli dev wifi connect "MYWIFI" password "00000000"
12、fan调试
1、读取cpu温度:
cat /sys/class/thermal/thermal_zone0/temp
2、设置pwm大小(0-255):
echo 0 > /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm_value
3、查看pwm大小:
cat /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm_value
13、录音测试
录音
arecord -D hw:0 -f S32_LE -r 48000 -c 8 -d 3 test.wav
-D 指定了录音设备
-d 指定录音的时长,单位时秒
-f 指定录音格式(32/24等)
-r 指定了采样率,单位时Hz
-c 指定channel 个数
文件格式默认wav
14、播放测试
指定声卡0播放:
aplay -D hw:0 test.wav
指定声卡1播放:
aplay -D hw:1 test.wav
15、声卡1的录音设备0录音,从声卡0播出
alsaloop -C hw:0,0 -P hw:1,0 -t 10000 -A 3 -S 1 -b -v
16、查看声卡
aplay -l
card 0: rockchiprk809co [rockchip,rk809-codec], device 0: fe410000.i2s-rk817-hifi rk817-hifi-0 [fe410000.i2s-rk817-hifi rk817-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: rockchiphdmi [rockchip,hdmi], device 0: rockchip,hdmi i2s-hifi-0 [rockchip,hdmi i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
17、amixer命令控制声卡输出音量大小
RK809:
1、 amixer -c 0 contents //-c 0 表示指定声卡0
amixer -c 0 contents
numid=3,iface=MIXER,name='Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=97,step=0
: values=50,50
| dBscale-min=-95.00dB,step=0.37dB,mute=0
numid=2,iface=MIXER,name='Capture MIC Path'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'MIC OFF'
; Item #1 'Main Mic'
: values=1
numid=4,iface=MIXER,name='Capture Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=255,step=0
: values=255,255
| dBscale-min=-95.00dB,step=0.37dB,mute=0
numid=1,iface=MIXER,name='Playback Path'
; type=ENUMERATED,access=rw------,values=1,items=11
; Item #0 'OFF'
; Item #1 'RCV'
; Item #2 'SPK'
; Item #3 'HP'
; Item #4 'HP_NO_MIC'
; Item #5 'BT'
; Item #6 'SPK_HP'
; Item #7 'RING_SPK'
; Item #8 'RING_HP'
; Item #9 'RING_HP_NO_MIC'
; Item #10 'RING_SPK_HP'
: values=6
root@rk3568:~#
2、指令使用:
amixer -c 0 cset numid=3 100//设置声卡1的耳机和喇叭音量大小
amixer -c 0 cset numid=1 0 //0--OFF (耳机和喇叭),关闭声卡1的音频路由
amixer -c 0 cset numid=12 6 //10--ON (耳机和喇叭),设置声卡1的音频路由
amixer -c 0 cset numid=2 1 //0--Off 1--en
amixer -c 0 cset numid=4 100 //设置声卡1录音的大小
HDMI:
1、amixer -c 0 contents
amixer -c 0 cset numid=4,iface=PCM,name='AUDIO MODE' 100
amixer -c 0 cset numid=3,iface=PCM,name='ELD' 100
amixer -c 0 cset numid=1,iface=CARD,name='rockchip,hdmi Jack' 0
amixer -c 0 cset numid=12 6& aplay -D hw:0
amixer -c 0 cget numid=12
18、导出文件系统(rk3588-debian-rootfs)
1、dd if=/dev/mmcblk0p6 of=/userdata/rootfs.img
2、e2fsck -p -f rootfs.img //e2fsck检查并修复镜像文件
3、resize2fs -M rootfs.img //resize2fs减小镜像文件大小,烧录后mmcblk0p6分区大小与rootfs.img此时的一样
4、拷贝到windos下使用烧录工具烧录到另外一台机器验证
5、resize2fs /dev/mmcblk0p6 //还原mmcblk0p6分区实际大小
19、设置串口波特率
stty查看串口参数,查看串口1(/dev/ttyS0)当前的参数,包括波特率、数据位等。
stty -F /dev/ttyS0 -a
stty设置串口参数,该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。一般情况下设置这两个参数就可以了
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8
20、修改指定用户登录,登录时需要输入密码
vim etc/lightdm/lightdm.conf
#autologin-guest=false
+autologin-user=(用户名)
-autologin-user-timeout=0
+#autologin-user-timeout=0
#autologin-in-background=false
21、设置串口开机直接自动登录
先备份文件:
cp /etc/systemd/system/getty.target.wants/getty@ttyS0.service /etc/systemd/system/getty.target.wants/getty@ttyS0.service.bak
然后修改
vim /etc/systemd/system/getty.target.wants/getty@ttyS0.service
把 ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
修改为以下内容:
ExecStart=-/sbin/agetty --keep-baud -a root 115200,38400,9600 %I $TERM
或者以下内容:
ExecStart=-/sbin/agetty -a root -8 -L %I 115200 $TERM
在[Service]项的 ExecStart=添加"-a root",root
为用户名
22、网络adb
# 让设备端的 adbd 重启,并在 TCP 端口 5555 处监听
adb tcpip 5555
# 此时可以断开 USB 连接
# 远程连接设备,设备的 IP 地址是 192.168.1.100
adb connect 192.168.1.100:5555
# 断开连接
adb disconnect 192.168.1.100:5555
23、windos下修改脚本bat文件,把散包合成一个按时间命名的update-xx-xx-xx-xx.img文件
Afptool -pack ./ Image\update.img
RKImageMaker.exe -RK3588 Image\MiniLoaderAll.bin Image\update.img update.img -os_type:androidos
rem update.img is new format, Image\update.img is old format, so delete older format
del Image\update.img
move update.img Image\update-%date:~,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%.img
pause
24、修改分区大小
使用tools/windows/ParameterTool_v1.2.zip修改parameter.txt,合成整包update.img烧录验证成功
25、系统桌面旋转
当前所有连接上的显示屏: xrandr --listmonitors查看或者xrandr | grep “connected”|awk ‘{print$1}’
指定HDMI-1旋转:
xrandr --output HDMI-1 --rotate right //顺时针旋转90度
xrandr --output HDMI-1 --rotate left //逆时针旋转90度
xrandr --output HDMI-1 --rotate inverted //倒转
xrandr --output HDMI-1 --rotate normal //正常状态
设置HDMI-1为主屏:
xrandr --output HDMI-1 --primary
关闭打开HDMI-1屏幕
xrandr --output HDMI-1 --off
xrandr --output HDMI-1 --auto
设置HDMI-1分辨率:
xrandr --output HDMI-1 --mode 1280x720
双屏显示设置方法:
xrandr --output HDMI-1 --same-as LVDS-1 --auto //复制屏幕
xrandr --output HDMI-1 --right-of eDP-1 --auto //右扩展屏幕(HDMI为eDP的右扩展屏)
xrandr --output eDP-1 --right-of HDMI-1 --auto //左扩展屏幕(HDMI为eDP的左扩展屏)
26、要查看正在执行的服务,可以使用以下命令:
1. 使用`systemctl`命令查看正在运行的服务:
systemctl list-units --type=service --state=running
2. 使用`service`命令查看正在运行的服务:
service --status-all
3. 使用`ps`命令结合`grep`过滤器查看正在运行的服务进程:
ps aux | grep service_name 其中,`service_name`是你要查找的服务名称。
请注意,以上命令可能需要以root用户或使用sudo权限来执行。
27、ubuntu20.04网络配置
1、重启网络
sudo systemctl restart NetworkManager.service
2、配置网络
vim /etc/netplan/00-installer-config-ethx.yaml
vim /etc/netplan/01-installer-config-wifi.yaml
sudo netplan apply
28、wifi驱动加载不成功处理
由于自己做的rootfs没有wifi模组的配置wifi加载不成功
log:
[ 1087.353421] [dhd] dhd_bus_devreset: making DHD_BUS_DOWN
[ 1087.353505] [dhd] dhdsdio_probe_init: making DHD_BUS_DOWN
[ 1087.353795] [dhd] dhd_conf_set_path_params : Final fw_path=/vendor/etc/firmware/fw_bcm43456c5_ag.bin
[ 1087.353800] [dhd] dhd_conf_set_path_params : Final nv_path=/vendor/etc/firmware/nvram_ap6256.txt
[ 1087.353802] [dhd] dhd_conf_set_path_params : Final clm_path=/vendor/etc/firmware/clm_bcm43456c5_ag.blob
[ 1087.353807] [dhd] dhd_conf_set_path_params : Final conf_path=/vendor/etc/firmware/config.txt
[ 1087.353822] [dhd] dhd_get_download_buffer: Open image file failed /vendor/etc/firmware/config.txt
[ 1087.353826] [dhd] dhd_conf_read_config : Ignore config file /vendor/etc/firmware/config.txt
[ 1087.354761] [dhd] dhdsdio_download_code_file: Open firmware file failed /vendor/etc/firmware/fw_bcm43456c5_ag.bin
[ 1087.354766] [dhd] _dhdsdio_download_firmware: dongle image file download failed
[ 1087.354818] [dhd] dhd_bus_devreset Failed to download binary to the dongle
[ 1087.354827] [dhd] dhd_net_bus_devreset: dhd_bus_devreset: -35
[ 1087.354830] [dhd] ANDROID-ERROR) failed to power up wifi chip, retry again (0 left) **
解决:
复制模组的配置文件到/vendor/etc/firmware下
29、rp-ubuntu20.04-xfce 修改配置
1、修改root用户密码
sudo passwd root
2、修改主机名
sudo echo rk356X > /etc/hostname
sudo echo rk356X > /etc/hosts
3、删除用户
a、删除用户的账户及相关的文件和目录
sudo userdel user0
b、删除用户的同时,删除用户的主目录和主目录里的所有文件
sudo deluser --remove-home user0
4、添加用户
sudo useradd -d /home/user0 -m user0
设置密码:sudo passwd user0
5、查看所有用户(查看所有用户的命令可以显示所有用户(包括系统用户)和其相关的组信息 )
cat /etc/passwd | cut -d: -f1
6、开机指定用户登录
vim /etc/slim.conf
# default user, leave blank or remove this line
# for avoid pre-loading the username.
default_user user0
7、普通用户添加root权限,找到下面一行,在root下面添加一行
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
user0 ALL=(ALL) ALL
修改完毕,现在可以用 user0 帐号登录,然后用命令su,即可获得root权限进行操作。
8、修改4G/5G服务
mv /etc/udev/rules.d/99-rpdzkj-5G-service.rules /etc/udev/rules.d/99-5G-service.rules
vim /etc/pcie_modem.sh
9、xfce修改壁纸
mv /usr/share/backgrounds/xfce/xfce-stripes.png /usr/share/backgrounds/xfce/xfce-stripes-bak.png
cp /usr/share/backgrounds/warty-final-ubuntu.png /usr/share/backgrounds/xfce/xfce-stripes.png
10、ubuntu查看启动的服务
systemctl list-units --type=service --state=running
30、配置开机启动指定程序
1.在目录/lib/systemd/system/新增配置文件 test_app.service(注意文件后缀必须是.service)
2.文件内容如下,注意实际应用时将()以及()中的内容删除:
[Unit]
Description=optek_raman server (服务介绍)
After=rockchip.service (在服务rockchip.service启动之后启动本服务)
[Service]
Type=simple
EnvironmentFile=-/etc/default/weston_env (非必要选项:服务程序需要的环境变量配置)
ExecStartPre= /usr/bin/weston_run.sh (非必要选项:在启动本服务前,先执行指向的脚本)
ExecStart=/root/bundle/rk_mili_raman -b ./ -w 960 -h 640 (本服务对于的主程序路径,后面是传入程序的参数)
KillMode=process
Restart=on-failure (本服务退出后,系统将会自动唤醒本)
[Install]
WantedBy=multi-user.target(可以设置为多用户模式)
Alias=optek_raman.service (别名)
3.配置开机启动,重启后生效
systemctl enable test_app.service
4.停止开机启动程序
systemctl disable test_app.service
5.更多使用介绍可以百度或google systemctl用法。
31、adc调试
分别对应原理图的8个通道:
ls /sys/bus/iio/devices/iio\:device0/in_voltage*_raw
in_voltage0_raw
in_voltage1_raw
in_voltage2_raw
in_voltage3_raw
in_voltage4_raw
in_voltage5_raw
in_voltage6_raw
in_voltage7_raw
获取1通道:
cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
1023
32、解决开机卡“A start job is running for wait for network to be Configured”的解决方法
编辑:
vim /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
修改:
- ExecStart=/usr/bin/nm-online -s -q --timeout=0
+ ExecStart=/usr/bin/nm-online -s -q --timeout=0
33、在ARM架构的系统上安装Screen
1、sudo apt-get update
2、sudo apt-get install screen
3、创建新的虚拟终端:screen -S my_session
4、若要退出当前会话,可以按Ctrl + A,然后按D。
5、重新连接:screen -r my_session
6、删除创建新的虚拟终端:screen -X -S my_session quit
7、查看已经创建的虚拟终端:screen -list
34、5G测试
busybox microcom -t 6000 -s 115200 /dev/ttyUSB0
35、usb存储设备测试读写速度
1、挂载
mount /dev/sda2 usb3.0
2、测试
写入: dd if=/dev/zero of=/usb3.0/1G.file bs=1024 count=1000000
读取: dd if=/usb3.0/1G.file of=/dev/zero bs=1024 count=1000000
3、查看
lsusb -t