Intelワイヤレスカードがサポートされており、iwlwifi
dmesgで次のメッセージを表示できます。
iwlwifi 0000:03:00.0: loaded firmware version 17.168.5.3 build 42301
どのBLOBがロードされたかを知っていますが、その.ucode
BLOBのバージョンをどのように見つけることができますか?
以下でucodeがロードされた場所を見ると、バージョン情報は知らせずにblobだけをロードします。しかし、Intelにはこれらのバージョンがあることを知っています。
$ 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
マイクロコードファイルをロードします。Wi-Fi起動時にアダプター。お使いのコンピュータの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