001-华为MDC调试时遇到的一些问题及解决方法

目录

0,MDC出厂版本升级为T29

1,ssh连接MDC

2,sudo apt-get update在 0% [waiting for headers ] 处卡住了

3,在使用python -m pip install --upgrade pip进行pip升级时,每次到最后就是报一大堆红色,最终升级不成功。

4,尝试各种源,MDC是ARM架构,这点一定要注意。

5,安装依赖库

6---本地ubuntu系统通过ssh传输文件到MDC300(文件传输和删除)

7---MDC5分钟 无操作自动退出→改为永久不退出:

8,MDC300网络连接问题

9,华为MDC连接激光雷达

10,软件MindStudio获取lib失败,小bug

11,MDC更换后出现:Host key verification failed.

12,关于ROS初始化的问题

13,Mini0,登录后通过ssh传输文件出现问题

14.mindstudio实际ddk所在目录

15,激光雷达驱动拷贝到MDC 300F中遇到的问题:Permission denied

16,程序移植到MDC上编译时出现如下问题:

17,之前启动ROS正常,某一天报错“bash: roscore: command not found”

18,由于外网访问权限误设置,导致mdc部分网卡找不到


0,MDC出厂版本升级为T29

说明:出厂版本ROS都没有,需要刷到T27以上版本,本例为T29

1,资料准备

升级工具为MDC_upgrade_tool_demo_1_0_1_win,解压后内部软件如下图;

【该软件基于window,需要PC端网线连通MDC设备,而后按照软件内部的操作说明来即可,全部升级成功后ROS即已安装】

工具内部如下图:

2,前期工作:a)查询版本或升级前根据实际情况配置好用于SSH登录MDC单板的IP地址和端口号PORT

               (默认IP:192.168.1.6  PORT:22,支持远程连接,PC端改成同网段IP即可)
              b)本升级工具已内置用于登录MDC的默认用户名和密码
               如果修改过MDC的默认登录用户名、登录密码、root密码,查询版本或升级前可通过<登录用户名><登录密码><root密码>按钮配置用于登录MDC的信息

    1.查询当前MDC版本:点击“版本查询”按钮,等待查询结束(查询版本时不需要选择文件)

    2.执行升级:a)点击“选择Infrastructure包(OS)”,选择要升级的OS
                b)点击“选择FW包(固件)”,选择要升级的固件
                c)点击“开始升级”触发升级并等待升级结束
                d)升级结束后,客户端会打印升级结果及“升级结束”字样
                e)当前升级任务显示“升级结束”后,可选择其他升级文件继续升级【有两部分升级,待全部完成后方算升级结束】

1,ssh连接MDC

ssh服务安装参考链接:ubuntu16.04安装ssh服务,并实现远程访问 - 渡劫锦官城 - 博客园

(1-1)在本地ubuntu系统中新开终端,输入以下命令ssh登录MDC300,用户名为“sshuser”,IP为“192.168.1.6”,端口号为“22”,按步骤输入相应password

ssh -p 22 sshuser@192.168.1.6

问题1:连接被拒绝,但是能ping通(很多时候是由于MDC还未完全启动,等待MDC完全启动后就可以登录成功了)

解决1:重新启动ssh

service sshd status  #查看ssh的状态
service sshd start   #启动ssh命令

或关闭ssh再启动

service sshd stop 

参考链接:linux(18)-解决本机ssh远程登录失败的问题 ssh: connect to host 192.168.1.3 port 22: Connection refused - 阳光美美哒 - 博客园

(1-2)切换到root账户,按步骤输入相应password

(2-1)添加用户调测权限

MDC300为mdc用户添加远程调测权限,掉电或重启后需重新添加调测权限:

root@mdchost:~# bash /home/mdc/bin/enable_sudo_for_ordinary_user.sh -u mdc

[info] add ssh and sftp permission to mdc successfully.

权限添加后方能从“sshuser”用户进入到“mdc”用户。

(2-2)取消调测权限:

