一、各部件角色与逻辑关系
1. 4G/5G模组 (作为PCIe RC)
-
角色 :移动网络主设备,提供PCIe根复合体功能
-
功能:
-
内置4G/5G基带和协议栈
-
作为PCIe总线的主控制器
-
通过PCIe总线连接外部PHY扩展芯片
-
通常集成在M.2或Mini PCIe接口的模块中
-
-
典型型号:高通骁龙X系列、联发科T系列、华为巴龙等
-
对外接口:PCIe x1/x2接口
2. AN8811PRN (PCIe-to-PHY Bridge)
-
角色 :PCIe端点转PHY的协议转换器
-
功能:
-
作为PCIe端点设备(EP),接收4G模组的PCIe数据
-
将PCIe协议转换为并行数据流
-
可能包含简单的MAC层功能
-
-
对外接口:
-
上游:PCIe接口(连接4G模组)
-
下游:并行接口(连接AN8811HBN)
-
3. AN8811HBN (PHY芯片)
-
角色 :高速物理层收发器
-
功能:
-
并串/串并转换
-
线路驱动和信号调理
-
时钟数据恢复
-
-
对外接口:
-
上游:并行接口(连接AN8811PRN)
-
下游:高速串行差分信号(连接AN7553GT)
-
4. AN7553GT (Host/主控设备)
-
角色 :系统主处理器(如嵌入式CPU、SoC)
-
功能:
-
运行操作系统和应用
-
通过AN8811系列芯片接收4G模组的网络数据
-
管理网络连接和路由
-
-
关键变化 :在这个拓扑中,AN7553GT是数据消费端,而不是4G模组
二、数据流向与协议栈
发送路径(设备上网):
AN7553GT(应用数据) → 网络协议栈 → AN8811HBN/AN8811PRN →
PCIe链路 → 4G/5G模组(基带处理) → 无线信号 → 基站 → 互联网
接收路径(数据下载):
互联网 → 基站 → 无线信号 → 4G/5G模组(基带处理) →
PCIe链路 → AN8811PRN/AN8811HBN → AN7553GT(网络协议栈) → 应用
三、驱动加载流程(Linux系统)
阶段1:PCIe主机端驱动(在4G模组侧)
# 4G模组内部的PCIe RC驱动加载
# 这部分通常由模组固件处理,对Linux透明
阶段2:AN8811PRN作为PCIe端点
# 在AN7553GT的Linux系统中:
1. PCIe主机控制器扫描总线
2. 发现AN8811PRN(Vendor/Device ID: 0x10ee:0x8811)
3. 分配PCIe资源(BAR空间、中断)
4. 加载AN8811PRN驱动(an8811prn.ko)
# 验证:
lspci -vvv -s 00:01.0 # 假设设备在00:01.0
dmesg | grep -i "8811"
阶段3:USB设备模拟
AN8811PRN驱动加载后:
1. 芯片内部的USB设备控制器被启用
2. 模拟出一个标准USB网络设备
3. 对AN7553GT呈现为USB CDC Ethernet设备
阶段4:USB枚举与驱动绑定
# AN7553GT的USB主机控制器检测到设备:
1. USB核心为新设备分配地址
2. 读取设备描述符(识别为CDC Ethernet类)
3. 自动绑定cdc_ether驱动
4. 创建网络接口(eth0, usb0等)
# 查看USB设备:
cat /sys/kernel/debug/usb/devices | grep -E "If#=.*Driver="
# 应显示:Driver=cdc_ether
阶段5:网络接口初始化
# 网络管理器检测到新接口:
1. udev可能重命名接口(如wwan0)
2. NetworkManager/dhcpcd尝试配置接口
3. 如果启用了DHCP,自动获取IP地址
# 查看结果:
ip link show
ifconfig wwan0 # 或eth1, usb0等
四、完整注网拨号流程
物理连接拓扑

