Logicool Performance Mouse M950のチャタリングを修理した

5年前位に職場で使うために購入したLogicoolのM950が手になじんで使いやすかったため、自宅用としても追加購入し、職場と自宅の両方で利用してきた。

最近、自宅用のM950がシングルクリックのはずがダブルクリックになったり、ドラッグが上手くできないなど、いわゆるLogicoolマウスのチャタリング病が発生し、まったく使い物にならなくなったため、何とかならないかググってみたところ、『電気通う』というM950の修理について詳しく記載しているblogが一番上にヒットした。

他のサイトでは静電気が溜まるので電池を抜いてマウスを連打すれば治るとか書いてあったが、マウスの左右ボタンの下にあるマイクロスイッチの接点の摩耗または酸化による接触不良が原因という方が納得できたので、どうせ使い物にならないのならダメ元で壊れてもいいやと思い、思い切ってマイクロスイッチごと交換してみることにした。

交換手順は『電気通う』のblogに書いてある通りに実施したが、マウスに元からついていたマイクロスイッチはD2FC-F-7N(20M)で、D2FC-F-7Nより耐久性が高いとされているはずの部品になっていたため、さらに格上?の日本製のD2F-01Fにしてみた。

Amazonではいくつかの店で取り扱っているみたいだったが、レビューを見ると偽物をつかまされたりしているようなので、何となく名前を見たことがある共立エレショップで買ってみた。この店を使うのは初めてだが、時期的なものもあるのだろうけど、卓上カレンダーも一緒に届いたので、また利用しようと思った。

同じようにマウスのマイクロスイッチをD2FC-F-7NからD2F-01Fに交換した人々のコメントを見ると、D2FC-F-7NよりD2F-01Fの方が0.1mmほど高さがあるので削る必要があるとか、クリック感が違うとか散見されるので心配だったが、特に加工せずに単純に交換してみた。

結果は大成功。すこぶる快調。確かにクリック感は変わった気がするが、特に違和感はない。

『電気通う』のページで、「小さなスプリングをなくさないように」とか「電源スイッチの位置に注意」とか細かく書いてくれているのにもかかわらず、スプリングは飛ばして探す羽目になるわ、電源スイッチが動かなくて再度バラす羽目になるわで、慌ててやらずにしっかり読まないとだめだなと少し反省。

ハンダ吸取線でハンダを除去しようと思ったが、うまくできなかったため、マイクロスイッチの側面にある丸い穴に精密ドライバーを差し込み、スイッチの3本の足をハンダごてで熱しながら少しずつ浮かして引き抜いた。新しいスイッチを基盤に取り付ける際は、元のスイッチと高さが違うということで、完全に基盤に密着していることを何度も確認したのも良かったのかもしれない。

今回は自宅用の修理だったが、職場のマウスも壊れたら同じように修理しようと思う。
職場の方は平日はほぼ毎日使っていて使用期間も長いのだが、自宅の方が先に壊れたのは、Diablo3で酷使したせいだと思う。

LEDEのAdblockに仮想通貨採掘スクリプトブロックNoCoinリストを追加してみた

Operaに仮想通貨採掘スクリプトブロック機能が搭載されるというニュースを読んで、先日インストールしたLEDEのAdblockにも追加できそうな気がしたので試してみた。

Adblock形式のフィルタもあったけど、簡単なホスト名形式のフィルタで設定。/etc/config/adblockの末尾にwinspyの設定を参考に下記の通り追加する。

config source 'NoCoin'
option adb_src 'https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt'
option adb_src_rset '\$0 ~/^0\.0\.0\.0[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
option adb_src_desc 'This is an adblock list to block browser-based crypto mining.'
option enabled '1'

設定したら、LuCIのAdblockのログファイルを確認して、「block lists with overall ??? domains loaded successfully」の???の部分が増えていれば正常に反映されているはず。

