无帝老三

无帝老三

0个粉丝

12

问答

0

专栏

0

资料

无帝老三  发布于  2016-05-09 15:12:30
采纳率 0%
12个问答
4438

海思3518e,usbwifi rtl8192cu, ov9712摄像头

 
在海思3518e开发板上先单独测试USBwifi功能,按照wifi驱动厂商提供的驱动,按照其文档说明,以模块形式加载到海思内核,内核版本为linux-3.0.y。并按照文档方法分别测试了wifi的station和AP模式,均能正常工作。然后单独测试ov9712摄像头,由于海思3518e提供的SDK版本自带ov9712配置等文件。按照海思文档及网上资料,使用海思自己初始化好的网口,可以使用PQTools 和 ITTP_Stream可以预览到摄像头采集的视频数据流,图像显示调节后续在学习,

现在主要任务是:如何把网口传输改为wifi传输视频流?
由于还没有搞懂怎么把网口改为wifi,现采取如下方法:
网口传输视频流正常后,把PQtools与开发板连接断开,然后禁掉网口eth0,在按照之前调试USBwifi的方法开启wifi功能,
但是再执行insmod 8192cu.ko时,出现如下出错的log,而且之后使用ifconfig wlan0 up时,根本无法开启wifi
BD了很久,没有找到相关问题的解决办法,恳请各位大神,指点一二,菜鸟不胜感激!

# insmod 8192cu.ko
rtl8192cu driver version=v4.0.2_9000.20130911
build time: Apr 21 2016 13:09:52

usb_endpoint_descriptor(0):
bLength=7
bDescriptorType=5
bEndpointAddress=81
wMaxPacketSize=200
bInterval=0
RT_usb_endpoint_is_bulk_in = 1

usb_endpoint_descriptor(1):
bLength=7
bDescriptorType=5
bEndpointAddress=2
wMaxPacketSize=200
bInterval=0
RT_usb_endpoint_is_bulk_out = 2

usb_endpoint_descriptor(2):
bLength=7
bDescriptorType=5
bEndpointAddress=3
wMaxPacketSize=200
bInterval=0
RT_usb_endpoint_is_bulk_out = 3

usb_endpoint_descriptor(3):
bLength=7
bDescriptorType=5
bEndpointAddress=84
wMaxPacketSize=40
bInterval=1
RT_usb_endpoint_is_int_in = 4, Interval = 1
nr_endpoint=4, in_num=2, out_num=2

USB_SPEED_HIGH
CHIP TYPE: RTL8188C_8192C
register rtw_netdev_ops to netdev_ops
reg 0xf0, usb read 4 fail, status:-110 value=0x0, vendorreq_times:1
reg 0xf0, usb read 4 fail, status:-110 value=0x0, vendorreq_times:2
reg 0xf0, usb read 4 fail, status:-110 value=0x0, vendorreq_times:3
reg 0xf0, usb read 4 fail, status:-110 value=0x0, vendorreq_times:4
reg 0xf0, usb read 4 fail, status:-110 value=0x0, vendorreq_times:5
[dvobj:c1a403c0][ERROR] continual_urb_error:5 > 4

Chip Version ID: VERSION_NORMAL_TSMC_CHIP_88C.
RF_Type is 3!!
EEPROM type is E-FUSE
====> ReadAdapterInfo8192C
Boot from EFUSE, Autoload Fail !
EEPROM ID(0x0) is invalid!!
EEPROMVID = 0x5678
EEPROMPID = 0x1234
EEPROMCustomerID : 0xab
EEPROMSubCustomerID: 0xcd
RT_CustomerID: 0x00
_ReadMACAddress MAC Address from EFUSE = 00:e0:4c:81:92:00
EEPROMRegulatory = 0x0
mlmepriv.ChannelPlan = 0x0a
readAdapterInfo_8192CU(): REPLACEMENT = 1
<==== ReadAdapterInfo8192C in 30 ms
rtw_macaddr_cfg MAC Address  = 00:e0:4c:81:92:00
bDriverStopped:1, bSurpriseRemoved:1, bup:0, hw_init_completed:0
_rtw_drv_register_netdev, MAC Address (if1) = 00:e0:4c:81:92:00
usbcore: registered new interface driver rtl8192cu
#
我来回答
回答9个
时间排序
认可量排序

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-09 15:47:25
认可0
本帖最后由 ngswfx 于 2016-5-9 15:57 编辑

