先日、MacでDante Virtual Soundcard(DVS)を使おうとして、盛大にハマりました。
半日つぶして、結局原因が「2つの組み合わせ」だったというオチなんですが、同じ症状で困ってる人が絶対いると思うので書いておきます。
症状はこんな感じでした
セットアップ自体は普通にやったんです。でも起動してみると……

- DVSが「非同期」のまま
- Dante Controllerを開くと クロックステータス が「リスニング(赤)」
- 同じネットワークにあるWindowsマシンは同期できている
これが一番困る。Windowsが動くなら、ネットワーク自体は問題ない。じゃあなんでMacだけ死んでるんだ、という状態です。
最初に試したこと(全部ハズレ)
「Dante Mac 同期しない」で検索しながら、よく言われる対処を一通り試しました。
- ファイアウォール OFF
- Wi-Fi OFF
- サンプリングレートを合わせる
- クロックマスターの設定を変える
- MTU を 1500 に固定
- リンク速度を 1Gbps に固定
全部ダメでした。
このへんで「もしかして根本的に何か違うところが原因か?」と思い始めて、ちゃんと調べ直すことにしました。
原因は2つの組み合わせだった
① USB LANアダプタのドライバ問題
MacにはLANポートがないので、USB-LANアダプタを使っていました。使っていたのは1Gbps対応のRealtek系アダプタです。
macOSで確認すると、ドライバが com.apple.DriverKit.AppleUserECM になっていました。
このECMというのが問題で、旧来の方式で処理が遅く、パケットにジッターが発生します。Danteはクロック同期にかなりシビアなので、これだけで同期が崩れることがあるようです。
② スイッチのIGMPスヌーピング設定(これが本丸)
使っていたスイッチは BUFFALO の BS-GS2008P です。工場出荷状態では IGMP Snooping は OFF です。ただし BS-GS2008P の Dante 設定マニュアルでは ON が推奨されているので、マニュアル通りに ON にしていました。
DanteはPTP(Precision Time Protocol)というマルチキャスト通信でクロックを同期しています。でもIGMP Snoopingが有効だと、スイッチが「このMacはこのマルチキャストグループに参加してない」と判断して、PTPパケットを届けなくなる。
つまり、Macがいくら「同期したい」と思っていても、そのための信号がそもそも届いていなかった、ということです。
実際に直った手順
STEP 1:まずIGMP SnoopingをOFFにして確認

スイッチの管理画面でIGMP SnoopingをOFFにしてみると、すぐに Dante Controller の表示が「Sync(緑)」に変わりました。

原因がこれだと確認できたので、次のステップへ。
STEP 2:正しい設定に戻す
IGMP SnoopingをOFFのままにしておくのはあまりよくないので、マニュアル通りに設定し直しました。
- IGMP Snooping:ON
- IGMP Querier:ON
- クエリアIPアドレス:スイッチ自身のIP(例:192.168.1.254)
この時点では動作を確認できました。ただ、後述しますが再起動するとまた同期しない問題が出てきます。
なぜQuerierが必要なのか
最初「QuerierをONにするってどういうこと?」と思ったので、ざっくり説明しておきます。
IGMP Snoopingは「誰がこのマルチキャストを必要としているか」をスイッチが学習する仕組みです。でも学習するためには、スイッチが定期的に「このマルチキャスト、欲しい人いますか?」と問い合わせる必要があります。それがQuerierの役割です。
- Querierなし:スイッチが誰もいないと判断 → パケットを止める
- Querierあり:スイッチが問い合わせ → Macが「欲しいです」と応答 → 正常転送
QuerierなしでIGMP SnoopingをONにしていると、こういう落とし穴にはまります。
しかし再起動するとまた同期しない
IGMP Snooping ON + Querier ON の設定で一度は動いたものの、翌日また使おうとしたら同期できなくなっていました。
試しにIGMP SnoopingをOFFにすると、すぐに緑に戻る。ONに戻すと赤になる……という繰り返し。
どうやら Mac + DVS の組み合わせだと、IGMP Snooping が有効な状態では毎回うまくいかないようです。毎回OFFにしてから起動するのも現実的じゃないので、もう少し調べてみました。
根本解決:静的ルーターポートの設定
BS-GS2008P の管理画面を掘っていくと、こんな設定項目がありました。
詳細設定 → IGMP → 静的ルーターポート

ここで VLAN:1、ポート:5(Macをつないでいるポート番号)を指定してみたところ、再起動後も安定して同期するようになりました。
仕組みとしては、スイッチに「このポートには常にマルチキャストを流してくれ」と固定で伝える設定です。Mac側のIGMP参加が遅かったり、タイミングがずれても関係なく、起動直後からPTPパケットが届くようになります。
毎回OFFにして回避していた手間が、これで完全になくなりました。
まとめ:対策のポイント
スイッチ側
- IGMP Snooping:ON(初期値OFFなので要変更)
- IGMP Querier:ON(これが必須)
- クエリアIPを設定する
- 静的ルーターポート:Macをつないでいるポートを指定(再起動後も同期が安定する)
Mac側
- Wi-Fi をOFF
- ファイアウォールをOFF
USB LANアダプタの選び方
ドライバの種類が重要です。
- NG:RTL8153 など、ECMドライバが当たるもの
- OK:RTL8156B など、NCMドライバが使えるもの(例:Belkin INC012btBK)
2.5GbEのアダプタはNCMドライバになることが多く、パケット処理が安定しているようです。
同じ症状が出ている方へ
もし
- Dante Controller で「Listening(赤)」が出ている
- Windowsは問題なく動く
- Macだけ同期しない
という状況なら、まずスイッチのIGMP設定を疑ってみてください。ファイアウォールやサンプリングレートより先に確認する価値があります。
それでもダメなら、USB LANアダプタのドライバを確認してみてください。意外とここが原因なことがあります。



コメント