linux-2.6.22-landisk Edit

  • 概要
  • libataへ移行完了
    • LANDISKはaec62xxからpata_artopへ
      オリジナルではDMAがUDMA33へ設定されるようです。 単に表示上だけの問題なのか、それとも実際そのように設定されているのか詳しくは調査していませんが、少々気持ち悪かったので、UDMA133に設定する無責任な「俺パッチ」を仕込んでいます。今のところ(3ヶ月くらい)問題なく動作しています。
      (もしかして、単に表示をUDMA133へ変えるだけのパッチだったするかもしれませんが、、)
      どなたか、ACARD ATP865のチップ仕様書を持ってる方、見せてくれませんか?
    • USL-5Pはide-shからpata_platformへ
  • Wake on LAN 対応
    rtl8139-diag、gio2コマンドはもはや不要に!
    # /usr/local/sbin/ethtool -s eth0 wol g
    
  • LED
    LEDのパッチを統合してもらおうと3月下旬から交渉中。
    いい加減疲れてきました。統合はあきらめるかもしれません。…orz
    http://marc.info/?l=linux-kernel&w=2&r=1&s=leds+landisk&q=b
  • パッチ … linux-2.6.22-landisk.patch
    • クロスビルドしたい場合は、 CROSS_COMPILEへgccコマンドのプレフィックス文字列を指定すれば良い
      CROSS_COMPILE	?= sh4-linux-

    • dot config ファイル
      landisk_defconfig-ata : パッチ中に含まれる。


  • カーネルバイナリ … linux-2.6.22


  • その他
    landisk-tools-20070612.tgz
    ledctrl、btnctrlコマンド等を本カーネル向けに修正。

LEDの制御方法 …暫定版 Edit

  • はじめに
    LANDISK/USL-5PのLED制御ドライバをlinuxの標準ドライバ仕様にあわせて大幅に書き直ししました。
    LEDの制御は/sysfs/class/leds下にマッピングされたファイルを読み書きして行います。
    以下例を交えながら簡単に説明します。
  • LANDISK/USL-5PそれぞれのLED
    • LANDISKのLED
      landisk:~# ls /sys/class/leds/
      power  status
      
    • USL-5PのLED
      usl5p:~# ls /sys/class/leds/
      buzzer  power  status  usb1  usb2  usb3  usb4  usb5
      
    • 機種判別
      /sys/class/leds/buzzer ディレクトリの有無でLANDISKとUSL-5Pの機種判別が可能。
  • LEDのモード設定について
    個々のLEDディレクトリ下にはtriggerファイルがあります。triggerをcatすると、使用可能なLEDのtriggerモードが表示されます。
    現在仕様中のtriggerは'[',']' で囲まれいます。
    usl5p:~# cat /sys/class/leds/power/trigger
    none [bitpat]
    
  • LEDのON/OFF
    LEDを(設定されてないならば)"bitpat"モードに設定して、bitdataに値を書き込みます。
    LEDをbitpat triggerモードへ
    usl5p:~# echo bitpat >  /sys/class/leds/power/trigger
    
    #LED ON
    usl5p:~# echo 1    >  /sys/class/leds/power/bitdata
    
    #LED OFF
    usl5p:~# echo 0    >  /sys/class/leds/power/bitdata
    
  • LEDの点滅
    LED triggerを"bitpat"モードに設定して、delayに点滅周期(正確にはトグル周期)をミリ秒単位で、bitdataへ点滅パターンを指定します。
    usl5p:~# echo bitpat >  /sys/class/leds/power/trigger
    
    usl5p:~# echo 250    >  /sys/class/leds/power/delay
    usl5p:~# echo 01R    >  /sys/class/leds/power/bitdata
    
    01Rとは、0(OFF)->1(ON)->R(先頭から繰り返し)という意味です。最後にRをつけると無限ループします。
    bitpat triggerの特徴は0,1,Rを連結した文字列でLEDのON/OFFパターンを表現する点にあります。
    なお現実装では設定可能な文字列長は16文字です。

  • ブザー
    LED(ブザー)もLEDと同様に、bitpat triggerモードで使用します。
    usl5p:~# echo bitpat     >  /sys/class/leds/buzzer/trigger
    usl5p:~# echo 250        >  /sys/class/leds/buzzer/delay
    usl5p:~# echo 1010000010 >  /sys/class/leds/buzzer/bitdata
    
  • bitpat triggerモードの補足
    エイリアス(on/off/blink)を使用して次のようにしてLEDを制御することもできます。
    #LED ON
    usl5p:~# echo on    >  /sys/class/leds/power/bitdata
    usl5p:~# cat /sys/class/leds/power/bitdata 
    bitdata : 1
    meaning : 0=OFF, 1=ON, R=Repeat
    
    #LED OFF
    usl5p:~# echo off   >  /sys/class/leds/power/bitdata
    usl5p:~# cat /sys/class/leds/power/bitdata 
    bitdata : 0
    meaning : 0=OFF, 1=ON, R=Repeat
    
    #LED 点滅
    usl5p:~# echo blink >  /sys/class/leds/power/bitdata
    usl5p:~# cat /sys/class/leds/power/bitdata 
    bitdata : 01R
    meaning : 0=OFF, 1=ON, R=Repeat
    
  • diskアクセスランプ
    LANDISKのstatus(赤LED)にのみ本モードは設定可能です。
    landisk:~# cat /sys/class/leds/status/trigger 
    none disk [bitpat] 
    
    landisk:~# echo disk > /sys/class/leds/status/trigger
    
    landisk:~# cat /sys/class/leds/status/trigger 
    none [disk] bitpat 
    

添付ファイル: filelinux-2.6.22-rc1-landisk.patch 370件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-07-09 (月) 22:33:06 (6138d)