Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。 一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。 十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。  記事の転載や、基板・キットの商用利用の方は、ご連絡ください。
    学生やサークルの学習目的でまとめてご購入する場合は特別なコースをご用意させていただきます。

« 格安マイクロUSB-LAN変換アダプタ 人柱編 | トップページ | エルナーのブロックコンデンサを入手  電圧印加処理とは? »

2017年4月 4日 (火)

格安マイクロUSB-LAN変換アダプタ 完結編

こちらの記事の続きです。  Pi Zeroに使えるかもしれない、300円以下の超格安USB-LAN変換アダプタ調査の完結編です。 

情報をあつめたり、助言をもとにdm9601ドライバを使って動作させることに成功しました。

Qf9700_1

とりあえず、分解したときの写真です。

驚いたことに。。。

 

Qf9700_2

一切、刻印がありません。 あとから削ったというより、最初からマーキングをしていない様子です。 

Qf9700_4 

基板を取り出して裏面をみるとLEDがついていました。 これがケースから透けて見えていたアクセスインジケーターです。 

私の記憶ではEthernetの信号はトランスを介して絶縁することが必須だったと思うのですが、この基板にはトランスが載っていません。 この基板のRJ-45端子もトランス内蔵タイプではなくそのままリード線が基板まで繋がっています。 もちろんICの中に信号トランスが入っているようにも思えません。  これ、いいのでしょうかね? 

 

さてさて、このUSB-LANアダプタは、Raspbian では、そのままの状態では認識しません。

Windows PCに挿すと下記のようなドライバが自動でインストールされました。

Qf9700_5 

Qf9700_6 

ご存知の方も多いと思いますが、USBにはVendor IDとProduct IDというものがあり、デバイスの認識に使っています。 VID、PIDはOSに依存しません。 ここで読めたVIDとPIDは、

0x0FE6、0x9700 です。

Windowsドライバは Corechip semiconductor社と書かれています。

USBのVIDをこちらで調べると「ICS Advent」という会社が登録していることになっています。 

 

Linuxソースから追うと

https://github.com/raspberrypi/linux/blob/linux_stable/drivers/net/usb/sr9700.c には、

/* CoreChip-sz SR9700 one chip USB 1.1 Ethernet Devices

と冒頭に書かれているのと、CoreChip社の製品の中にSR9700がラインナップされています。 

どうやらCoreChip社が本当のようです。

 

しかしながら、RaspbianではSR9700ドライバに不具合があり、動作しません。 

そこで、

sudo nano /etc/modprobe.d/raspi-blacklist.conf

に下記を追記して、sr9700ドライバを殺します。 

blacklist sr9700

そうすると、次回起動したとき、同じVID、PIDで使えるdm9601ドライバが呼ばれます。 (ぽちけんさん、情報ありがとうございます)

ソースはこちら。

https://github.com/raspberrypi/linux/commits/linux_stable/drivers/net/usb/dm9601.c

履歴をみるとこんな感じ。

Qf9700_7

とっても似ていて、dm9601ドライバで動くから0x0FE6、0x9700 を追加したよってことらしい(笑

事実、dm9601ドライバには、コレガ(VID=0x07aa)のLANアダプタやDavicom(VID=0x0a46)、Hirose(VID=0x0a47)などが登録されています。

どれがオリジナルで、どれがコンパチ製品なのか、もしくはクローンなのか、全くもって不明ですが、PIDの0x9700、0x9601 などをそのまま商品名の一部に使っている様子も覗えてちょっと面白いですね。 

 

なんだか収拾がつかなくなってきましたが、下記の格安USB-LAN変換アダプタを買ってしまって、動かないというひとは、Pi2、Pi3などで、起動して

 /etc/modprobe.d/raspi-blacklist.conf  に  blacklist sr9700  を加えることで認識するというのが結論です。 

 

ただし、コネクタの接触によって認識したり、しなかたりと安定しません。

大量のデータ転送を送ると、不具合を起こすとの報告もあり、おすすめできません。

   

 

また、絶縁されてないEthernet信号なので、若干気をつけたほうがよいかもしれません。 (ダイレクトにこの手のUSB-LAN変換のEthernet同士を繋げない方がいい)

 

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 

« 格安マイクロUSB-LAN変換アダプタ 人柱編 | トップページ | エルナーのブロックコンデンサを入手  電圧印加処理とは? »

Raspberry Pi」カテゴリの記事

コメント

カオスですね。
お疲れさまでした。

yosyos さん

おっしゃる通り、ぐちゃぐちゃになってますね。
調べているなかで、dm9601とSR9700はバッファーサイズが異なるのでSR9700のドライバを使わないと不具合が出るなんて書いてあるサイトもありました。

現状、私が使った限りではdm9601ドライバで問題なく通信できています。

私は現在進行系で戦ってますが、駄目です。
症状は「軽い通信では問題無いが、大きなファイルを転送した時にかなりの確立でアダプタが高速点滅し、切断状態となる」ものです。
スピードテストなんかすると切断されます。2つ買いましたが両方同じ状況。

試したこと:
dm9601のブラックリスト->ダメ(認識されなくなる)
rpi-updateで最新に->ダメ(変わらず)
https://github.com/kmtaylor/rpi_patchesの内容をパッチしてカーネルをビルド->ダメ(変わらず)
sr9700のブラックリスト->ダメ(変わらず)

現在の環境は
Raspbian GNU/Linux 8
Linux version 4.9.20+ (dc4@dc4-XPS13-9333)
です。2017/03のRaspbianJessieLiteを使用しています。
そちらではどんな環境で正常動作していますか?

syslog抜粋です

[ 62.096643] dwc_otg: DEVICE:003 : update_urb_state_xfer_comp:742:trimming xfer length
[ 72.183339] ERROR::handle_hc_chhltd_intr_dma:2214: handle_hc_chhltd_intr_dma: Channel 0, DMA Mode -- ChHltd set, but reason for halting is unknown, hcint 0x00000002, intsts 0x06200021
[ 72.183459] ERROR::handle_hc_chhltd_intr_dma:2214: handle_hc_chhltd_intr_dma: Channel 3, DMA Mode -- ChHltd set, but reason for halting is unknown, hcint 0x00000002, intsts 0x06200001
[ 72.183530] ERROR::handle_hc_chhltd_intr_dma:2214: handle_hc_chhltd_intr_dma: Channel 5, DMA Mode -- ChHltd set, but reason for halting is unknown, hcint 0x00000002, intsts 0x06200021
[ 72.283198] usb usb1-port1: disabled by hub (EMI?), re-enabling...
[ 72.283255] usb 1-1: USB disconnect, device number 3

zzz さん

なるほど。 私も調べていた中で、そのようなことを書いてあるサイトを見ました。(再度、検索してもみつからない)

apt-get updateで止まってしまうと書いてあったと思います。

私が試したところ、apt-get updateでは問題がなかったのですが、それ以上大きなファイルの転送などでエラーが起きる可能性はありますね。 また、回線速度にも依存するかもしれません。 回線が遅いとバッファが一杯にならずに済むからです。

試した環境は、Moode Audio R31と 2017-3-2のRaspbianJessieLiteです。

SR9700チップをdm9601ドライバで動かすのは、完全ではないのかもしれませんね。


コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/587107/65108860

この記事へのトラックバック一覧です: 格安マイクロUSB-LAN変換アダプタ 完結編:

« 格安マイクロUSB-LAN変換アダプタ 人柱編 | トップページ | エルナーのブロックコンデンサを入手  電圧印加処理とは? »

サイト内検索

Sponsors link

2017年5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

最近のトラックバック

無料ブログはココログ