Portable OpenBSD

前回、Windows10のマシンに内蔵されてるwifiチップの型番を調べた。その結果どうも iwmな デバイスである事が判明。そんなチップサポートされてるのか?

何時も適切な情報を提供してくれてるOpenBSDのmanに聞いてみる。

     The iwm driver provides support for Intel Wireless 7260, 7265, 3160,
     3165, 3168, 8260, and 8265 PCIe Mini Card network adapters.

そして、関連情報として、ifmediaも見るといいよとの事。

     The channels detailed below are defined for IEEE802.11 Wireless LAN.  The
     list of available frequencies is dependent on radio regulations specified
     by regional authorities.  Recognized regulatory authorities include the
     FCC (United States), ETSI (Europe), France, and Japan.  Frequencies in
     the table are specified in MHz.

           Channel    FCC    ETSI   France   Japan
           1          2412   2412   -        2412
           2          2417   2417   -        2417
           3          2422   2422   -        2422
           4          2427   2427   -        2427
           5          2432   2432   -        2432
           6          2437   2437   -        2437
           7          2442   2442   -        2442
           8          2447   2447   -        2447
           9          2452   2452   -        2452
           10         2457   2457   2457     2457
           11         2462   2462   2462     2462
           12         -      2467   2467     2467
           13         -      2472   2472     2472
           14         -      -      -        2484

日本って優遇されてるの? 人口が密集してるから、チャンネルを多めに設けている? 前回FreeBSDのインストール中にwifi設定を始めたら、お前の住んでる所何処やねんの質問が出てきたのは、これだったのか。納得です。

SD Memory Card

前回は8GのUSBステックを7-11から仕入れてきた。他のコンビニにはどんな物が置いてあるか、散歩がてらに視察してきたよ。ローソンもファミリーマートも同じメーカーの物を、同じ値段で販売してたぞ。まだ未調査なのは、パン屋系のコンビニ。ちょっと遠い所にあるけど、散歩圏内なので、視察に行ってみよう。

何処のコンビニでもそうだけど、この種の電気小物が置かれている場所は、レジの目の前だ。万引き抑止を狙った配置なんだろうね。店によっては、実物を棚に並べずにカードだけを展示。レジで交換という徹底した所もある。

USBステックもSDメモリーカードも、同一料金。SDメモリーカードをコンビニから買うのも馬鹿らしいので、女房の買い物のお供でホームセンターへ行った時に、眺めてみたよ。

一番安いのが2Gやつ。ちょっと役不足と思うぞ。+200円すると8Gのやつが手に入る。そんな訳で、8G SD Memory Card 763円、磁気研究所製(HDSDH8GCL10UIJP3)を買ってきた。(自分で買うのは初めてですよ)

書き込み禁止のプロテクトスイッチが付いていた。これって、仕様で要求されてるの?

dmesgで、どんな風に認識されるか確認。

[ 6126.692866] mmc0: new SDHC card at address 59b4
[ 6127.048162] mmcblk0: mmc0:59b4 SD000 7.33 GiB
[ 6127.049504]  mmcblk0: p1

パーテション情報。

debian:~$ sudo partx -l /dev/mmcblk0
# 1:      8192- 15366143 ( 15357952 sectors,   7863 MB)

読み出しテストしてみた。

debian:save-mmc$ sudo dd if=/dev/mmcblk0 of=dump-mmc bs=1M
7503+0 records in
7503+0 records out
7867465728 bytes (7.9 GB, 7.3 GiB) copied, 689.303 s, 11.4 MB/s

デバイス名が嫌な予感。そもそもブートデバイスになるんか? 簡単に確認してみる。このカードを装着したまま、電源をON。OS見つからんと文句を垂れてきたら、ブートデバイスになれる証拠。

で、やってみるとDebianが立ち上がってきたよ。SDカードはブートデバイスになれないのね。 折角、ラズパイもどきが出来ると思ったのに、残念であります。

普通のデータ保存メディアとして使うしかないな。Windows10に刺して確認したら、使用領域が128KB、空き領域が7.31GBで、FAT32という代物でしたよ。 SDカードなら、常時差し込んでおいても苦にならないんで、増設DISKと割り切って使おう。