root@mdchost:~# gpasswd -d mdc sshonly

Removing user mdc from group sshonly

2,sudo apt-get update在 0% [waiting for headers ] 处卡住了

解决:

1步---

sudo apt-get clean

2步---

sudo apt-get update

来源:https://www.kutu66.com//ubuntu/article_157015

3,在使用python -m pip install --upgrade pip进行pip升级时,每次到最后就是报一大堆红色,最终升级不成功。

解决:

使用默认的镜像源时间过长就会没响应,使用豆瓣的镜像进行升级。

1步---

python -m pip install --upgrade pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

二步---

检查pip版本

pip -V

4,尝试各种源,MDC是ARM架构,这点一定要注意。

vim /etc/apt/sources.list

将自己原来的源备份,你们自己做处理。

然后选择源覆盖原sources.list文件内容,如以下:

deb http://mirrors.aliyun.com/ubuntu-ports/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial main

deb http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates main

deb http://mirrors.aliyun.com/ubuntu-ports/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial universe
deb http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu-ports/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu-ports/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-security universe

中科大Ubuntu-ports源

转自大牛链接:中科大Ubuntu-ports源(亲测好用)_草歌的博客-CSDN博客_ports源

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted

大牛的链接,阿里(x86)的源我改成了适合ARM的源:

把链接里的ubuntu→改成→ubuntu-ports

ubuntu镜像源切换 - liptom - 博客园

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse

5,安装依赖库

尝试安装llvmlite和numba,出现以下问题。网上提示在命令的install后边加--user,错误仍未解决。

sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numba==0.31.0 llvmlite==0.16.0

依赖库安装格式为:sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple XXX                 【其中XXX为依赖包名称】

而后找到大神链接:

在python中安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))_lsf_007的博客-CSDN博客

安装命令更改如下:

pip install setuptools==33.1.1 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install numba==0.31.0 llvmlite==0.16.0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

顺利安装,问题解决。如果网速太慢导致下载失败可尝试切换使用其他网络,或其它时间段下载安装。

--------------------------------以上为解决办法---------------------------------------------------以下为感谢大牛们-----------------------------------------------------------------------

附上大神解答链接,非常感谢!!

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Ubuntu ARM更改为国内源 - 立冬以东 - 博客园

6---本地ubuntu系统通过ssh传输文件到MDC300(文件传输和删除)

1)要注意服务器端文件和文件夹的执行权限,如果文件执行权限不够,在不修改权限的前提下可先将文件拷贝到服务器中有操作权限的文件夹里,然后在服务器中内部使用root权限操作文件(sudo mv test.txt /home/mdc-->即-->mv 文件名 目标路径 )。

2)偶尔会出现Permission denied, please try again.

可能是由于MDC上未给mdc重新添加远程调测权限。在MDC上以root用户执行以下命令:

root@mdchost:~# bash /home/mdc/bin/enable_sudo_for_ordinary_user.sh -u mdc
[info] add ssh and sftp permission to mdc successfully.

(5-1)传输

(5-1-1)传输——在本地通过ssh连接到MDC后,在本地新建终端输入如下命令:

scp -P 22 /home/vincent/ssh_transfile_test2/ssh_transfile_test2.txt mdc@192.168.1.6:/home/mdc

scp -p 22 canbus_config2.json vincent@192.168.1.110:/home/vincent/ssh_transfile_test2/
 scp -P 服务器端口号 /本地文件路径/本地文件名(带后缀) 服务器用户名@服务器IP地址:/服务器上存储文件的路径

参考链接:在ubuntu客户端用ssh远程登录服务器并传输文件_Henrywawo的博客-CSDN博客

(5-1-2)本地-本地——文件传输

切换至mdc用户,依次执行如下命令将License文件移至“/home/mdc/conf”目录下。

cd /home/mdc/conf

cp /home/sshuser/license.xml ./

(5-2)删除MDC上的文件——如“200528.txt”。文件夹处理相同。

进入root

