トップ 最新 追記

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2015-04-02(Thu) 雨が上がって晴れ。冬は去った、のか

無線を優先に

Raspbianで、有線LANから自動でIPを貰わず、無線だけ接続するようにする。
これまでの設定では、有線と無線を接続すると、無線が無効になってしまった。

auto lo
iface lo inet loopback
#iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

若干試行錯誤したが、一行を無効にするだけでよかった。
この状態で、sudo dhclient eth0 やっても大丈夫。
default gatewayも変わらない(resolv.confは変わるが)。


2015-04-03(Fri) くもって雨

USB3.0+Giga Part II

LAN-GTJU3。1900円だった。
以下、Ubuntu14.04。

$ diff before after
937a938,948
> [16247.248204] usb 1-4: new high-speed USB device number 3 \
 using ehci-pci
> [16247.386713] usb 1-4: New USB device found, idVendor=0b95,\
 idProduct=1790
> [16247.386720] usb 1-4: New USB device strings: Mfr=1, \
 Product=2, SerialNumber=3
> [16247.386723] usb 1-4: Product: AX88179
> [16247.386727] usb 1-4: Manufacturer: ASIX Elec. Corp.
> [16247.386730] usb 1-4: SerialNumber: XXXXXXXXXXXXXX
> [16248.278933] ax88179_178a 1-4:1.0 eth1: register \
 'ax88179_178a' at usb-0000:00:04.1-4, ASIX AX88179 USB 3.0 \
 Gigabit Ethernet, YY:YY:YY:YY:YY:YY
> [16248.278974] usbcore: registered new interface driver \
 ax88179_178a
> [16248.496306] systemd-udevd[9154]: renamed network \
 interface eth1 to eth5
> [16249.178079] IPv6: ADDRCONF(NETDEV_UP): eth5: link is not ready
> [16249.178718] IPv6: ADDRCONF(NETDEV_UP): eth5: link is not ready

Raspbian でも使える。
無理かとは思ったが、 前に買ったGIGAと一緒にRasPI Bで 認識することができた。
がんがん流しても動くかは未確認。


2015-04-05(Sun) 降ったり曇ったり

USB to シリアル変換ケーブル

変換チップを埋め込んだケーブル。 片端がUSBで、他方が4本のピンに分かれている。
共立で995円。
袋には、seeedstudio 359313001とか、かすれ気味に 印刷してあった。
Ubuntu14.04であっさり。

$ diff before after
1070a1071,1077
> [ 2439.350616] usb 3-1: new full-speed USB device number 3 using xhci_hcd
> [ 2439.386973] usb 3-1: New USB device found, idVendor=067b, idProduct=2303
> [ 2439.386985] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [ 2439.386991] usb 3-1: Product: USB-Serial Controller
> [ 2439.386996] usb 3-1: Manufacturer: Prolific Technology Inc.
> [ 2439.390016] pl2303 3-1:1.0: pl2303 converter detected
> [ 2439.418347] usb 3-1: pl2303 converter now attached to ttyUSB0

取説がなく、4本足のどれがどこに接続されるのか 分からず適当に検索。
千石電商のページによると、

赤: +5V
黒: GND
緑: TxD
白: RxD

適当なPIに繋いでみたが、通信はなぜかできなかった。
何か設定が必要なのかも。


2015-04-06(Mon) ときどき小雨らしい

とあるRaspbian

$ uname -a
Linux $HOST 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 \
 armv6l GNU/Linux
 
$ ls -l /lib/modules/
合計 64
drwxr-xr-x 3 root root 4096 10月 13 23:52 3.12.29+
drwxr-xr-x 3 root root 4096 10月 20 14:49 3.12.30+
drwxr-xr-x 3 root root 4096 11月 21 08:48 3.12.32+
drwxr-xr-x 3 root root 4096 11月 28 22:05 3.12.33+
drwxr-xr-x 3 root root 4096 12月 20 02:22 3.12.34+
drwxr-xr-x 3 root root 4096  3月 27 09:32 3.18.10+
drwxr-xr-x 3 root root 4096  3月 27 09:33 3.18.10-v7+
drwxr-xr-x 3 root root 4096  1月 25 22:19 3.18.3+
drwxr-xr-x 3 root root 4096  2月  8 05:48 3.18.6+
drwxr-xr-x 3 root root 4096  2月  8 05:48 3.18.6-v7+
drwxr-xr-x 3 root root 4096  3月 31 11:29 3.18.7+
drwxr-xr-x 3 root root 4096  3月 31 11:29 3.18.7-v7+
drwxr-xr-x 3 root root 4096  3月  5 09:56 3.18.8+
drwxr-xr-x 3 root root 4096  3月  5 09:56 3.18.8-v7+
drwxr-xr-x 3 root root 4096  3月 18 22:48 3.18.9+
drwxr-xr-x 3 root root 4096  3月 18 22:48 3.18.9-v7+