ポータブル

皆さん考える事は一緒で、USBに *BSDを入れておき、どこでもBSDを実現されてるのね。 FreeBSD bootable USB なんて言う検索語句でググル様に指南をお願いすると、わんさかと 体験記が出て来る。以下、体験記を学習しましょ。AIとか言ってるけど、所詮は体験学習を多数こなしているだけですから。

11行でFreeBSD 9.0-RELEASEをUSBメモリにインストールする

いつもおそばにFreeBSD~携帯デバイスにインストールしよう~

FreeBSDのUSBメモリスティックからのブート

OpenBSD 4.6 を SD カードリーダ経由 SD カードからインストールする

*BSDをUSBメモリ/GRUB2/GPTでマルチブートするには?

ここで注目すべき事例は、SDカードリーダーを経由させるとSDカードも、OS側から見ればUSBステックのように扱える事。カードリーダーに、ハードの変換器が入っているんだな。

しげしげとSDカードを見ると、むき出しの信号ピンが9本も出てるじゃないですか。それに対してUSB2.0だと4本。おのずとハード仕様が違う事に気が付いた。(今頃かよ)

元ハード屋としては、SDカードの信号仕様が知りたいな。誰か詳しい人おらんかね。生の信号ラインをむき出しにしておいて、ちゃんと対策してんかね? それを言うならキャッシュカードも同等だな。

Install OpenBSD into USB stick

6.3のfsバージョン(for i386)を落としてきて、2GのUSBにddで焼いたよ。使ったマシンはWindows7改めDebian機に なったやつ。インストール先は、TOSHIBAの公称8Gと言うステック。(DebianのLIVE版が入ってる)

2本のブータブルUSBを刺すと、どちらが有効になるんだろう? そんなの知らないから、8Gのやつを、左側に刺した。2Gのやつは、右側の奥のスロット。(右側には2つの口がある)

電源入れたら、DebianLiveが立ち上がってきた。刺す場所を入れ替えたら、OpenBSDのインストーラーが立ち上がってきた。

ネットの設定で候補が、iwn0とre0とvlan0が出てきたけど、それはスキップ。起動出来るUSBを作るのが、第一目標ですから。(一度に色々な事をやるなって言う、言いつけは守りましょう)

ユーザーアカウントの設定を済ませ、いよいよインストール先デバイスの選定。候補がsd0って出て来た。そういわれても、よう分からん。?を押すと、下記のように対象の素性が出て来た。

sd0 ATA HITACH ... (232.9G)
sd1 Kingthon ..... (1.9G)
sd2 TOSHIBA  ..... (7.2G)

sd2を指定。全部のエリア使う。スライスは、お任せコースを指定したよ。(なにせ、試しインストールですからね)

次はインストール元の指定。cd0とhttpが候補。勿論cd0を選択。base63.tgzが見つからんと言われたぞ。USBからインストールを始めたんでsd1が候補に出て来るはずですよね。>親分。

念のためsd1を指定するも、無視されて、おうむ返しに、cd0,httpしか言ってこない。httpを選ぶなら、事前に有線LANの設定が必要だな。諦めて線をつないで、出直ししましたよ。

httpを選ぶと、ミラーサーバーを選ぶか? ?を押せばサーバーリストを見せてあげるって言うんで、眺めたよ。53番を選択。がーとファイルを取ってきて検証の後、インストールが始まる。インストール中に、止まったようになる事があるけど、これはUSBへの書き込みが追い付かないんだな。気長に待ってれば終了するよ。

無事にインストール終了。Haltのメニュが追加されたんで、それを押して一旦終了。

2GのインストーラーUSBを抜き、有線LANは抜かないで起動。だって、ファームウェアをインストールする必要が有りますから。

初回の起動時には、iwnが入っている事を検知して、必要なファームウェアをインストールしてくれるのね。何気に親分の気遣いが行き届いているなあ。その後、kernelやLibの再配置に時間が取られたけど、無事にログイン画面まで到達。

