Kernel_Lover

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover  发布于  2017-10-18 11:33:46
采纳率 0%
17个问答
5026

关于 load3536 脚本执行出错的问题

 
开发板:hi3536
SDK:Hi3536 V100R001C02SPC50


执行命令:

/mnt/mpp_single/ko # ./load3536 -i

输出信息:

Hisilicon Media Memory Zone Manager
Module himedia: init ok
hi3536_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
load sys.ko for Hi3536...OK!
load vdec.ko ....OK
load vhd firmware.ko OK
Load hi_jpegdec.ko success.     (SDK_VERSION:[SDK_VERSION] Build Time:[Jun 14 2016, 09:15:49])
Load hi_tde.ko success.         (SDK_VERSION:[SDK_VERSION] Build Time:[Jun 14 2016, 09:15:34])
load region.ko ....OK!
load vgs.ko for Hi3536...OK!
load viu.ko ...OK!
load vpss.ko ....OK!
load vou.ko ....OK!
load rc.ko for Hi3536...OK!
load venc.ko for Hi3536...OK!
load chnl.ko for Hi3536...OK!
load h264e.ko for Hi3536...OK!
load jpege.ko for Hi3536...OK!
load vda.ko ....OK!
load ive.ko ... OK!
find i2c adapter fail.
sil9024 [sil902x_init ,3730]: sil902x device init fail,deregister it!
insmod: can't insert 'extdrv/sil9024.ko': Operation not permitted

acodec inited!
find i2c adapter fail.
tlv320aic31 [tlv320aic31_init ,833]: tlv320aic31 device init fail,deregister it!
insmod: can't insert 'extdrv/tlv_320aic31.ko': Operation not permitted

insert audio


在文件 tlv320aic31.c 中有:

static int i2c_client_init(void)
{
    struct i2c_adapter *i2c_adap;

    // use i2c2
    i2c_adap = i2c_get_adapter(0);
    if (NULL == i2c_adap)
    {
        printk("find i2c adapter fail. \n");
        return -1;
    }

        tlv_client = i2c_new_device(i2c_adap, &hi_info);

        i2c_put_adapter(i2c_adap);

    return 0;
}

表示获取 i2c 适配器失败了,不知道是不是与 i2c 相关的管脚复用没有配置好?谢谢!
我来回答
回答16个
时间排序
认可量排序

mustang

0个粉丝

7

问答

0

专栏

2

资料

mustang 2017-10-18 20:23:47
认可0
i2c设备那块的代码要自己添加。样例中都是空着的

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2017-10-19 08:51:53
认可0
i2c_adap = i2c_get_adapter(0);
注意这个!!!
看看这个,你的硬件连接用的是哪个?在linux文件系统 /dev下边应该有3个i2c,i2c-0,i2c-1,i2c-2。
实际用的哪个, i2c_get_adapter(x)参数就用那个

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 09:02:57
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79651&ptid=38002]yang1372073 发表于 2017-10-19 08:51[/url]
i2c_adap = i2c_get_adapter(0);
注意这个!!!
看看这个,你的硬件连接用的是哪个?在linux文件系统 /dev ...[/quote]

我在内核配置中,将 Hisilicon I2C Controller support 选中,就没有出现 find i2c adapter fail 的问题了,但又出现了下面的问题:

执行命令:

/mnt/mpp_single/ko # ./load3536 -i

输出信息:

Hisilicon Media Memory Zone Manager
Module himedia: init ok
hi3536_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
load sys.ko for Hi3536...OK!
load vdec.ko ....OK
load vhd firmware.ko OK
Load hi_jpegdec.ko success.     (SDK_VERSION:[SDK_VERSION] Build Time:[Jun 14 2016, 09:15:49])
Load hi_tde.ko success.         (SDK_VERSION:[SDK_VERSION] Build Time:[Jun 14 2016, 09:15:34])
load region.ko ....OK!
load vgs.ko for Hi3536...OK!
load viu.ko ...OK!
load vpss.ko ....OK!
load vou.ko ....OK!
load rc.ko for Hi3536...OK!
load venc.ko for Hi3536...OK!
load chnl.ko for Hi3536...OK!
load h264e.ko for Hi3536...OK!
load jpege.ko for Hi3536...OK!
load vda.ko ....OK!
load ive.ko ... OK!
hi_i2c_wait_rxfifo_notempty->307:
wait timeout! auto_status: 0xc0b00000

