当前位置:  技术问答>linux和unix

高手请进,linux firmware!

    来源: 互联网  发布时间:2016-07-05

    本文导语:      最近做的东西要在驱动里面读取用户空间的一个文件,找了半天的资料,后来发现firmware可以实现这样的功能,内核的Documentation/firmware_class/ 里面也有一个例子。于是我把firmware_sample_driver.c编译后insmod,但是失...

    最近做的东西要在驱动里面读取用户空间的一个文件,找了半天的资料,后来发现firmware可以实现这样的功能,内核的Documentation/firmware_class/ 里面也有一个例子。于是我把firmware_sample_driver.c编译后insmod,但是失败了,dmseg
显示如下:

[120149.952012] firmware_sample_driver: a ghost device got inserted :)
[120149.952012] firmware_sample_driver: Firmware load failed
[120149.952012] firmware_sample_driver: a ghost device got inserted :)
[120149.952012] firmware: requesting sample_driver_fw
[120149.952012] fw_register_device: device_register failed
[120149.952012] firmware_sample_driver: Firmware not available
[120149.954301] firmware: requesting sample_driver_fw
[120149.954356] fw_register_device: device_register failed
[120149.954373] firmware_sample_driver: firmware load failed
debian:~/firmware#                                             

不知哪位高手能给我指点一下?小弟感谢了。

|
-        if(request_firmware(NULL, "sample_driver_fw", &ghost_device)!=0)
- {
- printk(KERN_ERR "firmware_sample_driver: Firmware load failedn");
- return;
- }


int request_firmware(const struct firmware **fw, char *name, struct device *device); 

调用 request_firmware 要求用户空间定位并提供一个固件映象给内核; 我们一会儿看它如何工作的细节. name 应当标识需要的固件; 正常的用法是供应者提供的固件文件名. 某些象 my_firmware.bin 的名子是典型的. 如果固件被成功加载, 返回值是 0(负责常用的错误码被返回), 并且 fw 参数指向一个这些结构:

struct firmware {
 size_t size;
 u8 *data; 
}; 

那个结构包含实际的固件, 它现在可被下载到设备中. 小心这个固件是来自用户空间的未被检查的数据; 你应当在发送它到硬件之前运用任何并且所有的你能够想到的检查来说服你自己它是正确的固件映象. 设备固件常常包含标识串, 校验和, 等等; 在信任数据前全部检查它们.

|
很简单嘛 你module_init 失败  原因是 register device的时候 失败。 看看 注册设备的那一块的代码。

|
内核编译的时候,有个选项(关于firmware的)需要添加

|


用ioctl不能读吗? 

|
不会 帮顶

|
帮顶一下

    
 
 

您可能感兴趣的文章:

  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 关于我对linux高手用yum,非高手用源码的理由
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • Linux安装问题 (不是Linux的高手,很难回答的 @_@ )
  • red hat linux与windows 2000 server相连,2000 关机后linux自动启动!问高手怎么回事?
  • 请教linux高手,在Linux
  • Linux下自动执行命令的问题,哪位Linux高手帮帮我.
  • 我一直用WINDOWS,想转到Linux/Unix,各位Linux/Unix高手可以介绍点吗?
  • 求高手指点,arm-linux
  • 请linux高手指教
  • 各位高手:光盘安装Linux9出现问题,请指教!
  • 初学LINUX!请高手指条明路!
  • 找linux高手帮个忙~回报为你几个G的空间免费长期使用...
  • Linux 高手请进!!!!
  • 装linux遇到问题,有高手在线帮忙吗?请发信息给我
  • 大家是怎么成为linux高手的?
  • 请高手推荐Linux入门方面的资源(网站或电子书)
  • 我刚开始学linux,现在想装一个lumaQQ,请高手说一下详细过程!
  • 关于在VMware下安装linux,请高手指点,先谢过!
  • EJB问题,请教高手(非高手莫进) iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 我是新手,高手,高手,快来救我
  • EJB问题,请教高手(非高手莫进)
  • 请各位JAVA高手,网业高手看过来,我把能给的分都送出!!!只能给37分,哎!!
  • eWEEK沙龙征集高手座谈
  • 高手请进,中文乱码问题,这是我同一个问题的第五个帖子了,大伙帮忙,心情好郁闷.期待高手.
  • [纳闷贴]为什么那么多人非说要成为高手就不要用X,难道Linux就是为了成为高手用的?
  • 寻找UNIX高手——IBM UNIX高手招募


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3