wifiの設定は、下記のようにするらしい。

# cat /etc/hostname.athn0
dhcp nwid [SSID] wpa wpapsk `wpa-psk [SSID] [PASSPHRASE]`
# chmod 600 /etc/hostname.ath0

athn0の代わりに、iwn0なファイルを作成。で、再起動するとリンクアップせず。wpa-pskってのをくまなく探すも見つからず。過去の経験から、あれを入れればいいだろうってんで、pkgに 手を出す。

ob# pkg_add wpa_supplicant
Redirected to http://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages-stable/i386/
https://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages-stable/i386/: Requesting http://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages-stable/i386/
Redirected to http://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages/i386/
https://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages/i386/: Requesting http://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages/i386/
quirks-2.414 signed on 2018-03-29T09:01:59Z
Redirected to http://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages/i386/quirks-2.414.tgz
https://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages/i386/quirks-2.414.tgz: Requesting http://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages/i386/quirks-2.414.tgz
Redirected to http://ftp.jaist.ac.jp/pub/OpenBSD/6.3/packages/i386/wpa_supplicant-2.6p2.tgz
 :

PKG_PATH自動設定されてた。/etcの何処にPATHの元が置いてあるんだろね。(/etc/installurl)何はともあれ、親切になってきたな。

この状態で、dfしてみた。python2.7とか、若干の関連品が入った状態。

ob# df
Filesystem  512-blocks      Used     Avail Capacity  Mounted on
/dev/sd1a      2147964    137088   1903480     7%    /
/dev/sd1e      4122108     17748   3898256     0%    /home
/dev/sd1d      6186460   1590652   4286488    27%    /usr

で、いろいろやるも、まだwifiは使える状態にならず。困ったなあ。散歩にでも行って、頭を冷やしてくるか。

悪い方法

お前はニュートンかってのは置いておいて、悪いインストール方法を思いついた。駄目元でやってみる。

Windows10にvboxが入ってるじゃん。ならば、そこにOpenBSD6.3をインストールして、環境設定を整えた後、ハードディスクの内容をUSBステックにコピーしちゃえ。なんでこうするか?

wifiの秘密キーをFreeBSD側で作って、それをそのままコピー出来ちゃうから。コピペ得意人間ならではの発想です。

インストールの設定で注意する事が、多分一つある。HDDを固定サイズにしておく事だ。伸縮自裁のものじゃ具合が悪かろうと言う発想。で、区切りよく7GのHDDにしたよ。

インストール後、fw_update iwn して、事前にファームウェアを入れる。hostname.iwn0をFreeBSDで作って(秘密キーが重要)HDDに転送しとく。/etc/rcをいじって、カーネルやライブラリィーの再配置を禁止する。 おまけで、emacs-25.3p0-no_x11 を入れておく。

そんな風にして作ったものが、これ。

ob$ df -k
Filesystem  1K-blocks      Used     Avail Capacity  Mounted on
/dev/wd0a     7215534   1004934   5849824    15%    /
ob$ cat /etc/fstab
7fc245c7a3ad01af.a / ffs rw,wxallowed 1 1

fstabには、/deb/wd0aとか、書いてあると思ったら、uuid形式になってた。

次は、8GのUSBを刺す。Windowsでは読めないんで、フォーマットするか聞いてくるけど、それは無視。VBOXのウィンドウのメニューで、デバイスー>USBを開き、TOSHIBAを有効にする。 どんな風になったか、dmesgで確認。

umass0 at uhub0 port 1 configuration 1 interface 0 "TOSHIBA TransMemory" rev 1.10/1.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus4 at umass0: 2 targets, initiator 0
sd0 at scsibus4 targ 1 lun 0: <TOSHIBA, TransMemory, 1.00> SCSI2 0/direct removable serial.09306544C1A0C002431A
sd0: 7400MB, 512 bytes/sector, 15155200 sectors

次はいよいよ書き込みだ。

ob# dd if=/dev/rwd0c of=/dev/rsd0c bs=1m
7168+0 records in
7168+0 records out
7516192768 bytes transferred in 2071.593 secs (3628219 bytes/sec)

