Ага, вот оно в чем дело! Поддерживаются не все чипсеты!
Список поддерживаемых
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К)
Количество загрузок:: 186
AppleUSBOHCI328.kext.zip (36,61К)
Количество загрузок:: 130
AppleUSBUHCI328.kext.zip (46,8К)
Количество загрузок:: 125
Добавил еще один чипсет от нФорсе
AppleUSBEHCI.kext.zip (50,15К)
Количество загрузок:: 1246
AppleUSBOHCI.kext.zip (36,61К)
Количество загрузок:: 1139
AppleUSBUHCI.kext.zip (46,8К)
Количество загрузок:: 1085
Насчет мыши не знаю, изменилось ли что-то. Если есть пожелания - изменю.
AppleUSBOpticalMouse.kext.zip (11,28К)
Количество загрузок:: 427
В файле USBMassStorage устранял всего лишь мелкие ошибки, ничего кардинально нового не сделал.
IOUSBMassStorageClass205.kext.zip (32,45К)
Количество загрузок:: 223
Все файлы проверены в системе 10.5.5, т.е. обратная совместимость имеется.
11.03.09
Коль этот блядский форум не работает, за закачками забираемся на сани, и поехали!
18.05.2009
Исправил ЮСБ на основе новейшей версии 10.5.7. На этот раз почти все плагины перекомпилированы.
Если на старте системы видите
Цитата
то это неправильная раскладка прерываний в системе. Может помочь перезагрузка, может - удаление НРЕТ, может - замена IOPCIFamily.
Со стороны драйвера ЮСБ эту ошибку исправить нельзя, она внешняя.
За закачкой новой версии
01.06.2009
Растет поддержка разных чипсетов. Закачки по старой ссылке.
Теперь я смог скомпилить утилиту USBProber. Для отчетов о своих проблемах используйте ее.
11.08.2009
02.09.2009
Сообщение отредактировал slice: 02 Сен 2009 - 10:25

Вход
Регистрация
Помощь
Тема закрыта


Цитата









