Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

201104016 osc2011 kobe

osc2011 kobe, powerd by PepoLinux

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

201104016 osc2011 kobe

  1. 1. Open Microserver + FOMA Remote-Hand 2011. 4 . 16 OSC 2011 kansai@kobe IZAMUKARERA &くじらのだんなこと山内 [email_address] [email_address]
  2. 2. Sourceforge で PepoLinux という 1CDLinux を開発しています
  3. 3. PepoLinux という 1CDLinux を開発しています
  4. 4.
  5. 5.
  6. 6. FOMA の Linux Driver 開発談を少しだけ
  7. 7. FOMA 携帯電話の Kernel2.6 系 Driver の開発 <ul><li>Docomo 携帯電話 FOMA の Driver を開発と言うよりも cdc-acm ドライバへの patch を作成 </li></ul><ul><li>この Driver と epicon で 64k デジタル通信とパケット通信が可能 </li></ul><ul><li>Kernel2.4 は下記の ザウルス開発メモ のサイトで開発されていました http://digit.que.ne.jp/visit/ </li></ul>
  8. 8. FOMA の 64K データ通信とは 注意! 64K データ通信は定額契約対象外「 1 分 60 円」 <ul><li>遅いわ遅い・・・ telnet で使えん、 RTT : 1~1.8sec </li></ul><ul><li>以下 DoCoMo の HP より </li></ul><ul><li>64Kbps の安定した通信速度によって快適なインターネットアクセスが実現できます。通信料は接続していた時間に応じて課金されるので、ホームページの閲覧やマルチメディアコンテンツのダウンロードなど大容量のデータ通信に適しています。 </li></ul><ul><li>お申込み:不要 </li></ul><ul><li>通信速度 64Kbps </li></ul><ul><li>通信料金 通信時間課金 </li></ul><ul><li>主な特長 </li></ul><ul><ul><li>常に安定した通信速度を保ちます。 </li></ul></ul><ul><ul><li>ISDN とほぼ同等の速度でのデータ通信ができます。 </li></ul></ul><ul><ul><li>多彩な料金プランで自分にあった大容量データ通信に適しています。 </li></ul></ul><ul><ul><li>メールのやりとりはもちろんホームページの閲覧もスムーズです。 </li></ul></ul>定額プランなしで高いし どうもやりたくないサービスみたい
  9. 9. きもは、機種コードと FOMA 携帯電話は新機種ラッシュ都度ドライバの更新が <ul><li>static struct usb_device_id acm_ids[] = { </li></ul><ul><li>/* 機種特有のドライバになってしまったので、ここは FOMA の ID だけ入れるのが正しい・・・はず。 */ </li></ul><ul><li>{ USB_DEVICE(0x0482, 0x0203) },/* AH-K3001V */ </li></ul><ul><li>{ USB_DEVICE(0x22B8, 0x1005) },/* Motorola TimePort 280 */ </li></ul><ul><li>{ USB_DEVICE(0x04da, 0x2112) },/* Panasonic P901iS   */ </li></ul><ul><li>{ USB_DEVICE(0x04da, 0x2118) },/* Panasonic P701iD*/ </li></ul><ul><li>{ USB_DEVICE(0x04da, 0x211a) },/* Panasonic P901iTV*/ </li></ul><ul><li>{ USB_DEVICE(0x04da, 0x211c) },/* Panasonic P902i*/ </li></ul><ul><li>・ </li></ul><ul><li>・ </li></ul><ul><li>・ </li></ul><ul><li>・ </li></ul>
  10. 10. なんやこのへん FOMA 特有のコードを送る <ul><li>static int acm_set_modem_mode(struct acm *acm) </li></ul><ul><li>{ </li></ul><ul><li>int retval; </li></ul><ul><li>unsigned char modeTable[2];   /* SET_LINK */ </li></ul><ul><li>modeTable[0]=0x02; /* Mode */ </li></ul><ul><li>modeTable[1]=0x01; /* Length */ </li></ul><ul><li>retval = usb_control_msg( acm->dev, </li></ul><ul><li>usb_sndctrlpipe(acm->dev, 0), </li></ul><ul><li>USB_REQ_SET_LINK, /* Set Link */ </li></ul><ul><li>USB_RT_VENDORSPEC, /* VendorSpecificRequest */ </li></ul><ul><li>・ </li></ul><ul><li>・ </li></ul>
  11. 11. 2007.11.17 の Ver では機種コード不要にした! と言う事は FOMA の新機種ラッシュにも対応 <ul><li>static struct usb_device_id acm_ids[] = { </li></ul><ul><li>/* control interfaces with various FOMA sets */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x0a3c,0x02,0x88,0x01) }, /* Legacy */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x04da,0x02,0x88,0x01) }, /* Panasonic */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x0409,0x02,0x88,0x01) }, /* NEC */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x22b8,0x02,0x88,0x01) }, /* Motorola */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x06d3,0x02,0x88,0x01) }, /* Mitsubishi */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x04c5,0x02,0x88,0x01) }, /* Fujitsu */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x04dd,0x02,0x88,0x01) }, /* SHARP */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x0474,0x02,0x88,0x01) }, /* SANYO */ </li></ul><ul><li>{ USB_DEVICE_FOMA(0x0fce,0x02,0x88,0x01) }, /* SONY */ </li></ul><ul><li>/* NOTE: COMM/ACM/0xff is likely MSFT RNDIS ... NOT a modem!! */ </li></ul><ul><li>{ } </li></ul><ul><li>}; </li></ul>旧コード { USB_DEVICE(0x04da, 0x2112) },/* Panasonic P901iS   */ { USB_DEVICE(0x04da, 0x2118) },/* Panasonic P701iD*/ { USB_DEVICE(0x04da, 0x211a) },/* Panasonic P901iTV*/ { USB_DEVICE(0x04da, 0x211c) },/* Panasonic P902i*/ ・ ・
  12. 12. 年齢と共に記憶装置が なんせ 4 年も前の話なんで Linux の Driver についてはこれ以上説明出来ません 聞かないで m(__)m
  13. 13. OpenMicroServer 何かいいことできたらいいな 2010. 7 . 3  on LiLo LMS IZAMUKARERA こと山内 使いまわしがかなり
  14. 14. OpenMicroServer とは <ul><li>Plat'Home 製品で OpenMicroServer™ のこと </li></ul><ul><li>駆動部品を排除、コンパクト: 102×230×33 、約 445g 、半密閉構造なので堅牢、ファンレス、周辺温度 40℃ ( PoE 受電時 : 0-50℃ ) の動作保証 </li></ul><ul><ul><li>CPU   AMD Alchemy au1550 400MHz </li></ul></ul><ul><ul><li>MEMORY   128MB ( PC133 SDRAM ) </li></ul></ul><ul><ul><li>FLASH ROM   16MB (ユーザーエリア 約 2MB ) </li></ul></ul><ul><ul><li>Network I/F   10/100BaseTX × 1 ポート( PoE 受電可能)  10BaseT/100BaseTX/1000BaseT × 2 ポート </li></ul></ul><ul><ul><li>SSDLinux 0.4 (外神田: Sotokanda ) Kernel2.6.12 </li></ul></ul><ul><li>私の開発環境は </li></ul><ul><ul><li>Debian GNU/Linux 4.0 (etch)Kernel2.6.22.9 </li></ul></ul><ul><ul><li>理由は開発している FOMA の Driver が Kernel2.6.20 以上必要 </li></ul></ul>
  15. 15. 帯に短し襷に短し・何に使う? <ul><li>OpenMicroServer は非力なスペック、 Power が Poor </li></ul><ul><ul><li>CPU   AMD Alchemy au1550 400MHz </li></ul></ul><ul><ul><li>MEMORY   128MB ( PC133 SDRAM ) </li></ul></ul><ul><li>試しに kernel の make ・・・ 約 3 時間 20 分 </li></ul><ul><ul><li>Fri Dec 26 23:16:56 JST 2008 </li></ul></ul><ul><ul><li>time `make zImage.initrd && make modules && make modules_install && (cd /lib/modules/ && find . -name &quot;*.gz&quot; |xargs gzip -d && depmod -a)` </li></ul></ul><ul><ul><li>real 197m54.292s </li></ul></ul><ul><ul><li>user 181m16.149s </li></ul></ul><ul><ul><li>sys 13m56.962s </li></ul></ul>
  16. 16. 帯に短し襷に短し・ eth が3つ何に使う? Switch や Router にはどうか <ul><li>そこで、どれ位のパフォーマンス </li></ul>[root@~]# iperf -c 192.168.252.253 ------------------------------------------------------------ Client connecting to 192.168.252.253, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.253.1 port 40655 connected with 192.168.252.253 port 5001 [ 3] 0.0-10.1 sec 57.7 MBytes 47.8 Mbits/sec eth0 ( 10/100BaseTX ) to eth1 ( 10BaseT/100BaseTX/1000BaseT )
  17. 17. 帯に短し襷に短し・ eth が3つ何に使う? Switch や Router にはどうか <ul><li>そこで、どれ位のパフォーマンス </li></ul>[root@~]# iperf -c 192.168.254.253 ------------------------------------------------------------ Client connecting to 192.168.254.253, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.253.253 port 48734 connected with 192.168.254.253 port 5001 [ 3] 0.0-10.0 sec 81.7 MBytes 68.5 Mbits/sec eth1 ( 1000BaseT ) to eth2 ( 1000BaseT )
  18. 18. 帯に短し襷に短し・ eth が3つ何に使う? Switch や Router にはどうか <ul><li>そこで、どれ位のパフォーマンス </li></ul>[root@~]# iperf -c 192.168.252.253 ------------------------------------------------------------ Client connecting to 192.168.252.253, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.252.2 port 53622 connected with 192.168.252.253 port 5001 [ 3] 0.0-10.0 sec 115 MBytes 96.0 Mbits/sec HUB with eth ( 100BaseT ) to eth ( 100BaseT )
  19. 19. 帯に短し襷に短し 結論…遅い <ul><li>eth が3つあっても Switch や Router に無理 </li></ul>[root@~]# iperf -c 192.168.254.253 ------------------------------------------------------------ Client connecting to 192.168.254.253, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.253.253 port 48734 connected with 192.168.254.253 port 5001 [ 3] 0.0-10.0 sec 81.7 MBytes 68.5 Mbits/sec
  20. 20. Remote-Hand Appliance- 1 リモートハンド WWW MAIL ・ DNS USB 接続 シリアル接続 <ul><li>リモートハンド側から携帯電話経由でログイン、リモートで対応 </li></ul><ul><li>障害時に内部ネットワークより切り分け、ソフト障害はリモートで復旧 </li></ul><ul><li>究極のセキュリティと経済性・・・必要以外は携帯電話を外す、着信拒否 </li></ul><ul><li>Open Micro Server は駆動部品を排除・コンパクト・半密閉構造で堅牢 </li></ul>Open Micro Server と FOMA を USB 接続 リモートハンドを依頼 FOMA 網 64 kデジタル通信 or 384 kパケット通信
  21. 21. OpenMicroServer DIO が売りとの事でそれを利用した AP を開発挑戦! <ul><li>なにをしようか </li></ul><ul><ul><li>やはり、 DIO :デジタル・イン - アウトを持つ事が特徴なのでこれを利用しないと </li></ul></ul><ul><ul><li>と言うことで DIO を利用すべくアプリケーションの開発へ </li></ul></ul>
  22. 22. Remote-Hand Appliance-2 動物や PC 監視 リモートハンド USB 接続 <ul><li>トラが檻を破って 脱走した ら、パトライトを点灯 </li></ul><ul><li>うさぎが人参を食べたら、人参を補充し Mail で通知 </li></ul><ul><li>パソコンの ping TimeOut を Mail や Tel で通知 </li></ul><ul><li>etc </li></ul>Open Micro Server の DIO 端子を使い FOMA 網 64 kデジタル通信 or 384 kパケット通信
  23. 23. で、アプリケーションを開発 こんなことや
  24. 24. で、アプリケーションを開発 こんなことも
  25. 25. で、アプリケーションを開発 こんなことも
  26. 26. で、ソフトは出来たぽいけど、ハードは? <ul><li>昔 … 昔ラジオ少年(40年前)、その昔(30年前)電子工作、今はソフトが得意 </li></ul><ul><ul><li>しかし DIO に関する製作記事がとんと見つかりません </li></ul></ul><ul><ul><li>Plat'Home へ DIO のハード基板や DIO 取り出し用ケーブルの問い合わせをするがとんと連絡が </li></ul></ul><ul><ul><li>購入する時は見積もりやら何やら素早い対応だったのに技術問い合わせには返答がない!・・・不満 </li></ul></ul><ul><li>という訳で、自分でバンバンするしかないと必死のパッチでハードを開発することに </li></ul>
  27. 27. で、適当な回路図
  28. 28. で、秋月電子へパーツ発注 2 日で到着
  29. 29. しばらく、必死のパッチスライド
  30. 30. しばらく、必死のパッチスライド 1.5 ㎜のコネクタを根性とラジオペンチで 日本橋の共立電子で専用工具なしで圧着出来るかと確認してところ、根性があれば何とかなるとのこと
  31. 31. しばらく、必死のパッチスライド 君を作った会社がしっかりサポートせんから
  32. 32. しばらく、必死のパッチスライド
  33. 33. しばらく、必死のパッチスライド
  34. 34. しばらく、 必死のパッチスライド
  35. 35. 妄想と空想の世界 おー、おもちゃばこ
  36. 36. 妄想と空想の世界 おー、なつかしや 64180 ボード
  37. 37. 7 月 2 日 21:30 重大なミスに気づく <ul><li>DIO のコネクタの配線ミス … と言うよりも、ちょっと聞いて! </li></ul><ul><li>この図どう見ても OpenMicroserver 側のコネクタの出力図と思いますが … </li></ul><ul><li>実は HIROSE のコネクタの PDF をそのまま貼り付けただけ </li></ul><ul><li>実際は天地逆なので入力側と出力側を間違えて配線している </li></ul><ul><li>という事は、出力―出力が繋がっていた … 道理でドライバ IC が熱を帯びていた </li></ul>
  38. 38. 7 月 3 日 04:30 重大なミスに気づく <ul><li>dioctl コマンドにバグ発見 </li></ul><ul><li>dioctl.c とは、 Plat'Home が提供している DIO テスト用 diolock.c を改良したもの、に修正を書けて initrd 構築 </li></ul><ul><li>[root@linux-mips-2.6.22.9-acm-FOMA]# make zImage.initrd </li></ul><ul><li>CHK include/linux/version.h </li></ul><ul><li>[root@~]# flashcfg -f zImage.initrd.20100703 </li></ul><ul><li>Load boot image to FlashROM </li></ul><ul><li>################################################## </li></ul><ul><li>################################################## </li></ul><ul><li>################################################## </li></ul><ul><li>########################################### </li></ul><ul><li>done </li></ul><ul><li>root@~]# flashcfg -c initrd </li></ul><ul><li>Boot device change to initrd </li></ul><ul><li>[root@~]# reboot </li></ul>
  39. 39. 時間がないので反省点を <ul><li>これ、昔なんかに使う為に買ったん?ん、これは? </li></ul><ul><li>あれこれ空想に耽って、サッカー・ワールドカップを見んと、ハリーポッターも読まんと … 時間が過ぎて debug が 7 月 2 日の 19 時開始 </li></ul><ul><li>反省 </li></ul><ul><ul><li>USB コネクタ購入ミス … A-A タイプではなく A-B にしないと </li></ul></ul><ul><ul><li>1.5mm のコネクタは専用圧着工具が </li></ul></ul><ul><ul><li>フォトサイリスタは交流にしか使えない … 直流は一旦 on すると負荷を OFF にしないと </li></ul></ul><ul><ul><li>フォトカップラを注文し忘れ … アイソレートを考えないと </li></ul></ul><ul><ul><li>1.5mm コネクタはオス・メス購入する </li></ul></ul><ul><ul><li>メーカーのユーザガイドを鵜呑みにしない </li></ul></ul><ul><ul><li>若くないので、昔とった杵柄は通用しない … 引退か </li></ul></ul>
  40. 40. もし時間が余ったら 希望が在れば、なくても、まともに動かなくても、とにかく了解されたらデモへ突入 <ul><li>デモへ行ってもいいですか? </li></ul><ul><li>内容はその時考える( 7 月 3 日 8:34 現在) </li></ul><ul><li>うーあかん間に合わない </li></ul>
  41. 41. ネタの仕込み中 どうしよう(11 : 24)あーだめだ <ul><li>pepolinux を起動 </li></ul><ul><li>windowsXP で IP が取得されているか </li></ul><ul><li>OpenMicroServer へ ssh ログイン( 192.168.2.25 ) </li></ul><ul><li>diod 起動 </li></ul><ul><li>OpenMicroServer へ web ログイン </li></ul><ul><li>DO (出力を high へ) </li></ul>つかいまわし終了
  42. 42. で何とか、去年のリベンジが <ul><li>と思いきやでも、時既に遅し </li></ul><ul><li>OpenMicroServer は 2010 年 11 月に生産中止に 2011 年には販売も中止 </li></ul><ul><li>Debian GNU/Linux 4.0(etch) も既にサポートぎれ、 Update もだめ </li></ul><ul><li>仕方なしl eny へしたけど Kernel2.6.22.9 が make 不能 </li></ul><ul><ul><li>今は etch に転送( chroot )、 zImage.initrd を make </li></ul></ul><ul><li>はは、ひひ、何もならんかったか・・・笑い </li></ul>
  43. 43. 2011 年今回の教訓 <ul><li>メーカーの説明や他人の情報を鵜呑みにしない </li></ul><ul><ul><li>世の中、発信者多すぎ、情報が溢れ過ぎ、 </li></ul></ul><ul><ul><ul><li>Every day I listen to my heart, ひとり ... きり、自分を信じて! </li></ul></ul></ul><ul><li>Kernel を含めた zImage が 12,582,912byte まで </li></ul><ul><ul><li>コマンドと script を ramdisk に 10,498,711byte まで </li></ul></ul><ul><li>ruby やphpを使えばを ... 根性 shell スクリプト </li></ul><ul><ul><li>苦労したぶん、より勉強になった・・・? </li></ul></ul><ul><ul><ul><li>thttpd の post で、 javascript を少し、 sendmail で悩み、 wget で post 、 gmail 経由メール、 ramdisk は ext2 で ext3 他ジャーナル系はダメ、日本語処理 nkf に頼り、はじめての ruby など </li></ul></ul></ul><ul><li>やっぱり道具やで・・・使いこなせないけど </li></ul>
  44. 44. 時間が在ったらデモを <ul><li>64kデジタル通信でブースの OpenMicroServer へダイヤル UP を試みる </li></ul><ul><li>事前に Ping 監視を一分毎に設定しておく </li></ul><ul><li>64k->パケットへ変更、当然ダイヤル UP は切断 </li></ul><ul><ul><li>ブースではパケット接続を確認後、監視 IP を Down </li></ul></ul><ul><li>Ping TimeOut でメール送信->携帯で受信 </li></ul>
  45. 45. つづきはブース展示を見てね おしまい ご清聴ありがとうございました 山内@ PepoLinux.com
  46. 46. 4 月 16 日のデモ環境 DIO のセットアップ
  47. 47. 4 月 16 日のデモ環境 DI アクションのセットアップ
  48. 48. 4 月 16 日デモ環境 動物や PC 監視 リモートハンド USB 接続 <ul><li>おさるが板に乗ったら Mail で通知 </li></ul><ul><li>HUB の電源を SW でオフ/オン </li></ul><ul><li>サーバーの ping TimeOut を Mail で通知 </li></ul><ul><li>押しボタンで Mail ( CTU 呼び出し) </li></ul>Open Micro Server の DIO 端子を使い 192.168.2.245/24 eth0 : 192.168.2.25/24 eth 1: 192.168.2.25/24 PepoLinux www ・ MAIL Server HUB FOMA 網 64 kデジタル通信 or 384 kパケット通信
  49. 49. 携帯電話へ監視動物の脱走通知メール
  50. 50. 携帯電話へ監視機器ダウン通知メール
  51. 51. 携帯電話へ監視機器 UP 通知メール

    Be the first to comment

    Login to see the comments

osc2011 kobe, powerd by PepoLinux

Views

Total views

870

On Slideshare

0

From embeds

0

Number of embeds

1

Actions

Downloads

0

Shares

0

Comments

0

Likes

0

×