HDDなりUSB全体を表すのは、BSDの伝統に則り、cスライスになる。デバイスの頭にはraw(生)を表すrを必ず付ける事。付けないと、/dev/sd0cってファイルそのものが作られてしまうぞ。(一度失敗して、元HDDが異常に膨らんだ。)それにしても、書き込みが随分遅いな。

さて、出来上がったUSBをThinkpad SL510 に刺して、起動してみるか。初回は軽微なfsckが走るはず。何故なら、動いているマシンをそのままUSBに入れたんで、終了のフラグ処理がされていないからだ。

やはり、fsckが軽く走ったよ。それはいいんだけど、ifconfigでエラーになる。(ifconfig wpapsk bad values) 勿論iwn0はリンクアップしない。

これはもう、コピペの限界ですよ。マニュアルが充実してるOpenBSDなんで、自分で調べてみろ。

素直に、man ifconfig する。

IEEE 802.11 (WIRELESS DEVICES)
     ifconfig wireless-interface [[-]bssid bssid] [[-]chan [n]]
              [[-]nwflag flag] [[-]nwid id] [[-]nwkey key]
              [[-]powersave [duration]] [scan] [[-]wpa] [wpaakms akm,akm,...]
              [wpaciphers cipher,cipher,...] [wpagroupcipher cipher]
              [[-]wpakey passphrase | hexkey] [wpaprotos proto,proto,...]

     wpaakms akm,akm,...
             Set the comma-separated list of allowed authentication and key
             management protocols.

             The supported values are "psk" and "802.1x".  psk authentication
             (also known as personal mode) uses a 256-bit pre-shared key.
             802.1x authentication (also known as enterprise mode) is used
             with an external IEEE 802.1X authentication server, such as
             wpa_supplicant.  The default value is "psk".  "psk" can only be
             used if a pre-shared key is configured using the wpakey option.

     wpaprotos proto,proto,...
             Set the comma-separated list of allowed WPA protocol versions.

             The supported values are "wpa1" and "wpa2".  wpa1 is based on
             draft 3 of the IEEE 802.11i standard whereas wpa2 is based on the
             ratified standard.  The default value is "wpa2".  If "wpa1,wpa2"
             is specified, a station will always use the wpa2 protocol when
             supported by the access point.

     wpakey passphrase | hexkey
             Set the WPA key and enable WPA.  The key can be given using
             either a passphrase or a full length hex key, starting with 0x.
             If a passphrase is used the nwid option must be set prior to
             specifying the wpakey option, since ifconfig will hash the nwid
             along with the passphrase to create the key.

wpapskなんて言うオプションは無いじゃん。だからエラーになったんだな。素直にwpakeyを使っとけって事か。

wpaakmsのオプションの説明で、wpa_supplicantが出て来た。これ、FreeBSDでお世話になったな。どうもsupplicantって請願って意味が有るみたい。ここに色々なアクセスポイント情報を書いておくと、そのエリアに入った時に、動的に暗号キーを差し出して、繋いでくれるっぽいな。

ipadで、過去に接続したアクセスポイントを見繕って接続しますって機能があるけど、これを 使ってるんだな。言わば簡単なローミングか。

で、調べが長引いてしまったけど、hostname.iwn0の設定ファイルは、

dhcp nwid myssid wpa wpakey mykey

myssid mykey 共、平文で指定。よって、ファイルの持ち主はrootにしてモードは600ってのは、お約束事項だ。

ob# ifconfig iwn0
iwn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr ab:cd:ef:01:23:45
        index 1 priority 4 llprio 3
        groups: wlan egress
        media: IEEE802.11 autoselect (HT-MCS3 mode 11n)
        status: active
        ieee80211: nwid myssid chan 36 bssid 12:34:56:78:9a:bc -69dBm wpakey wpaprotos wpa2 wpaakms psk wpaciphers ccmp wpagroupcipher ccmp
        inet xx.xx.xx.xx netmask 0xffff0000 broadcast yy.yy.yy.yy