※2018/01/03追記
httpsで取得するフィルタリストは、adblockスクリプト(/usr/bin/adblock.sh)がwgetを使っているため、libustream関係のパッケージが入っていないと上手く取得できないので、LuCIの[システム]-[ソフトウェア]からlibustreamと名のついたパッケージをどれか1つ(libustream-opensslでもlibustream-cyasslでも何でも良い)をインストールしておくこと。

OpenWrtからLEDEに変えてルータにAdblockを入れてみた

OpenWrtで特に不満はなかったが、LEDEの方が日々新機能が追加されているようなので、ファームウェアをLEDEに変更してみた。バージョンは17.01.4。

ファームウェアの変更方法はOpenWrtと同じ。OpenWrtのLuCIから直接アップデートしたので、sysupgrade.binの方を使った。
https://lede-project.org/downloads

LuCIのファームウェア更新メニューで[設定を保持する]にチェックを入れたままにしておいたので、アップデート後も設定はそのまま使えたが、デフォルトではds-liteのパッケージが入っておらず、起動直後はIPv4でのインターネット接続ができない。ただ、LEDEはIPv6のみの環境でパッケージリストをアップデートできるので、わざわざIPv4 PPPoEを設定しなおさなくても良いのは便利だと思う。

OpenWrtのLuCIでは、AFTRにFQDNが使えなかったが、LEDEでは問題なくFQDNで設定ができた。

折角LEDEにしたので、Adblockのパッケージをインストールしてみた。
[System - Software]からパッケージの更新を行い、下記3つのパッケージをインストールする。

インストール後、LuCIのメニューに[サービス]が追加され、adblockが設定可能となっているはず。

デフォルトの設定のままでは日本語フィルタが入っていないので、configを変更し豆腐フィルタを入れてみる。

下記のURLのadd a new blocklist source:を参考に、
/etc/config/adblockの末尾に下記の通り設定を追加する。
https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md

config source 'toufu'
  option enabled '1'
  option adb_src 'http://tofukko.r.ribbon.to/Adblock_Plus_list.txt'
  option adb_src_rset 'BEGIN{FS=\"[|^]\"}\$0~/^\|\|([[:alnum:]_-]+\.){1,}:alpha:+\^("\\\$third-party")?$/{print tolower(\$3)}'
  option adb_src_desc 'focus on Japanese ads'

フィルタを定期的に更新するため、/etc/crontabs/rootへ毎朝6時00分にadblockをリロードする設定を追加する。LuCIの[システム]-[スケジュールタスク]に追加してもよい。

00 6 * * * /etc/init.d/adblock reload

※2018/01/03追記
cronを今まで起動していなかった場合は、/etc/inid.d/cron startと入力して手動で起動するか、LuCIの[システム]-[スタートアップ]からCronを開始しておくこと。

OpenWrtでIPv6 DS-LITEを使う

WAKWAK for マンション全戸光でIPv6接続機能が正式に提供開始されるので、OpenWrtでIPv6 DS-LITEを有効化したときのメモ。

これまでIPv4接続がPPPoEであったため、網終端装置の輻輳によりYouTubeのトップページが表示できないほどスループットが低下し、夜間帯は使い物にならなかった。

今回、正式にIPv6接続が提供開始されるため、IPv4接続をIPv6経由で行うことにした。
https://www.wakwak.com/files/information/20171101_2.pdf

1.ファームウェアは、Chaos Calmer 15.05.1を使用。

2.IPv6 IPoEを有効化し、IPv6で通信できるようにしておく。
  http://d.hatena.ne.jp/hirokon0521/20171017

3.[System - Software]からパッケージの更新を行い、ds-liteをインストールする。

4.[Interfaces - WAN]のプロトコルをDual-Stack Lite(RFC6333)に変更。
  PPPoEで接続中の場合は、事前に停止しておく。

