お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#51 2013-11-05 23:55:50

popopopoon
メンバ
登録日: 2013-10-21

Re: PLANEX GW-USFang300 が認識されない

おめでとうございます!
粘り強くやった甲斐がありましたね!

オフライン

 

#52 2013-11-06 00:14:28

ybr170
メンバ
登録日: 2013-10-23

Re: PLANEX GW-USFang300 が認識されない

popopopoonさんには本当にお世話になりました。
感謝してもしきれない程です。
重ねて御礼申し上げます。

またkatsu07さんには決定的な情報を教えて頂きました。
本当にありがとうございました。

お二人に助けて頂いて、繋がらないと諦めていたFang300で速く繋がるようになり、私は今とても嬉しいです。
もう一段階の速度アップを果たすため、明日からまた励みたいと思います。
それでは今日はこれで失礼します。

オフライン

 

#53 2013-11-06 12:20:10

katsu07
ゲスト

Re: PLANEX GW-USFang300 が認識されない

コード:

wlan0     IEEE 802.11bgn  ESSID:"※"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:2.432 GHz  Access Point: ※   
   >>>>   Bit Rate:54 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=100/100  Signal level=73/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

出力を見る限り802.11bgnで認識されており、Link Quality、Signal level、Noise level共に問題が無い様に見えます。
">>>>"のBit Rateは殆ど通信していない様な時はもっと低く表示されていたりしませんか?

APが11n対応で他のPCが11nやgigabit ether等で繋がっているならば、PC間で大きなファイルをやりとりして数秒おきにiwconfigしてみる。
ubuntu等のisoファイルをインターネットからダウンロード中に数秒おきにiwconfigしてみる。
(インターネットの回線速度に左右されるかも)

等の確認で54 Mb/sを超える数字が出力されるか確認してみて下さい。
Makefileを見ると"CONFIG_POWER_SAVING=y"となっているので、通信開始直後やその規格以上の通信量が検出されないと最大値は出ないかもしれない?と予測して見ました。
ちなみに私の所では、USFang300ではありませんが、ほとんど通信していないと以下の様な感じです。

コード:

wlan0     IEEE 802.11bgn  ESSID:"Station01"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:0D:02:4E:E2:68   
 >>>>     Bit Rate=1 Mb/s   Tx-Power=15 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=59/70  Signal level=-51 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:79  Invalid misc:4635   Missed beacon:0

ドライバに対するパラメーターは以下の様に沢山あるのですが、realtek社のドライバに含まれるドキュメントにも記述が無いので詳しい所は解りません。

コード:

parm:           rtw_ips_mode:The default IPS mode (int)
parm:           debug:Set debug level (0-7) (default 1) (int)
parm:           ifname:The default name to allocate for first interface (charp)
parm:           if2name:The default name to allocate for second interface (charp)
parm:           rtw_initmac:charp
parm:           rtw_channel_plan:int
parm:           rtw_chip_version:int
parm:           rtw_rfintfs:int
parm:           rtw_lbkmode:int
parm:           rtw_network_mode:int
parm:           rtw_channel:int
parm:           rtw_mp_mode:int
parm:           rtw_wmm_enable:int
parm:           rtw_vrtl_carrier_sense:int
parm:           rtw_vcs_type:int
parm:           rtw_busy_thresh:int
parm:           rtw_ht_enable:int
parm:           rtw_cbw40_enable:int
parm:           rtw_ampdu_enable:int
parm:           rtw_rx_stbc:int
parm:           rtw_ampdu_amsdu:int
parm:           rtw_lowrate_two_xmit:int
parm:           rtw_rf_config:int
parm:           rtw_power_mgnt:int
parm:           rtw_low_power:int
parm:           rtw_wifi_spec:int
parm:           rtw_special_rf_path:int
parm:           rtw_antdiv_cfg:int
parm:           rtw_enusbss:int
parm:           rtw_hwpdn_mode:int
parm:           rtw_hwpwrp_detect:int
parm:           rtw_hw_wps_pbc:int
parm:           rtw_max_roaming_times:The max roaming times to try (uint)
parm:           rtw_mc2u_disable:int
parm:           rtw_mac_phy_mode:int
parm:           rtw_80211d:int
parm:           rtw_notch_filter:0:Disable, 1:Enable, 2:Enable only for P2P (uint)
 

#54 2013-11-06 12:27:05

katsu07
ゲスト

Re: PLANEX GW-USFang300 が認識されない

