tftp repeat block

DD-WRTやその他のファームをルーターに焼くのにFON FLASHというのを使い始めた。linuxではCUIのfon-flashとGUIのfon-flash-guiがある。fon-flash-guiの方が使いやすそうだが、グラフィック表示をするために色々ライブラリを入れなくてはならず、バージョンが合わないと途中でいきなり落ちたりするので危険だ。fon-flashを使う方が安心だろう。

fon-flash -i enp2s0 -c gargoyle gargoyle_1.10.0-ath25-root.squashfs gargoyle_1.10.0-ath25-vmlinux.lzma

なんて感じで起動する。引数が覚えられないが、引数なしでfon-flashを起動すると説明が出てくるので、それに従えば良い。で、書き込みを始めると10分くらいして

tftp repeat block 1234

みたいな表示が延々出てくる。数字の部分は1ずつ増えてゆく。tftpがrepeatしているのだから、通信でエラーになっているっぽい。googleで検索すると”Its stuck in a repetition loop”とあったので電源ケーブルを引き抜いて中断した。そして再びfon-flashを起動するとまた同じメッセージが延々と表示される。これを3回繰り返した後、意を決して(嫌になって)、tftp repeat blockが表示されてから放置した。すると数字が12000を超えた辺りで書き込みが終了して、doneと表示された。なんだ、待っていれば良かったのだ。それにしてもファームの書き込み中に電源断をしても平気なのは良い。ファームの書き込みアドレスと、Redbootの部分のアドレスが違うので安全に中断ができる。書き込んでいるファーム自体が書き込みプログラム部分も含んでいると、中断したらそのルーターは文鎮になってしまう。

広告

apacheサーバーをlibretto20からHinteUltraIIに換える

libretto20(486 75MHz,メモリ20MB)でapacheサーバーを運用してきたが,やたら重くなってきた.ps axで見ると,

 4 ? SW 253:34 [kswapd]

と,これまで見たことがないくらいスワップがCPUパワーを食っている.486が非力という訳ではなくメモリが足りないようだ.ラズパイへ移行しようとも思ったがそれでは芸がないので,Hinote UltraIIに換えることにした.Hinote 3代目の高性能機CTS5120だ.CPUがPentium 120MHz,メモリは40MBもある.HDDは60GBに換装してある.このマシンなら大丈夫だろう.しょぼいマシンで動かすなんて貧乏くさいって.いやいや,CTS5120は私が持っている40数台のPCのうち,価格は上から5番めのハイエンド機だ.定価は598,000円だった.クラシックなんだけど,スーパーマシンなんだよ.

VAIO遅い(Windows遅い)

VAIOを9台持っているのは以前書いたが、GigaPocketでTV番組を録画している6台はOS(Windows2000×1、WindowsXP×5)は変えられない。変えると録画した番組が見られなくなる。また、VAIO TV with nasneでTV番組を視聴する3台はWindows10までアップグレードできたが、Windows以外のOSに変えることはできない。たまに録画した番組を見るためにVAIOを起動するのだが、Windows10機では例の起動直後のHDDゴロゴロに必ず遭遇してまともなレスポンスで使えるようになるまで10分以上かかる。職場にあるWindows7マシンはHDDゴロゴロが1時間くらい続くので、それよりはマシだが、VAIOはi7 2.9GHzを積んでいるのに、Pentium3 1.2GHzのマシン(debian stretch 9.3)よりレスポンスが悪いとはどういうことなんだ。Pentium3機は起動直後からサクサク使えるというのに。マイクロソフトにスティーブ・ジョブズの魂を持ったヒーローが突然入社して、Windowsの腐った部分を全部取っ払った新しいWindows OSを作ってくれないかな。

linuxのXilinx ISEがMAC address 000000000000になって起動しない