5.DS-Lite AFTR addressに下記のいずれかのアドレスを入れる。
  NTT東日本エリア 2404:8e00::feed:100 2404:8e00::feed:101
  NTT西日本エリア 2404:8e01::feed:100 2404:8e01::feed:101

  一応、AFTRのアドレスは下記URLから最新のものを確認すること
  http://www.mfeed.ad.jp/transix/ds-lite/contents/yamaha_nvr500.html

  将来的なAFTRのアドレスの変更に備えてAFTRをFQDN名形式で登録
  できないか試してみたところ、LuCIによるGUIだとIPv6アドレス形式
  でないと入力できなかった。

  /etc/config/networkを直接編集してFQDN形式で設定してみたところ
  問題なくつながったので、GUIで設定するよりおすすめ。

config interface 'wan'
  option proto 'dslite'
  option peeraddr 'gw.transix.jp'


6.ルータを再起動する。

OpenWrtでIPv6 IPoEを使う

WAKWAK for マンション全戸光でIPv6の無料トライアルが始まったので、
OpenWrtでIPv6 IPoEを有効化したときのメモ。
(参考)https://www.wakwak.com/prl/ipv6trial.html

ちなみに申し込んだ時点でトライアルの期限は大幅に超過していたが翌日にはIPv6が開通していたので、諦めずにトライアルに申し込んでみるとよいかも。

設定はOpenWrtのホームページを参考にした。
https://wiki.openwrt.org/doc/uci/network6

 1. ファームウェアは、Chaos Calmer 15.05.1を使用。

 2. [Interfaces - WAN6]のプロトコルは、デフォルトのDHCPv6 clientのままで良い。

 3. [Interfaces - LAN]のDHCP Serverの、IPv6 Settingsを下記の通り設定する。
   -Router Advertisement-Service :relay mode
   -DHCPv6-Service :relay mode
   -NDP-Proxy :relay mode

 4. LuCIからはwan6のDHCPが設定できないので、sshでOpenWrtルータにログインして、
   /etc/config/dhcpに下記の内容を追記する。

config dhcp 'wan6'
option interface 'wan6'
option dhcpv6 'relay'
option ra 'relay'
option ndp 'relay'
option master '1'

 5. コマンドラインからuci commit /etc/config/dhcpと入力して設定を反映。ルータ再起動でもよい。

WindowsIPv6のアドレスが取得できない場合は、ネットワークアダプタを無効化/有効化を行う。
安定しているようならDS-LiteIPv4IPv6経由に変えてみようと思う。

OpenWrtでIPv6 PPPoEを使う

OCNフレッツ光でいつの間にかIPv6が無料で使えるようになってたので
OpenWrtでIPv6 PPPoEを有効化したときのメモ。

  1. ファームウェアは、Chaos Calmer 15.05.1を使用。
  1. Softwareからdhcpcdのパッケージをインストールする。
    確認してませんが、入れなくても動いたとコメントいただきました。
  1. [Interfaces - WAN6]のプロトコルをPPPoEに変更し、PPPoEユーザ名とパスワードを入れる。
    ユーザ名はIPv4のPPPoEユーザ名の@より後を@ipv6.ocn.ne.jpにすればよい。
    http://service.ocn.ne.jp/ipv6/access/flow/
  1. [Interfaces - LAN]のDHCP Serverに、IPv6 Settingsを設定する。
    Router Advertisement-ServiceをServerに変更
    DHCPv6-Service、NDP-Proxyはdisabledで良い。
  1. Interfacesのトップに戻り、WAN6のconnectボタンを押す。

WAN6でUptimeの時間が進み始め、LANに2400:〜::1/64とかのIPv6アドレスが付与されれば問題なし。WAN6にはIPv6アドレスは乗ってこない。

Windows7で、IPv6グローバルアドレスが取得できずにはまったが、ネットワークアダプタを無効化/有効化を行い解決。ブラウザも一度落とさないとIPv6で接続してくれない。