2026年7月20日月曜日

古いカーナビ(CN-LR710D)とPixel 10aがハンズフリー接続できなかったので対策

 以下のようにAVRCP 1.3を選択することでPixel 10aでハンズフリー接続ができた。

  • 開発者向けオプションの有効化
    • 「設定」>「デバイス情報」の順にタップする。
    • 画面最下部にある「ビルド番号」を7回連続でタップ。
  • AVRCPバージョンの変更
    • 「設定」>「システム」>「開発者向けオプション」を開く。
    • ネットワークの「Bluetooth」にある「Bluetooth AVRCP バージョン」をタップする。
    • リストからAVRCP 1.3を選択する。
  • 2025年8月28日木曜日

    富士通のサーバーに外付GPUをつけてみたら使えてしまった

    PRIMERGY TX1320 M2を手に入れました。

    Debian GNU/Linux 13を入れて不都合なく使えています。

    CPUもXeonだしリモート管理できるし普通のPCよりいいんですが、GPUがないためAIがらみで遊ぼうとすると辛いものがあります。

    で、外付けGPUというものを作れるそうなので中古のグラボを外付けしてみました。

    用意したのは以下の通り。

    肝はDEG1の底の蓋を開けてディップスイッチを設定すること。

    • DEBUG -> A
    • FLLOW START -> OFF
    • TGX -> OFF
    この設定にしないとGPUを全く認識しないかTX1320 M2が起動時にフリーズします。

    Debianの場合は公式パッケージからNVIDIAのドライバを入れれば普通に動きました。




    2025年5月26日月曜日

    Debian GNU/Linux + GNOMEデバイスでd Wi-Fi / au Wi-Fiに接続する

    d Wi-Fiとau Wi-Fiの2台目以降デバイスとしてDebian GNU/Linux + GNOMEを入れたSurface GO(初代)で接続に成功したので設定を記録。

    802.11x認証なので面倒なWeb認証が不要で勝手に繋いでくれます。

    事前準備
    接続設定
    • いちいち現地に行くのは面倒なのでGNOMEの設定画面で「非表示 Wi-Fi ネットワークに接続する」を使用。
    d Wi-Fi

    au Wi-Fi(SSID: au_Wi-Fi2)

    au Wi-Fi(SSID: w2eap)
    SSID以外の設定はau_Wi-Fi2と同じです。

     詳細設定

    2025年4月20日日曜日

    サポートが終わってしまう初代 Surface GOにDebian GNU/Linuxをインストールしてみる

    Surface GOのWindowsサポートが終わってしまうのでDebian GNU/Linuxを入れてみました。
    趣味でデスクトップはMATEにしてましたがGNOMEに変えました。

    いるもの。

    USB Type CのUSBハブ
    16GB程度のUSBメモリ2個
    USBキーボード
    USBマウス

    RufusなどでUSBメモリを下記のisoイメージで起動可能にする。


    あと、無線LANやBluetoothのドライバを動作させるためのファームウェアをダウンロードしておき、FAT32とかでフォーマットしておいたもう一つのUSBに展開しておく。


    (インストール)

    ファームウェアを要求されたら読み込むようにする。

    インストール完了したらUSBメモリをすべて抜き、USBマウスとキーボードを挿した状態にする。

    (以下インストール後の作業)

    apt-get update

    apt-get install curl

    echo deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main | sudo tee /etc/apt/sources.list.d/google-chrome.list

    apt-get install google-chrome-stable

    apt-get install blueman

    # Tangoアイコンが好き
    apt-get install tango-icon-theme

    # L2TPでVPNやりたいから
    apt-get install network-manager-l2tp-gnome

    # VPN越しにリモートデスクトップやりたいから
    apt-get install remmina

    --- 以下はMATEの場合 --
    apt-get install xinput

    apt-get install onboard

    スクリーンセーバーでonboardを使えるようにする

    gsettings set org.mate.screensaver embedded-keyboard-enabled 'true'
    gsettings set org.mate.screensaver embedded-keyboard-command 'onboard -e'

    /etc/lightdm/lightdm-gtk-greeter.conf でonboardを呼び出す設定を作成
    keyboard=/usr/bin/onboard

    /opt に rotate-screen.sh という名前で以下のシェルスクリプトを作る

    #!/bin/bash
    rotation=$(xrandr -q --verbose | grep eDP | egrep -o "(normal|right)" | head -1)
    if [ "$rotation" = "normal" ] ; then
        xrandr -o right
        xinput set-prop 'ELAN9038:00 04F3:261A touch' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
    else
        xrandr -o normal
        xinput set-prop 'ELAN9038:00 04F3:261A touch' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
    fi

    作ったシェルスクリプトに実行権限をつける

    chmod a+x /opt/rotate-screen.sh

    MATEが起動したときに必ずrotate-screen.shを起動するように設定。
    mate-session-propertiesを起動して/opt/rotate-screen.sh を登録する。
    これをしておかないと起動したときに画面とタッチがずれて困るときがある。

    デスクトップに以下の内容のファイル(rotate.desktop)を置く。
    このアイコンをダブルクリックすれば画面が90度回転する。

    [Desktop Entry]
    Type=Application
    Terminal=true
    Name=rotate-screen
    Exec=/opt/rotate-screen.sh
    StartupNotify=false


    2025年4月16日水曜日

    原因不明だがWindows 10やWindows 11がUDPでブロードキャストしまくる件の暫定対応

    組み込み系機器(Wi-Fi APなど)がネットワークに繋がらなくなったりフリーズしたりする症状が発生したのでWiresharkで覗いたところ、Windows 11マシンがやたら22222ポートと10004ポート、3289ポート宛にUDPでブロードキャストしていた。
    Windows 10では起きていない感じだが詳細不明。

    とりあえず発生しているマシンで以下のプログラムを管理者権限で動かしてもらい上記ブロードキャストを強制的に発信しないようにしてもらった。

    下記のプログラムをコンパイルするにはVisual Studio 2022にて「コンソールアプリ(.NET Framework)Visual Basic」でプロジェクトを作ってCOMのNetFwTypeLibを参照する必要があります。

    Imports NetFwTypeLib
    
    Module Module1
    
        'Private Const NET_FW_IP_PROTOCOL_ICMPv4 = 1
        'Private Const NET_FW_IP_PROTOCOL_TCP = 6
        Private Const NET_FW_IP_PROTOCOL_UDP = 17
        Private Const NET_FW_ACTION_BLOCK = 0
        'Private Const NET_FW_ACTION_ALLOW = 1
        'Private Const NET_FW_RULE_DIR_IN = 1
        Private Const NET_FW_RULE_DIR_OUT = 2
        'Private Const NET_FW_PROFILE2_DOMAIN = 1
        'Private Const NET_FW_PROFILE2_PRIVATE = 2
        'Private Const NET_FW_PROFILE2_PUBLIC = 4
        Private Const NET_FW_PROFILE2_ALL = &H7FFFFFFF
    
        Public Sub BlockUDP(ByVal RuleName As String, ByVal RuleDescription As String, ByVal RulePort As Long)
    
            Dim fwPolicy2 As Object = CreateObject("HNetCfg.FwPolicy2")
            Dim NewRule As Object = CreateObject("HNetCfg.FWRule")
            Dim RulesObject As Object = fwPolicy2.Rules
    
            NewRule.Name = RuleName
            NewRule.Description = RuleDescription
            NewRule.Protocol = NET_FW_IP_PROTOCOL_UDP
            NewRule.Direction = NET_FW_RULE_DIR_OUT
            NewRule.RemotePorts = RulePort
            NewRule.Grouping = "@firewallapi.dll,-23255"
            NewRule.Profiles = NET_FW_PROFILE2_ALL
            NewRule.Enabled = True
            NewRule.Action = NET_FW_ACTION_BLOCK
    
            Try
                RulesObject.Add(NewRule)
            Catch ex As Exception
                WriteLine(ex.Message & vbNewLine & ex.StackTrace)
            End Try
    
        End Sub
    
        Sub Main()
    
            BlockUDP("Block 22222", "", 22222)
            BlockUDP("Block 10004", "", 10004)
            BlockUDP("Block 3289", "", 3289) 'ADD NEW
            
        End Sub
    
    End Module
    

    2024年10月20日日曜日

    (Windows向け)ARPテーブルが更新されるのを眺めつつ記録するバッチファイル

    MACアドレスが記録されているARPテーブルを10秒おきに確認するバッチファイルです。 IPアドレスが重複しているかもしれないような場合に役に立つかも? (バッチファイルなので文字コードはShift-JIS(メモ帳ならANSI)で保存することをお忘れなく)
    @echo off
    cls
    rem ------------------------------------------------------------
    rem ARPテーブル変化補足用バッチファイル
    rem ------------------------------------------------------------
    rem ARPテーブルの変化をログに記録します。
    
    cd /d %dp~0
    
    title ARPテーブル変化確認
    
    rem 初回エラー対策
    echo\ > "PAST.TMP"
    
    rem メインループ
    :LOOP
    rem 日付日時取得
    set TODAY=%DATE:~-10%
    set LOG=%TODAY:/=%.LOG
    
    
    echo %DATE:~-10% %TIME: =0% ARPテーブルの変化を確認中...
    echo\
    
    rem ARPテーブル記録
    arp -a | findstr 動的 >> "CURRENT.TMP"
    
    rem 比較実施
    echo %DATE:~-10% %TIME: =0% >> %LOG%
    fc "PAST.TMP" "CURRENT.TMP"
    fc "PAST.TMP" "CURRENT.TMP" >> %LOG%
    
    rem 後処理
    del "PAST.TMP"
    ren "CURRENT.TMP" "PAST.TMP"
    
    rem 10秒待つ
    timeout /T 10 /NOBREAK > NUL
    
    goto LOOP
    
    

    2024年7月30日火曜日

    Sylpheed for Windows 3.7用ダークテーマ/ダークモード

    https://www5b.biglobe.ne.jp/~kzfmsp/sylpheed/sylpheed-3.7-win32-darktheme.zip

    一部変な表示があるけどキニシナイ!!

    もう15年ぐらい使ってるんだっけSylpheed。

    2023年6月1日木曜日

    Debian 11.7 + MATEにてDropboxを使う

    かんたんに設定できた。

    1. 「# apt-get install caja-dropbox」を実行してインストール。
    2. 「$ caja-dropbox」を実行してアカウント等の設定を実行。
    3. 「$ caja-dropbox autostart」を実行してMATEログイン時に自動開始するように設定。 

    2023年5月23日火曜日

    Debian 11.7(bullseye)にKindle for PCをインストールする手順


    Wineはバージョン8がKindle for PCに未対応のためあえて7系列をインストールする必要があるとのこと。

    参考にしたサイト: https://qiita.com/nanbuwks/items/e075d939b00e341111d3


    WineHQのパッケージ利用設定

    i386アーキテクチャを追加する

    # dpkg --add-architecture i386
    

    キーリング設定

    # mkdir -pm755 /etc/apt/keyrings 
    # wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
    

    パッケージ取得先追加

    # wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources
    # apt-get update
    

    用意されているバージョン7系列を確認する

    # apt policy winehq-stable
    (2023/05/19時点では7.0.2が利用可能)
    

    実際にWineをインストール

    # export WINEVERSION=7.0.2~bullseye-1
    # apt-get install winehq-stable=$WINEVERSION wine-stable=$WINEVERSION wine-stable-amd64=$WINEVERSION wine-stable-i386=$WINEVERSION
    # apt-mark hold winehq-stable
    

    フォント等の補助ソフトウェアのインストール

    WineTricksで必要ソフトウェアの導入

    # apt-get install winetricks
    $ winetricks --self-update
    $ winetricks -q cjkfonts vcrun2013
    

    Kindleのインストール

    $ wine KindleForPC-installer-1.40..65535.exe


    2022年7月19日火曜日

    VMware Workstatonで仮想マシンが動いていたらホストをシャットダウンしないshutdown.exeのラッパー

    毎日3:00にVMwareホストを再起動するようにしているが、仮想マシンを起動しっぱなしにしている場合にホストをシャットダウンしたくないのでshutdown.exeのラッパーをVB.netで作った。

    Module VMwareShutdownChecker
    
        Sub Main()
            Dim cmds As String() = System.Environment.GetCommandLineArgs
            Dim cmdargs As String = String.Empty
    
            If System.Environment.GetCommandLineArgs().Count = 1 Then
                End
            End If
    
            For i = 1 To System.Environment.GetCommandLineArgs().Count - 1
                cmdargs = cmdargs & " " & cmds(i).ToString
            Next
    
    
            Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
            Dim shutdownflag As Boolean = True
    
            For Each p As System.Diagnostics.Process In ps
                Try
                    If InStr(p.ProcessName.ToUpper, "VMWARE-VMX") > 0 Then
                        shutdownflag = False
                        Exit For
                    End If
                Catch ex As Exception
                    shutdownflag = False
                    Exit For
                End Try
            Next
    
    
            If shutdownflag = True Then
                Dim psi As New System.Diagnostics.ProcessStartInfo()
    
                psi.FileName = "shutdown.exe"
                psi.Arguments = cmdargs
    
                System.Diagnostics.Process.Start(psi)
            End If
    
        End Sub
    
    End Module
    

    コマンドラインオプションはそのままshutdown.exeにわたすので同じものを設定する。

    2022年4月10日日曜日

    リモート(RDP・UltraVNC)ランチャー「RemoteStarter」

     小物プログラムを作ってみました。

    Windows付属のリモートデスクトップ(RDP)クライアントmstsc.exeと、
    UltraVNCのクライアントvncviewer.exeを起動するだけのソフトです。

    おまけでPingテストもつけてみました。

    ダウンロードは右クリックして「名前を付けてリンク先のファイルを保存」を使用してください。
    通信がHTTPなのでChromeでは警告が表示されます。
    下段に表示されるダウンロード一覧から継続を選択することでダウンロードできます。




    本来はUltraVNCのインストールが必要ですが、RemoteStarter.exeと同じフォルダにvncviewer.exeとvnchooks.dllを置くとそれを使えるようにしています。(多分うごく程度)

    お約束ですがこのソフトウェアを使った結果に関しては無保証ということで。( ´∀`)

    2020年12月10日木曜日

    ESET Internet Securityを入れている環境でDropboxがエラーで同期できなくなる

    「 セキュリティで保護されたインターネット接続を確立できません」エラーが出て同期出来ない場合は以下のように設定する。

    プロトコルフィルタリングの例外に登録してやると動作するようになる。

    2019年10月28日月曜日

    typist

    需要があるかはともかく一応設置。 http://www5b.biglobe.ne.jp/~kzfmsp/typist/

    2019年1月5日土曜日

    Bookey touch取扱説明書メモ

    自分用に貼る。







    2018年2月25日日曜日

    DotRasを使ってL2TP VPNをWindowsで簡単に設定するような小物プログラム

    L2TP(PSK使用)のVPNを構築したけどWindowsの標準インターフェースだとクライアント側の接続設定が面倒なので簡単に設定できるようなプログラムをVB .netでやってみた。
    ライブラリはDotRasを使用しています。

    開発環境はWindows 10 Pro 64bit + Visual Studio 2017 Communityです。

    CodePlexは更新が終わっているのでdownload archiveでダウンロードした上で下記の順番で「6dda3a2b-7ea1-487b-ad75-34d3183bc10c」というファイルを解凍するとDotRas v1.3 SDK.msiを抽出できます。(自分は7-Zipを使いました)
    • releases\
    • 4\
    • 6dda3a2b-7ea1-487b-ad75-34d3183bc10c

    Imports System.Text
    Imports System
    Imports System.Net
    Imports DotRas
    
    Public Class Form1
    
        Private Sub WriteSysRegDWORD(ByVal RegistoryKey As String, ByVal RegistoryComponent As String, ByVal RegistoryValue As Integer)
    
            'DWORDでシステムレジストリ書き込み
            Dim regkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(RegistoryKey)
    
            Try
                regkey.SetValue(RegistoryComponent, RegistoryValue)
                regkey.Close()
            Catch
                MsgBox(Reflection.MethodBase.GetCurrentMethod.Name & ":レジストリ操作に失敗しました。")
            End Try
    
        End Sub
    
        Private Sub CreateVPNEntry()
    
            Dim l2tp_user As String
            Dim l2tp_pass As String
    
            Do While True
                l2tp_user = InputBox("ユーザー名を入力してください。")
                If l2tp_user = "" Then
                    MsgBox("ユーザー名は必須項目です。")
                    Exit Do
                End If
    
                l2tp_pass = InputBox("パスワードを入力してください。")
                If l2tp_pass = "" Then
                    MsgBox("パスワードは必須項目です。")
                    Exit Do
                End If
    
    
                Try
                    RasPhoneBook1.Open()
    
                    'エントリが登録済みだった場合は削除する
                    '(消さないとCreateVpnEntryに失敗する)
                    If RasPhoneBook1.Entries.Contains("MyVPNConnection") = True Then
                        RasPhoneBook1.Entries.Clear()
                    End If
    
                    'VPNのエントリ作成
                    Dim entry As RasEntry = RasEntry.CreateVpnEntry(
                        "MyVPNConnection",
                        "123.456.789.012",
                        RasVpnStrategy.L2tpOnly,
                        RasDevice.GetDeviceByName("(L2TP)", RasDeviceType.Vpn, False)
                        )
    
                    With entry
                        '切断するまでの待ち時間(秒)
                        .IdleDisconnectSeconds = 600
    
                        '接続再試行回数
                        .RedialCount = 5
    
                        '接続再試行間隔(秒)
                        .RedialPause = 60
    
                        'LCP拡張を使う
                        '(ヤマハルーターは無効にしたほうが良い)
                        .Options.DisableLcpExtensions = False
    
                        'ソフトウェア圧縮を使用するかどうか
                        .Options.SoftwareCompression = True
    
                        '暗号化が必要
                        .EncryptionType = RasEncryptionType.Require
                        .Options.RequireEncryptedPassword = True
                        .Options.RequireDataEncryption = True
    
                        'マルチリンクの無効化
                        '特に使っていないので無効化する
                        .Options.DoNotNegotiateMultilink = False
    
                        '認証プロトコル設定する
                        .Options.RequireChap = True
                        .Options.RequireEap = False
                        .Options.RequirePap = False
                        .Options.RequireMSChap = False
                        .Options.RequireMSChap2 = False
                        .Options.RequireMSEncryptedPassword = False
                        .Options.RequireSpap = False
                        .Options.RequireWin95MSChap = False
    
                        '自動再接続を有効にする
                        .Options.ReconnectIfDropped = True
    
                        '事前共有鍵を使用する
                        .Options.UsePreSharedKey = True
    
                        'VPN先のゲートウェイをデフォルトゲートウェイとして使用しないようにする
                        '(VPN用ネットワークが閉域な場合、有効にするとVPN接続中にほかのサイトにつながらなくなる)
                        .Options.RemoteDefaultGateway = False
    
                        '資格情報を保存する
                        .Options.CacheCredentials = True
    
                        'VPNのエントリを登録する
                        RasPhoneBook1.Entries.Add(entry)
    
                        '登録したVPNエントリに対して事前共有鍵を登録する
                        .UpdateCredentials(RasPreSharedKey.Client, "pre_shared_key")
    
                        '登録したVPNエントリに対してユーザー名とパスワードを登録する
                        .UpdateCredentials(New NetworkCredential(l2tp_user, l2tp_pass))
    
                    End With
    
                    Button1.Enabled = False
    
                    MsgBox("登録が完了しました。")
    
                Catch
    
                    MsgBox("登録に失敗しました。")
    
                End Try
    
                Exit Do
            Loop
    
        End Sub
    
        Private Sub AddRegEntry()
    
            'IPSec NAT-Tを有効にするレジストリ設定(要再起動)
            'Windowsではデフォルトで無効になっているため
            WriteSysRegDWORD("SYSTEM\CurrentControlSet\Services\PolicyAgent", "AssumeUDPEncapsulationContextOnSendRule", 2)
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            'VPNの接続作成
            CreateVPNEntry()
    
            'レジストリの設定
            AddRegEntry()
    
        End Sub
    
    End Class
    

    2016年2月13日土曜日

    Debianを入れたSheevaPlugでBOINCを稼働する

    あなたの押し入れにDebianを入れたSheevaPlugが寝ていませんか?(´・ω・`)
    SheevaPlugでもboinc-clientパッケージを入れれば以下のBOINCプロジェクトに参加することができます。
    1. Collatz Conjecture
    2. Enigma@Home
    3. yoyo@Home
    4. Radioactive@Home
    稼働しても静かですし試してみてはいかがでしょう( ´∀`)

    以下はメモ。

    1. boinccmd --project_attach [プロジェクトURL] [アカウントキー]
    2. boinccmd --project [プロジェクトURL] update
    3. boinccmd --get_state

    2016年1月26日火曜日

    Debian GNU/Linux 8.3のBOINCでSSL/TLSを使用するプロジェクトと通信できなくなる件について


    Debian GNU/Linux 8.3にアップデートしてからBOINCでWorld Community GridとEinstein@Homeのデータが受信できなくなった。

    • プロジェクトを追加しようとしても"Please try again later"と表示される。
    • すでに追加されている場合は"Peer certificate cannot be authenticated with given CA certificates"と表示されWUがダウンロードできない。

    BOINC界隈では以前にもこの手の問題があったらしく、原因はOpenSSLパッケージの証明書らしい。

    http://qiita.com/rltm/items/9198a847f8c6e740e54a

    2016年1月5日火曜日

    柴犬と遊ぶ

    今年で13歳になるのにツヤツヤで濃い茶色のしばわんこ。 長生きしてね。

    2015年10月5日月曜日

    Xperia pro(MK16i)を買いました

    Docomo系のSIM(BIGLOBEのデータ専用SIM)でテザリングするためにSIMフリーのXperia proをヤフオクで落札しました。
    (ドコモ端末だとテザリングできないらしいのでSIMフリー端末を買いました)

    qwertyキーボードが付いてるのも買った大きな理由の一つ。物理LOVE!!
    (IS11Tは動作にau系SIMが必要だけどmineo3G端末はサポートしてないのでIS11Tは使えない)

    購入後やったのは以下の通り。

    1. flashtoolでのICS MK16i 4.1.B.0.431(Android 4.0.4)へのアップデート
    2. eroot_v1.3.4でのroot化
    3. CWM使用によるXposed Installerのインストール
    4. Data SIM Patcherのインストール
    5. LINK2SDLINK2SD plusの導入
    6. SD-Boostrの導入
    7. モトヤフォントの導入

    これで無事テザリング専用端末が出来上がりました。(∩´∀`)∩ワーイ