Фиксим Intel EXPI9301 в MAC OS X

Как оно было
Как известно, набортовый AttansicL1 и расширение к нему AttansicL1eEthernet.kext не умеют VLAN’ы, да и работают весьма угрюмо. Долго искал что поставить, в итоге остановился на Intel EXPI9301. Как показывает практика, девайс вполне себе сносный, если не считать пары грабель. И так, изрядно порывшись в интернете, я нарыл кучу решений на тему приручения сабжа.
Перепробовал всё, начиная от инжекторов, заканчивая странными бандлами, но в итоге остановил свой выбор на AppleIntelE1000e.kext который в итоге проработал у меня несколько лет. Но вот не задача, при определённой нагрузке, на какинтоше падал весь сетевой стек и ни в какую не хотел подниматься. Таковая нагрузка появилась когда я превратил этот пылесос из рабочей станции в сервер и он стал лопатить торренты сутками.
Происходило всё достаточно банально. Был сервер — пропал сервер. Без какой либо зависимости и системности, просто MathRandom() какой-то! Порой всё было отлично месяц, а иногда по пять раз в час падало. Понять в чём проблема было просто не реально! Информативность яблочного сапорта походила порой на сапорт мелкомягких… Чтение логов, шаманские бубны, кельтские песнопения и всяческие мантры… Чего я только не перепробовал. Помогало только одно классическое решение — «Семь бед — один reset!». История однажды изрядно утомила и я начал целенаправленно искать решение.

Решение

Как выяснилось, после долгих поисков не понять чего в сети, штатный IONetworkingFamily.kext умеет Intel 82574L из коробки (на этом контроллере собран сабж), но наши злобные боевые гомосеки добрые друзья из Купертино с какого-то перепугу его выкусили из системы. Но для нас это ведь не беда,так? В штатном конфиге, явно не хватало ID искомого железа, для чего я опять полез на просторы всезнающего. Покопав буржуйские форумы нашел что искал. И так, наши действия:

1. Идём в /System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins/Intel82574L.kext/Contents/info.plist.

2. Ищем там строки:

1
2
3
4
5
6
<key>IOClass</key>
<string>Intel82574L</string>
<key>IOPCIPrimaryMatch</key>
<string>0x104b8086 0x10f68086</string>
<key>IOPCISecondaryMatch</key>
<string>0x00008086 0x00000000</string>

3. Меняем на следующие:

1
2
3
4
<key>IOClass</key>
<string>Intel82574L</string>
<key>IOPCIMatch</key>
<string>0x156f8086 0x15708086 0x153a8086 0x153b8086 0x15598086 0x155a8086 0x15a08086 0x15a18086 0x15a28086 0x15a38086 0x10968086 0x10988086 0x10ba8086 0x10bb8086 0x10cc8086 0x10cd8086 0x10ce8086 0x10de8086 0x10df8086 0x15258086 0x15018086 0x10498086 0x104a8086 0x104b8086 0x104c8086 0x104d8086 0x10c48086 0x10c58086 0x10bd8086 0x10bf8086 0x10c08086 0x10c28086 0x10c38086 0x10cb8086 0x10e58086 0x10f58086 0x294c8086 0x105e8086 0x105f8086 0x10608086 0x10a48086 0x10a58086 0x10bc8086 0x10d58086 0x10d98086 0x10da8086 0x107d8086 0x107e8086 0x107f8086 0x10b98086 0x108b8086 0x108c8086 0x109a8086 0x10d38086 0x10ea8086 0x10eb8086 0x10ef8086 0x10f08086 0x15028086 0x15038086 0x150c8086</string>

4. Сохраняем.

5. Забываем о проблемах.

Вывод

Синяя изолента решает!

botinki
Синяя изолента решает!

Фиксим Intel EXPI9301 в MAC OS X: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.