问题标签 [network-driver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
network-programming - 检测/确保 SKB 分配和释放
通常sk_buff由我在发送端开发的模块(网络驱动的接口)通过“ alloc_skb
”分配给网络驱动。发送后它基本上是由网络驱动程序释放的。
有没有办法从我开发的模块中释放 SKB,或者有没有办法确保网络驱动程序是否正确释放了 skb buff?
operating-system - PCI 配置空间寄存器 - 写入值
我正在为自制操作系统开发网络驱动程序 (RTL8139),但在将值写入 PCI 配置空间寄存器时遇到问题。
我想更改中断线的值(偏移量 0x3c)以获取另一个 IRQ 编号并启用命令寄存器(偏移量 0x04)的总线主机(设置位 2)。
当我读回这些值时,我看到我的值被正确写入。但不是使用新的 IRQ 编号(在我的情况下为 6),而是使用旧值(11)。
DMA 的总线主控器也无法正常工作(我想发送的数据包大小正确(由 IO-Port 设置)但它们没有内容(所有值都只有 0,收发缓冲区在物理内存上并且具有非零值) .在我仔细检查物理地址后,这总是与我的代码一样工作。我需要这个让网络控制器访问我的物理内存,我的接收/收发缓冲区所在的位置。(RTL8139需要总线主控)
我是否必须做其他事情来确认我对 PCI 设备的更改?
作为模拟器,我使用 qemu。
对于读/写,我编写了以下函数:
我希望有人能帮助我。
macos - 为基于串行端口 AT 命令的调制解调器开发 Mac OSX 网络驱动程序
首先请允许我说,我没有任何开发 OSX 驱动程序的经验,也没有开发 Windows 驱动程序的经验。所以,关于驱动程序的工作原理,我有很多不明白的地方。我相信这在我的问题中会很明显。
我有一个能够使用 AT 命令打开和关闭 TCP/UDP 套接字的调制解调器。我想创建某种程序(内核扩展?驱动程序?)来实现网络驱动程序,将网络接口调用转换为 AT 命令串行消息。
这就是它的基本要点。我本质上是在问是否有人可以为我指明正确的方向/给我一个关于他们将如何处理它以及 Apple 指导关注的内容的高级概述。
c# - 使用 WNetUseConnection 连接到网络驱动器
我正在使用 WNetUseConnection 连接到网络驱动器,昨天一切正常,下面是我用来连接到网络驱动器的代码。
我使用以下代码找到远程的值
我使用下面的代码取消连接
正如我之前提到的,昨天一切正常,但今天当我尝试重新测试代码时它失败了。WNetGetConnection 在某些情况下返回错误 1201,在其他情况下返回 1202(请注意,驱动器显示 x 符号,表示已断开连接)
现在尝试使用 WNetUseConnection 重新连接到驱动器,并且有效凭据失败并出现错误 1219,这真的很奇怪,因为没有与驱动器建立连接,同时尝试通过传递空的用户名和密码连接到驱动器工作正常。
使用 WNetCancelConnection2 取消连接有效,连接成功取消,但尝试再次执行 WNetUseConnection 以重新测试步骤会引发此错误 67,这没有意义,因为我的电脑仍在显示驱动器,但是当我尝试双击时驱动器它向我显示驱动器不存在的错误。
断开驱动器将不起作用,但将驱动器重新映射到具有相同驱动器号的相同位置并替换网络驱动器。但重新映射并没有解决问题。
当我使用以下命令删除并重新创建驱动器时,一切再次正常。
净使用 * /del /是
net use l: "NetworkPath" /user:"username" "password"
谁能告诉我为什么会这样?我很感激帮助。
编辑:
现在问题开始更频繁地出现,我无法使用代码连接到驱动器,但是当我双击计算机上的驱动器图标时,连接已成功创建。命令不再解决问题。
PS:我使用的是 windows 10 版本 1709
linux - 从 linux 用户空间访问以太网 phy 驱动程序
我想从 linux 用户空间访问以太网 phy 驱动程序,
在 uboot 中我们可以使用mii命令直接访问 phy 寄存器
同样,我想从 linux 用户空间读取和写入 phy 寄存器。
因为在 phy 驱动程序的情况下没有主要或次要数字(可能是网络驱动程序)怎么做。有可能吗
linux-kernel - 等待队列和工作队列,它们总是在一起吗?
关于等待队列,我一直在尝试刷新我对在内核中休眠的理解。因此开始浏览bcmgenet.c (内核版本 4.4)的源代码,该驱动程序负责驱动 Broadcom 的 7xxx 系列 SoC 用于他们的机顶盒解决方案。
作为探测回调的一部分,这个驱动程序初始化了一个工作队列,它是驱动程序私有结构的一部分,并将自己添加到 Q 中。但我在任何地方都没有看到任何类型的阻塞。然后它继续使用唤醒时调用的函数初始化工作队列。
现在来到驱动程序的 ISR0,如果满足某些条件,则作为 ISR (bcmgenet_isr0) 的一部分显式调用调度程序。现在 AFAIK,此调用用于将工作推迟到以后,就像 tasklet 一样。
发布此消息后,我们检查一些 MDIO 状态标志,如果满足条件,我们将唤醒在进程上下文中被阻塞的进程。但是这个过程到底是在哪里被阻塞的呢?
此外,大多数时候,等待队列似乎与工作队列一起使用。这是使用它们的典型方式吗?
linux-kernel - 我在哪里可以找到在 Debian Stretch 上构建网络驱动程序的 pci_find_device() 声明?
我正在尝试构建网络驱动程序。但是,当我尝试构建它时说:
这是我的司机:
这是我的 Makefile
构建时,出现以下错误:
ethernet - Windows 网络设备驱动程序:设置网络接口名称
我正在为 Windows 编写网络设备驱动程序。我已经让驱动程序正常工作,但它在输出和控制面板>网络适配器Ethernet 2
中都显示为通用。ipconfig
如何从驱动程序代码中将接口名称设置为自定义名称?我不想从用户级工具中做到这一点。
ipconfig
输出:
网络适配器 GUI 屏幕截图: 控制面板>网络适配器
linux-device-driver - HDLC 作为字符驱动程序
我们有一个适用于 HDLC 协议的工作网络接口驱动程序。客户要求是有一个像UART这样的字符驱动程序。是否可以将其重新编写为字符驱动程序?谷歌搜索给了我这个2000 年的链接。
有没有人遇到过基于HDLC协议驱动程序字符的?