2024年9月17日火曜日

Raspberry pi OS 12 (bookworm) で wifi Power Management:on になってる

 Raspberry pi OS 12 (bookworm) のinstall 確認用に、中古のRaspberry Pi Zero W Rev 1.1 を入手して、インストールメディア作成して

power on 起動になかなか時間がかかる、リモートでやっと繋がったと思うとすぐ無反応になる

これは、大昔に経験した事象だったかなと思い、

iwconfig コマンド打つと、Power Management:on だと、

しょうがないので、NetworkManager とか訳のわからんものは使ってないので、潔く、/etc/network/interface に wireless-power off を追加する

再起動で、普通にリモート接続出来るようになりました

Pi Zero Wって標準では、wifiしかないんですがね。不思議なことに 1B plus はドングルのwifiはPower Management:offだったけどね


2024年9月14日土曜日

Raspberry pi OS 12 (bookworm) で NetworkManager を使用しない

Raspberry Pi OS が bookworm の場合は、NetworkManager が標準ですが、

Redhat系で、過去に使いにくさを経験してたので、

古来からの(?) /etc/network/interfaces  の設定に変更しました

1. interfacesファイルの作成

# cat interfaces

#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

#iface default inet dhcp

allow-hotplug wlan0

auto wlan0

#iface wlan0 inet dhcp

iface wlan0 inet static

        address 192.168.xxx.yyy

        netmask 255.255.255.0

        gateway 192.168.xxx.yyy

wpa-ssid "xxxx"

wpa-psk "ppppp"

dns-nameservers 192.168.xxx.yyy

iface wlan1 inet static

        address 192.168.xxx.yyy

        netmask 255.255.255.0

        gateway 192.168.xxx.yy

wpa-ssid "xxxxx"

wpa-psk "ppppp"

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

        address 192.168.xxx.yyy

        netmask 255.255.255.0

        gateway 192.168.xxx.yy

dns-nameservers 192.168.xxx.yy

2. NetworkManagerの無効化及び停止

   sudo systemctl disable NetworkManager

   sudo systemctl stop NetworkManager

3. resolv.confの手動設定

 # cat resolv.conf

   # Generated by NetworkManager

    nameserver 192.168.xxx.yy

4. reboot

  以上


2024年1月6日土曜日

久々にネジザウルス使う 感動

 ThinkCentre M75q-1 Tiny の

WiFi 5 モジュール(intel Wireless-AC 9260)を交換(ダウングレード)しようとして

見た目ちょっとやばそうな螺子だなと思ったんだが他で実績のあるドライバーで

回すと、どんどんなめていく。。

おまけに、余計なアンテナ端子ガードが付いてて、ネジザウルス使うのに邪魔

そのガードをやっと外して、

さら螺子だったけどネジザウルスでするすると廻った

のに感動です!!







2023年11月30日木曜日

Wifi Card Replacement Lenovo Thinkpad L390 from AC-9560 to Wi-Fi 6E AX210 OK!!

Thinkpad L390ですが、

 ネットで調べても、

CNVi対応の無線LANカードモジュールしか使えないとの情報はあるんですが、

非CNViカード(Eキーだけ、Aキーなし)が使えたとの情報がありませんね。


試してみました。

何の問題も無く使えましたね。

AX対応のルーターに接続出来ました。

リンク速度: 1201(Mbps)     でした。

2023年3月6日月曜日

Sockets not releasing for Pico_W

 https://github.com/micropython/micropython/issues/10812

の方と同様の現象発生で、昨日悩まされてました。

You need to close the waiting (bound on port 80) socket, otherwise you won't be able to make a new one on the same port.

しょうがないので、とりあえず、bind(addr)を正常終了までリトライするコード

に変えてみました。

以下、コード例

....

# Open socket

addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]

s = socket.socket()

##s.bind(addr)

bs="addr"

ec=0

while bs!=None:

  try:

    bs=s.bind(addr)

  except OSError:

    ec=ec+1

    print("EADDRINUSE?? " + str(ec))

  utime.sleep(1)

  print('s.bind(addr) rt ', bs)

s.listen(1)

print('listening on', addr)

....

とりあえず、

最悪でも、2分以内に、bind出来た。。


2023年2月22日水曜日

micro:bit V1 でちょっと遊ぶ

 昨年の暮れぐらいからマイコンの整理を始めてました。結局Arduino系は、ブートローダーの最新化で、殆ど動いたので(20台位)、結局塵は減らない。
