[Comm] Snova ALTLinux Junior 2.2 + compilyator gcc+ modem + polnoe opisanye problemi

Kuligin Mikhail =?iso-8859-1?q?kmlmail_=CE=C1_mail=2Eru?=
Чт Апр 15 22:33:36 MSD 2004


Привет сообществу! 

Народ пардон за огромное письмо но меня постоянно ругают, что не излагаю полностью суть проблемы - без деталей невозможно помочь! Отдельное спасибо Виталию Липатову & Mike Lykov за их помощь и терпение!




Не могу поставить дрова под модем.

Излагаю полную историю моей попытки установки модема Intel 536EP V.92 (PCI) на ALTLinux Junior 2.2.

1. Итак после установки системы скачал драйвера под модем на интеловском сайте для Мандрака и редхата + исходники.

2. Прочитал многочисленные HOWTO & Manuals, но в общем то, так и не нашел доходчивого объяснения, как определить - нашла система модем во время установки, или нет. (В minicom не могу вбить команду АТ для проверки соединения - просто неодупляюсь куда - курсор не реагирует на нажатие клавиш на клавиатуре настройки вроде как в HOWTO захожу в настройки minicom --s) Во время старта, kudzu каждый день выдает сообщение, что нашел мышь и не более. Что сделать, чтобы он обнаружил модем. При попытке дозвона через кррр сообщение модем занят, соответственно дозвоном и непахнет.