注:#53で投稿したSSIDやMACは、適当な物に書き換えて有ります。

 

#55 2013-11-06 17:48:46

ybr170
メンバ
登録日: 2013-10-23

Re: PLANEX GW-USFang300 が認識されない

例示していただいた1Mb/sという数に驚きました。そういうこともありうるんだなぁと。
こちらもいろいろやってみましたが、まだ54Mb/sという数しか出てきたことがありません。
ただ下り速度は25Mb/sが出ました。計測は前と同じサイトです。

802.11nに接続を固定するやり方があればいいなぁと思い、ググりましたが見つかりませんでした。
そういうのがないのであればとりあえずこの状態で使っていこうかなと考えています。

オフライン

 

#56 2013-11-09 23:52:38

ybr170
メンバ
登録日: 2013-10-23

Re: PLANEX GW-USFang300 が認識されない

こんばんは。このトピックでは3日ぶりの投稿になります。

アップデートマネージャっていうんですか、ランチャーにアップデートのお知らせが表示されたのでアップデートして再起動したら、無線LANのモジュールが読み込まれなくなりました。
これはもしかして#7でpopopopoonさんがおっしゃっていた、カーネル更新による挙動なんでしょうか。

オフライン

 

#57 2013-11-10 00:25:18

popopopoon
メンバ
登録日: 2013-10-21

Re: PLANEX GW-USFang300 が認識されない

おそらく、そうですね。
少なくともこの場合、
sudo make install
では、/lib/modules/(カーネルバージョン)/kernel/drivers/net/wiressにモジュールはインストールされます。
ところで、新しいカーネルをインストールすると、読み込むモジュールのツリーも変わる(上の( )にそのバージョンが入る)ので、
そのカーネルにとってはモジュールはインストールされてないことになります。

というわけで、カーネルのインストールが入るたびにモジュールをビルド・インストールする必要があります。
DKMSを使えば、カーネルが追加されるたびに、このモジュールのビルド・インストールの作業を自動でやってくれます。
(Virtualboxのカーネルモジュールとかが一番身近な例でしょうか。)

次のリンクに書いてある以上のことは知らないので、詳しくはそちらをご覧ください。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/DkmsHowTo

Ubuntuとカーネルについてはこちらの記事が簡潔にまとめてくださってます。DKMSの話も2ページ目に載ってますね。
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0278

オフライン

 

#58 2013-11-10 12:48:40

ybr170
メンバ
登録日: 2013-10-23

Re: PLANEX GW-USFang300 が認識されない

https://wiki.ubuntulinux.jp/UbuntuTips/Others/DkmsHowToの説明に、中間ファイルの削除方法を確認しておいてくださいとありました。
その方法は、Makefileの中身を見て確認すれば良いのでしょうか。
以下はrtl8192DUのMakefileの中身です。

コード:

EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
EXTRA_CFLAGS += -O1
#EXTRA_CFLAGS += -O3
#EXTRA_CFLAGS += -Wall
#EXTRA_CFLAGS += -Wextra
#EXTRA_CFLAGS += -Werror
#EXTRA_CFLAGS += -pedantic
#EXTRA_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes

EXTRA_CFLAGS += -Wno-unused-variable
EXTRA_CFLAGS += -Wno-unused-value
EXTRA_CFLAGS += -Wno-unused-label
EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -Wno-unused-function
EXTRA_CFLAGS += -Wno-unused

EXTRA_CFLAGS += -Wno-uninitialized

EXTRA_CFLAGS += -I$(src)/include

CONFIG_AUTOCFG_CP = n

CONFIG_POWER_SAVING = y
CONFIG_USB_AUTOSUSPEND = n
CONFIG_HW_PWRP_DETECTION = n
CONFIG_WIFI_TEST = n
CONFIG_BT_COEXISTENCE = n
CONFIG_INTEL_WIDI = n
CONFIG_WAKE_ON_WLAN = n

CONFIG_DRVEXT_MODULE = n

export TopDIR ?= $(shell pwd)

ccflags-y += -D__CHECK_ENDIAN__

RTL871X = rtl8192d

MODULE_NAME = 8192du
FW_FILES := hal/Hal8192DUHWImg.o
ifneq ($(CONFIG_WAKE_ON_WLAN), n)
FW_FILES += hal/Hal8192DUHWImg_wowlan.o
endif

CHIP_FILES := \
    hal/$(RTL871X)_xmit.o
CHIP_FILES += $(FW_FILES)

