From: "\"Вадим Левченко\" " <vadimlevchenko@mail.ru>
To: hardware@altlinux.ru, "\"Vladimir V.Karpinsky\" " <vkarpinsky@mail.ru>
Subject: Re[4]: [Hardware] Не работает PCMCIA на старом notebook (Compact)
Date: Tue, 18 May 2004 12:33:22 +0400
Message-ID: <E1BQ02M-0007cu-00.vadimlevchenko-mail-ru@f7.mail.ru> (raw)
In-Reply-To: <913213175.20040518101521@mail.ru>
> Здравствуйте,
>
> 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.
В общем, успехов!
next prev parent reply other threads:[~2004-05-18 8:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-19 20:16 "Вадим Левченко"
2004-05-17 13:07 ` Vladimir V. Karpinsky
2004-05-17 23:25 ` Re[2]: " "Вадим Левченко"
2004-05-18 3:13 ` Barabashka
2004-05-18 6:15 ` Re[3]: " Vladimir V. Karpinsky
2004-05-18 8:33 ` "Вадим Левченко" [this message]
2004-05-18 6:37 ` [Hardware] " Konstantin A. Lepikhov
2004-05-18 8:39 ` [Hardware] Re: Не работает PCMCIA на старомnotebook (Compact) "Вадим Левченко"
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1BQ02M-0007cu-00.vadimlevchenko-mail-ru@f7.mail.ru \
--to=vadimlevchenko@mail.ru \
--cc=hardware@altlinux.ru \
--cc=vkarpinsky@mail.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux hardware support
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/hardware/0 hardware/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 hardware hardware/ http://lore.altlinux.org/hardware \
hardware@altlinux.ru hardware@lists.altlinux.org hardware@lists.altlinux.ru hardware@lists.altlinux.com hardware@altlinux.org
public-inbox-index hardware
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.hardware
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git