这个和eth0没关系,每个网络都可以有自己的IP配置,禁用与否无关。

你的WIFI模块启动失败了,看信息主要是USB部分,主要找引起他失败的原因。

最开始不是可以吗?从那里一步步走

我没搞过:
ov9712摄像头用的什么连接方式?

感觉是后面的过程影响了USB的资源

试一下:
一进入系统你先啥都别干,先 insmod 8192cu.ko (有线网络你别配置即可),测试网络如果正常,然后在做其他,再加载ov9712需要的资源。每做一个动作,都通过wifi ping无限网的IP是否正常。

另外注意:USB这种东西,在系统默认下,有些SDK可不是稳固如山的。

我这几天就遇到U-boot里面(HI3535 SDK1.02),USB运行不是随心所欲的,只要开启自动升级,进入U-boot,U盘没法开启,关闭自动升级就可以了,我还没细看代码。




无帝老三

0个粉丝

12

问答

0

专栏

0

资料

无帝老三 2016-05-09 17:04:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29747&ptid=11258]ngswfx 发表于 2016-5-9 15:47[/url]
这个和eth0没关系,每个网络都可以有自己的IP配置,禁用与否无关。

你的WIFI模块启动失败了,看信息主要 ...[/quote]

谢谢您的回复,我换一下开启顺序,系统重启后,我先加载usbwifi模块,然后通过移植到开发板上的hostapd和udhcpd服务使wifi模块工作在AP模式,然后用PC去连接wifi模块,这些都是正常的,而且pc和开发板能相互ping通。ps一下,可以看到运行的hostapd和udhcpd服务。
接下来我去加载摄像头需要的一些模块,这些模块都是海思编译好的,按照海思文档,所有的加载过程只需要执行./load3518这个指令就行了。问题就出来执行这个命令的过程中,执行过程中USBwifi与pc断开连接了,ps下发现后台的udhcpd和hostapd服务没有了。我看了下load3518文件的内容,基本上的任务就是加载一些外设驱动,
难道我要把load3518里面的命令逐条执行,才能确定是执行哪个命令影响了我的USBwifi?
附上load3518文件内容:

#!/bin/sh
# Useage: ./load3518 [ -r|-i|-a ] [ sensor ]
#         -r : rmmod all modules
#         -i : insmod all modules
#    default : rmmod all moules and then insmod them
#


# ar0130 mn34031 imx104 icx692 ov9712 9m034 imx122 mt9p006 imx138 soih22 ov2710 himax1375
SNS_A=ar0130

