トップ «前の日記(2015-01-30(Fri)) 最新 次の日記(2015-02-02(Mon))» 編集

屑俺日記

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


2015-02-01(Sun) 晴れてる。急がねば

kldunload

35時間くらい経ったが、まだ make buildworldは終わらない。

有線LANはPCに繋げてntpなどさせていたが、PC側は何度も接続を 切っている。しばらく放置するとue0は眠ってしまうらしく、 通信ができなくなった。

$ ifconfig -a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
        inet 127.0.0.1 netmask 0xff000000 
        groups: lo 
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE>
        ether XX:XX:XX:XX:XX:XX
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
 
$ kldstat
Id Refs Address    Size     Name
 1   10 0xc0100000 691cc4   kernel
 2    1 0xc1b4c000 b000     fdescfs.ko
 3    1 0xc2347000 f000     if_axe.ko
 
$ sudo kldunload if_axe
ukphy0: detached
axe0: <vendor 0x0b95 product 0x772b, rev 2.00/0.01, addr 2>\
 on usbus0- 
miibus0: <MII bus> on axe0
ukphy0: <Generic IEEE 802.3u media interface> PHY 16 on miibus0
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX,\
 auto, auto-flow
ue0: <USB Ethernet> on axe0
ue0: Ethernet address: XX:XX:XX:XX:XX:XX
ue0: link state changed to DOWN
ue0: link state changed to UP

で接続が生き返り、dhcpでアドレスを取得して 通信が復活した。

同じソースでも

環境によって実行結果が違うことも。
書き方がいんちきなことが最大の敗因と思えたが。

#include<stdio.h>
int  main() {
  unsigned char uc;
  char ac;
  for(uc=0; uc<255; uc++){
    ac = uc;
    printf("un:%3d sn:%3d\n", uc,ac);
  }
  return 0;
}

gcc -Wall はもちろん、cc --Weverything でも何も警告はなかった。
でも実行すると、RaspberryPIのFreeBSD 11-CURRENTとamd64のUbuntu-14.04で違っていた。
以下、FreeBSD。全部は長いので一部だけ。

[$USER@freebsd-pi ~/]$ ./hoge | sed -n '1,3p; 127,131p; 253,$p'
un:  0 sn:  0
un:  1 sn:  1
un:  2 sn:  2
un:126 sn:126
un:127 sn:127
un:128 sn:128
un:129 sn:129
un:130 sn:130
un:252 sn:252
un:253 sn:253
un:254 sn:254

次いでamd64のUbuntu。

$ ./hoge | sed -n '1,3p; 127,131p; 253,$p'
un:  0 sn:  0
un:  1 sn:  1
un:  2 sn:  2
un:126 sn:126
un:127 sn:127
un:128 sn:-128
un:129 sn:-127
un:130 sn:-126
un:252 sn: -4
un:253 sn: -3
un:254 sn: -2

ちなみにRaspberryPiのLFSもRaspbianも、 FreeBSDに同じであった。
PC上のFreeBSDでも確認せねば。


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

index.htmlは ここから。