hi_i2c_wait_rxfifo_notempty->321:
transmit error, int_raw_status: 0x750!

hi_i2c_wait_rxfifo_notempty->323:
tx_abrt_cause is 1.

hi_i2c_wait_rxfifo_notempty->307:
wait timeout! auto_status: 0xc0b00000


不知道这是什么原因?

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 09:04:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79643&ptid=38002]mustang 发表于 2017-10-18 20:23[/url]
i2c设备那块的代码要自己添加。样例中都是空着的[/quote]

好像不是这个原因,在内核配置中,将 Hisilicon I2C Controller support 选中,就不会出现 find i2c adapter fail 的问题了,但是又出现了下面的问题:

hi_i2c_wait_rxfifo_notempty->307:
wait timeout! auto_status: 0xc0b00000

hi_i2c_wait_rxfifo_notempty->321:
transmit error, int_raw_status: 0x750!

hi_i2c_wait_rxfifo_notempty->323:
tx_abrt_cause is 1.

hi_i2c_wait_rxfifo_notempty->307:
wait timeout! auto_status: 0xc0b00000

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2017-10-19 09:12:14
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79653&ptid=38002]Kernel_Lover 发表于 2017-10-19 09:02[/url]
我在内核配置中,将 Hisilicon I2C Controller support 选中,就没有出现 find i2c adapter fail 的问题 ...[/quote]

根据信息来看,i2c的软硬件没配置对。虽然你说Hisilicon I2C Controller support选中了,但这个操作有问题。可能你的3536跟 tlv320aic31连接的i2C不是实际用的那个,控制到别的地方去了。

你就看一下 3536linux文件系统/dev下面的几个i2c,再看你的硬件连接用的是那个i2c。我们连接用的是i2c-2,所以i2c_get_adapter(2)

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 09:13:45
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79655&ptid=38002]yang1372073 发表于 2017-10-19 09:12[/url]
根据信息来看,i2c的软硬件没配置对。虽然你说Hisilicon I2C Controller support选中了,但这个操作有 ...[/quote]

好的,我去试一下,谢谢了!

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 09:22:53
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79655&ptid=38002]yang1372073 发表于 2017-10-19 09:12[/url]
根据信息来看,i2c的软硬件没配置对。虽然你说Hisilicon I2C Controller support选中了,但这个操作有 ...[/quote]

i2c 设备文件只有 /dev/i2c-0,开发板上没有 tlv320aic31 这个芯片,倒是有 hdmi 接口,hdmi 也用到了 i2c,但我没有接 hdmi 线,不知道是不是因为没有找到 hdmi 设备导致等待超时?

/mnt # ls -l /dev/i2c*

crw-------    1 root     root       89,   0 Jan  1 00:00 /dev/i2c-0

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2017-10-19 09:45:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79658&ptid=38002]Kernel_Lover 发表于 2017-10-19 09:22[/url]
i2c 设备文件只有 /dev/i2c-0,开发板上没有 tlv320aic31 这个芯片,倒是有 hdmi 接口,hdmi 也用到了 i2 ...[/quote]

如果只有i2c-0,那么i2c_get_adapter(0)没问题。那看看你的海思芯片(3536)的VI输入,也就是接入的源是从哪来的?
比如说:ADV7611+HI3515, nvp6124+hi3520等等,前端的VI输入就是ADV7611(HDMI接收芯片),NVP6124(AHD接收芯片)这些。一般他们之间都有用i2c连接,这个要配置好

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 10:15:21
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79667&ptid=38002]yang1372073 发表于 2017-10-19 09:45[/url]
如果只有i2c-0,那么i2c_get_adapter(0)没问题。那看看你的海思芯片(3536)的VI输入,也就是接入的源是 ...[/quote]