3. Предположил, что система модем нашла (есть файл #/dev/modem) и решил ставить Мандраковские дрова т.к. ALTLinux выходец из этой оперы. Прочитал инструкцию по установке в файле readme.txt в директории драйвера, часть инструкции привожу ниже:

-------------------------------------------------------------------------------

2. Release Notes

This release supports 2.4.x kernels.

This release is not compatible with kernels prior to 2.4.

The 536EP corecode binary was compiled with gcc version 2.96

v92 support added: modem on hold AT command set,

PCM upstream, v44, and quick connect are implemented.

Linux Compatability tests are performed on the latest or previous

versions of the following distributions: Mandrake, RedHat, and SuSE

------------------------------------------------------------------------------

3. INSTALLATION

Prerequisites:

1. root access

2. bash shell to run install scripts

3. a 536EP modem

4. KERNEL SOURCE HEADERS FOR THE KERNEL YOU ARE RUNNING

(found on your distribution's CD)

6 steps to install

1. login as ROOT

2. extract the archive into a directory with "tar -zxvf <archivename>.tgz"

3. cd into the directory it created.

4. Type: make clean

5. Type: make 536ep

6. Type: make install-536ep

The installation script has been designed for the following distributions

release versions

mandrake-release

SuSE-release

redhat-release

debian_version (including Corel)

slackware-version

conectiva-version

bluepoint-release

Unknown distributions install modules and utilities but

will not install boot scripts!.

Please examine the 536ep-inst script if you have a different distribution.

The driver is split in two. A serial driver and core driver.

The core driver must be loaded first since the serial driver depends on it.

The serial driver registers itself as character device

major number 240, minor number 1.

The serial driver takes one argument right now, which is a number to

override the default major number if you need to.

ATTENTION: if the driver compiles but the script just wont work for you.

Here are the bare minimum steps to get your modem to work.

0. log in as root.

1. insmod -f 536epcore.o

2. insmod -f 536ep.o

2a. you can start "hamregistry" at this point if you wish.

3. rm /dev/536ep

4. mknod /dev/536ep c 240 1 (note "240" is the default, if it does not

work see what /proc/devices says 536ep's major number is)

5. ln -s /dev/536ep /dev/modem

6. start a comm application like minicom and use the modem.

7. see section 3 (International Users) for info on setting the correct

country settings.

-------------------------------------------------------------------------------

4. FILE DESCRIPTIONS

536ep-inst installation script to install 536ep modules and supporting files

files copied to /lib/modules/(kernel-version)/misc

536epcore.o driver core code module

536ep.o pseudo serial driver for 536ep, depends on 536epcore.o

files copied to /etc/rc.d/... (path differes per distribution)

536ep-boot boot scrip to start and stop 536ep modules

files copied to /usr/sbin

hamregistry hamregistry is the "registry" like tool that the modem uses to

get and store persistant data such as county info and profile strings.

files copied to /etc

hamregistry.bin file that stores the initial persistant data for modem.

-------------------------------------------------------------------------------

5. INTERNATIONAL USERS

hamregistry will store the last country setting you

set in the modem.

in minicom (or equivalent comm application)

the commmand to change country setting is "AT+GCI="

the command takes a t.35 country code in hexadecimal.

below is a list of currently supported t.35 country codes.

you can also put this "AT" command in the init string of

the comm application you are using.

if you are a CTR-21 country I think you should be able to 

choose a CTR-21 country on the list and be ok. but

that's no guarantee.

The same goes for countries that are "USA" compatable.

(this table also exist in the source file wwh_dflt.c that

ships with the 536epcore driver)

country code t.35 code

---------------------------

USA 1 B5

KOR 82 61

ECU 593 35

BOL 591 14

CHL 56 15

COL 57 27

PAN 507 85

PER 51 88

SAU 966 98

THA 66 A9

VNM 84 BC

SWE 46 A5

DNK 45 31

FIN 358 3C

NOR 47 82 

ISL 354 52

IRL 353 57

ISR 972 58

LIE 423 68

ESP 34 A0

TUR 90 AE

DEU 49 42

AUT 43 0A

CHE 41 A6

CYP 357 2D

GRC 30 46

ITA 39 59

LUX 352 69

NLD 31 7B

GBR 44 B4 

BEL 32 0F

FRA 33 3D

PRT 351 8B

PAK 92 84

JPN 81 00

RUS 7 B8

AUS 61 09

MYS 60 6C

CHN 86 26

HKG 852 50

SGP 65 9C

NZL 64 7E

ARG 54 07

BRA 55 16

MEX 52 73

TWN 886 E3

IND 91 53

PHL 63 89

IDN 62 54

BHS 103 0B

BRB 104 0E

BMU 105 12

GTM 502 49

HTI 509 4E 

HND 504 4F

JAM 1 5B 

NIC 505 7F

PRY 595 87

PRI 121 8C

SUR 597 A3

TTO 117 AC 

URY 598 B7

VEN 58 BB

ZWE 263 C4

GUY 592 4D

EST 372 E0

HUN 36 51

SVN 386 E2

ARE 971 B3

SVK 421 2E

CAN 107 14

CRI 506 1B 

DOM 110 33

SLV 503 37

GMB 220 41

GIB 350 45 

POL 48 8A

EGY 20 36

CZE 420 2E

ZAF 27 9F

GUF 594 E1

-------------------------------------------------------------------------------

7. Security issues

the 536ep-inst and 536ep-boot file install the files and device nodes as

root for the owner and group.

this will cause problems for those who want to user the modem to dialout

using an account other than root.

In SuSE, "dialout" is the group used to install the files and device node.

This way, anyone belonging to the "dialout" group can use the modem to dialout.

(take a look at /etc/group)

I did not want the script to allow full access of the modem to everyone without

"root" knowing.

Edit the 536ep-boot and 536ep-inst scripts to fit your needs.

-------------------------------------------------------------------------------

8. Compile issues

a. this driver will now compile with the this path:

/lib/modules/<kernel version>/build/include

the 2.4.4+ kernels says to copy the /boot/vmlinuz.version.h

over to the kernel build path. I have the makefile do this

if this file exists. You must install the kernel source

code anyways. It should be on your distribution's CD.

-------------------------------------------------------------------------------

9. What is the Hamregistry?

The hamregistery is an application that stores data for the 536ep driver onto

the disk. hamregistry stores information from the driver that needs to

persist from reboot to reboot such as you current country setting.

The 536ep-inst install script and the 536ep-boot script start this utility

automatically for you.

If this tool is not present when the driver gets used your profile,

quickconnect, and current country setting will not be saved but the driver

should still work fine. The only step that would need to be done is to

make sure that the driver is set to the correct country with 

at+gci= (see section 5)

-------------------------------------------------------------------------------

10. What's v92 and v44?

a. modem on hold: (ISP and your ISP dialer must also support this)

This will allow you to pause your ppp connection to answer an incoming

call. You will need call waiting, dialer, and ISP support for this to

work. When you are done with the call you can resume your ppp connection

without having to reconnect. The AT command set for this feature exist

in the driver.

b, pcm upstream:

(ISP must also support this, as of version 4.32 I

dont know any ISP's that do)

This will allow faster upload speeds.

to enable: at+pig=0

to disable: at+pig=1

c. quickconnect:

Once you make a call to a v92 modem, your phoneline characteristics are

stored. Whenever you make a new v92 connection it will use this data 

to make the call negotiation quicker (approx 10 seconds).

to enable: at+pqc=0 at+pss=0

to disable: at+pss=2

d. v44: (ISP must also support this)

A better compression protocol than v42 which can give you better transfer

speeds.

-------------------------------------------------------------------------------

11. The Hamregistry tool

The hamregistry tool is used to provide persistance of settings across

reboots. The haminst and hamboot scripts automatically setup and start

the hamregistry background task for the modem to use.

The hamregistry tool has command line arguments for those who wish to 

customize persistant settings. To use these command lines

you must first stop the driver with "bash hamboot stop".

Once the driver has been stopped you may run hamregistry with one of these

arguments to store into the /etc/hamregistry.bin persistance file:

(supply value for items in < >)

-mfg <Modem manufactures name>

-mod <Modem model name>

-hookflash <0,1,2>

hookflash method: 0=(default)without tone 1=with tone 2=reserved

-v92rptopt <0,1>

control v92 reporting: 0=PCM upsteam only 1=(default) all v92

-gpio_lpohd <0,1>

Handset Hook detection: 0=not supported 1=(default)supported

-current_country <t.35 code>

This info is written to the /etc/hamregistry.bin file.

If hamregistry.bin exists along with the installation files, haminst will

copy it to /etc/hamregistry.bin when installing the modem.

-------------------------------------------------------------------------------

12. Known Bugs/Issues

a. If you see this message

"536ep:rs_open: DSP did not reset. try again or restart computer"

and you KNOW you have a HaM modem installed

Disable "PNP OS" in your bios. There is a problem with the driver and

linux PNP. After a time, Linux PNP will disable the card and the driver

currently can not reenable itself.

b. Be aware that the build replaces your

/lib/module/<kernver>//build/include/linux/version.h file with

/boot/vmlinuz.version.h

(this is what Linus T. told me to do with a compiler error)

c. There may be an incompatibility with DevFS. The 536ep device may be located

in /dev/tts/536ep

instead of /dev/536ep. Be aware of this and link /dev/modem to the 536ep

device that corresponds to your setup.

e. Currently there is a problem with the 536ep driver and SuSE 7.2 ppp

connections. I have been able to get ppp connection with bellsouth 

by calling this bash script and wvdial config section:

------my script----------------------

#! /bin/sh

/usr/sbin/pppd -detach lock asyncmap 00000000 \

defaultroute debug /dev/modem 57600 \

ipparam ppp0 linkname ppp0 \

noauth \

connect "/usr/bin/wvdial --chat bellsouth"

------my /etc/wvdial.conf section ---

[Dialer bellsouth]

Modem = /dev/modem

Baud = 57600

Init1 = ATZ

Inti2 = ATQ0 V1 E1 S0=0 &C1 &D2

Dial Command = ATDT

Phone = 6859500

Username = myloginname

Password = mysecretpassword

#Ask Password = 1

Stupid Mode = 0

------------------

Следуя инструкции установки первая команда: 

[root на localhost Intel536-4.68-M92-UP]# make clean

cd coredrv; make clean

make[1]: Вход в каталог `/home/user/Intel536-4.68-M92-UP/coredrv'

rm -f *.ko *.o *~ core

make[1]: Выход из каталог `/home/user/Intel536-4.68-M92-UP/coredrv'

rm -f *.o

[root на localhost Intel536-4.68-M92-UP]#

Вторая команда: 

[root на localhost Intel536-4.68-M92-UP]# make 536

Module precompile check

Current running kernel is: 2.4.20-alt6-up

/lib/modules... autoconf.h does not exist

please install kernel source

make: *** [check] Ошибка 1

[root на localhost Intel536-4.68-M92-UP]#

Третья команда: 

[root на localhost Intel536-4.68-M92-UP]# make install

bash Intel536_inst

running kernel 2.4.20-alt6-up

installing hamregistry, used for persistant storage

installing Intel 536 driver

install: невозможно выполнить stat для `Intel536.o': No such file or directory

mandrake Intel536_boot script

starting module and utilities

error loading Intel536

done

[root на localhost Intel536-4.68-M92-UP]#

После первого обращения на форум один чел сказал, что для команды make нежен компилятор gcc. Ниже привожу попытки поставить оное творение с диска 2 ALTLinux Junior 2.2:

apt-get install rpm-build

результаты ее выполнения ниже:

_______________________________________________________

[root на localhost root]# apt-cdrom add

Using CD-ROM mount point /mnt/cdrom/

Unmounting CD-ROM

Please insert a Disc in the drive and press enter

Mounting CD-ROM

Identifying.. [73f614cbc65cd77088245ecd49522fd8-2]

Scanning Disc for index files.. Found 2 package indexes and 2 source indexes.

This Disc is called:

'Junior 2.2 CD .devel'

Reading Indexes... Завершено

Reading Indexes... Завершено

Writing new source list

Source List entries for this Disc are:

rpm cdrom:[Junior 2.2 CD .devel]/ ALTLinux devel

rpm cdrom:[Junior 2.2 CD .devel]/ Mandrake devel

rpm-src cdrom:[Junior 2.2 CD .devel]/ ALTLinux devel

rpm-src cdrom:[Junior 2.2 CD .devel]/ Mandrake devel

Repeat this process for the rest of the CDs in your set.

[root на localhost root]#

_________________________________________________________

[user на localhost RPMS.devel]$ apt-get install rpm-build

error: cannot get exclusive lock on /var/lib/rpm/Packages

error: cannot open Packages index using db3 - (-1)

E: невозможно открыть базу данных RPM

[user на localhost RPMS.devel]$

_________________________________________________________

root на localhost root]# apt-get install rpm-build

Чтение списков пакетов... Завершено

Создание списка имён... Завершено

Построение дерева зависимостей... Завершено

Некоторые пакеты установить невозможно. Это может означать, что Вы

потребовали невозможного, либо пользуетесь нестабильным репозиторием.

Часть необходимых пакетов либо ещё не создана, либо была удалена

из каталога 'Входящие'.

Так как для выполнеия Вашего запроса достаточно одной операции, то

скорее всего этот пакет просто невозможно установить. Сообщите, пожалуйста,

об этом как о найденной ошибке в пакете.

Эти сведения могут помочь найти выход из ситуации:

Следующие пакеты имеют неудовлетворенные зависимости:

rpm-build: Требует: gcc

Требует: glibc-devel но пакет не будет установлен

E: Извините, `битые' пакеты

[root на localhost root]#

RE>Если заморочки с базой пакетов,
делают rpm --rebuilddb
пробуем[root на localhost root]# rpm -rebuilddb

Отработал минут 10 без сообщений я поял все ок.

Снес все в sours.list далее
[root на localhost root]# apt-cdrom add
Using CD-ROM mount point /mnt/cdrom/
Unmounting CD-ROM
Please insert a Disc in the drive and press enter
Mounting CD-ROM
Identifying.. [73f614cbc65cd77088245ecd49522fd8-2]
Scanning Disc for index files.. Found 2 package indexes and 2 source indexes.
This Disc is called:
'Junior 2.2 CD .devel'
Reading Indexes... Done
Reading Indexes... Done
Writing new source list
Source List entries for this Disc are:
rpm cdrom:[Junior 2.2 CD .devel]/ ALTLinux devel
rpm cdrom:[Junior 2.2 CD .devel]/ Mandrake devel
rpm-src cdrom:[Junior 2.2 CD .devel]/ ALTLinux devel
rpm-src cdrom:[Junior 2.2 CD .devel]/ Mandrake devel
Repeat this process for the rest of the CDs in your set.
[root на localhost root]# apt-get update
Reading Package Lists... Done
Collecting File Provides... Done
[root на localhost root]# apt-get install rpm-build
Reading Package Lists... Done
Collecting File Provides... Done
Building Dependency Tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
rpm-build: Depends: gcc
Depends: glibc-devel but it is not going to be installed
E: Broken packages
[root на localhost root]# 

Теперь даже незнаю в каком направлении двигатся?

----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/community/attachments/20040415/27f8e37c/attachment-0003.html>


Подробная информация о списке рассылки community