sudo rm -rf '/home/mdc/software_mdc_200528.txt'

(5-3)修改文件夹或文件的名称——终端命令:

sudo mv former_name new_name

7---MDC5分钟 无操作自动退出→改为永久不退出:

一步---

修改/etc/ssh/sshd_config文件,将ClientAliveInterval 和ClientAliveCountMax 进行注释;

二步---

修改/etc/profile,将TMOUT=300改为TMOUT=0
三步---

重启sshd和source /etc/profile,MDC关机后重新上电。

systemctl restart sshd 
source /etc/profile

(Mini端修改原理同上↑)

8,MDC300网络连接问题

MDC包含三个网卡:enp125s0f0(192.168.1.6)、enp125s0f1和enp125s0f2(192.168.3.6)。其中enp125s0f0对应MDC 300F的低速连接器(80P低速线缆中标签为GE的接口),enp125s0f1对应MTB 300转接盒上通用以太连接器的8号口,enp125s0f2对应MTB 300转接盒上通用以太连接器的6号口。

问题表征:

sudo apt-get update 显示Err:1 http://mirrors.aliyun.com/ubuntu-ports bionic InRelease
  Temporary failure resolving 'mirrors.aliyun.com'。。。。

分析:

(1)因为之前试过很多源才最终确定一个好用的,我很确定源没有问题

(2)ping路由器的IP,如果不通,检查硬件连接,确认硬件连接没问题

(3)查看MDC网络配置,enp125s0f1未显示路由网段IP

ifconfig

(4)执行以下命令使网卡获取动态IP地址,并查询设备网络配置。

dhclient enp125s0f1

 正常操作:

---------------------------------------------------↓通过转接盒连接外网↓--------------------------------------------------------

背景信息
enp125s0f1为对外网卡,支持DHCP功能。enp125s0f1对应转接盒通用以太连接器的8号口,默认是关闭状态。如果使能此网卡,就能用DHCP方式动态获取IP地址。本节主要介绍如何使能此网卡。
操作步骤
执行以下步骤使能enp125s0f1网卡动态获取IP地址(该配置不会随MDC重启失效):
步骤 1 使用sshuser帐户通过SSH工具登录Host。
步骤 2 执行命令su切换到root帐户。
步骤 3 依次执行如下命令修改网络配置文件:
sed -i '/auto enp125s0f1/d' /etc/network/interfaces
sed -i '$a\auto enp125s0f1' /etc/network/interfaces
sed -i '/iface enp125s0f1 inet dhcp/d' /etc/network/interfaces
sed -i '$a\iface enp125s0f1 inet dhcp' /etc/network/interfaces
步骤 4 完成修改后,执行命令/etc/init.d/networking restart重启网络服务。
步骤 5 执行命令dhclient enp125s0f1使网卡获取动态IP地址。
步骤 6 执行命令ifconfig查看enp125s0f1网卡的IP地址是否获取成功。如果有IP地址信息,则表示获取成功。
----结束

$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu-ports/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

(5)配置转接盒IP,使用哪个网口,将该网口IP配置成与外接设备同网段

进入MDC后,进入root用户,例如需要更改enp125s0f1的IP为192.168.5.155——

输入命令:

sudo ifconfig enp125s0f1 192.168.5.155

而后,用ifconfig命令确认该端口IP已正确更改

---------------------------------------------------↑通过转接盒连接外网/外接设备↑--------------------------------------------------------

9,华为MDC连接激光雷达

(1)将激光雷达的IP改成雷达的以太网和MTB转接盒以太网连接端口的相同IP段,此处连接端口7——Port5(VLAN ID:16;IP:192.168.16.6/24)——IP:192.168.16.4;数据端口:2016;消息端口:2015;【我调试的这个MDC7号端口有问题,换其它端口调试正常】

10,软件MindStudio获取lib失败,小bug

参考链接Mindstudio工程run失败((RC) does not match the remote host ())解决方案_MDC智能驾驶计算平台_华为云论坛