ちゃんと繋がった。11nってのが古めかしいマシンを表していて(今なら11acでしょ)36チャンネル、信号強度、-69dBmですって。iee80211の所で、wifiの接続が集約されている。

ob# sh /etc/netstart -n iwn0
ifconfig iwn0  nwid myssid wpa wpakey mykey down;dhclient iwn0

これ、hostname.iwn0を、翻訳した結果です。それが更に解釈されるのかな。

wifi analyzer

wifiの現場では、アクセスポイントにどんなのが有るか調査する必要が有る。その為にscanモードってのが用意されてる。結果は、下記のように ieee80211の所に出て来る。上でifconfigやった時のieee80211の結果は、接続された親機との情報だ。

ob# ifconfig iwn0 scan
           :
        ieee80211: nwid ...
	           nwid ...
		    :

上の結果から、個人(親機)情報を削除したもの。

chan 36  -67dBm wpakey wpaprotos wpa2 wpaakms psk wpaciphers ccmp wpagroupcipher ccmp
chan 36  -56dBm HT-MCS15 privacy,wep
chan 1  -61dBm HT-MCS15 privacy,short_slottime,wpa2
chan 4  -62dBm HT-MCS15 privacy,short_preamble,short_slottime,wpa2
chan 4  -65dBm HT-MCS15 privacy,short_preamble,short_slottime,wpa2,wpa1
chan 36  -68dBm HT-MCS15 privacy,short_preamble,wpa2,wpa1
chan 116  -69dBm HT-MCS15 privacy,spectrum_mgmt,radio_measurement,wpa2,wpa1
chan 44  -71dBm HT-MCS15 privacy,wep
chan 6  -71dBm HT-MCS15 privacy,short_slottime,wpa2
chan 11  -79dBm HT-MCS15 privacy,short_slottime,apsd,wpa2,wpa1
chan 6  -79dBm HT-MCS15 privacy,short_preamble,short_slottime,wpa2,wpa1
chan 11  -80dBm HT-MCS15 privacy,short_slottime,apsd,wpa2,wpa1
chan 11  -84dBm HT-MCS15 privacy,short_preamble,short_slottime,wpa2,wpa1
chan 11  -85dBm HT-MCS15 privacy,short_slottime,apsd,wpa2,wpa1
chan 52  -87dBm HT-MCS7 privacy,spectrum_mgmt,wpa2,wpa1

チャンネルと信号強度、他のssidとかも取れているんで、アナライザーの材料は揃った。 後は、awkとgnuplotなりを使えば(それとsqliteあたり)、自作のアナライザーが出来るな。

やけに局数が少ないのは、約0.1秒間隔(各局の指定による。中には数分に1回と言う局もあり、これって電波法違反じゃなかろうか。ハムな局は10分に1回、自分のコールサインを名乗れって決まっているぞ)で発せられているビーコン電波をスキャンしてるから。

タイミングによっては、拾えない局が有るんだろう。複数回スキャンして、それを貯めていけば、ちゃんといたものになると思うぞ。

信号強度でソートするとして、sortって、整数でちゃんとソートするのかな? 整数と言いつつ、サイン無しの整数しか扱えなかったりして。(以前にやったbase58問題を抱えている?)

keyboard and display

キーボートのCapsLockが要らない。間違うとピーピーと音を立てる。何とか解消したい。 etcの下を見てたら、何とかconfの例題集が置いてあった。それを手掛かりに、 設定してみた。CapsLock問題は嫌われていて、マニュアルにも例題がしっかりと解説されてたぞ。

ob$ cat /etc/wsconsctl.conf
#       $OpenBSD: wsconsctl.conf,v 1.1 2014/07/16 13:21:33 deraadt Exp $
#
# wscons configurable parameters
#
#keyboard.repeat.del1=200       # change keyboard repeat/delay
#keyboard.repeat.deln=50
#keyboard.encoding=ru           # use different keyboard encoding
keyboard.bell.volume=0          # mute keyboard beep
#display.vblank=on              # enable vertical sync blank for screen burner
display.screen_off=60000        # set screen burner timeout to 60 seconds
#display.msact=off              # disable screen unburn w/ mouse
keyboard.map+="keysym Caps_Lock = Control_L"
display.outact=on               # screen saver