那个 VI 是 video input 吗?运行 ./load3536 -i,需要 VI 输入吗?

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2017-10-19 10:47:44
认可0
本帖最后由 yang1372073 于 2017-10-19 10:52 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=79668&ptid=38002]Kernel_Lover 发表于 2017-10-19 10:15[/url]
那个 VI 是 video input 吗?运行 ./load3536 -i,需要 VI 输入吗?[/quote]

对的。这个地方设置有很多。
如果是相机采集+相应的接收芯片接收(adv7611, nvp6124)+hi3536x,可配置为 ./load3516d -i -sensor bt1120
如果是直接接sensor+hi3536x,可配置为 ./load3516a -i -sensor mn34220。或者  ./load3516a -i -sensor ar0130
这个在rootfs里边的komod文件夹里有类似load3516d这样的脚本,里面有配置参数说明

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 14:13:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79672&ptid=38002]yang1372073 发表于 2017-10-19 10:47[/url]
对的。这个地方设置有很多。
如果是相机采集+相应的接收芯片接收(adv7611, nvp6124)+hi3536x,可配置 ...[/quote]

我问了论坛里的一个好友,他开发板不接外设,也可以正常执行命令: ./load3536 -i ,不知道这是什么问题?

hero

0个粉丝

1

问答

0

专栏

0

资料

hero 2017-10-19 14:47:24
认可0
maiking   

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 14:50:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79672&ptid=38002]yang1372073 发表于 2017-10-19 10:47[/url]
对的。这个地方设置有很多。
如果是相机采集+相应的接收芯片接收(adv7611, nvp6124)+hi3536x,可配置 ...[/quote]

我将 load3536 中两条语句注释掉,就可以成功执行命令,分别是:

insmod extdrv/tlv_320aic31.ko   ---------------------  音频相关
insmod extdrv/sil9024.ko norm=12    #1080P@30fps  ----------------------  hdmi 相关

但是不知道以后会不会用到这两个内核模块?

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2017-10-19 17:30:28
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79690&ptid=38002]Kernel_Lover 发表于 2017-10-19 14:50[/url]
我将 load3536 中两条语句注释掉,就可以成功执行命令,分别是:

insmod extdrv/tlv_320aic31.ko   -- ...[/quote]

哦。是开发板的话,那就简单多了。
看样子,你这是新开发板啊。你把这两句注释掉没问题,tlv_320aic31和sil9024都是前端接收芯片,没接这两个芯片的话,当然就不加载了,要注释掉。
以后自己做板子如果用到其中之一的芯片,加载ko模块上就好了。如果是AHD接收芯片NVP6124,编译的ko模块也是可以放到rootfs下边的extdrv文件夹里,再在这个地方加上insmod extdrv/nvp6124.ko

Kernel_Lover

0个粉丝

17

问答

0

专栏

0

资料

Kernel_Lover 2017-10-19 17:40:32
认可0
本帖最后由 Kernel_Lover 于 2017-10-19 17:46 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=79704&ptid=38002]yang1372073 发表于 2017-10-19 17:30[/url]
哦。是开发板的话,那就简单多了。
看样子,你这是新开发板啊。你把这两句注释掉没问题,tlv_320aic31和 ...[/quote]

好的,谢谢你了!我的开发板确实没有tlv_320aic31和sil9024。我的同事的开发板有sil9024,所以他能够加载上。

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2017-10-19 17:52:38
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=79708&ptid=38002]Kernel_Lover 发表于 2017-10-19 17:40[/url]
好的,谢谢你了!我的开发板确实没有tlv_320aic31和sil9024。我的同事的开发板有sil9024,所以他能够加 ...[/quote]

好,慢慢研究吧!:victory:
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区