まつざきの技術メモ

エンジニアの私的な技術メモです。


1件のコメント

ubuntuでLUA3-U2-AGTを使う

Mac mini上で稼働させているubuntu10.10 serverのpgpool-IIを pacemakerで冗長化させる為に、NICがあと2つ必要になった。
けど、Mac miniはUSBタイプのNICじゃないと物理的に無理。

色々探してみるとBuffaloのLUA3-U2-AGTってやつだとドライバの追加なしで使えそうだったため、2つ購入。

結論から言うと、カーネルに標準で入っているドライバだと認識はちゃんと出来てIPアドレスも設定出来たけど、
pingさえ通らない状態。。。
メーカーサイトから最新のドライバをインストールしたらちゃんと動いた。

まずはベンダIDなどを確認してみる。

% lsusb
Bus 001 Device 003: ID 0411:006e MelCo., Inc.

ベンダIDは04111。プロダクトIDは006e。MelCo製と認識されている。

lsusbコマンドでNICのチップがわからなかったので、/var/log/messagesを確認すると、

eth1: register 'asix' at usb-0000:00:04.1-1, ASIX AX88178 USB 2.0 Ethernet, 00:24:a5:68:5f:52

asixのax88178というやつみたい。

ググると以下のサイトがヒット。Linux用のドライバ発見!
http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=84;71;100&PLine=71

2011/03/15にリリースされたv4.1.0が「For Android 1.x/2.x/3.0, Linux kernel 2.6.14 and later」となっている。

早速インストールしてみる。

% cd /usr/local/src
% sudo wget http://www.asix.com.tw/FrootAttach/driver/AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source.tar.bz2
% sudo tar xvfj AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source.tar.bz2
% cd AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source/
% sudo modprobe -r asix
% sudo make
% sudo make install
% sudo modprobe asix
% sudo reboot

とやってみたけど、ダメ。。。なんで!?

どうやらソースのベンダID、プロダクトID、チップIDあたりの定義を追加しないとダメみたい。

% sudo cp -ip asix.c asix.c.org
% sudo vim asix.c
% sudo modprobe -r asix
% sudo make clean
% sudo make
% sudo make install
% sudo modprobe asix
% sudo reboot

これでOK。
asix.cの修正箇所は、