必ずしも最新バージョンが動いてる訳でもなく。ということか。
ついでに今rpi-update すると、3.18.10+になった。


2015-04-07(Tue) ぽつりぽつりと

いちごじゃむ

IchigoJam

動作させるまで、少しかかった。

一昨昨日のイベントに持ってゆくつもりで、その前日夕方に キットを共立で購入し、その日のうちになんとか組み立て終えた。

でも、動作しなかった。
起動時メッセージはAV信号のモニタに表示されるが、 キーボード入力にぜんぜん反応しなかった。HHK2を含め、手元にある PS/2キーボード3,4台どれもだめ。

イベントに持ってゆくのは諦めて試行錯誤。
自分のはんだ付けを疑い、何度かやりなおす。
汚くなっただけであった。

電圧計を当てて( Twitter )みたりもした。GNDとRxD を短絡させると、画面に変な文字が出ることもあった。
GNDとRESETを一瞬接続させると、リセットできた。

いろいろな テレビや( Twitter) キーボード( Twitter) に接続して、ようやく わかった( Twitter)。 HHK2の延長ケーブルが祟ったようだ。延長ケーブルなし なら正常動作する。
ちなみに延長ケーブルはPCでは問題なく使える。

さて、これからソフト。BASICインタープリタと 本気で向かい合うのは実は初めてだったり。


2015-04-10(Fri) 雨が降って寒く

いちごジャムその後

fizzbuzz

Twitterの後追い気味だけど。

電流計を繋いでみた。
キーボード無し モニタ無し どちらも無し

あと、 LEDを点滅させながらのFizzBuzzも書いてみた。
このあたりで一旦止まりそうな気配。


2015-04-11(Sat) 昼くらいから晴れてきた

画面表示を切ると

video on/off

fizzbuzzが4倍になった。

IchigoJamのベンチマークをやってみた。
まずVIDEO 0/1で画面表示を切り/切らず、 tick() を実行ループの前後に入れてストップウォッチ代わりにする。
ループ回数は適当に500回。その間はLEDをつけっぱなしにする。
END の前で画面表示を戻す。

画面表示 ON では 1138(18.97秒)、OFFにすると 281(4.68秒)になった。
ちなみに、AVケーブルを抜いても、スピードは変わらない。

LED点灯のコマンドを消しても、ベンチマークの値は変化しなかった。というか 再起動しても全然変わらない。


2015-04-14(Tue) 降ったり降ったり

systemctl

debian jessieで。