if [ $# -ge 2 ]; then
    SNS_A=$2
fi

report_error()
{
    echo "******* Error: There's something wrong, please check! *****"
    exit 1
}

insert_audio()
{
   insmod acodec.ko
   insmod hidmac.ko
   insmod hi3518_sio.ko
   insmod hi3518_ai.ko
   insmod hi3518_ao.ko
   insmod hi3518_aenc.ko
   insmod hi3518_adec.ko
    echo "insert audio"
}

remove_audio()
{
    rmmod hi3518_adec
    rmmod hi3518_aenc
    rmmod hi3518_ao
    rmmod hi3518_ai
    rmmod hi3518_sio
    rmmod acodec
    rmmod hidmac
    echo "remove audio"
}

insert_sns()
{
    case $SNS_A in
        ar0130|9m034|po3100k)
            himm 0x20030030 0x5;              #Sensor clock 27 MHz
            insmod extdrv/ssp_ad9020.ko;;
        icx692)
            himm 0x200f000c 0x1;              #pinmux SPI0
            himm 0x200f0010 0x1;              #pinmux SPI0
            himm 0x200f0014 0x1;              #pinmux SPI0
            insmod extdrv/ssp_ad9020.ko;;
        mn34031|mn34041)
            himm 0x200f000c 0x1;              #pinmux SPI0
            himm 0x200f0010 0x1;              #pinmux SPI0
            himm 0x200f0014 0x1;              #pinmux SPI0
            himm 0x20030030 0x5;              #Sensor clock 27MHz
            insmod extdrv/ssp_pana.ko;;
        imx104|imx122|imx138)
            himm 0x200f000c 0x1;              #pinmux SPI0
            himm 0x200f0010 0x1;              #pinmux SPI0
            himm 0x200f0014 0x1;              #pinmux SPI0
            himm 0x20030030 0x6;              #Sensor clock 37.125 MHz
            insmod extdrv/ssp_sony.ko;;        
        ov9712|soih22|ov2710)
            himm 0x20030030 0x1;              #Sensor clock 24 MHz
            insmod extdrv/ssp_ad9020.ko;;
        mt9p006)
            himm 0x20030030 0x1;              #Sensor clock 24 MHz
            himm 0x2003002c 0x6a;             #VI input associated clock phase reversed
            insmod extdrv/ssp_ad9020.ko;;
            hm1375|ar0330)
            himm 0x20030030 0x1;;             #Sensor clock 24 MHz
            imx236)
            himm 0x20030030 0x6;              #Sensor clock 37.125 MHz
            ;;
        *)
            echo "xxxx Invalid sensor type $SNS_A xxxx"
            report_error;;
    esac
}

remove_sns()
{
    rmmod hi_i2c &> /dev/null
    rmmod ssp &> /dev/null
    rmmod ssp_sony &> /dev/null
    rmmod ssp_pana &> /dev/null
    rmmod ssp_ad9020 &> /dev/null
}

insert_ko()
{
    # low power control
    source ./lowpower.sh > /dev/null

    # pinmux configuration
    source ./pinmux_hi3518.sh mii i2c > /dev/null

    # clock configuration
    source ./clkcfg_hi3518.sh > /dev/null

    # driver load
    insmod mmz.ko mmz=anonymous,0,0x84000000,64M anony=1 || report_error
    #insmod mmz.ko mmz=anonymous,0,0x82000000,32M anony=1 || report_error   #for 3518E use
    insmod hi3518_base.ko
    insmod hi3518_sys.ko
    insmod hiuser.ko

    insmod hi3518_tde.ko
    insmod hi3518_dsu.ko

    insmod hi3518_viu.ko
    insmod hi3518_isp.ko
    insmod hi3518_vpss.ko
    insmod hi3518_vou.ko
    #insmod hi3518_vou.ko detectCycle=0 #close dac detect
    insmod hifb.ko video="hifb:vram0_size:1620"
   
    insmod hi3518_venc.ko
    insmod hi3518_group.ko
    insmod hi3518_chnl.ko
    insmod hi3518_h264e.ko
    insmod hi3518_jpege.ko
    insmod hi3518_rc.ko
    insmod hi3518_region.ko
   
    insmod hi3518_vda.ko
    insmod hi3518_ive.ko

    insmod extdrv/hi_i2c.ko
    #insmod extdrv/gpioi2c.ko
    #insmod extdrv/gpioi2c_ex.ko
    insmod extdrv/pwm.ko
    #insmod extdrv/sil9024.ko norm=5   #720P@60fps
   

   
    insert_sns > /dev/null
   
    #insmod hi3518_isp.ko
    insert_audio
    echo "==== Your input Sensor type is $SNS_A ===="

    # system configuration
    source ./sysctl_hi3518.sh > /dev/null
}