步骤1:硬件初始化
# 1. 4G模组上电启动
# 2. 初始化内部PCIe RC控制器
# 3. 通过PCIe初始化AN8811PRN
# 4. AN8811PRN配置AN8811HBN PHY
# 在AN7553GT侧查看:
dmesg | tail -50 # 查看启动日志
lspci # 查看PCIe设备
步骤2:4G模组网络注册
# 4G模组内部流程(对Host透明):
1. 读取SIM卡信息
2. 扫描可用基站
3. 附着到网络(EPS Attach)
4. 建立PDN连接(获取IP地址)
# 模组状态指示(如果有GPIO/LED):
- 网络搜索:慢闪
- 已注册:快闪
- 数据连接:常亮
步骤3:Host侧网络配置
方式A:自动获取IP(DHCP)
# cdc_ether驱动创建接口后:
1. DHCP客户端自动运行:
dhclient wwan0
2. 查看获取的IP:
ip addr show wwan0
# 输出示例:
# wwan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
# inet 10.10.10.123/24 brd 10.10.10.255 scope global wwan0
3. 测试连接:
ping -I wwan0 8.8.8.8
ping -I wwan0 www.baidu.com
方式B:手动配置网络
# 如果DHCP失败,手动配置:
ifconfig wwan0 192.168.1.100 netmask 255.255.255.0 up
route add default gw 192.168.1.1 dev wwan0
echo "nameserver 8.8.8.8" > /etc/resolv.conf
步骤4:网络路由设置
# 如果AN7553GT作为路由器:
1. 启用IP转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
2. 配置NAT(共享网络):
iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
iptables -A FORWARD -i br-lan -o wwan0 -j ACCEPT
iptables -A FORWARD -i wwan0 -o br-lan -m state --state RELATED,ESTABLISHED -j ACCEPT
3. 设置路由策略(如需要):
ip route add default via 192.168.1.1 dev wwan0 metric 100
五、驱动架构总结
4G/5G模组侧(PCIe RC):
├── 基带处理器固件
├── PCIe根复合体驱动(内置)
└── 移动网络协议栈(内置)
AN8811PRN侧(PCIe EP):
├── PCIe端点驱动(an8811prn.ko)
├── 内部USB控制器驱动(集成)
└── PHY配置接口(MDIO/I2C)
AN7553GT侧(Host):
├── PCIe主机控制器驱动(内置)
├── USB主机控制器驱动(内置)
├── cdc_ether驱动(标准内核模块)
├── 网络协议栈(TCP/IP)
└── 网络管理工具(NetworkManager, dhcpcd等)
六、关键配置点
1. PCIe配置
# 查看PCIe链路状态
lspci -vvv -s 00:01.0 | grep -E "LnkSta:|LnkCtl:"
# 期望:Speed 5GT/s, Width x1
# 检查设备资源
cat /sys/bus/pci/devices/0000:00:01.0/resource
2. USB配置
# 查看USB设备信息
lsusb -v -d 10ee:8811 # 假设VID:PID
cat /sys/kernel/debug/usb/devices | grep -A10 "Vendor=10ee"
3. 网络配置(OpenWrt示例)
# /etc/config/network
config interface 'wwan'
option proto 'dhcp'
option ifname 'wwan0'
option metric '10'
option peerdns '0'
list dns '8.8.8.8'
list dns '114.114.114.114'
# /etc/config/firewall
config zone
option name 'wan'
option network 'wwan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
4. 故障排查命令
# 驱动加载检查
lsmod | grep -E "an8811|cdc_ether|usbnet"
# PCIe设备检查
lspci -d 10ee:8811 -vvv
# USB设备检查
cat /sys/kernel/debug/usb/devices | grep -E "Driver=|Cls="
# 网络接口检查
ip -d link show wwan0
ethtool -i wwan0
# 连接测试
ping -c 4 -I wwan0 8.8.8.8
curl --interface wwan0 http://checkip.amazonaws.com
七、典型应用场景
-
工业路由器:4G模组通过PCIe连接外部PHY,提供更远距离或更可靠的连接
-
车载设备:4G模组与主控分离,便于布局和散热
-
定制设备:需要特定PHY接口(如光纤、远距离铜缆)的应用
-
测试设备:可更换不同PHY进行测试
优势:
-
4G模组标准化(M.2/Mini PCIe)
-
PHY可根据需求更换(光纤、铜缆、不同距离)
-
主控与4G模组分离,便于升级
挑战:
-
驱动需要支持AN8811PRN转换芯片
-
延迟可能略高于直接连接
-
需要额外的电源管理