$ systemctl status
● $HOSTNAME
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: 火 2015-04-14 13:24:36 JST; 8min ago
   CGroup: /
           ├─1 /sbin/init
           ├─system.slice
           │ ├─avahi-daemon.service
           │ │ ├─384 avahi-daemon: running [$HOSTNAME.local
           │ │ └─391 avahi-daemon: chroot helpe
           │ ├─dbus.service
           │ │ └─385 /usr/bin/dbus-daemon --system \
  --address=systemd: --nofork --nopidfile --systemd-activation
           │ ├─cron.service
           │ │ └─375 /usr/sbin/cron -f
           │ ├─apache2.service
           │ │ ├─515 /usr/sbin/apache2 -k start
           │ │ ├─521 /usr/sbin/apache2 -k start
           │ │ └─522 /usr/sbin/apache2 -k start
           │ ├─atd.service
           │ │ └─376 /usr/sbin/atd -f
           │ ├─systemd-journald.service
           │ │ └─134 /lib/systemd/systemd-journald
           │ ├─ssh.service
           │ │ └─377 /usr/sbin/sshd -D
           │ ├─systemd-logind.service
           │ │ └─380 /lib/systemd/systemd-logind
           │ ├─system-getty.slice
           │ │ └─getty@tty1.service
           │ │   └─427 /sbin/agetty --noclear tty1 linux
           │ ├─systemd-udevd.service
           │ │ └─143 /lib/systemd/systemd-udevd
           │ ├─mysql.service
           │ │ ├─462 /bin/sh /usr/bin/mysqld_safe
           │ │ └─931 /usr/sbin/mysqld --basedir=/usr \
  --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin \
  --user=mysql --log-error=/var/log/mysql/error.log \
  --pid-file=/var/run/mysqld/mysqld.pid \
  --socket=/var/run/mysqld/mysqld.sock --port=3306
           │ ├─rpcbind.service
           │ │ └─351 /sbin/rpcbind -w
           │ ├─system-ifup.slice
           │ │ └─ifup@eth0.service
           │ │   └─459 dhclient -v -pf /run/dhclient.eth0.pid \
  -lf /var/lib/dhcp/dhclient.eth0.leases eth0
           │ ├─rsyslog.service
           │ │ └─402 /usr/sbin/rsyslogd -n
           │ └─acpid.service
           │   └─403 /usr/sbin/acpid
           └─user.slice
             └─user-$UID.slice
               ├─session-1.scope
               │ ├─1082 sshd: $USER [priv]   
               │ ├─1087 sshd: $USER@pts/0    
               │ ├─1088 -bash
               │ └─1104 systemctl status
               └─user@$UID.service
                 ├─1084 /lib/systemd/systemd --user
                 └─1085 (sd-pam) 

やれやれ長いこと。


2015-04-17(Fri) 外は暖かかった、らしい

苺じゃむにシリアルコンソール

USB Serial

だいぶ前に買って、しばらく 放置していた USBシリアルケーブル
TxDとRxDをクロスさせるのがミソだった。赤 と黒(黒は繋がないとノイズ出まくり)はつなぐ必要はなさげ。
しばらく端末を合わせるのに手間取った。
ckermitでは、結局こうなった。

set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set flow xon/xoff
set local-echo on
set terminal newline-mode on
set terminal lf-display crlf

リセットをかけた後から fizzbuzzの 実行まで、こんな感じ。

IchigoJam 0.9.7 by @taisukef
OK
LOAD 0
Loaded 282byte
OK
LIST
10 VIDEO 0
20 LET S,TICK()
30 LED1
40 LET L,500
50 LET R,70
60 LET I,1
70 IF I%15=0 THEN PRINT "FizzBuzz" ELSE IF I%5=0 THEN PRINT 
 "Buzz" ELSE IF I%3=0 THEN PRINT "Fizz" ELSE PRINT I
80 LET I,I+1
90 IF I < = L THEN GOTO R
100 LET E,TICK()
110 PRINT E-S
120 LED0
130 VIDEO1
140 END
OK
RUN

BSキー打鍵で変な(フォントの用意されない) 文字記号が表示される。これは後の課題とする。
あと、 VIDEO 0 にすると速くはなるが、 節電にはならないようだった。画面表示を 切った時だけ一時的に消費電力が下がるが、 すぐ戻って有意差が見られなくなってしまう。 キーボードとAVケーブルを 抜いた時ほどの変化はない。


2015-04-18(Sat) 良い天気だったはず

圧電サウンダ

sounder and serial

キットに入っていたが、今日まで放ったらかしであった。
接続(拡大写真あり)は、"Sound"が表示してあるピン(25番)とGNDをつなぐだけ。

まだプログラムらしいのは書いてない。BEEP命令で、音が出ることを確認しただけ。

.kermrc

kermit -y INITALIZATION_FILE で違う初期設定が可能な模様。

ファームアップデート

電車の中であたふたと 苺ジャムのファームを シリアル経由で上げてみた。

ichigojam-1.0.0-b2.バージョン55 をFacebookからダウンロード、 unzipする。
さっきまでのシリアル接続に加え、ISP-GND間も接続。
スイッチを入れると、LEDが赤く光る。

$ lpc21isp -bin ichigojam-us.bin /dev/ttyUSB0 115200 1200
lpc21isp version 1.94
File ichigojam-us.bin:
	loaded...
	image size : 20364
Image size : 20364
Synchronizing (ESC to abort)................................\
............................................................\
........ no answer on '?'

エラー番号は確認してないが、ともかく止まってしまった。
なんかうまくいってないみたい。
電源を切ってISPのジャンパを外し、 再度起動させても何も変化なかった。
JISキーボード向けでもう一度。

$ lpc21isp -bin ichigojam.bin /dev/ttyUSB0 115200 1200
lpc21isp version 1.94
File ichigojam.bin:
	loaded...
	image size : 20364
Image size : 20364
Synchronizing (ESC to abort)................................\
........................................ OK
Read bootcode version: 1
7
Read part ID: LPC1114.../102, 32 kiB FLASH / 4 kiB SRAM (0x1A40902B)
Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last.
Erasing sector 0 first, to invalidate checksum. OK 
Sector 1: ...........................|.........................|\
.........................|.........................
Sector 2: ...........................|.........................|\
.........................|.........................
Sector 3: ...........................|.........................|\
.........................|.........................
Sector 4: ...........................|.........................|\
.........................|.........................
Sector 0: ..........................|.........................|.\
........................|.........................
Download Finished... taking 4 seconds
Now launching the brand new code

今度はうまくいったようだ。

IchigoJam BASIC 1.0.0 by jig.jp
OK

SAVEしていたプログラムは、消えてなかった。


2015-04-19(Sun) くもり。出るに出られない

アップデートもう一度

ichigojam-us.bin の書き換えは、今度はうまくいった。昨晩と何が違うのか、謎。
-wipe オプションの間違った -yipe で問題なくできてしまった。その後はそれなしでも 3秒ほどで書き換えができた。
-wipe オプションを付け直してみた。

$ time lpc21isp -wipe -bin ichigojam-us.bin /dev/ttyUSB0 115200 1200
lpc21isp version 1.94
File ichigojam-us.bin:
	loaded...
	image size : 20364
Image size : 20364
Synchronizing (ESC to abort)....................................\
.................................... OK
Read bootcode version: 1
7
Read part ID: LPC1114.../102, 32 kiB FLASH / 4 kiB SRAM (0x1A40902B)
Will start programming at Sector 1 if possible, and conclude with\
 Sector 0 to ensure that checksum is written last.
Wiping Device. OK 
Sector 1: ..........................|.........................|\
.........................|.........................
Sector 2: ..........................|.........................|\
.........................|.........................
Sector 3: ..........................|.........................|\
.........................|.........................
Sector 4: ..........................|.........................|\
.........................|.........................
Sector 0: ..........................|.........................|\
.........................|.........................
Download Finished... taking 3 seconds
Now launching the brand new code
 
real	0m38.887s
user	0m0.070s
sys	0m0.339s

fizzbuzzなどのプログラムは全て消えた。


2015-04-20(Mon) 湿ってばかりいる日

どうにかビープ音とFOR NEXT

流石に制御構造が IF と GOTO(行番号だけらしい)ではちょっと。
と考えて 1.0.0-b2にアップデートしていた。

10 for x=10 to 100 step 10
20 beep x,200
30 print x
40 wait 50
50 next
60 beep 0,0
70 end

2015-04-21(Tue) 曇ってたのか、晴れてたのか

PXE Installer wheezy

Debian Wikiを見ながら適当に。
wheezy(i386)のnetboot.tar.gz を貰ってきて/var/lib/tftpboot/debianの下に展開し、 pxebootを設定。ついでに Jessieのamd64も貰って加えた。ちょっとちぐはぐだがいいか。
dhcp とかそのへんは 以前の使い回し。

$ cat /var/lib/tftpboot/pxelinux.cfg/default 
default debian
label debian
	kernel debian/debian-installer/i386/linux
	append initrd=debian/debian-installer/i386/initrd.gz
 
label debian64                                                                  │····
        kernel debian/debian-installer/amd64/linux                              │····
        append initrd=debian/debian-installer/amd64/initrd.gz 

仮想環境でDebianのインストーラが立ち上がることを確認し、 リモートのデバイスでインストール。ネットワークは 適当なタイミングでつなぎ替える。


2015-04-22(Wed) なんとなく晴れてるらしい

lightdm autologin

某タブレットにjessieを入れる。デフォルトでは液晶画面に 何も映らなかったが、Xを入れると見えるようになった。
オートログインについては前に書いていた気もするが、よく覚えてない。
適当に検索して、

$ grep -v "^#\|^$"  /etc/lightdm/lightdm.conf 
[LightDM]
[SeatDefaults]
autologin-user=$USER
autologin-user-timeout=0
[XDMCPServer]
[VNCServer]

firefox.desktop

LXDEで、デスクトップのアイコン。適当にコピペなど。

$ ~/デスクトップ$ cat firefox.desktop 
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=firefox %u
Icon=iceweasel
Terminal=false
Name=Iceweasel
Comment= Firefox Debian
Categories=Application;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;\
application/xml;application/rss+xml;\
application/rdf+xml;image/gif;image/jpeg;image/png;\
x-scheme-handler/http;x-scheme-handler/https;\
x-scheme-handler/ftp;x-scheme-handler/chrome;\
video/webm;application/x-xpinstall;

2015-04-24(Fri) 明日も晴れるように

演算子優先順位

IchigoJamで、 1.0.0-bata4以降は それより前とは違う仕様になるとのこと。

とりあえずは現在の仕様をと。

print 10 + 2 ^ 5
9
OK
print (10 + 2) ^ 5
9
OK
print 10 + (2 ^ 5)
17
OK

2015-04-25(Sat) 上天気の中で一日の騒ぎを終えて

1.0.0-beta4

アップデートは一発でうまくいった。
-wipe は省く。
演算子の優先度が変ってることを確認。

IchigoJam BASIC 1.0.0b4 jig.jp
OK
print 10 + 2 ^ 5
17
OK
print 10 + (2 ^ 5)
17
OK
print (10 + 2) ^ 5
9
OK

2015-04-26(Sun) 晴れてるが、遊んでもいられない

beep と button

動作中にLEDを点灯させ、ボタンを押すとビープ音がなるようにしてみた。
コメントも入れた。

IchigoJam BASIC 1.0.0b4 jig.jp
OK
load 3
Loaded 238byte
OK
list
10 rem file 3
20 rem beep when pressed button
30 video 1
40 let a,40
50 let b,5
60 f=tick()
70 e=800
80 led 1   
90 for i=0 to e
100 rem print i
110 if btn() then beep a,b
120 next
130 led 0
140 print tick() - f
150 video 1
160 end
OK

何もしないでいると388(6.47秒)、ずっと 押し続けていると390(6.50秒)。
video 0 にすると141(2.35秒),同114(同2.4秒)
printがほとんどなくても、動作スピードは三倍近くになった。


2015-04-27(Mon) 天気だけは良かった

RasPIでサイレンを制御してみる

siren

特に大層なことはしていない。
昨日、いつ買ったか忘れた キットを組み立てていた。
USBハブの5Vではやや高すぎる気がしたので、RasPIの3.3Vを頂戴する。
JP1-JP6のどれかを短絡させるとスピーカからサイレンが鳴る (いちどにひとつだけ)。
動作確認などやっているうちに、 ジャンパの短絡は必要でなく、単に適当な直流電圧を IC(UTC 1618L)に近い側に印加しすればいいことに気づいた。
まかり間違えてPiを壊す可能性も考えて、魔改造のAにする。こちらは 適当なGPIOに接続。
あとは動作確認のスクリプト。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from sys import argv
import time
import RPi.GPIO as GPIO
 
port = 17
dulate_sec = 3
GPIO.setmode(GPIO.BCM)
GPIO.setup(port, GPIO.OUT)
 
GPIO.output(port,GPIO.HIGH)
time.sleep(dulate_sec)
GPIO.cleanup()

音を出している間、電流計は50mAほどはねた。
取説にある「動作時電流 平均50mA(電源電圧3V時)」と大体一致している らしい。


2015-04-30(Thu) 今日もいい天気

Wheezy -> Jessie

apacheが2.2から2.4に上がった結果、これまで の設定では動作しなくなった。

$ sudo systemctl restart apache2.service 
Job for apache2.service failed. See \
 'systemctl status apache2.service' and \
 'journalctl -xn' for details.

前者 後者とも分かりにくかったが、 前者の末尾に

Hint: Some lines were ellipsized, use -l to show in full.

とあった。確認した結果、

Apr 30 13:22:25 $HOST apache2[2014]: AH00526: Syntax error \
 on line 10 of /etc/apache2/sites-enabled/000-default.conf: 
Apr 30 13:22:25 $HOST apache2[2014]: Either all Options \
must start with + or - , or no Option may.

で解決。

$ sudo systemctl status apache2.service  
* apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
   Active: active (running) since Thu 2015-04-30 13:35:56 JST; 6min ago
  Process: 1928 ExecStop=/etc/init.d/apache2 stop \
  (code=exited, status=0/SUCCESS)
  Process: 2042 ExecStart=/etc/init.d/apache2 start \
  (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/apache2.service
           |-2056 /usr/sbin/apache2 -k start
           |-2059 /usr/sbin/apache2 -k start
           |-2060 /usr/sbin/apache2 -k start
           `-2061 /usr/sbin/apache2 -k start
 
Apr 30 13:35:55 $HOST apache2[2042]: Starting web server: apache2AH00558:...ge

最後尾が分かりにくいが、"apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message"らしい。

Options ディレクティブの中身全部に +や-が必要になったのはいつからか、 よく分からない。

適当に色々

RasPIでDNGR-G48を操作する スクリプトを上げておいた。
任意のポートを任意時間とか、 ランダム再生とか、 それから、暴走に備えて(結構煩い) 全部停止するスクリプトも。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。