Intel 무선 카드가 지원되며 iwlwifi
dmesg에서 다음 메시지를 볼 수 있습니다.
iwlwifi 0000:03:00.0: loaded firmware version 17.168.5.3 build 42301
어떤 Blob이 로드되었는지 알고 있는데 .ucode
해당 Blob(파일)의 버전을 어떻게 찾을 수 있나요?
아래에서 ucode가 로드된 위치를 보면 버전 정보는 알려주지 않고 blob만 로드합니다. 하지만 인텔에는 이러한 버전이 있다는 것을 알고 있습니다.
$ sudo dmesg | grep ucode
[ 26.132487] iwlwifi 0000:03:00.0: firmware: direct-loading firmware iwlwifi-6000g2a-6.ucode
[40428.475015] (NULL device *): firmware: direct-loading firmware iwlwifi-6000g2a-6.ucode
답변1
드라이버가 iwlwifi
마이크로코드 파일을 로드합니다.와이파이시작 시 어댑터. 컴퓨터의 Blob 버전을 알고 싶다면 다음을 시도해 보세요.앤드류 브램튼의 각본. 달리기:
## Note the firmware may stored in `/usr/lib`
./ucode.py /lib/firmware/iwlwifi-*.ucode
그리고 출력을 저널(출력)과 dmesg
비교하세요 .
이 스크립트는 에서 작동합니다 python2
.
답변2
참고로 Andrew Brampton이 대본에서 언급한 내용을 살펴보세요.@don_crissti의 답변, 다음과 동일한 출력을 얻을 수 있습니다.레이더 2이것은 리버스 엔지니어링 프레임워크입니다.
pf x[4]z[64]zN1N1N1N1 magicfile magicblob text serial api minor major
pf
형식화된 데이터 인쇄x
0xHEX value and flag (fd @ addr) (see 'd' and 'i')
[4]z
null terminated string
최소 길이 4차원[64]z
null terminated string
최소 길이 64 치수N1N1N1N1
next char specifies size of unsigned value (1, 2, 4 or 8 byte(s))
다음과 같은 스크립트에서 실행할 수 있습니다.
for f in /lib/firmware/iwlwifi-*.ucode; do
echo $f;
radare2 -qc "pf x[4]z[64]zN1N1N1N1 magicfile magicblob text serial api minor major" "$f";
done;
다음은 몇 가지 샘플 출력입니다.
magicfile : 0x00000000 = 0x00000000
magicblob : 0x00000004 = IWL.
text : 0x00000008 = 6000g2b fw v18.168.6.1 build 0.
serial : 0x00000048 = 1
api : 0x00000049 = 6
minor : 0x0000004a = 168
major : 0x0000004b = 18
당신은 그들을 거꾸로 재생하고 major.minor.api.serial
얻을18.168.6.1