ごく最近、箱の中で眠っていたmicro:bit V1 を発見!!  
Micropython を最新化してちょっと遊んでみました。今更面白いと思うのはボケて来たせい?!
入時(2017年らしい)は、ちょっと触って、うーん(!?)でお蔵入りでした。
今回、
micro:bit用エッジコネクタピッチ変換基板 など入手して、ちょっと遊んでみました。
(note pc 用の小さいスピーカーを付けられるように)

[サンプルコード]

from microbit import *
import speech
from math import floor
i2c.init(freq=100000, sda=pin20, scl=pin19)
#i2c.scan()
def temp_get():
  o=i2c.read(0x48, 2)
  point=floor(int(o[1]) / 23)
  #print("%s.%s" % (o[0], point))
  temp=("%s.%s") % (o[0], point)
  print (temp)
  return temp
while True:
    temp=temp_get()
    display.show(Image.HEART)
    sleep(1000)
#    display.scroll('Hello')
    display.scroll(temp)
#    speech.say("Konnithiwa")
    speech.say(temp)

LM75温度センサから値を取得して、マトリックスLEDでスクロール
と読み上げ
但し、LM75からの値取得が正しいのか否かは不明です。


2022年12月13日火曜日

Raspberry Pi 3A+ buster 2 bullseye upgrade

 Raspberry Pi 3A+  のOS bullseye(11)に上げました。

いまのところ殆ど問題ないですね。意外!?

[before]

# uname -a

Linux raspi3ap 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux

root@raspi3ap:~# pip3 list

Package                          Version

-------------------------------- -------

Adafruit-Blinka                  3.4.1

adafruit-circuitpython-busdevice 4.1.1

adafruit-circuitpython-ht16k33   2.8.0

Adafruit-GPIO                    1.0.3

Adafruit-PlatformDetect          1.4.4

Adafruit-PureIO                  1.0.4

Adafruit-SSD1306                 1.6.2

..# ps axg|grep python3

 1300 ?        S      0:00 python3 /home/pi/bin/p3-led0-G22.py

 1301 ?        S      0:00 python3 /home/pi/bin/stats3-p3.py

 1302 ?        Sl     0:00 python3 /home/pi/bin/p3-pwm_fan_ctrl321.py

 1303 ?        S      0:00 python3 /home/pi/bin/p3-tm1637_ab_time_temp.py

/etc/apt/sources.list を書き替え.buster を bullseye に

#apt update

#apt full-upgrade


[after]

# uname -a

Linux raspi3ap 5.15.76-v7+ #1597 SMP Fri Nov 4 12:13:17 GMT 2022 armv7l GNU/Linux

# cat /etc/os-release

PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"

NAME="Raspbian GNU/Linux"

VERSION_ID="11"



# pip3 install Adafruit-Blinka

# pip3 install adafruit-circuitpython-ht16k33

# pip3 install Adafruit-SSD1306

root@raspi3ap:/home/shin/bin# pip3 list

Package                          Version

-------------------------------- ---------

Adafruit-Blinka                  8.9.0

adafruit-circuitpython-busdevice 5.2.3

adafruit-circuitpython-ht16k33   4.6.1

adafruit-circuitpython-requests  1.12.11

adafruit-circuitpython-typing    1.8.3

Adafruit-GPIO                    1.0.3

Adafruit-PlatformDetect          3.37.0

Adafruit-PureIO                  1.1.9

Adafruit-SSD1306                 1.6.2




-----------------------

root@raspi3ap:~# ps axg|grep python

 1095 ?        S      0:00 python3 /home/pi/bin/p3-led0-G22.py

 1096 ?        S      0:00 python3 /home/pi/bin/stats3-p3.py

 1097 ?        Sl     0:00 python3 /home/pi/bin/p3-pwm_fan_ctrl321.py

 1098 ?        S      0:00 python3 /home/pi/bin/p3-tm1637_ab_time_temp.py

-------------------------

スクロールが速すぎるので(ライブラリの性能アップ?!)、timeを挿入が必要になった

root@raspi3ap:/home/pi/bin# tail ./matrix16x8_xx24_heike_scroll.py

max_addr=len(i2c_address)

for i in range(0, max_addr):

  image_listx.append( horizontal_multi_scroll(matrixx[0], new_image, max_addr, i))

max_images = len(image_listx[0])

while True:

    for i in range(0, max_images):

         for j, m in enumerate(matrixx, 0):

            m.image(image_listx[j][i])

         time.sleep(0.10)            #### <====これを追加する!!!