问题标签 [realtek]

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.

0 投票
2 回答
160 浏览

linux-device-driver - 设备驱动程序中的 Rx 描述符 dma 映射实际上意味着什么,是否意味着将物理网卡上的数据包映射到内存中的结构对象

我正在通过 realtek r8169 驱动程序,但有点卡在这条线上

从书Linux设备驱动程序中,它只是说它是...Function handles both the allocation and the mapping of the buffer, ...arguments are device structure and the size of buffer needed

这是什么意思:分配我可以理解,但它是什么意思mapping

这是否意味着我在 pdev 中拥有的东西代表了设备的 rx 描述符,我将在从dma_alloc_coherent哪个tp->RxDescArray描述符作为软件对象的返回中拥有相同的东西?tp->RxDescArray 是RxDesc驱动程序中的类型,如下所示

如果这就是映射:意味着我在 pdev 中表示的物理设备上的设备 rx 描述符与我在软件对象中的相同tp->RxDescArray就是映射的含义。那么谁定义的结构RxDesc,这是否包含在数据表中。如果是,那么在哪个部分?数据表中有许多部分。应该更清楚吗`

更新 也想知道这条线是做什么的

tp->RxDescArray 是 RxDesc 类型(不是 RxDesc 数组)此语句是否标记了end变量 RxDescArray 意味着接下来会发生什么将在该end地址之后

更新 2

我需要有关是否有数据表的信息,例如来自 intel E1000E 驱动程序或来自 RealTek 的 r8169 驱动程序,然后我如何创建创建 Rx Descrptor 结构,在上面的代码中它执行类似这样的操作

什么是 opts1、opts2 和 addr?该驱动程序的作者是如何产生创建此结构的想法的。只有他有很多十六进制值的数据表

0 投票
0 回答
253 浏览

linux - DMA中的流映射和相干映射有什么区别

根据 Linux Device Drivers 这本书的作者所说:必须确保操作系统和硬件之间的 DMA 地址映射范围应该相等

在尝试 DMA 之前必须回答的第一个问题是给定设备在当前主机上能够执行此类操作的位置

从 Kernel.org 它说,流映射的设置的第一步是通过调用

DMA 相干映射/一致分配的第一步是通过调用执行的

在 E1000E 驱动程序和 RealTek 驱动程序中都这样做,因为它们在 pci 驱动程序的探测函数中使用此函数调用

用于流式传输和连贯映射,通知内核硬件支持的位掩码64

这就是 RealTek 设备驱动程序启用 DMA 映射的方式

net_device 的 open 函数内部

对于流式 DMA 映射,这使用

也在开放功能中

我的问题是为什么 DMA 有两个映射,为什么真正的驱动程序同时使用 Streaming 和 Coherent 映射?

就像在 RealTek 设备中一样,它只使用单页流映射加上相干映射,所以基本上它的连接 Rx 描述符数组由指针表示,具有相干映射和连接到它称为 Rx_databuff[256U] 类型的数组的页面流映射page *

0 投票
1 回答
287 浏览

linux-device-driver - 什么是“phy_write_paged”函数中的 phy 页(物理层/phy 寄存器)

我正在阅读 NIC 驱动程序 r8169 的 RTL_ReakTek 驱动程序代码,它执行一些phy寄存器写入/phy config register writing/ 具有这些功能

pci_write_config_byte(tp->pci_dev, PCI_LATENCY_TIMER, 0x40);// 它必须是用于 phy config register write/ 但是什么是phy_write_paged/

有内存页吗?在操作系统的物理层处理中,如果是,请告诉我它是否与将虚拟内存映射到内核内存的内核页面的概念相同。我认为司机需要做

MMIO registers

Phy registers

Phy Config registers

PHY Paged memory代表

用于搬运设备

请解释以上所有这些是什么?以及如何处理它们。

0 投票
0 回答
73 浏览

ubuntu - 将网卡从 RTL8723BE 更改为 RTL8822BE

对不起我的英语,我不是很流利,这是我在stackoverflow上发布的第一个问题。我也是Ubuntu的新用户。

你好。我在我的电脑上更新了网卡,从 RTL8723BE 到 RTL8822BE,安装了 2 个操作系统(Windows 10 和 ubuntu 20.04)。我进行了此更新以提高连接速度。我没有从两个操作系统中删除旧卡驱动程序。把新网卡换成旧网卡后,我启动了windows,当然,它已经看到了新的网卡并自动更新了驱动程序。速度有所提高,因为新卡有 5Ghz 模块,而不是旧卡。

问题出在 Ubuntu 上:它看到正确的新卡 ( /lshw),但我不知道如何安装驱动程序。我尝试使用rtlwifi_new存储库(https://github.com/rtlwifi-linux/rtlwifi_new)进行修复,但我怀疑首先我必须删除旧卡的所有旧驱动程序,然后我必须安装这个 repo . 所以,我试图删除所有旧驱动程序,但之后我失去了连接 wifi 的 wifi 按钮。此外,安装此 repo wifi 按钮后不会回来。更新软件后,按钮又回来了,但驱动程序可能不正确,因为连接极不稳定,也确实接近路由器wifi丢失信号。我认为安装的驱动程序是旧卡的驱动程序。

那么,我能做些什么来解决这个问题?我的最后一个想法是重新安装 ubuntu,但我确信还有另一种方法可以解决这个问题。

0 投票
0 回答
768 浏览

ubuntu - RPC 失败;curl 56 GnuTLS recv 错误(-9):解码接收到的 TLS 数据包时出错

在尝试为 Ubuntu 20.04(5.8.0-44-generic)克隆 rtl88x2BU Wifi 驱动程序时,我收到以下问题:

$ git clone https://github.com/morrownr/88x2bu.git 克隆到 '88x2bu'... 远程:枚举对象:218,完成。远程:计数对象:100% (218/218),完成。远程:压缩对象:100% (150/150),完成。错误:RPC 失败;curl 56 GnuTLS recv 错误(-9):解码接收到的 TLS 数据包时出错。致命:远程端意外挂断致命:早期EOF致命:索引包失败

在要接收的 1586 个对象中,有 12% 到 91% 的地方都出现了解码错误。

我已将 TLS 缓冲区大小增加到 1M+,没有任何变化。

0 投票
1 回答
156 浏览

makefile - 安装 RTL8812AU 驱动程序时有什么方法可以修复或避免错误?

我正在尝试安装 Realtek-rtl8812au 驱动程序(Archer T4U V3),但我无法执行任何操作,因为我在编译时遇到了问题。无论我从 git 克隆什么包或使用什么驱动程序包,我都无法正确编译。我尝试了不同的方法,但结果相同,编译错误。我尝试编译时没有将警告视为错误,但它什么也没做。

这是我制作文件后的内容:

0 投票
0 回答
19 浏览

android - 带有 arm64 的 Android 的 NoDogSplash 交叉编译

我想在具有 realtek WiFi 模块的 android(7.1.2 版)嵌入式设备中安装 NoDogSplash。

目标板详细信息:

操作系统:安卓

Linux 内核:3.14.29

架构:arm64

编译过程如下:

  • libmicrohttpd的编译:

  • ./configure --build=x86_64-linux-gnu --host=aarch64-linux-gnu

  • 使 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

  • 使用上述命令:libmicrohttpd.so,libmicrohttpd.a 文件使用“未知”架构而不是“arm64”生成。

  • NoDogSplash 的编译

  • 使 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

  • 它使用“x86_64”架构而不是“arm64”生成“nodogsplash”、“ndsctl”二进制文件

PS:libmicrohttpd、NoDogSplash 源码是从 github 下载的。

libmicrohttpd、NoDogSplash源码放在android源码中。

工具链是 android 源代码中固有的。

任何帮助是极大的赞赏。