(1)无法在Tools ->Device Management同步run version,如图所示

解决方案:

(1)ssh登录到MDC平台的一个mini芯片侧(这里我们选择192.168.1.12作为示例),并切换到root账户下

image.png

(2)使用vim修改/etc/sys_version.conf文件,删除第一行  “hisi developerkit version :  " 字符串与第二行一整行。

image.png

修改前:

image.png

修改后:

image.png

(3)退出并保存

在Mindstudio中打开Tools ->Device Management,点击刚修改过文件所在的芯片ip,然后点击同步按钮

成功同步版本号

11,MDC更换后出现:Host key verification failed.

原因分析:秘钥验证失败

处理:将known_hosts里的内容全部,再次输入ssh登录命令,重新导入秘钥→yes→正常操作

gedit /home/vincent/.ssh/known_hosts 

12,关于ROS初始化的问题

初始化一直失败,试了很多办法都未解决,后发现不影响后续操作,如工作空间的建立,也就没管了;

13,Mini0,登录后通过ssh传输文件出现问题

问题表征:scp: /home/tools.tar: Permission denied

问题分析:文件夹权限问题

解决方法:

(1)先把需要移动的文件改变权限

(2)然后修改目标文件夹权限

14.mindstudio实际ddk所在目录

15,激光雷达驱动拷贝到MDC 300F中遇到的问题:Permission denied

问题分析:多数是由于文件权限问题,对文件或者文件夹执行命令:chmod 777 filename

 

16,程序移植到MDC上编译时出现如下问题:

error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

需要修改can_com下的CMakeLists.txt文件,其中的# add_compile_options(-std=c++11)把注释"#"去掉,没有该句则需要添加。

 

17,之前启动ROS正常,某一天报错“bash: roscore: command not found”

感谢大佬的帖子:roscore运行出错及环境配置_E去不复返的博客-CSDN博客_roscore报错

问题分析:ros环境设置丢失或未设置

解决:

方法1:

1.直接在终端输入如下命令行,而后运行ros

source /opt/ros/kinetic/setup.bash

(注:kinetic是你的ros版本,如果是其他版本记得更改成你自己的版本)
这种方法简单快捷,但是这种方法需要在你每次重启终端运行roscore时,都得输入这个命令行,这种解决方法显然治标不治本,让人很烦恼。那么下面的就是一种一劳永逸的解决方法。

2.直接修改系统环境文件(.bashrc文件)

修改系统文件也有两种常用的方式:
1)输入如下命令行:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

2)在终端输入如下命令行:

vim .bashrc

然后在打开的文件最后面添加上下面的语句即可

source /opt/ros/kinetic/setup.bash

18,由于外网访问权限误设置,导致mdc部分网卡找不到

1,问题导火索:

2,问题现象:

 

 

 3,问题分析:

网卡找不到,怀疑网络配置文件有问题,被我误改了。

4,问题解决:

1)查看MDC网络配置文件

sudo vim /etc/network/interfaces

 2)确认是这个问题后,修改并删除多余和错误配置项目,保存文件,正确配置内容如下:

 3)执行如下命令重启网络服务

/etc/init.d/networking restart

 4)重启设备

reboot

5)设备重启后执行命令查看MDC当前网卡情况

 

 6)总结:

参考链接:Ubuntu14.04通过配置文件设置静态IP_weixin_34395205的博客-CSDN博客

19,激光雷达在编译过程中出现“fatal error: pcap.h: No such file or directory”

需要安装依赖的libpcap 库: sudo apt-get install libpcap-dev

问题:
E: Unable to correct problems, you have held broken packages.

解决办法:下载依赖检查的功能强大的包管理工具

aptitude

sudo apt-get install aptitude
sudo aptitude install packagename

 根据提示,进行对应的升级,而后顺利安装libpcap-dev

 

设备固件版本升级到“1.0.106”后,很多配置和之前版本不一样了,具体参见升级后的产品文档。

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vincent_枫大熊

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值