OpenBSD FAQ - Keyboard and Display Controls を見ると、仮想コンソールの切り替え方法が出てた。Ctl + Alt + Fn で、5つぐらいのコンソールを使えるとな。

TERM=wsvt25 を使うと、色付きのターミナルになって、好都合。 console color

dmesg and ...

dmesg から目に付く所を拾ってみた。Linuxのdmesgは雑音が多くて嫌いだな。

agp0 at intagp0: aperture at 0xd0000000, size 0x10000000
inteldrm0: msi
inteldrm0: 1366x768, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
"Intel GM45 Video" rev 0x09 at pci0 dev 2 function 1 not configured
 :
"JMicron SD/MMC" rev 0x00 at pci1 dev 0 function 0 not configured
sdhc0 at pci1 dev 0 function 2 "JMicron SD Host Controller" rev 0x00: apic 1 int 16
sdhc0: SDHC 2.0, 50 MHz base clock
sdmmc0 at sdhc0: 4-bit, dma
"JMicron Memory Stick" rev 0x00 at pci1 dev 0 function 3 not configured
"JMicron xD" rev 0x00 at pci1 dev 0 function 4 not configured
 :
sd0 at scsibus1 targ 0 lun 0: <ATA, HITACHI HTS54502, PB2Z> SCSI3 0/direct fixed naa.5000cca5e7cd4ce8
sd0: 238475MB, 512 bytes/sector, 488397168 sectors
cd0 at scsibus1 targ 1 lun 0: <Optiarc, DVD RW AD-7590S, 1.L1> ATAPI 5/cdrom removable
 :
umass0 at uhub1 port 2 configuration 1 interface 0 "TOSHIBA TransMemory" rev 2.00/1.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus2 at umass0: 2 targets, initiator 0
sd1 at scsibus2 targ 1 lun 0: <TOSHIBA, TransMemory, 1.00> SCSI2 0/direct removable serial.09306544C1A0C002431A
sd1: 7400MB, 512 bytes/sector, 15155200 sectors

本体に組み込みのHDDもしっかりと認識してる。それはそうと、USBメモリーのアクセスランプが、一秒に数回点滅してるんだけど、何よ?

ob$ iostat 5
      tty              sd0               cd0               sd1             cpu
 tin tout  KB/t  t/s  MB/s   KB/t  t/s  MB/s   KB/t  t/s  MB/s  us ni sy in id
   0    9  1.06    0  0.00   0.00    0  0.00  17.13    1  0.01   0  0  0  0100
   0   48  0.00    0  0.00   0.00    0  0.00   0.00    0  0.00   0  0  0  0100
   0   16  0.00    0  0.00   0.00    0  0.00   0.00    0  0.00   0  0  0  0100
   0   16  0.00    0  0.00   0.00    0  0.00   0.00    0  0.00   0  0  0  0100
   0   16  0.00    0  0.00   0.00    0  0.00   0.00    0  0.00   0  0  0  0100
   0   16  0.00    0  0.00   0.00    0  0.00   0.00    0  0.00   0  0  0  0100

sd1に対するトラフィックは発生していない模様だ。どういう事?

グラフィックな機構を認識してるんで、Xでも起動してみるか。startxしたら、途中でddbに落ちちゃったぞ。

しょうがないので、boot halt させたら、ダブルフォルトした。swapをけちった天罰が下ったのかな。Xは封印しよう。/usr/X11R6 を消しておけ。代わりにw3mでも入れておけ。これでもう、完全なるCUI生活者に転落だな。

Xしたいなら、debianでも使っとけ。なんたってWindows7を消してdebianを入れましたからねん。私的には、オイラー好みのWindows7代替品と思っております。

ob$ cat /etc/fstab
7fc245c7a3ad01af.a / ffs rw,wxallowed 1 1
swap /tmp mfs rw,nodev,nosuid,-s=2048000 0 0

