地域购物网站物联网卡在哪里买呢

张小明 2026/1/13 0:31:33
地域购物网站,物联网卡在哪里买呢,湛江网站制作系统,企业门户平台登录背景介绍项目是用yocto构建的#xff0c;在升级kernel及yocto后#xff08;见https://www.cnblogs.com/ma-yangbiao/p/19149251#xff09;, 发现某些功能不能正常工作。问题介绍目标机是某个不常用的x86平台#xff0c;该x86 盒子通过USB连接MDM9150, 在该x86盒子上跑某个…背景介绍项目是用yocto构建的在升级kernel及yocto后见https://www.cnblogs.com/ma-yangbiao/p/19149251, 发现某些功能不能正常工作。问题介绍目标机是某个不常用的x86平台该x86 盒子通过USB连接MDM9150, 在该x86盒子上跑某个应用程序过程中发现没有像预期一样建立和初始化USB虚拟网口custom_usb0。调试由于qxdm log在该目标机上受限。加入一些文本打印重新编译运行进一步调试发现是因为我们一个管理网络的服务ioctl返回错误这个ioctl是自己客制化的驱动代码里负责处理的于是把相关的驱动编译成模块然后手动加载进内核其中现象如下$ sudo insmod ./custom_usb.koinsmod: ERROR: could not insert module custom_usb.ko: Unknown symbol in module$ dmesg | tail[ 183.497776] custom_usb: Unknown symbol usbnet_suspend (err -2)[ 183.497778] custom_usb: Unknown symbol usbnet_start_xmit (err -2)[ 183.497793] custom_usb: Unknown symbol usbnet_stop (err -2)[ 183.497797] custom_usb: Unknown symbol usbnet_disconnect (err -2)[ 183.497801] custom_usb: Unknown symbol usbnet_probe (err -2)[ 183.497804] custom_usb: Unknown symbol usbnet_resume (err -2)这几个符号都来自linux kernel 驱动代码具体在kernel/drivers/net/usb/usbnet.c由CONFIG_USB_USBNET决定是否编译但是在我的自己的defconfig中CONFIG_USB_USBNET已经被显示设置为y了。于是在我的defconfig把CONFIG_USB_USBNETm,重新编译后待会手动加载看看是不是报错同时该文件中有几处打印用的netdev_dbg为了方便调试有2种方法运行时看到打印信息把netdev_dgb改成netdev_warn改CONFIG_DYNAMIC_DEBUGy这是为了打开编译时动态打印开关运行时还需要打开运行时调试开关echo file drivers/net/usb/usbnet.c p /sys/kernel/debug/dynamic_debug/control这样即使是netdev_dbg也能打印到dmesg我选择方法1再次编译完执行insmod usbnet.ko发现没有错误再手动insmod custom_usb.ko也没有错误.说明代码没问题回过头来在usbnet.c- usbnet_init()里加一句打印 pr_err(usbnet_init called\n);我的defconfig里再设置CONFIG_USB_USBNETy重新编译更新再次重启发现没有这句打印 也就是说这个usbnet压根没有自动加载。于是检查最终的defconfig检查一下发现最终的.config里CONFIG_USB_USBNETm经过检查我的kernel recipe .bbapend代码有这么一段值得怀疑do_preconfigure_prepend () {cat ${WORKDIR}/custom/defconfig ${WORKDIR}/defconfig}如果我更新后还有别的部分更新那就会覆盖我的配置。于是尝试删除上述这三行同时加入这2行SRC_URI file://custom/defconfig.cfgKERNEL_FEATURES custom/defconfig.cfg再次编译查看.config.还是不起作用CONFIG_USB_USBNETm.阅读源码Kconfig并没有提及CONFIG_USB_USBNET是否有依赖项查看代码CONFIG_USB_USBNET实际是属于CONFIG_USB_NET_DRIVERS的一个子模块所以尝试也配置CONFIG_USB_NET_DRIVERSyCONFIG_DYNAMIC_DEBUGy再次编译这次可以看到最终的.config里已经成功使能CONFIG_DYNAMIC_DEBUGy了。说明kernel升级后这些配置项与旧版本里的配置不再一样。再重新烧image重新尝试在解决了其它问题后功能终于正常。总结yocto 的内核配置流程是从 BSP 提供的 defconfig 开始按顺序合并 KERNEL_FEATURES 和 SRC_URI 中的 .cfg 片段 运行 merge_config.sh olddefconfig 生成最终 .config。kernel升级伴随的一些配置的依赖项可能会发生变化需要仔细确认。比如在我们这个case里CONFIG_USB_USBNET依赖发生了变化旧kernel里并不依赖CONFIG_USB_NET_DRIVERS但新kernel版本依赖它。usbnet的功能最后分享一下这次debug过程中加深了对usbnet的功能的认识usbnet.c 是一个通用的 USB 网络驱动核心定义了一个结构体 struct usbnet它包含struct net_device, struct usb_interface等指针就像胶水一样把usb操作与网络的操作net_device联系在一起它实现了一个“USB 网络设备”的抽象负责处理 USB 传输、数据包队列以及与内核的 net_device 的集成交互。通过usb虚拟网口收发数据等通用逻辑放在这里。它被许多小型驱动程序共享例如 cdc_ether、asix、r8152、rmnet_usb 等都依赖于 usbnet 作为基础这些特定厂商的驱动只需重写/写少量部分即可。它将通用逻辑与硬件特性分离核心部分负责收发TX/RX管理等通用逻辑而其它特定的驱动则通过重写钩子函数来实现设备特定的行为。它还导出了一些辅助函数供其他驱动调用。最终效果是当你插入一个 USB 网卡时内核可以将其识别为 usb0而通过少量的驱动特定代码也可以显示为例如 rmnet_usb0 等。具体解读模块初始化/退出usbnet_init()注册通用的 USB 驱动框架准备好供子驱动调用。usbnet_exit()注销驱动释放资源。设备探测与移除usbnet_probe()当匹配的 USB 设备插入时调用分配并初始化 struct usbnet 和 struct net_device。usbnet_disconnect()设备拔出时清理资源。网络设备操作usbnet_open() / usbnet_stop()启动或停止接口提交/取消接收 URB。usbnet_start_xmit()把上层网络栈传下来的数据包封装成 URB提交给 USB core。usbnet_change_mtu()、usbnet_set_mac_address()常见的 net_device 操作。数据收发路径发送 (TX)start_xmit() → 构造 URB → usb_submit_urb() → 设备。接收 (RX)URB 完成回调 → rx_complete() → 调用 netif_rx() 把包交给内核协议栈。提供 rx_fixup() / tx_fixup() 钩子供子驱动修正报文格式。电源管理与错误恢复处理 USB suspend/resume。提供 usbnet_tx_timeout() watchdog避免传输卡死。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

