Ага, вот оно в чем дело! Поддерживаются не все чипсеты!
Список поддерживаемых
static ErrataListEntry errataList[] = {
{0x1095, 0x0670, 0, 0x0004, kErrataCMDDisableTestMode | kErrataOnlySinglePageTransfers
| kErrataRetryBufferUnderruns}, // CMD 670 & 670a (revs 0-4)
{0x1045, 0xc861, 0, 0x001f, kErrataLSHSOpti},
// Opti 1045
{0x11C1, 0x5801, 0, 0xffff, kErrataDisableOvercurrent | kErrataLucentSuspendResume
| kErrataNeedsWatchdogTimer}, // Lucent USS 302
{0x11C1, 0x5802, 0, 0xffff, kErrataDisableOvercurrent | kErrataLucentSuspendResume
| kErrataNeedsWatchdogTimer}, // Lucent USS 312
{0x106b, 0x0019, 0, 0xffff, kErrataDisableOvercurrent | kErrataNeedsWatchdogTimer},
// Apple KeyLargo - all revs
{0x106b, 0x0019, 0, 0, kErrataLucentSuspendResume },
// Apple KeyLargo - USB Rev 0 only
{0x106b, 0x0026, 0, 0xffff, kErrataDisableOvercurrent | kErrataLucentSuspendResume
| kErrataNeedsWatchdogTimer}, // Apple Pangea, all revs
{0x106b, 0x003f, 0, 0xffff, kErrataDisableOvercurrent | kErrataNeedsWatchdogTimer},
// Apple Intrepid, all revs
{0x1033, 0x0035, 0, 0xffff, kErrataDisableOvercurrent | kErrataNECOHCIIsochWraparound
| kErrataNECIncompleteWrite }, // NEC OHCI
{0x1033, 0x00e0, 0, 0xffff, kErrataDisableOvercurrent | kErrataNECIncompleteWrite},
// NEC EHCI
{0x1131, 0x1561, 0x30, 0x30, kErrataNeedsPortPowerOff },
// Philips, USB 2
{0x11C1, 0x5805, 0x11, 0x11, kErrataAgereEHCIAsyncSched },
// Agere, Async Schedule bug
{0x8086, 0x2658, 0x03, 0x04, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH6 UHCI #1
{0x8086, 0x2659, 0x03, 0x04, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH6 UHCI #2
{0x8086, 0x265A, 0x03, 0x04, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH6 UHCI #3
{0x8086, 0x265B, 0x03, 0x04, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH6 UHCI #4
{0x8086, 0x265C, 0x03, 0x04, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce },
// ICH6 EHCI
{0x8086, 0x2688, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // Southbridge UHCI #1
{0x8086, 0x2689, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // Southbridge UHCI #2
{0x8086, 0x268A, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // Southbridge UHCI #3
{0x8086, 0x268B, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // Southbridge UHCI #4
{0x8086, 0x268C, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce },
// Southbridge EHCI
{0x8086, 0x27C8, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH7 UHCI #1
{0x8086, 0x27C9, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH7 UHCI #2
{0x8086, 0x27CA, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH7 UHCI #3
{0x8086, 0x27CB, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH7 UHCI #4
{0x8086, 0x27CC, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataICH7ISTBuffer
| kErrataNeedsOvercurrentDebounce }, // ICH7 EHCI
{0x8086, 0x2830, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH8 UHCI #1
{0x8086, 0x2831, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH8 UHCI #2
{0x8086, 0x2832, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH8 UHCI #3
{0x8086, 0x2834, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH8 UHCI #4
{0x8086, 0x2835, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH8 UHCI #5
{0x8086, 0x2836, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce },
// ICH8 EHCI #1
{0x8086, 0x283a, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce }
// ICH8 EHCI #2
};
Как видим, nForce вообще отсутствует. Значит будет работать или нет - рулетка.
Сообщайте, пожалуйста, о девайс-айди, не перечисленных здесь!
В предлагаемой ниже версии я поставил флаг controllerCanSleep=true независимо от чипсета. Может кому поможет.
Кстати, в исходниках есть комментарий, что поддержка слипа зависит от IOPCIFamily. Не поленитесь взять мою версию. (в подписи)
Номер версии 3.1.6 , чтобы отличить от родных Эпловских.
EDITED 19-12-2008.
Наконец пересобрал исходники от 10.5.6, не особо раздумывая внес свой копирайт и увеличил номер версии. Теперь они 3.2.8.
Что изменилось?
EHCI - все тот же старый орБайтовский патч для поддержки Легаси. Есть подозрение, что для современных чипсетов это уже не актуально, но и не мешает. Убрал лишние логи - надоело смотреть на засорение экрана.
OHCI, UHCI - добавил слип-суппорт для тех чипсетов, которые Эпл обошла вниманием.
Общее для всех. Кто там говорил о безошибочности Эпловских инженеров?
<!--c1-->
//Slice
{0x8086, 0x2442, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, //
{0x8086, 0x2482, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH Intel 845 UHCI #1
{0x8086, 0x2484, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #2
{0x8086, 0x2487, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #3
{0x8086, 0x24d2, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH Intel 865 UHCI #1
{0x8086, 0x24d4, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #2
{0x8086, 0x24d7, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #3
{0x8086, 0x24de, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #4
{0x8086, 0x24dd, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce },
// Intel 865
{0x8086, 0x24c2, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH Intel 855 UHCI #1
{0x8086, 0x24c4, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #2
{0x8086, 0x24c7, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #3
{0x8086, 0x24ce, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH UHCI #4
{0x8086, 0x24cd, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce },
// Intel 855
//Slice
{0x8086, 0x2934, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH9 UHCI #1
{0x8086, 0x2935, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH9 UHCI #2
{0x8086, 0x2936, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH9 UHCI #3
{0x8086, 0x2937, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH9 UHCI #4
{0x8086, 0x2938, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH9 UHCI #5
{0x8086, 0x2939, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataUHCISupportsOvercurrent
| kErrataNeedsOvercurrentDebounce | kErrataSupportsPortResumeEnable }, // ICH9 UHCI #5
{0x8086, 0x293a, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce },
// ICH9 EHCI #1
{0x8086, 0x293c, 0x00, 0xff, kErrataICH6PowerSequencing | kErrataNeedsOvercurrentDebounce },
// ICH9 EHCI #2
//Slice
{0x10de, 0x03f2, 0x00, 0xff, kErrataMCP79SplitIsoch | kErrataMissingPortChangeInt
| kErrataMCP79IgnoreDisconnect | kErrataUse32bitEHCI }, // MCP EHCI #1
{0x10de, 0x00e8, 0x00, 0xff, kErrataMCP79SplitIsoch | kErrataMissingPortChangeInt
| kErrataMCP79IgnoreDisconnect | kErrataUse32bitEHCI}, // MCP EHCI #2
{0x10de, 0x077c, 0x00, 0xff, kErrataMCP79SplitIsoch | kErrataMissingPortChangeInt
| kErrataMCP79IgnoreDisconnect | kErrataUse32bitEHCI}, // MCP78S EHCI #2
{0x10de, 0x03f1, 0x00, 0xff, kErrataOHCINoGlobalSuspendOnSleep | kErrataMCP79IgnoreDisconnect },
// MCP OHCI #1
{0x10de, 0x00e7, 0x00, 0xff, kErrataOHCINoGlobalSuspendOnSleep | kErrataMCP79IgnoreDisconnect },
// MCP OHCI #2
{0x10de, 0x077b, 0x00, 0xff, kErrataOHCINoGlobalSuspendOnSleep | kErrataMCP79IgnoreDisconnect },
// MCP78S OHCI #2
//Slice - SIS chipset support. Copied from nForce. Is it true?
{0x1039, 0x7001, 0x00, 0xff, kErrataOHCINoGlobalSuspendOnSleep | kErrataMCP79IgnoreDisconnect },
// SIS OHCI #2
{0x1039, 0x7002, 0x00, 0xff, kErrataMCP79SplitIsoch | kErrataMissingPortChangeInt
| kErrataMCP79IgnoreDisconnect | kErrataUse32bitEHCI}, // SIS EHCI #2
AppleUSBEHCI328.kext.zip (50,13К)
Количество загрузок:: 195
AppleUSBOHCI328.kext.zip (36,61К)
Количество загрузок:: 136
AppleUSBUHCI328.kext.zip (46,8К)
Количество загрузок:: 131
Добавил еще один чипсет от нФорсе
AppleUSBEHCI.kext.zip (50,15К)
Количество загрузок:: 1254
AppleUSBOHCI.kext.zip (36,61К)
Количество загрузок:: 1142
AppleUSBUHCI.kext.zip (46,8К)
Количество загрузок:: 1093
Насчет мыши не знаю, изменилось ли что-то. Если есть пожелания - изменю.
AppleUSBOpticalMouse.kext.zip (11,28К)
Количество загрузок:: 439
В файле USBMassStorage устранял всего лишь мелкие ошибки, ничего кардинально нового не сделал.
IOUSBMassStorageClass205.kext.zip (32,45К)
Количество загрузок:: 226
Все файлы проверены в системе 10.5.5, т.е. обратная совместимость имеется.
11.03.09
Коль этот блядский форум не работает, за закачками забираемся на сани, и поехали!
http://www.insanelym...howtopic=117029
18.05.2009
Исправил ЮСБ на основе новейшей версии 10.5.7. На этот раз почти все плагины перекомпилированы.
Если на старте системы видите
Цитата
то это неправильная раскладка прерываний в системе. Может помочь перезагрузка, может - удаление НРЕТ, может - замена IOPCIFamily.
Со стороны драйвера ЮСБ эту ошибку исправить нельзя, она внешняя.
За закачкой новой версии IOUSBFamily отправляемся на сани по старой ссылке.
01.06.2009
Растет поддержка разных чипсетов. Закачки по старой ссылке.
Теперь я смог скомпилить утилиту USBProber. Для отчетов о своих проблемах используйте ее.
11.08.2009
Версия для 10.5.8
02.09.2009
Делаем ЮСБ патч через ДСДТ
Сообщение отредактировал slice: 02 Сен 2009 - 10:25

Помощь
Тема закрыта


Promote to Article
























