2020.01.29

LinuxbeanでWI-U2-433DHP・・・(linuxbean)

コンパイルでエラーとなる時は(その2)を参照してください。
 
BuffaloのUSB接続のWi-FiアダプターWI-U2-433DHPを購入した。もちろんwindows 10では問題なく使えたが、Linuxbeanを立ち上げると、WI-U2-433DHBは認識しない。
そこで、googleで調べたら、いくつかのページが見つかったが、改めて使用できるよう行った内容を記すこととした。

まず最初にDKMS(Dynamic Kernel Module Support)をインストールする。

$ sudo apt-get update
$ sudo apt-get install dkms

ソースをダウンロード

$ git clone https://github.com/msharov/rtl8812au.git

作業するディレクトリーを作り、ダウンロードで得られたrtl8812auを移す。

$ cp -r rtl8812au /home/nakamura/temp

rtl8812auのディレクトリーに入って、作業に先立ちWI-U2-433DHPのデバイスIDを調べる。
WI-U2-433DHPを挿した状態で

nakamura@Linux-host:~$ lsusb
libudev: udev_new: missing = in /etc/udev/udev.conf[8]; skip line
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 03f0:2e4a Hewlett-Packard 
Bus 001 Device 004: ID 152d:0569 JMicron Technology Corp. / JMicron USA Technology Corp. 
Bus 001 Device 003: ID 03f0:094a Hewlett-Packard Optical Mouse [672662-001]
Bus 001 Device 002: ID 0411:029b BUFFALO INC. (formerly MelCo., Inc.) 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

BUFFALO INC.となっているものが目的のデバイスで、IDは0411:029bの部分である。
/os_dep/linux/usb_intf.c を開く。

nakamura@Linux-host:~$ vi /home/nakamura/temp/rtl8812au/os_dep/linux/usb_intf.c

#ifdef CONFIG_RTL8821A の中に {USB_DEVICE(0x0411, 0x029B),.driver_info = RTL8821}, /* Buffalo – WI-U2-433DHP */ を追加する
0x0411と0x029Bは先ほど調べたIDである。

#ifdef CONFIG_RTL8821A
        /*=== Realtek demoboard ===*/
   .......................................
   .......................................
   .......................................
    {USB_DEVICE(0x3823, 0x6249),.driver_info = RTL8821}, /* Obihai - OBiWiFi */
    {USB_DEVICE(0x0411, 0x029B),.driver_info = RTL8821}, /* Buffalo - WI-U2-433DHP */
#endif

そしてビルド

$ make
$ sudo insmod 8812au.ko

モジュールがロードされたことの確認。

$ lsmod

表示されたリストに8812auがあればOK

起動時にスタートさせるため/etc/udev/udev.confに8812auの記述行を追加。

しかし、linuxbeanを更新したら8812auが認識されなくなった。

やむなく、力技で下記を/etc/rc.localに追加

# cd /etc
vi rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

insmod /home/nakamura/temp/rtl8812au/8812au.ko      <==== 追加 (makeしたdirectry内の8812au.koを指定)

exit 0

これで再起動すれば、WI-U2-433DHPが認識され、使用可能となる。


2019.02.06

Linuxbeans 14.04 簡易NASへの接続・・・(etc)

最近のWi-Fiルーターには、USB端子にUSBメモリーやUSB接続のHDDを接続すると簡易的なNASとして使えるようになっているものがある。それで、我が家では百均で買ってきたUSB接続のメモリーカードリーダーに余っていたSDメモリーカードを挿入して簡易NASとして使っている。

これは、複数のPCやスマホとの間でチョットしたファイルのやり取りを行うのに便利である。それで、以前には非力となったPCにLinuxbeanの12.04版を入れて使っていたが、14.04版に上げたところ簡易NASに接続できなくなった。

NAS接続は/etc/fstabに下記の1行を書いて、自動マウントしていた。
//192.168.1.1/xxxxx /media/net cifs user=hogehoge,password=,uid=1000,uid=1000,default 0 0
しかし、linuxbeanの版数を14.04に上げたら接続できなくなり、色々調べたら下記のようにsec=ntmlを挿入する必要があった。
//192.168.1.1/xxxxx /media/net cifs user=hogehoge,password=,uid=1000,sec=ntlm 0 0

# mount -aを実行すると、fstabに記述したNASへの接続がなされ、# ls /media/netで接続が確認できた。

自動マウントを試みるために、再起動すると正しくNAS接続がなされたが、# dmesg | grep cifsで振る舞いを見る。

CIFS VFS: cifs_mount failed w/return code = -101

上記表示が5行続き、自動マウントに失敗している。しかし、ログインされた画面で確認すると、正しく接続されている。

いろいろ調べると、fstabが実行されるときには、まだネット接続は確率されておらず、その後にネット接続が確立された時点で、NAS接続もなされるようである。 いささか、気に入らないが、結果的には正しく接続されるので良しとする。

2015.10.14

Linux Bean 12.04 と無線LAN (WLI-UC-GNP)・・・(etc)

PCはwindows 10にアップグレードしたが、サーバーを閉じたのでFreeBSDも触れることがなくなり、Win以外ではClientはLinuxを弄ることになっている。それで、最近、軽いと評判のLinux BeanをUSBメモリーにインストールして遊んでいる。
インストールは特に記すこともなく、簡単に終わるが、例によってBuffaloのUSB無線LANアダプターのWLI-UC-GNPのドライバーをインストールする必要があった。以下はその手順である。 なお、Linux bean 14.04では、kernel headerの仕様が変わりコンパイルできなかった。