HCI_NAME = usb

_OS_INTFS_FILES :=    os_dep/osdep_service.o \
            os_dep/os_intfs.o \
            os_dep/$(HCI_NAME)_intf.o \
            os_dep/$(HCI_NAME)_ops_linux.o \
            os_dep/ioctl_linux.o \
            os_dep/xmit_linux.o \
            os_dep/mlme_linux.o \
            os_dep/recv_linux.o \
            os_dep/ioctl_cfg80211.o \
            os_dep/rtw_android.o


_HAL_INTFS_FILES :=    hal/hal_intf.o \
            hal/hal_com.o \
            hal/$(RTL871X)_hal_init.o \
            hal/$(RTL871X)_phycfg.o \
            hal/$(RTL871X)_rf6052.o \
            hal/$(RTL871X)_dm.o \
            hal/$(RTL871X)_rxdesc.o \
            hal/$(RTL871X)_cmd.o \
            hal/$(HCI_NAME)_halinit.o \
            hal/rtl$(MODULE_NAME)_led.o \
            hal/rtl$(MODULE_NAME)_xmit.o \
            hal/rtl$(MODULE_NAME)_recv.o

_HAL_INTFS_FILES += hal/$(HCI_NAME)_ops_linux.o

_HAL_INTFS_FILES += $(CHIP_FILES)


ifeq ($(CONFIG_AUTOCFG_CP), y)
$(shell cp $(TopDIR)/autoconf_$(RTL871X)_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
endif


ifeq ($(CONFIG_USB_AUTOSUSPEND), y)
EXTRA_CFLAGS += -DCONFIG_USB_AUTOSUSPEND
endif

ifeq ($(CONFIG_POWER_SAVING), y)
EXTRA_CFLAGS += -DCONFIG_POWER_SAVING
endif

ifeq ($(CONFIG_HW_PWRP_DETECTION), y)
EXTRA_CFLAGS += -DCONFIG_HW_PWRP_DETECTION
endif

ifeq ($(CONFIG_WIFI_TEST), y)
EXTRA_CFLAGS += -DCONFIG_WIFI_TEST
endif

ifeq ($(CONFIG_BT_COEXISTENCE), y)
EXTRA_CFLAGS += -DCONFIG_BT_COEXISTENCE
endif

ifeq ($(CONFIG_WAKE_ON_WLAN), y)
EXTRA_CFLAGS += -DCONFIG_WAKE_ON_WLAN
endif

ifeq ($(CONFIG_INTEL_WIDI), y)
EXTRA_CFLAGS += -DCONFIG_INTEL_WIDI
endif

SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ | sed -e s/ppc/powerpc/)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
KVER  := $(shell uname -r)
KSRC := /lib/modules/$(KVER)/build
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
INSTALL_PREFIX :=

ifneq ($(USER_MODULE_NAME),)
MODULE_NAME := $(USER_MODULE_NAME)
endif

ifneq ($(KERNELRELEASE),)


rtk_core :=    core/rtw_cmd.o \
        core/rtw_security.o \
        core/rtw_debug.o \
        core/rtw_io.o \
        core/rtw_ioctl_set.o \
        core/rtw_ieee80211.o \
        core/rtw_mlme.o \
        core/rtw_mlme_ext.o \
        core/rtw_wlan_util.o \
        core/rtw_pwrctrl.o \
        core/rtw_rf.o \
        core/rtw_recv.o \
        core/rtw_sta_mgt.o \
        core/rtw_ap.o \
        core/rtw_xmit.o    \
        core/rtw_p2p.o \
        core/rtw_tdls.o \
        core/rtw_br_ext.o \
        core/rtw_sreset.o

$(MODULE_NAME)-y += $(rtk_core)

$(MODULE_NAME)-$(CONFIG_INTEL_WIDI) += core/rtw_intel_widi.o

$(MODULE_NAME)-y += core/rtw_efuse.o

$(MODULE_NAME)-y += $(_HAL_INTFS_FILES)

$(MODULE_NAME)-y += $(_OS_INTFS_FILES)

obj-$(CONFIG_RTL8192DU) := $(MODULE_NAME).o

else

export CONFIG_RTL8192DU = m

all: modules

modules:
    $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd)  modules

strip:
    $(CROSS_COMPILE)strip $(MODULE_NAME).ko --strip-unneeded

install:
    install -p -m 644 $(MODULE_NAME).ko  $(MODDESTDIR)
    /sbin/depmod -a ${KVER}

