문제

몇 달 전에 나는 RTL8139 카드의 EEPROM을 프로그래밍하기 위해 작은 도구를 작성해야했습니다. 기본적으로입니다 RTL8139-DIAG eeprom을 읽고 쓰기 위해 도구를 제거했습니다.

이 도구는 지금 RTL8101 카드의 EEPROM을 프로그래밍 할 수 있도록 확장해야합니다. EEPROM의 인터페이스가 RTL8139와 유사하기 때문에 이것은 문제가되지 않았습니다. 실제로 유일한 차이점은 EEPROM 파일의 내용입니다.

내가 구현하려는 것은 주어진 포트 아드 드레스의 카드가 RTL8139 또는 RTL8101이고 피팅 eeprom-dump를 선택하는 경우 확인하는 자동 감지입니다. 프로그래밍 할 카드가 '처녀'이고 eeprom-contents는 기본적으로 eeprom을 읽어서이 칩의 차이를 결정할 수 없습니다. 0xffff.

나는 Linux가 EEPROM의 내용에 관계없이 항상이 카드에 적합한 드라이버를로드한다는 것을 알았습니다. 그래서 나는 단지 카드의 Chip-id를 읽어야한다고 생각합니다.

어떻게해야하나요?

도움이 되었습니까?

해결책

나는 당신이 찾을 수 있다고 생각합니다 lspci 또는 lspci -vv 너를 도울 것이다. (뿌리가되어야 할 수도 있습니다.)

즉, PCI ID가 카드에 설정되어 있고 EEPROM에서 결정되지 않은 경우 사용할 수 있어야합니다. lspci 카드의 PCI ID를 얻고 작업중 인 카드를 결정하려면

그만큼 -n 옵션은 원시 숫자를 제공 할 것입니다.이 숫자는 스크립팅하는 경우 더 도움이 될 것입니다.

또는/SYS/DEVICES/PCI*/*/장치 및 공급 업체에서 읽을 수있어 해당 값을 찾을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top