Spartan-6はVivadoでサポートされない.ISEを使うしかない.linux(Ubuntu 16.04LTS)でISEを起動するとライセンスファイルとPCのMAC addressが一致しないと言われて起動しない.なぜかMAC addressが000000000000になってしまう.これはISEのライセンスマネ―ジャーがeth0のMACアドレスを取得しようとするからだ。Ubuntu 16.04とかDebianのイーサネットデバイス名は最近はenp0s25みたいになっている。これをeth0に変えなければISEは動かない。

/etc/default/grubを編集して

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

と書き換えて、

grub-mkconfig -o /boot/grub/grub.cfgを実行する。

/etc/udev/rules.d/70-persistent-net.rulesを作成して

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"

と書き込む。

これで再起動するとイーサネットデバイスがeth0になって、そしてISEが動く。

複数のクラウドをたばねてひとつのディレクトリに見せるサービス

オンラインストレージサービスを複数個使っている。無料のものも有料のものもある。無料のものは会社が倒産してファイルが無くなったことが以前あったので、大事なファイルは有料のものに入れている。ストレージのサイズは小さいものが15GBで大きいものは50GBだ。お金を月1000円ほど出せば1TBが使える(Google、DropBox、マイクロソフト)のだが、私はケチなので安いものですませたい。今使っているストレージサービスの容量を全部足すと、3.6TBだ。これで1年間の費用が6800円だ。

3.6TBのストレージをDropBoxで実現すると約7万円。アマゾンだと4TBで55200円。マイクロソフトだとOneDriveが5TBで11000円。OneDriveは安いね。ただし普通の方法ではlinuxで使えない。それに6800円よりはやはり高い。そこで、なんとか分散しているオンラインストレージをひとつのディレクトリに見せかけるサービスやソフトがないか探してみた。見つけてインストールしたのは以下の3つ。

  1. MultCloud
  2. odrive
  3. Air Explorer

結論は、ひとつのディレクトリに見せかけることは、どのソフトも不可能だった。バラバラに配置してある各オンラインストレージを一覧で見られるとか、検索できるとか、オンラインストレージ間で同期ができるとかの機能だけ。どれも私が求めるものではなかった。これは自分で作るしかないようだ。ソフトウェア作るのは苦手なんだけど、必要は発明の母と言うし、できるかもしれない。

ここにヒントがあった。私には難しいが、挑戦してみよう。

https://medium.odrive.com/sync-client-magic-602d858731de

wpa_supplicant.confの暗号化

ラズパイで無線LAN接続をするとパスフレーズが平文でファイルに書き込まれる.そこで,

wpa_passphrase MYSSID passphrase

を実行するとpsk=xxxxxという暗号化したプレシェアードキーが得られる.これをwpa_supplicant.confに書き込んでおくと安心.

avahiを止めたらwebサーバーがつながらなくなった

なにげにps axをしてみたらavahi-daemonが動いていた.名前解決はdnsでしているし,家にはmacは1台しかないので不要だと思ってsystemctl disable avahi-daemonをした.特に問題が起こるわけがないと思っていた.そして,しばらくして家の外から自分のwebページへ接続しようとしたら,これが繋がらない.いろいろ原因が考えられるので,全部チェックした.しかし,分からない.apache2を何度も再起動したがダメ.再起動したときに動いているのを確かめるためnetstat -ltをしたのだが,ちょっと変だった.こんな感じだった.

tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 
tcp6 0 0 [::]:ssh [::]:* LISTEN 
tcp6 0 0 [::]:http [::]:* LISTEN

あれ?ipv6でしかhttpを待ち受けてない.ipv4で待ち受けてほしいんだけど.ネットで調べるとipv4で待ち受ける方法が分かった.それを実行するとwebページへ繋がるようになった.やれやれ.これまでなぜ繋がっていたかというと,avahiがipv6の名前を解決してくれてリバースプロキシサーバーからwebサーバーへ繋げてくれていたのだった.なんとまあ,これまで動いていたのが不思議だったのだ.