% diff asix.c asix.c.org
3375,3378d3374
<       // Buffalo LUA3-U2-AGT
<       USB_DEVICE (0x0411, 0x006e),
<       .driver_info =  (unsigned long) &ax88178_info,
< }, {

です。
0x04111がベンダID。0x006eがプロダクトID。チップがax88178。

補足として、モジュール関連のコマンド。

・ロードされているモジュールの一覧を表示する

% lsmod

・モジュールの情報を参照する

% modinfo モジュール名

・モジュールをロードする

% modprobe モジュール名

・モジュールをアンロードする

% modprobe -r モジュール名
広告


コメントする

ubuntuでハードウェア情報確認

lshwコマンドで全ハードウェアの情報が見られます。

Mac mini(Mid 2010)にubuntu10.10 serverをインストールして使ってます。
Macmini4,1 = Mac mini(Mid 2010)です。
メモリは8GBにしてUSBのNIC(Buffalo LUA3-U2-AGT)を2つ付けてます。

% sudo lshw -short
H/W path       Device      Class       Description
==================================================
                           system      Macmini4,1
/0                         bus         Mac-F2208EC8
/0/0                       processor   Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz
/0/0/2                     memory      32KiB L1 cache
/0/1                       memory      32KiB L1 cache
/0/3                       processor   CPU
/0/3/5                     memory      32KiB L1 cache
/0/4                       memory      32KiB L1 cache
/0/6                       memory      8GiB System Memory
/0/6/0                     memory      4GiB SODIMM Synchronous 1067 MHz (0.9 ns)
/0/6/1                     memory      4GiB SODIMM Synchronous 1067 MHz (0.9 ns)
/0/e                       memory      1MiB BIOS
/0/100                     bridge      MCP89 HOST Bridge
/0/100/0.1                 memory      RAM memory
/0/100/1                   memory      RAM memory
/0/100/1.1                 memory      RAM memory
/0/100/1.2                 memory      RAM memory
/0/100/1.3                 memory      RAM memory
/0/100/2                   memory      RAM memory
/0/100/2.1                 memory      RAM memory
/0/100/3                   bridge      MCP89 LPC Bridge
/0/100/3.1                 memory      RAM memory
/0/100/3.2                 bus         MCP89 SMBus
/0/100/3.3                 memory      RAM memory
/0/100/3.4                 processor   MCP89 Co-Processor
/0/100/4                   bus         MCP89 OHCI USB 1.1 Controller
/0/100/4.1                 bus         MCP89 EHCI USB 2.0 Controller
/0/100/6                   bus         MCP89 OHCI USB 1.1 Controller
/0/100/6.1                 bus         MCP89 EHCI USB 2.0 Controller
/0/100/8                   multimedia  MCP89 High Definition Audio
/0/100/a       scsi0       storage     MCP89 SATA Controller
/0/100/a/0     /dev/sda    disk        320GB TOSHIBA MK3255GS
/0/100/a/0/1               volume      200MiB EFI GPT partition
/0/100/a/0/2   /dev/sda2   volume      46GiB Darwin/OS X HFS+ partition
/0/100/a/0/3   /dev/sda3   volume      9536MiB Linux swap volume
/0/100/a/0/4   /dev/sda4   volume      242GiB EXT4 volume
/0/100/a/1     /dev/cdrom  disk        DVDRW  GA32N
/0/100/b                   memory      RAM memory
/0/100/e                   bridge      nVidia Corporation
/0/100/e/0                 bridge      XIO2213A/B/XIO2221 PCI Express to PCI Bridge
/0/100/e/0/0               bus         XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller
/0/100/15                  bridge      nVidia Corporation
/0/100/15/0                network     BCM43224 802.11a/b/g/n
/0/100/16                  bridge      nVidia Corporation
/0/100/16/0    eth0        network     NetXtreme BCM57765 Gigabit Ethernet PCIe
/0/100/16/0.1              generic     Broadcom Corporation
/0/100/17                  bridge      MCP89 PCI Express Bridge
/0/100/17/0                display     nVidia Corporation
/1             eth1        network     Ethernet interface
/2             eth2        network     Ethernet interface


コメントする

Macアドレスがわからなくなったら

通常はifconfigで確認できますね。

けど、この設定ファイルで間違った設定をするとifconfigでも確認できない状態になってしまいます。

/etc/sysconfig/network-scripts/ifcfg-eth?

※?の部分は0から始まる連番

そんな時はこのファイルの中身をHWADDRというキーワードで検索。
kudzuデーモンが自動認識するデバイス情報が記述されてます。

/etc/sysconfig/hwconf

※内容を自分で編集してはいけません。


コメントする

fstabの書式

CentOS5.5はLABELでブロックデバイスを指定するが、Scientific6.0やUbuntu10.10ではUUIDで指定する。
LABELやUUIDで指定すると、ブロックデバイス名(/dev/sda1など)が変わっても大丈夫。

・CentOS5.5の設定例

LABEL=/                                    /      ext3    defaults           1  1
LABEL=/boot                                /boot  ext3    defaults           1  2
LABEL=SWAP-sda3                            swap   swap    defaults           0  0

・Scientific6.0の設定例

UUID=cbbb0b7a-8f78-4b5f-ad29-92733706a3ed  /      ext4    defaults           1  1
UUID=d14caeaa-1a7f-4f96-a53c-5ca31bc4a37e  /boot  ext4    defaults           1  2
UUID=46caf2b3-b1c5-4b02-a7db-28c42d833f3c  swap   swap    defaults           0  0

・Ubuntu10.10の設定例

UUID=e38ad538-c914-42be-a6a2-1df84b07cf61  /      ext4    errors=remount-ro  0  1
UUID=3dcfb423-75ef-4ec7-a485-d97129255ac0  none   swap    sw                 0  0
第1項目 マウントするブロックデバイスやLABELやUUID
第2項目 マウントポイント
第3項目 ファイルシステムの種類
第4項目 マウントオプション
第5項目 ファイルシステムをdumpするかどうか
第6項目 システム起動時にfsckチェックを行うかどうか

「0」の場合はチェックを行わない。
ルートファイルシステムでチェックを行う場合は「1」を指定する。
ルートファイルシステム以外でチェックを行う場合は「2」を指定する。

・LABELやUUIDからブロックデバイスを確認する方法

$ findfs LABEL=LABEL

$ findfs UUID=UUID

$ ls -l /dev/disk/by-uuid
lrwxrwxrwx 1 root root 10  4月  6 05:00 9348df96-61d6-4b6f-8350-be16bea9deac -> ../../sda1
lrwxrwxrwx 1 root root 10  4月  6 05:00 c83badfe-5ff9-490e-a839-98e5772502d9 -> ../../sda2

・ブロックデバイスからLABELやUUID確認する方法

# e2label ブロックデバイス

# tune2fs -l ブロックデバイス | grep UUID

# blkid ブロックデバイス
/dev/sda1: LABEL="/boot" UUID="9348df96-61d6-4b6f-8350-be16bea9deac" SEC_TYPE="ext2" TYPE="ext3"

・UUIDを生成する方法

$ uuidgen

・LABELやUUID設定する方法

# tune2fs ブロックデバイス -U UUID
# tune2fs ブロックデバイス -L LABEL

swapにLABELを設定する場合は、一度swapoff してからmkswapでLABELを付け直す。

swapoff ブロックデバイス
mkswap -L LABEL ブロックデバイス
swapon ブロックデバイス

今後はLABELじゃなくてUUIDで指定するのが主流になると思われる。


コメントする

Macの便利なツール

Mac Fanの2011年4月号にMacの便利なツール特集が載ってたので、
いくつかインストール。

  • FinderPop
    右クリックメニュー強化
  • AppCleaner
    アプリアンインストール
  • Right Zoom for Mac
    拡大ボタンの動きをカスタマイズ
  • SupaView
    ファイルのコピーや移動を簡単に
  • KisMAC
    Wifiアクセスポイント情報取得


コメントする

ファイルの列挙

普段の開発ではJavaしかやってませんが、
インフラ担当としてサーバメンテもやってるので、サーバのバッチとかはRuby(1.9.2)で書いてます。
始めたばっかりですけど、Rubyも良いですね♪

・再帰的に処理したくない場合
※パスの最後に”/*”が必要なので注意!

Dir.glob("/tmp/*") do |f|
  next if File.directory?(f) # ディレクトリはスキップ
  puts f
end

再帰的に処理したい場合

require "find"

Find.find("/tmp") do |f|
  next if File.directory?(f) # ディレクトリはスキップ
  puts f
end


コメントする

Linuxのネットワーク設定ファイル

ネットワーク設定ファイル全体としてはこれ以外にもいっぱいあるけど、
ホスト名やIPアドレスなどを変更する時に編集するファイルはこれだけ。

  • RHEL
    1. /etc/hosts
    2. /etc/sysconfig/network
    3. /etc/sysconfig/network-scripts/ifcfg-*
    4. /etc/resolv.conf
  • Ubuntu
    1. /etc/hosts
    2. /etc/hostname
    3. /etc/networks
    4. /etc/network/interfaces
    5. /etc/resolv.conf