bcma와 brcmsmac의 관계는 무엇입니까?

bcma와 brcmsmac의 관계는 무엇입니까?

무선 연결과 관련된 몇 가지 문제를 해결하고 그 과정에서 몇 가지를 배우려고 노력 중입니다. ~에서여기그리고여기나는 내 무선 드라이버에 대해 알아내는 두 가지 방법을 배웠습니다. 문제는 두 가지 다른 결과를 얻는다는 것입니다.

첫 번째 방법은 sudo lshw -C network다음을 제공합니다.

configuration: broadcast=yes driver=brcmsmac

그리고 두 번째는 lspci -knn | grep Net -A2나에게 이것을 제공합니다:

Kernel driver in use: bcma-pci-bridge

내 드라이버 목록에서 다음을 찾을 수 brcmsmac있습니다 bcma.

> lsmod | grep brcmsmac
brcmsmac              563061  0 
cordic                 12574  1 brcmsmac
brcmutil               15579  1 brcmsmac
mac80211              652777  1 brcmsmac
cfg80211              498458  2 brcmsmac,mac80211
bcma                   52320  2 brcmsmac

그럼 이 둘은 뭘 하고 있는 걸까요?

답변1

Broadcom의 하드웨어 설계에는 많은 제품에 공통적으로 적용되는 표준 PCI/PCIe 인터페이스 모듈이 포함되어 있습니다. 그리고 하나 이상의 제품별 모듈을 연결할 수 있는 Broadcom 고유의 인터페이스 버스가 있습니다.

bcma모듈은 PCI/PCIe 버스와 Broadcom 독점 버스 사이의 "브리지" 역할을 하는 PCI/PCIe 인터페이스 모듈용 드라이버일 뿐입니다. 일단 로드되면 Broadcom 버스의 다른 모듈을 식별하고 가능하면 해당 드라이버를 자동으로 로드합니다.

brcmsmac실제 WiFi 하드웨어 모듈용 드라이버입니다 . 하드웨어 모듈은 실제로 PCI(e) 버스에 존재하지 않기 때문에 lspci실제로 PCI(e) 버스에 연결된 부품에 대한 드라이버만 표시됩니다.

예를 들어 Broadcom 버스의 내용에 대해 더 자세한 내용을 알려주는 새로운 명령이 있어야 합니다 lsbcma... 제가 아는 한, 그러한 명령은 실제로 존재하지 않지만 제 생각에는 Broadcom 버스는 일반적으로 매우 간단하므로 로드 할 모듈 bcma출력을 동일한 목적으로 사용할 수 있습니다.dmesg

커널 모듈에는 brcmutil다양한 Broadcom WiFi 모듈( brcmsmac및 Broadcom WiFi 모듈) brcmhmac간에 공유할 수 있는 일부 코드가 포함되어 있습니다.

답변2

나는 당신과 같은 문제가 있습니다. 내 경우 무선 컨트롤러는 Broadcom Corporation BCM4313이며 제조사와 모델은 14e4 및 4727입니다.

$ lspci -nn -s 03:00 |grep -i net 03:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)

1 - 컨트롤러의 모듈 별칭은 bcma입니다.

$ cat /lib/modules/$(uname -r)/modules.alias | grep -i 14e4 |grep -i 4727 alias pci:v000014E4d00004727sv*sd*bc*sc*i* bcma

bcma가 먼저 로드되고 컨트롤러 인터페이스를 담당합니다.

2 - brmsmac는 bcma에 따라 다름

# modinfo brcmsmac |grep depends depends: bcma,mac80211,brcmutil,cfg80211,cordic

bcma 다음에 로드되며 무선 프로토콜을 담당합니다.

3 - bcma-pci-bridge가 드라이버로 인식되지 않습니다.

# modinfo bcma-pci-bridge modinfo: ERROR: Module bcma-pci-bridge not found.

그래서 내 생각에는 bcma-pci-bridge는 컨트롤러에 2개의 드라이버가 필요하다는 것을 기억하는 "자유 이름"일 것입니다.

저는 전문가는 아니고 그냥 제 추측일 뿐입니다

관련 정보