uninstall:
    rm -f $(MODDESTDIR)/$(MODULE_NAME).ko
    /sbin/depmod -a ${KVER}


config_r:
    @echo "make config"
    /bin/bash script/Configure script/config.in

.PHONY: modules clean

clean:
    rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
    rm .tmp_versions -fr ; rm Module.symvers -fr
    rm -fr Module.markers ; rm -fr modules.order
    cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
endif

cleanのあたりっぽいかなと思うのですが、コマンドはどのように書けばよろしいでしょうか。
make cleanで良いのでしょうか。
また、モジュールを生成するコマンドはmake modulesで良いのでしょうか。

オフライン

 

#59 2013-11-10 15:41:39

katsu07
ゲスト

Re: PLANEX GW-USFang300 が認識されない

実際にubuntu 12.04.3上でdkmsでビルドしてインストールできるか確認してみました。
方法はvirtualboxのdkmsモジュールの様に"/opt"にドライバー本体を置き、"/usr/src/"にリンクを貼る形としました。

* /opt にドライバーソースを置くディレクトリを作成。
$ sudo mkdir -p /opt/mydrivers/    <-- 自分で追加した事が一目で解るような名前で良い。

* /opt/mydrivers へ、ドライバーソースをディレクトリ毎コピーする。
$ sudo cp -fr rtl8192du/ /opt/mydrivers/

* /usr/src/ へドライバーソースのディレクトリのリンクを作成する。(名前-バージョン番号 の形とする)
$ sudo ln -s /opt/mydrivers/rtl8192du /usr/src/rtl8192du-4.2.1_7122.20130408

* エディターで dkms.conf を作成し、管理者権限で /opt/mydrivers/rtl8192du/ へコピーする。
dkms.confの内容

コード:

#
# realtek 8192du USB wireless LAN driver
#
PACKAGE_NAME="rtl8192du"
PACKAGE_VERSION="4.2.1_7122.20130408"
CLEAN="make clean"
BUILT_MODULE_LOCATION[0]="./"
BUILT_MODULE_NAME[0]="8192du"
MAKE[0]="cd ${dkms_tree}/rtl8192du/4.2.1_7122.20130408/build; make KVER=${kernelver} modules"
DEST_MODULE_LOCATION[0]="/updates/dkms"
AUTOINSTALL="yes"

作成して dkms.conf として保存したらコピーする。
$ sudo cp dkms.conf /opt/mydrivers/rtl8192du/

* 後はwikiの通りにコマンドで実行及び確認する。
$ sudo dkms add -m rtl8192du -v 4.2.1_7122.20130408
<< errorが無い事を確認。>>
$ sudo dkms build -m rtl8192du -v 4.2.1_7122.20130408
<< errorが無い事を確認。>>
$ sudo dkms install -m rtl8192du -v 4.2.1_7122.20130408
<< errorが無い事を確認。>>

* インストールされたか確認
$ find /lib/modules -name 8192du.ko -exec modinfo {} \;
<< ドライバの詳細が表示されれば良い >>

* dkmsから削除する場合
$ sudo dkms remove -m rtl8192du -v 4.2.1_7122.20130408 --all
(/usr/src/ に作成したリンクも削除するのを忘れずに)

 

#60 2013-11-10 17:22:28

ybr170
メンバ
登録日: 2013-10-23

Re: PLANEX GW-USFang300 が認識されない

無事dkmsを使ってインストールすることが出来ました。
katsu07さん。コマンドを全て書いて頂き、本当にありがとうございます。
問題が解決しましたし、本トピックも長くなったので、ここで一度要点をまとめてみたいと思います。


 目的: ubuntu12.04.1日本語RemixにPLANEX GW-USFang300を認識させてインターネットに繋ぐ

解決策1: nidswrapperを使ってwindows用のドライバをインストールする(#24参照)
     ただし、速度が著しく遅い上にアダプターが一つしか認識されない

解決策2: gitで公開されている最新のドライバをインストールする(#45参照)
     上記の欠点は解決
     ただし、カーネルが更新されるとドライバをインストールし直さないといけなくなる

解決策3: dkmsを使ってgitで公開されている最新のドライバをインストールする(#59参照)
     上記の欠点が解決され、これで完璧

ご回答いただいた皆さんに感謝致します。
特にpopopopoonさん、katsu07さんには大変お世話になりました。
改めて御礼申し上げます。
本当にありがとうございました。

オフライン

 

Board footer

Powered by FluxBB