顯示具有 lsmod 標籤的文章。 顯示所有文章
顯示具有 lsmod 標籤的文章。 顯示所有文章

2009年6月3日 星期三

WiFi / Wireless USB Network Card Edimax EW-7318UG on Arch Linux

1. identify the card

check /var/log/message when you plug your card into usb slot
you'll see

kernel: wmaster0 (rt73usb): not using net_device_ops yet
kernel: wlan0 (rt73usb): not using net_device_ops yet
kernel: Registered led device: rt73usb-phy0:radio
kernel: Registered led device: rt73usb-phy0:assoc
kernel: Registered led device: rt73usb-phy0:quality
kernel: usbcore: registered new interface driver rt73usb
kernel: usbcore: registered new interface driver rt2500usb

or lsusb command
or check your card if is linux supported
https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported

2. you can see the interface from iwconfig command

3. bring the interface up

ifconfig wlan0 up
--

SIOCSIFFLAGS: No such file or directory

that means you need a firmware file. below is the error log appearing in /var/log/message at the same time

kernel: rt73usb 1-4:1.0: firmware: requesting rt73.bin
firmware.sh[19027]: Cannot find firmware file 'rt73

4. install the corresponding firmware packages

pacman -S rt2x00-rt71w-fw ( or rt2x00-rt61-fw )

5. in order to install package from http://repo.arch-linux.pl/, add the following setting to /etc/pacman.conf

[archlinux.pl]
Server = ftp://repo.arch-linux.pl/i686

6. install the package, RaLink RT73 USB Enhanced Drivers

pacman -Sy rt73-k2wrlz
--

Drivers installed, but not loaded. To enable it: 'rmmod rt73usb && modprobe rt73

7. to avoid conflict between modules, block the modules which would be loaded automatically
these module was observed from lsmod command

vi /etc/modprobe.d/blacklist
--

blacklist rt2500usb
blacklist rt73usb
blacklist rt2x00usb
blacklist rt2x00lib

8. add rt73 to MODULES in /etc/rc.conf then reboot

9. iwconfig

rausb0 RT73 WLAN ESSID:""
Mode:Ad-Hoc Frequency=2.412 GHz Cell: XX:XX:XX:XX:XX:XX
Bit Rate=11 Mb/s
RTS thr:off Fragment thr:off
Link Quality=65/100 Signal level:-54 dBm Noise level:-143 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

10. ifconfig rausb0 up

11. scan for available access points for testing

iwlist rausb0 scan

12. usage of iwconfig

iwconfig rausb0 essid "SSID" key 1234567890

if your wep key is ascii, prefix with s:

iwconfig rausb0 essid "SSID" key s:asciikey

13. automatical setup while booting

vi /etc/rc.conf
--

..
wlan_rausb0="rausb0 essid SSID mode Ad-Hoc key 1234567890"
rausb0="rausb0 XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX"
INTERFACES=(eth0 rausb0)
..

2008年1月17日 星期四

Enable Analog TV Card with Remote Control to Watch TV on Ubuntu

linux kernel has saa7134 module built-in. All you need is to load it.

1. create a module setting file for booting use

sudo vi /etc/modprobe.d/saa7134

# This setting is for LifeView FlyTV Prime 3X / FlyVIDEO3000
# you can find correct values from http://gentoo-wiki.com/HARDWARE_saa7134
options saa7134 card=2 tuner=50

2. in order to load saa7134 while booting, add the name of module into /etc/modules

sudo vi /etc/modules

saa7134

3. reboot to enable the above settings

# some useful commands for module
modprobe <name> # load module manually
lsmod # list all modules have been loaded
rmmod <name> # remove module manually

4. install tv software

sudo apt-get install tvtime

5. start tvtime from Application -> Sound & Video -> tvtime

6. control TV with arrow keys
↑ +channel
↓ -ch
→ +volume
← -vol

7. check if IR Receiver has been found

dmesg | grep IR

