2016年12月17日土曜日

オフロードの設定変更

//現在の設定 # ethtool -k dev //変更 # ethtool -K dev gso off gro off

2016年11月29日火曜日

fedora24 caps ctrl 入替え

参考:https://www.kdel.org/wp/?p=367

dconf write /org/gnome/desktop/input-sources/xkb-options "['ctrl:swapcaps']"

reboot

2016年11月2日水曜日

iwlwifi の設定・デバッグ

自分用なので冗長なことが多いわりに中身がない.
リンクを踏んで適時補完...

1. iwlwifi の設定
 こことかここを参考に.
  • 無線関連のパラメータ一覧の表示
    • # modinfo iwlwifi 
  • 現在のパラメータの表示
    • # cat /sys/module/iwlwifi/parameters/11n_disable
      • 上は,フレームアグリゲーションの有無
      • parameters以下は,必要に応じて変更する
    • パラメータの変更
      例:フレームアグリゲーションの無効化
      • # echo "options iwlwifi 11n_disable=1" > /etc/modprobe.d/iwlwifi.conf
      • # reboot
      • 必要に応じて iwlwifi.conf を編集,再起動する
      • フレームアグリゲーションについて 
2. iwlwifi のデバッグ
ここを参考に.
  • 使用するツール:trace-cmd
    • # yum install trace-cmd
  •  使用例
    1. # trace-cmd record -e iwlwifi_msg ping google.com -c 1
      • ping 開始から終了時までのデバッグログを出力
      • カレントディレクトリにtrace.dat が形成される
    2. # trace-cmd report trace.dat| less
      • たくさんログが吐き出されるため,必要なものだけ抽出する
        • trace-cmd report | grep "LONG\|SUCCESS\|retries" | less
        •  送信完了処理で破棄するフレームの送信結果とMACヘッダのシーケンス番号を出力する
  • FW,HW,ドライバのみデバッグするならば,trace-cmd で事が足りると思う.
    →パケットの情報を見るならデフォルトのままでは不十分...
    • 送信時,送信完了時には,処理中のパケットのMACのシーケンス番号のみ出力される
    • MACだけの情報だとSrc, Dst の端末でWiresharkを使ったときにパケットの対応付けが難しい(上位レイヤの情報が欲しい)
      • Wireshark はEthernet以上の情報しか見れないため
  • モジュールに手を加えて必要な情報を取得する
    →具体的には,ドライバの送信バッファ内のsk_buff 構造体からヘッダやデータなどの値を取得する
    • (準備) カーネルモジュールのコンパイル
    • (準備) 全体をコンパイルする場合はこっち(Fedora 23)
      →config を iwlwifi と mac80211のデバッグのために変更するならば以下の方法
      1. # su -  
      2. # wget http://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.5.5.tar.gz
      3. # cat <<"EOF">> /etc/dnf/dnf.conf
      4. # exclude=kernel*
      5. EOF
      6. sudo cp /boot/config-4.5.5-300.fc23.x86_64 linux-4.5.5/.config
      7. dnf install -y openssl-devel ncurses-devel
      8. cd linux-4.5.5
      9. make menuconfig
      10. make
      11. make modules_install
      12. make install
    • モジュールのコードを書き換える
      • vi linux-4.5.5/driver/net/wireless/intel/iwlwifi/mvm/tx.c
      •  ここを書き換えるもしくは,マクロを新たに追加する
        1.  水平タブ(\t)の影響でノートPCだとログが改行して表示されるため\tを消す
        2. ほかにも出力される情報の中で冗長なものは,排除する
          • retries :フレームのMAC層における再送回数(実際にはackが返ってくるまでに再送した回数?(15回でリセット?))
        3. TCPに関する情報を出力する
          • シーケンス番号:ntohl(tcp_hdr(skb)->seq)
          • ポート番号:忘れた
          • パケット長:skb->len
          • ヘッダ長:skb_headlen(skb)
          • データ長:skb->data_len
      • コンパイル・アンロード・ロード   
        • # make M=driver/net/wireless/intel/iwlwifi/
        • # rmmod iwlmvm
        • # insmod linux-4.5.5/driver/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
    • 書き換えてから trace-cmd を再度実行


今回は,送信完了処理で呼ばれるデバッグ用の関数をヘッダ情報も出力させるように変更した.
毎回コンパイルが面倒ならばSystemTapとか使えば多少楽になるかも...

2016年10月20日木曜日

iwlwifi 各種パラメータの設定

iwlwifi 各種パラメータの設定

カーネル:linux 4.5.5
ディストリビューション:Fedora 24

・データフレームの再送回数
driver/net/wireless/intel/iwlwifi/fx-api-tx.h

#define IWL_DEFAULT_TX_RETRY                    15

2016年8月5日金曜日

大津CC2周

1周目は,流して,2周目はメディオ走.
複数人で走ると楽しいコースなのね.

信楽1周

たんたんと回った.50km.

信楽1周+α

人数が多かったので市街を迂回するコース.
計70km

2016年7月31日日曜日

鈴鹿スカイライン

鈴鹿峠を越えて,三重側から鈴鹿スカイラインを越えた.
菰野ヒルクライムと同じコース.

2016年7月28日木曜日

大津CC2周

1周目でたれた.
2周目は,脚が止まった.
その時飲んだコーラがおいしかった(小並感).
大津CCは,アスファルトがボッコボコでストレス溜まる.
交通量とキツさは,いいんやけどなあ.

2016年7月27日水曜日

信楽1周

ケイデンス低め(70〜90)で下ハンドル,ダンシング多用した走りを心がけた.
1ヶ月前よりかは確実に走りがよくなった.
上りはやっぱり落ちるけど.

2016年7月16日土曜日

信楽1周(林道経由)

登って下りのとっても良いコース( ・ิϖ・ิ)

2016年7月4日月曜日

信楽1周

山が、坂がきつい。重い。
漕ぎ始めにふらつく。
ダンシングふらふら。

感覚取り戻さなければ!

2016年7月3日日曜日

信楽1周(林道経由)

約半年ぶりにまともに自転車に乗った.
いろいろ落ち着いて乗れる機会も増えるし,早く元のパフォーマンスが出せるように頑張ろう.

サイクルロードレースのスタンプを買ってみた.自転車乗りとの会話に使えそう.