2つのAsix USB-イーサネットアダプタがあります。 FreeBSDはそれをue1
アダプターとして識別しますue2
。
問題は、再起動後にインターフェイスがue1
その逆に変わり、ue2
ネットワーク構成がほとんど破損することです。両方のアダプタのMACは非常に似ているため、システムがそれを認識しようとすると問題が発生する可能性があります。
udev
Linuxシステムでは、以前にアダプタのMACアドレスに静的ルールを設定してこの問題を解決しました。 Freebsdで同様の機能をどのように実装できますか?関連があることはわかっていますが、devd
アダプタが「静的」名を持つように管理する方法がわかりません。
usbconfig
ugen0.1: <DWCOTG OTG Root HUB> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.2: <vendor 0x0424 product 0x9514> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (2mA)
ugen0.3: <vendor 0x0424 product 0xec00> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
ugen0.4: <ASIX Elec. Corp. AX88179> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (248mA)
ugen0.5: <ASIX Elec. Corp. AX88179> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (248mA)
usbconfig -d ugen0.5 dump_device_desc
ugen0.5: <ASIX Elec. Corp. AX88179> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (248mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0210
bDeviceClass = 0x00ff <Vendor specific>
bDeviceSubClass = 0x00ff
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x0b95
idProduct = 0x1790
bcdDevice = 0x0100
iManufacturer = 0x0001 <ASIX Elec. Corp.>
iProduct = 0x0002 <AX88179>
iSerialNumber = 0x0003 <00000000000114>
bNumConfigurations = 0x0001
ugen0.4: <ASIX Elec. Corp. AX88179> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (248mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0210
bDeviceClass = 0x00ff <Vendor specific>
bDeviceSubClass = 0x00ff
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x0b95
idProduct = 0x1790
bcdDevice = 0x0100
iManufacturer = 0x0001 <ASIX Elec. Corp.>
iProduct = 0x0002 <AX88179>
iSerialNumber = 0x0003 <00000000000013>
bNumConfigurations = 0x0001
答え1
私が提案する解決策は、接続時にMacアドレスを確認し、デバイス名を変更するスクリプトを呼び出すことです。
0を追加{ デバイス名 "(ue)[0-9]+"; アクション "yourscript $device_name"; };
テストされていません:
#!/bin/sh MAC = ` ifconfig $ 1 | INBOUND_MAC="foo" OUTBOUND_MAC="bla" if ["$MAC" == "$INBOUND_MAC"]; ifconfig $1 名前のインバウンド その他 ifconfig $2 名前アウトバウンド フィリピン諸島