--
input: saa7134 IR (LifeView FlyVIDEO30 as /devices/pci0000:00/0000:00:1e.0/0000:01:00.0/input/input4

8. figure out what number of event is registered

cat /proc/bus/input/devices

--
I: Bus=0001 Vendor=5168 Product=0138 Version=0001
N: Name="saa7134 IR (LifeView FlyVIDEO30"
P: Phys=pci-0000:01:00.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:1e.0/0000:01:00.0/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=100003
B: KEY=c0304 390000 0 0 0 0 0 0 c0000002 1e0000 0 0 10000ffc

9. install and configure lirc

sudo apt-get install lirc

--
choose Linux input layer (/dev/input/eventX) as remote
choose None as IR transmitter which is able to both send and receive
choose /dev/input/eventX as custom event interface

9. make sure lirc is running

sudo ps -ef | grep lirc

if not, start it

sudo /etc/init.d/lirc start

10. use irw command to check if the device does work

irw

--
# press any button on your remote control
0000000000010175 00 MODE linux-input-layer
0000000000010189 00 VIDEO linux-input-layer
0000000000010188 00 AUDIO linux-input-layer
.
.

11. then begin to record your own definition, follow the instructions on screen

sudo irrecord -H devinput -d /dev/input/event4 /etc/lirc/lircd.conf

--
# Please make this file available to others
# by sending it to
#
# this config file was automatically generated
# using lirc-0.8.3(devinput) on Mon Nov 10 00:57:50 2008
#
# contributed by Luke
#
# brand: LifeView
# model no. of remote control: FlyVIDEO30
# devices being controlled by this remote: FlyTV Prime 3X Series
#

begin remote

name FlyVIDEO30
bits 16
eps 30
aeps 100

one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 207867
toggle_bit_mask 0x80010006

begin codes
Air/CATV 0x0175
Video 0x0189
Audio 0x0188
Power 0x0074
AV_Source 0x0182
FullScreen 0x0174
Stereo 0x0170
Mute 0x0071
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
7 0x0008
8 0x0009
9 0x000A
0 0x000B
Recall 0x0081
Enter 0x001C
VOL+ 0x0073
VOL- 0x0072
CH+ 0x0192
CH- 0x0193
end codes

end remote



reload the new lircd.conf

sudo /etc/init.d/lirc reload

12. make .lircrc for tvtime-command execution

vi .lircrc

--
# This is an example config file for your LIRC remote. All buttons
# depend on what you have configured in your lircd.conf file. Please
# refer to this and adjust the labels below accordingly.
#
# tvtime is controlled through a separate program called tvtime-command.
# For a list of commands, see 'man tvtime-command'. Key events can
# be 'faked' using the command KEY_EVENT, which allows for mapping a
# single remote control button to both a menu mode command and a normal
# mode command.
#
# begin
# prog = irexec
# button = DISPLAY
# config = tvtime-command DISPLAY_INFO
# end


# This section includes two configs, what this does is that it allows
# you to open tvtime and close tvtime with one button. If your remote
# has seperate buttons for this, then you can break it apart.
begin
prog = irexec
button = POWER
config = tvtime &
config = tvtime-command QUIT
end


# The following defines most of the common buttons found on a remote and
# what commads they would map to inside tvtime.
begin
prog = irexec
button = Air/CATV
config = tvtime-command DISPLAY_INFO
repeat = 1
end
begin
prog = irexec
button = Video
config = tvtime-command SHOW_MENU
end
begin
prog = irexec
button = AV_Source
config = tvtime-command TOGGLE_INPUT
end
begin
prog = irexec
button = FullScreen
config = tvtime-command TOGGLE_FULLSCREEN
end

begin
prog = irexec
button = Audio
config = tvtime-command TOGGLE_AUDIO_MODE
end
begin
prog = irexec
button = Stereo
config = tvtime-command SET_AUDIO_MODE stereo
config = tvtime-command SET_AUDIO_MODE mono
end
begin
prog = irexec
button = Mute
config = tvtime-command TOGGLE_MUTE
end

# Menu navigation.
begin
prog = irexec
button = CH+
config = tvtime-command UP
repeat = 1
end
begin
prog = irexec
button = CH-
config = tvtime-command DOWN
repeat = 1
end
begin
prog = irexec
button = VOL+
config = tvtime-command RIGHT
repeat = 2
end
begin
prog = irexec
button = VOL-
config = tvtime-command LEFT
repeat = 2
end

begin
prog = irexec
button = Recall
config = tvtime-command CHANNEL_JUMP
repeat = 1
end

begin
prog = irexec
button = 1
config = tvtime-command CHANNEL_1
end
begin
prog = irexec
button = 2
config = tvtime-command CHANNEL_2
end
begin
prog = irexec
button = 3
config = tvtime-command CHANNEL_3
end
begin
prog = irexec
button = 4
config = tvtime-command CHANNEL_4
end
begin
prog = irexec
button = 5
config = tvtime-command CHANNEL_5
end
begin
prog = irexec
button = 6
config = tvtime-command CHANNEL_6
end
begin
prog = irexec
button = 7
config = tvtime-command CHANNEL_7
end
begin
prog = irexec
button = 8
config = tvtime-command CHANNEL_8
end
begin
prog = irexec
button = 9
config = tvtime-command CHANNEL_9
end
begin
prog = irexec
button = 0
config = tvtime-command CHANNEL_0
end
begin
prog = irexec
button = Enter
config = tvtime-command ENTER
end

commands support by tvtime-command, see http://tvtime.sourceforge.net/usage.html#tvtimecommand

13. irexec should be started before running tvtime, tvtime is signalled from lirc using this helper application. if we need it start after gnome login, go to

System -> Preference -> Sessions
Startup Programs -> Add
Name: irexec
Command: /usr/bin/irexec -d
Comment:

Save