From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: =?windows-1251?Q?=22=C2=E0=E4=E8=EC=20=CB=E5=E2=F7=E5=ED=EA=EE=22=20?= To: hardware@altlinux.ru, =?windows-1251?Q?=22?=Vladimir V.Karpinsky=?windows-1251?Q?=22=20?= Subject: Re[4]: [Hardware] =?windows-1251?Q?=CD=E5=20=F0=E0=E1=EE=F2=E0=E5=F2=20=20?=PCMCIA =?windows-1251?Q?=ED=E0=20=F1=F2=E0=F0=EE=EC=20=20?=notebook (Compact) Mime-Version: 1.0 X-Mailer: mPOP Web-Mail 2.19 X-Originating-IP: [195.208.58.132] Date: Tue, 18 May 2004 12:33:22 +0400 In-Reply-To: <913213175.20040518101521@mail.ru> Content-Type: text/plain; charset=windows-1251 Content-Transfer-Encoding: 8bit Message-Id: Cc: X-BeenThere: hardware@altlinux.ru X-Mailman-Version: 2.1.4 Precedence: list Reply-To: hardware@altlinux.ru, =?windows-1251?Q?=22=C2=E0=E4=E8=EC=20=CB=E5=E2=F7=E5=ED=EA=EE=22=20?= List-Id: ALT Linux hardware support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 08:33:23 -0000 Archived-At: List-Archive: > Здравствуйте, > > Tuesday, May 18, 2004, 3:25:50 AM, you wrote: > > ВЛ> Понятно. Notebook я выкидывать не собираюсь, потому буду пытаться > ВЛ> сам... Для решения проблемы я решил собрать ядро с выключенной > ВЛ> pcmcia поддержкой, и дополнительно поставить оригинальный пакет > ВЛ> pcmcia-cs, в котором как бы поддержка не-CardBus мостов обещана. > > Я тоже тот ноутбук не выкидывал, просто удалось раскрутить начальство > на более современный, тем самым убив сразу несколько зайцев. Тем не > менее старый ноутбук ещё жив и, если Ваши усилия увенчаются успехов, > пожалуйста, отпишите рецепт, если не сюда, то лично, я тогда старичка > тоже в строй поставлю. > > > -- > Best regards, > Vladimir mailto:vkarpinsky@mail.ru > Как ни странно, сеть запустилась :) Все остальное пока не проверял, но уже жить можно. Итак, если коротко: Проблема в ядре linux, точнее в "ядерных" драйверах для pcmcia. Они просто не работают с не-CardBus мостами PCMCIA (насколько я понял, теми, которые не поддерживают bus mastering PCI, хотя, может, я и ошибаюсь). В общем, эта проблема должна касаться всех обладателей старых notebook-ов на 486 и Pentium, матплаты которых уже содержат PCI, но в ее первых версиях. Хочу заметить: это касается любых ядер. То, что работало раньше, (в ядрах 2.2.X), насколько я понял, было оригинальной версией pcmcia-cs 1. Лечение проблемы радикальное (хирургическое): удаление больного органа (pcmcia модулей) из ядра. Ядро для этого, естественно, надо выкачивать, настраивать и компилировать. После настроек в .config соответствующие строки должны быть: # # PCMCIA/CardBus support # # CONFIG_PCMCIA is not set Заодно можно отключить и все сетевые драйвера устройста (кроме самой сети) и, насколько я понимаю, вообще драйвера всех устройств которые могут присутствовать на PCMCIA --- все равно они будут заменены модулями pcmcia-cs. Впрочем, эти драйвера отключать не обязательно, а вот CONFIG_PCMCIA --- обязательно. 2. Далее выкачиваем pcmcia-cs с http://pcmcia-cs.sourceforge.net Внимательно читаем doc/PCMCIA-HOWTO (п. 2.Compilation and installation) --- краткое его содержание --- это мой п.1. Настраиваем, компилируем и устанавливаем согласно докам, например: ./Configure make all make install 3. В принципе, уже все. Если правильно ответить на первый и последний вопросы ./Configure, то pcmcia-cs сам себя установит куда надо. Если что-то после этого не будет работать, то у него есть мощные диагностические утилиты. Ну и документация само-собой. Несколько граблей, на которые я успел наступить: 1. Не всякие комбинации версия ядра/версия pcmcia-cs будут работать вместе. Из общих соображений, надо брать версию ядра более старую, чем версия pcmcia-cs. Я взял pcmcia-cs 3.2.7 и linux 2.4.23 (т.к. на 2.4.26 у меня pcmcia-cs не заработал). 2. компилировать и pcmcia-cs, и linux надо одинаковыми компиляторами. Я компилировал gcc 3.2.3. Это замечание особенно важно, т.к. pcmcia-cs пытается скомпилировать свои модули более "простым" компилятором. Дабы этого избежать, я запускал ./Configure --kcc=gcc Ну и все остальные компиляторы (у меня были еще 2.95 и 2.96) на всякий случай снес. 3. Сама по себе проблема установки linux на старый notebook обычно (у меня по крайней мере) отягощена тем, что сеть на [неработающей] PCMCIA --- это единственное связующее звено между ним и окружающим миром. Потому, если хоть в каком-то виде сеть уже работает (в моем случае это был redhat 7.0, хотя, вероятно, у других м.б. и Windows) --- ни в коем случае не сносите ЭТО работающее (пусть худо-бедно, и занимающее ценное дисковое пространство) до того момента, пока новый linux полностью не заработает с PCMCIA. 4. Другая проблема --- это низкое быстродействие таких notebook-ов и маленький диск. С первым я боролся, собирая ядро на настольном компьютере. Но pcmcia-cs я на всякий случай собирал не notebook. Это не то, чтобы долго, но требует установленного компилятора и наличия сконфигурированных исходников ядра. В общем я лучше опишу свою "дисковую" ситуацию: У меня 4GB диск, разбитый пополам. CD-romа нет. На второй половине стоял redhat. Убрав /home, я освободил ~1G и записал туда образ Compact2.3 Загрузившись с дискеты, я установил Compact на первую половину диска. Там же (точнее, в /opt/ ) я создал локальное зеркало ftp://ftp.altlinux.com/pub/distributions/ALTLinux/Compact/2.3 Только без реальных пакетов, но с линками на них. Вместо main я подсунул соответствующую директорию из образа диска (подмонтированного как loop-устройство), ну а линки в директории contrib, естественно, вели "в никуда". Подправил /etc/apt/sources.list, убрав все сетевые источники и добавив что-то вроде: # Local Compact Mirror rpm file:/opt/LinuxDistr/Compact2.3/2.3 ALTLinux main contrib Ну и $apt-get update После этого по мере необходимости пакеты можно доставлять apt-get -ом. Когда он натыкается на сселки, ведущие в никуда, то честно об этом сообщает. Соответственно, перегружаемся в redhat и докидываем в contrib/ те пакеты, которые реально требуются (gcc3.2.3 и т.п.). Короче, в 4GB мне удалось "уложить" два дистрибутива Linux в достаточно полной комплектации (еще раз повторяю, я принципиально не трогал старый redhat), образ одного CD, исходники ядра, компилированные на другом компьютере и исходники pcmcia-cs. В общем, успехов!