Xを上げないならメモリーは十分にある。有効利用で、/tmpに1GのRAMを割り当てておいたよ。 これで、/tmpの下でごにょごにょやる分には、USBメモリーには負担をかけないはず。 ああ、cronとかも止めて、/varへの書き込みを抑制しておこう。OpenBSDは/varをメモリーへ 割り当てる方法はサポートされていないから。(やりたかったら、FreeBSDから移植せい)

そのうちにFreeBSDで動きを確かめてから、(やる気が出たら)挑戦してみよう。

USB memoryの修復

OpenBSDのインストーラを入れておいたUSBは、Windows上でフォーマット出来なくなっている。 勿論Linuxでも駄目だ。dmesgでも盛大にエラーが出て来る。

debian:~$ sudo partx -s /dev/sdb
partx: /dev/sdb: failed to read partition table

gparted では、sdb4 に、360Mのufsが居るよって言ってきた。 そのパーテションを削除。新しいパーテションをfat32として作成。そして実行。

debian:~$ sudo partx -s /dev/sdb
NR START     END SECTORS SIZE NAME UUID
 1  2048 3919871 3917824 1.9G      3b36938e-01

これで、ちゃんとファイルマネージャーも認識してくれた。dmesgからもエラーが消えて、素直なメッセージになった。

念のため、Windows10に刺してみると、フォーマットせいと言う脅しは出ずに、ちゃんとfat32と認識。16KB使ってて、1.86GBが空いてますって言ってきた。

Linux = Windows って思ってたけど、Linuxの方が柔軟じゃん。だから近頃のM$も、Windowsに足りない所をLinuxで補おうとしてるんだな。やたらLinuxに入れあげてるみたいだし。

余り盛大にパーテションをいじっていなければ、簡単にフォーマット出来るみたいだ。

LinuxでUSBメモリをNTFSにフォーマットにするコマンド

Debian wheezyでUSBメモリをフォーマットする

wifi scan on debian

debianでwifiのスキャンをどうやるか調べた。コマンドを発明するの好きだな。

debian:tmp$ sudo iwlist wlp5s0 scan
debian:tmp$ sudo iwlist wlp5s0 scan | fgrep 'Last beacon'
                    Extra: Last beacon: 6344ms ago
                    Extra: Last beacon: 6132ms ago
                    Extra: Last beacon: 6116ms ago
                    Extra: Last beacon: 5908ms ago
                    Extra: Last beacon: 5724ms ago
                    Extra: Last beacon: 5000ms ago
                    Extra: Last beacon: 104ms ago
                    Extra: Last beacon: 5688ms ago
                    Extra: Last beacon: 5700ms ago
                    Extra: Last beacon: 3904ms ago
                    Extra: Last beacon: 6328ms ago
                    Extra: Last beacon: 6288ms ago
                    Extra: Last beacon: 5708ms ago

色々出て来るけどビーコン関係。キャッシュしてるんだな。実行する度に局数が増えていくぞ。

debian:tmp$ sudo iwlist wlp5s0 scan | grep Frequency
                    Frequency:2.412 GHz (Channel 1)
                    Frequency:2.427 GHz (Channel 4)
                    Frequency:2.427 GHz (Channel 4)
		       :
debian:tmp$ sudo iwlist wlp5s0 scan | grep Quality
                    Quality=46/70  Signal level=-64 dBm
                    Quality=46/70  Signal level=-64 dBm
                    Quality=42/70  Signal level=-68 dBm
                       :

こちらの方がネタ元としては、使い易いか。

debian:tmp$ sudo iwconfig
wlp5s0    IEEE 802.11  ESSID:"myssid"
          Mode:Managed  Frequency:5.18 GHz  Access Point: xx:xx:xx:xx:xx:xx
          Bit Rate=40.5 Mb/s   Tx-Power=13 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=41/70  Signal level=-69 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:26   Missed beacon:0

このコマンドも発明品だな。

etc

OpenBSD ロシアにもOpenBSDが浸透してるな。ググルの翻訳でちゃんと読めるよ。

昔、初めて海外旅行するとき、6ヵ国語会話集なんてのを携えて行ったけど、ロシア語は なかった。良い時代になったものだ。