remove_ko()
{
    remove_audio
    remove_sns

    rmmod sil9024 &> /dev/null
    rmmod hi_i2c.ko &> /dev/null
    rmmod pwm
    #rmmod gpioi2c

    rmmod hi3518_ive
    rmmod hi3518_vda

    rmmod hi3518_region
    rmmod hi3518_rc
    rmmod hi3518_jpege
    rmmod hi3518_h264e
    rmmod hi3518_chnl
    rmmod hi3518_group
    rmmod hi3518_venc
  
    rmmod hifb
    rmmod hi3518_vou
    rmmod hi3518_vpss
    rmmod hi3518_isp
    rmmod hi3518_viu

    rmmod hi3518_dsu
    rmmod hi3518_tde
  
    rmmod hiuser
    rmmod hi3518_sys
    rmmod hi3518_base
    rmmod mmz
}

load_usage()
{
    echo "Usage:  ./load3518 [-option] [sensor_name]"
    echo "options:"
    echo "    -i sensor_name           insert modules"
    echo "    -r                       remove modules"
    echo "    -a sensor_name           remove modules first, then insert modules"
    echo "    -h                       help information"
    echo -e "Available sensors: ar0130, imx104, icx692, ov9715, 9m034, imx122, mt9p006"
    echo -e "for example: ./load3518 -a ar0130 \n"
}

# load module.
if [ "$1" = "-i" ]
then
    insert_ko
fi

if [ "$1" = "-r" ]
then
    remove_ko
fi

if [ "$1" = "-h" ]
then
    load_usage
    exit
fi

if [ $# -eq 0 ] || [ "$1" = "-a" ]
then
    remove_ko
    insert_ko
fi

kibin

0个粉丝

6

问答

0

专栏

1

资料

kibin 2016-05-09 17:22:40
认可0
提示:lowpower.sh:)

seymour

0个粉丝

10

问答

0

专栏

0

资料

seymour 2016-05-09 17:26:02
认可0
注释掉摄像头的驱动试试,# insert_sns > /dev/null

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-09 17:26:05
认可0
本帖最后由 ngswfx 于 2016-5-9 17:33 编辑

注意内存问题

USB WIFI吃内存好几兆

系统有个机制,当申请内存时,如果内存不足,会自动干掉,最费内存的进程。

以前有人发过类似的帖子,也是搞USBwifi的,说IPC内存不够了,海思模块驱动没起来。

无帝老三

0个粉丝

12

问答

0

专栏

0

资料

无帝老三 2016-05-09 18:21:19
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29773&ptid=11258]kibin 发表于 2016-5-9 17:22[/url]
提示:lowpower.sh[/quote]

已经找到,把lowpower.sh开头关闭USB电源的给注释掉就好了,谢谢

#!/bin/sh

#关闭USB PHY的总电源:0x20050080 [12]bit配置为0
himm 0x20050080 0x000121a8

#关闭USB PHY的模拟电源:0x20050084 [22]bit配置为1
himm 0x20050084 0x005d2188

无帝老三

0个粉丝

12

问答

0

专栏

0

资料

无帝老三 2016-05-09 18:23:12
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29776&ptid=11258]ngswfx 发表于 2016-5-9 17:26[/url]
注意内存问题

USB WIFI吃内存好几兆
[/quote]

谢谢大侠指点,
一句句执行发现,是在执行load3518的过程中,把USB外设总电源关掉了

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-09 18:31:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29773&ptid=11258]kibin 发表于 2016-5-9 17:22[/url]
提示:lowpower.sh[/quote]

这才是高人:lol    估计吃过亏

无帝老三

0个粉丝

12

问答

0

专栏

0

资料

无帝老三 2016-05-09 19:35:22
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29784&ptid=11258]ngswfx 发表于 2016-5-9 18:31[/url]
这才是高人    估计吃过亏[/quote]

恩,大神们路过,帮了小弟一把,不胜感激啊。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区