(1) コンパイル環境の構築

まず、コンパイル環境を整える。

$ sudo apt-get install make gcc libc6-dev

(2) ドライバーソースのダウンロード

Mediatekのページ(英語のページ)のMenu→Wi-Fi→related Linksと辿り、Downloads – Drivers and FirmwareをクリックしてLinux OSの欄にある、Parts Number:
RT8070/ RT3070/ RT3370/ RT3572/ RT5370/ RT5372/ RT5572 USB
をクリックしてダウンロードする。ダウンロードには名前とメールアドレスの入力を要求される。

(3) コンパイルの準備

$ mkdir temp     ・・・・作業用ディレクトリーの作成
$ bzip2 -d DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2
$ tar xvf  DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar
$ cd  DPO_RT5572_LinuxSTA_2.6.1.3_20121022
$ vi os/linux/config.mk
  その中の、56行目~60行目あたりの n を y に書き換える。
  
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

次にcommon/rtusb_dev_id.cの120行あたりのUSB_DEVICEの一覧の最後に
Vendor IDとProduct IDを追加する。GW-USMicronもついでに追加した。

$ vi common/rtusb_dev_id.c
    {USB_DEVICE(0x1EDA,0x2012)}, /* Airties */
    {USB_DEVICE(0x1EDA,0x2210)}, /* Airties */
 {USB_DEVICE(0x2019,0xED14)}, /* Planex GW-Usmicron */
    {USB_DEVICE(0x0411,0x019E)}, /* Buffalo WLI-UC-GNP */

(4) makeとinstall

ファイルの修正が済んだらmakeとinstallである。

$ sudo make     ・・・・パスワードを要求されたら入れる。
$ sudo install

再起動すれば、使えるようになっている。


2015.02.25

ubuntuにおけるwordpressでのmod_rewriteの重要性・・・(WordPress)

先に、wordpressで複数ブログの作成方法を書いたが、自分で別のubuntuで立てたサーバーにwordpressを入れ直した時、apache2のmod_rewriteを有効にするのをすっかり忘れていて、さんざんな目にあった。動いているwordpressをコピーして入れても複数ブログ作成で、新規に追加したブログのダッシュボードに行こうとするとNot Foundになる。
ネットで調べても、.htaccessやwp-config.phpの記述に関するものばかりで、どうしても分からず、まいったなあーと思っていたが、遂にapache2のmod_rewriteに行き着いた。
以下が、mod_rewriteを有効にした作業内容である・

(1) mod_rewriteがインストールされていることの確認

 # cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

これで、mod_rewrite.soがLoadされていることが分かるが、これだけでは有効でない。

(2) mod_rewriteを有効にする

sudo a2enmod rewrite

実行すると以下の様なメッセージが出てくる。

Enabling module rewrite.
To activate the new configuration, you need to run:
  service apache2 restart

(3) apache2の再起動

sudo service apache2 restart

これで、正常に表示されるようになった。


2015.02.05

WordPressで複数ブログの作成・・・(WordPress)

WordPressで複数のブログを作成するためには、まずWordpressで単独のブログを作成してから、拡張する形をとる。

(1) wp-config.phpの修正

最初にwordpress内のwp-config.phpに下記に示すように複数ブログ作成許可を書き加える。加える場所は、どこでも良い。

 /** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

define ('WP_ALLOW_MULTISITE', true);   ← この行を追加

/**#@+
 * 認証用ユニークキー

(2) wp-config.phpの再修正と.htaccess

wp-config.phpにdefine (‘WP_ALLOW_MULTISITE’, true); を追加してwordpressを起動し、サイドメニューから「ツール」を選び「ネットワークの設置」をクリックすると、下図のように「プラグイン停止」の警告が出るので、全てのプラグインを停止してから再度「ネットワークの設置」を行う。

wp03.png

再度「ネットワークの設置」を行うと、下図のように、wp-config.phpと.htaccessを修正する内容が表示される。

wp04.png

a. wp-config.phpは、書かれているように/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */の行の前に追加する。

b. .htaccessの修正は、表示されているように書き変える。
 下記が修正後である。

DirectoryIndex index.html index.cgi index.php index.shtml
php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"

# BEGIN WordPress
<IfModule mod_rewrite.c>      ← ここからが変更した部分
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin              
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]        ← ここまでが変更した部分

</IfModule>
# END WordPress

(3) サイトの追加

wp-config.phpと.htaccessを修正したら、一度ログアウトしてログインし直す。
下図のように参加サイトに「サイトネットワーク管理者」が追加されているので、ダッシュボードをクリックする。

ここで、先に停止したプラグインを有効化して、メニューのサイトにマウスのポインターを移動すると、下図のように新規追加がに現れるので、これをクリックする。



現れた画面で下図のように、追加ブログのパス名、タイトル、メールアドレスを入れてサイトの追加を行う。

wp08.png


(4) サイト追加後の運用

複数サイト運用に移行すると、個別のブログで行う作業と、「サイトネットワーク管理者」のみ可能な作業がある。テーマの編集、プラグインの追加と有効化/無効化等は「サイトネットワーク管理者」でのみ可能な作業である。


« Previous | Next »