2014年5月29日木曜日

MAC Boot Camp Support Software 5.1.5621 / ビデオドライバー / OpenSim

BootCampが5.1にUPDATEされていましたので、5.0からUPDATEしました。


MacBook Pro (Retina, 13-inch, Late 2013)で、BootCamp 5.0 (Windows 7)の時は、
OpenSimのViewer Firestorm-Beta 4.5.1を使うと起動時に「サポート外のビデオカード・・」とダイアログが出ていました。
無視してログインすると一応画面が出てきますが全体的に金属光沢がかかったような画面になっていました。
また、Windowサイズを変更すると、メニューバーからのプロダウンが透明化されて白文字しか表示されず見づらかったのですが、これが解消されました!


まあ、綺麗な画面で見たいときは、MACで起動してFirestorm-Beta 4.5.1で
動かしていたのですが、これでBootCamp 5.1 (Windows 7)でも綺麗に表示されます。

※ビデオドライバーがUPDATEしたようにも思えないのですが、何がかわったのだろうか?BootCamp 5.1にUPDATEした時にビデオドライバーが再インストールされ治ったのかもしれません。(画面解像度とか初期化されていたので再設定した。)


さくらのVPS「ローカルネットワーク 大阪リージョン」追加

3/13にVPS 大阪リージョンもローカルネットワークが追加されていました。
当方は、大阪リージョンで2台のVPSを借りていますので早速設定しました。
一つは、www.picolix.jpでCentOS release 6.5で、もう一つは、www.sco.jpでWindows 7 Ultimateです。(windowsはISOイメージでインストール)
www.sco.jpからwww.picolix.jpへ画像キャプチャーデータの転送をリアルタイムで行っているのですが従来だとインターネット経由(といっても上位のどこかのスイッチで折り返していると思いますが。)でしたが、これがローカルネットワーク経由(1Gbps ベストエフォート)で転送できるようになります。(すばらしい!)

ということで早速設定することに。
1)管理画面からサーバを再起動すると、ネットワークアダプターが2個増えて全部で3個になります。
※サーバをリブートしても増えず、VPSコントロールパネルから再起動したら増えていました。

2)スイッチ(仮想)を追加します。10個まで無料で追加できます。
3)スイッチにサーバを接続
  それぞれeth1に接続
  ※サーバを停止させていないと接続追加できません。


5)サーバネットワーク設定
 ■www.sco.jp/ Windows 7 Ultimate
   ローカル エリア接続 2 : eth2
   ローカル エリア接続 3  : eth1
   が生成されていますので、ローカル エリア接続 2は使わないので、無効にする。
   ※環境によっては、ローカル エリア接続 2がeth1,ローカル エリア接続 3がeth2に
   なる場合もあります。DOS窓で、ipconfig /allと打ってMACアドレスでどちらに割り当てられたかを事前に調べておきます。


  ローカル エリア接続 3にIPアドレス 192.168.200.10を設定


 ■www.picolix.jp / CentOS release 6.5
  [root@www ~]# ifconfig -a
  で、eth1,eth2が追加されていることが分かります。
  [root@www ~]# cd /etc/sysconfig/network-scripts/
  [root@www network-scripts]#
  [root@www network-scripts]# cp ifcfg-eth0 ifcfg-eth1
  viでifcfg-eth1を編集
  [root@www network-scripts]# cat ifcfg-eth1
  DEVICE="eth1"
  IPADDR="192.168.200.11"
  NETMASK="255.255.255.0"
  ONBOOT="yes"
  TYPE="Ethernet"
  ARPCHECK=no

  ついでに、 ifcfg-eth0にARPCHECK=noを追加
  どういうわけか、ARPCHECK=noを入れないと、eth1をifupした時に、
  eth0が応答しなくなります。
  [root@www network-scripts]# cat ifcfg-eth0
  DEVICE="eth0"
  IPADDR="YY.YYY.YYY.YYY"
  NETMASK="255.255.254.0"
  GATEWAY="XX.XX.XX.XX"
  ONBOOT="yes"
  TYPE="Ethernet"
  ARPCHECK=no

    [root@www network-scripts]# ./ifup eth1
  でeth1有効化
  これで、www.sco.jp 192.168.200.10にアクセスできるようになります。

  [root@www network-scripts]# ping 192.168.200.10
  PING 192.168.200.10 (192.168.200.10) 56(84) bytes of data.
  64 bytes from 192.168.200.10: icmp_seq=1 ttl=128 time=1.74 ms
  64 bytes from 192.168.200.10: icmp_seq=2 ttl=128 time=0.826 ms


 後はwww.sco.jpの自前のアプリで、www.picolix.jpに転送しているところを192.168.200.11
 に書き換えて終わり。


 

2014年5月12日月曜日

OSgrid テレポート先のChannelVersionの取得:(OpenMetaverse libomv-0.9.1)

この記事は自分用です。
最近、OSgridのopensimのバージョンアップ更新頻度が高く、当方所有のSIM (aska) もUPDATEするのも手間です。
Viewer Firestormでテレポートすると、simulatorバージョンが異なると、↓のように
simulatorバージョン(ChannelVersion)の詳細を表示してくれます

この詳細バージョンのデータを何とか、OpenMetaverse libomvのDLLでChannelVersionを取得したく、FireStorm Viewerのソースコードとlibomv-0.9.1のソースコードを少し漁りました。
結局、サーバからAgentMovementCompleteのメッセージが来たときに、目的のデータが入っていました。

とりあえず、、OpenMetaverse libomvのNetworkManager.csに###部を追加して強制的に表示してみた。
これだと汎用性がないので、別途OpenMetaverse.Packetsをcallbackで自アプリの方に実装する予定。


//***NetworkManager.cs
        private void IncomingPacketHandler()
        {
            IncomingPacket incomingPacket = new IncomingPacket();
            Packet packet = null;
            Simulator simulator = null;

            while (connected)
            {
                // Reset packet to null for the check below
                packet = null;

                if (PacketInbox.Dequeue(100, ref incomingPacket))
                {
                    packet = incomingPacket.Packet;

                    simulator = incomingPacket.Simulator;

                    if (packet != null)
                    {
                        // Skip blacklisted packets
                        if (UDPBlacklist.Contains(packet.Type.ToString()))
                        {
                            Logger.Log(String.Format("Discarding Blacklisted packet {0} from {1}",
                                packet.Type, simulator.IPEndPoint), Helpers.LogLevel.Warning);
                            return;
                        }
//#################### 追加
                        if (packet.Type.ToString() == "AgentMovementComplete")
                        {
                            Console.WriteLine("#### Networkmanager.cs ####:..." + packet.Type.ToString());
                            string packetText = PacketDecoder.PacketToString(packet);
                            Console.WriteLine(packetText);
                        }    
//####################
                        // Fire the callback(s), if any
                        PacketEvents.RaiseEvent(packet.Type, packet, simulator);
                    }
                }
            }
        }
====


ChannelVersion: OpenSim 0.8.0 Dev          OSgrid 0.8.0 (Dev) 73891c7: 2014-05-09 (Unix/Mono)
が取得できてます。で、それがどうしたのと言われても特に何もありません・・。


関連:

FireStorm Viewer のビルド & サイズ制限解除(1024mまでok,メッシュも)