武威市建设局网站如何做好网站推广工作

一、开发背景随着经济的快速发展和市场竞争的日益激烈,企业对于人才的需求愈发迫切。然而,招聘渠道的分散、简历筛选的繁琐以及招聘周期的漫长,给企业招聘带来了诸多困扰。同时,求职者在寻找合适工作时,也面临着岗位信…

张小明 2026/1/6 3:06:10 网站建设

可以显示一张图片的网站怎么搭建学做网站要学什么

SSH端口转发与Miniconda-Python3.11镜像的协同调试实践 在高校实验室的一次组会上,一位研究生正试图复现同门发表的实验结果。代码跑不通,报错信息指向某个库版本不兼容——“我这边装的是 numpy1.24,你是不是用的旧版?”类似的对…

张小明 2026/1/5 7:07:15 网站建设

做兼职哪个网站比较好惠州网站建设科技有限公司

SpringBoot智能日志革命:告别传统日志的7大突破性优势 【免费下载链接】mzt-biz-log 支持Springboot,基于注解的可使用变量、可以自定义函数的通用操作日志组件 项目地址: https://gitcode.com/gh_mirrors/mz/mzt-biz-log 在当今企业级应用开发中…

张小明 2026/1/12 23:11:31 网站建设

无锡阿里巴巴做网站网站的投资和建设项目

一、背景森林防火是维护生态安全、保护森林资源的重要任务,具有覆盖范围广、环境复杂、响应时效要求高等特点。随着我国生态文明建设的深入推进,传统的森林防火监测手段已难以满足现代化森林资源保护的需求,亟需引入智能化、网络化的视频监控…

张小明 2026/1/6 3:06:09 网站建设

深圳网站制作网站建设怎么制作网站深圳博纳毕节做网站

在当今多设备、多分辨率的前端开发环境中,屏幕自适应已成为每个开发者必须面对的挑战。特别是在数据可视化大屏、企业管理系统等项目中,如何确保内容在不同屏幕上都能完美展示?autofit.js作为一款专门解决PC项目自适应问题的工具,…

张小明 2026/1/6 3:06:12 网站建设

阿德莱德做网站站长工具果冻传媒

服务变更管理全解析 1. 标准变更 标准变更指的是本质上风险和影响较低的常规变更。不过,将变更归类为标准变更,由服务提供商和客户组织自行决定。 通常,一个组织中约有50%左右的变更属于低风险、低影响的变更。服务提供商要实现敏捷变更管理,就需要从常规变更列表中识别出…

张小明 2026/1/8 12:07:16 网站建设