LINUX.ORG.RU

Сообщения LowLevel

 

Параметры соместимости arm

Форум — Linux-install

Начну издалека. Приобрел я андрофон заморский mts916, в девичестве zte racer x850. Долго ли коротко ли решил поставить на него генту в чрут. Даже нашел подходящий stage3 под armv6j собранный. Закинул в тушку, чрутнулся и сказал это есть хорошо. Стал софт собирать да обживаться. Вот только пямяти там с гулькин нос, процессор еле тянет, а уж про скорость SD только матом. Закручинился. Прознал что есть в портежах далеких чудо-утилита crossdev. Раздобыл, да никак не мог glibc собрать. То ядро ему не то, то TLS подавай. На счастье нашелся у меня древний чрут, с софтом выдержанным, там и удалось кросстулчайн собрать. Заживем думаю. Но только я cross-emerge system запустил, так на разбойника perl и нарвался. Он в секции configure что негодник удумал: соберет бинарь да и пытается его выполнить. Не понимает что собрал то не под ту архитектуру. Питон тоже не собирается, да еще по мелочи.

Тогда решил, подниму в qemu хост виртуальный, да и пусть компилит хоть до посинения. Открыл спецификацию на телефон, читаю: процессор qualcomm msm7227 на ядре ARM1136EJ-S с поддержкой инструкций ARMv6. Спросил у qemu список процов поддерживаемых, а она мне и отвечает человеческим голосом:

arm926 arm946 arm1026 arm1136 arm1136-r2...

Хорошо думаю, почти что надо. Посмотрел еще qemu -M ? и стал разные платформы пробовать. Скомпилю ядро соответствующее, да и пытаюсь загрузить. И как-то всё больше черный экран мне qemu показывала (хоть на последовательном порту и писала что грузит ядро) пока не выбрал versatilepb ARM Versatile/PB (ARM926EJ-S). Ядро значит так собрал:

make ARCH=arm CROSS_COMPILE=armv6j-unknown-linux-gnueabi- versatile_defconfig

make ARCH=arm CROSS_COMPILE=armv6j-unknown-linux-gnueabi- all

Виртуалку так пускаю:

qemu-system-arm -M versatilepb -m 128M -kernel tmp/zImage-versatilepb_defconf -append 'root=/dev/nfs rw nfsroot=10.0.2.2:/mnt/cdrom ip=10.0.2.15:10.0.2.2:10.0.2.2:255.255.255.0:arm:eth0:off nfsdebug init=/hello'

(по нфсу корень отдаю чтоб не париться). А /hello тот компилирую совсем запросто: armv5-none-linux-gnueabi-gcc -mcpu=arm926ej-s --static hello.c -o hello. Я уж тут и тулчейны всякие перепробовал, и -mcpu по всякому изгалял — нет, не работает. При том что на самом телефоне прекрасно запускается. Вот что пишет под qemu негодник:

http://img825.imageshack.us/i/63548070.png/

Не лучшие результаты если подсунуть гентушный stage3-armv6j или armv5te

Ну а теперь как водится вопрос к залу: почему ядро собралось и нормально взлетело под 926 процессором, а бинарники никак не хотят? При том что будучи собранными под 926 они на тушке (1136) прекрасно взлетают? И есть ли другие способы решить проблему кросс-компиляции ?

PS: обращение по nfs точно идет, inotify свидетель.

LowLevel
()

Собираю системник, покритикуйте конфиг.

Форум — Talks

Собираю себе систему с упором на бесшумность (жена настаивает). Для этого использую здоровенный кулер с минимальными оборотами 800, медленный винт на 5400, встроенное видео (потом поставлю помощнее, но тоже на пассивном охлаждении) и массивный корпус чтоб не дребезжал. Прошу покритиковать, есть ли узкие места, несовместимости, переплаты.

Деталь   Цена   Описание   Ссылка
Корпус   2650   Корпус Miditower Chieftec ATX SH-01 B-B-B без БП   http://www.dns-shop.ru/bar/price_detail.php?i=102180

БП   2250   БП Chieftec [APS-500S] 500W, ATX v2.2, EPS12V, Active PFC   http://www.dns-shop.ru/bar/price_detail.php?i=110641

Процессор   3190   Процессор AMD Phenom II X2 545 3.0 GHz 7Mb Socket-AM3 OEM   http://www.dns-shop.ru/bar/price_detail.php?i=115157

Кулер   1950   Кулер CoolerMaster V8 (RR-UV8-XBU1) (Al+Cu) Socket 775/754/939/AM2   http://www.dns-shop.ru/bar/price_detail.php?i=109291

Мать   3550   Gigabyte Socket-AM3 GA-MA785GT-UD3H AMD785G/SB710 4xDDR3-1666+ 2xPCI-E HDMI/DVI 8ch 6xSATA RAID 1xU133 GLAN 3x1394 ATX   http://www.dns-shop.ru/bar/price_detail.php?i=113269

Память   1990   Память DIMM DDR-III 2048MB PC10600 1333MHz Kingston [KVR1333D3N9/2G] Retail   http://www.dns-shop.ru/bar/price_detail.php?i=105737

Винт   3750   Жесткий диск SATA-II 1Tb Western Digital 5400rpm(IntelliPower) [WD10EADS] 32Mb   http://www.dns-shop.ru/bar/price_detail.php?i=109638

DVD   1250   Привод SATA DVD±RW NEC (AD-7243S) Black DVD-24x/8x/12x, R9-12x, DL-12x, RAM-12x, CD48x/32x/48x “LF”   http://www.dns-shop.ru/bar/price_detail.php?i=113132

Клава/мышка   500      
         
Итого   21080
   

LowLevel
()

LXDE+Gentoo на EeePC

Галерея — Скриншоты

Приобрёл по случаю ёжика. Естественно немедленно занялся установкой генты вот по этому мануалу -- http://belgorod.lug.ru/wiki/index.php/Установка_Gentoo_Linux_на_Asus_Eee_PC. Кое-какие вещи там устарели, но в целом завести удалось практически всё.

* atl2 ethernet -- ебилд из багзиллы

* Atheros AR242x -- ебилд madwifi из arcon

* камера -- uvclinux

* ACPI --asus_acpi родной

Засыпание работает сразу, функциональные кнопки через правку /etc/acpi/defaults.sh

Итак вашему вниманию предлагается

* LXDE + openbox

* тема human для gtk из убунты

* на первом скрине PCMan File Manager, настройка LXDE, luvcview для демонстрации работы камеры

* на втором -- допиленный мной lxsession-logout с defaults.sh на заднем плане

Шрифт -- Sans 10

>>> Просмотр (810x980, 462 Kb)

LowLevel
()

vpn over jabber

Форум — Development

Есть ли готовые реализации jabber бота который работает на локальной тачке, выполняет команды шелла и отдаёт результаты? Просто иногда надо зайти на домашнюю тачку в серой сети с сотового. По идее это реализуется впн-ом, но под яву я клиентов не видел, зато джабберов сколько угодно. В некотором роде jabber-сервер выполняет роль vpn-сервера. Пока наваял вот такое (переделанный bot.py из examples), но реализация конечно хромает. + хочется авторизации, цветного вывода и т.п.

#!/usr/bin/python                   
# -*- coding: koi8-r -*-            
import os                           
import sys                          
import xmpp                         
import time                         
import fcntl                        

############################ bot logic start #####################################
def messageCB(conn,mess):                                                         
    text=mess.getBody()                                                           
    user=mess.getFrom()                                                           
    user.lang='en'                                     
    reply=''                                                                      
    err_count=0                                                                   

    shell_in.write(text+"\n")
    shell_in.flush()         
    while err_count < 10:      
        time.sleep(0.1)        
        try:                   
            text=os.read(shell_out.fileno(),1024)
        except OSError: # no data available, non-blocking read
            text=''                                           
        if not text:                                          
            err_count+=1                                      
        else:                                                 
            err_count=0                                       
        reply+=text                                           
    print '======> ', reply                                   
    if reply: conn.send(xmpp.Message(mess.getFrom(),reply))   

############################# bot logic stop #####################################

def StepOn(conn):
    try:
        conn.Process(1)
    except KeyboardInterrupt: return 0
    return 1

def GoOn(conn):
    while StepOn(conn): pass

if len(sys.argv)<3:
    print "Usage: bot.py username@server.net password"
else:
    jid=xmpp.JID(sys.argv[1])
    user,server,password=jid.getNode(),jid.getDomain(),sys.argv[2]

    conn=xmpp.Client(server)#,debug=[])
    conres=conn.connect()
    if not conres:
        print "Unable to connect to server %s!"%server
        sys.exit(1)
    if conres<>'tls':
        print "Warning: unable to estabilish secure connection - TLS failed!"
    authres=conn.auth(user,password)
    if not authres:
        print "Unable to authorize on %s - check login/password."%server
        sys.exit(1)
    if authres<>'sasl':
        print "Warning: unable to perform SASL auth os %s. Old authentication method used!"%server
    conn.RegisterHandler('message',messageCB)
    conn.sendInitPresence()
    print "Bot started."
    shell_in,shell_out=os.popen4("LANG=C /bin/bash")
    # get the file's current flag settings
    fl = fcntl.fcntl(shell_out.fileno(), fcntl.F_GETFL)
    # update the file's flags to put the file into non-blocking mode.
    fcntl.fcntl(shell_out.fileno(), fcntl.F_SETFL, fl | os.O_NONBLOCK)
    GoOn(conn)

PS: здесь реализована сессионность, то есть команды выполняются последовательно в 1 шелле

LowLevel
()

Есть ли виртуалка которая нормально с usb работает?

Форум — General

Поимел усб тюнер на saa7136, дров естественно нету. Хочу поднять в виртуалке оффтоп и юзать там. Но ни последний виртуалбокс ни вмтварь не хочет с ним нормально работать -- устройство видится, пульт работает, но при попытке запустить сканирование каналов или просмотр сразу затык. Выглядит это так: во-первых перестаёт моргать индикатор активности усб в виртуалке, во-вторых останавливается весь усб-трафик на этом устройтсве, в-третьих тюнер начинает сильно греться ( что впрочем для него нормально). Причём и в гостевой и в хост-системе тюнер по прежнему присутствует.

При использовании виртуалбокса в дмесг падает
Aug 5 23:11:12 x-notebook usb 2-2: reset high speed USB device using ehci_hcd and address 14

, а при вмтвари --
Aug 9 08:36:28 x-notebook usb 1-2: New USB device found, idVendor=07ca, idProduct=b827
Aug 9 08:36:28 x-notebook usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Aug 9 08:36:28 x-notebook usb 1-2: Product: AVerTV
Aug 9 08:36:28 x-notebook usb 1-2: Manufacturer: AVerMedia
Aug 9 08:36:28 x-notebook usb 1-2: SerialNumber: 300483101416
Aug 9 08:37:06 x-notebook usb 1-2: usbfs: usb_submit_urb returned -12
Aug 9 08:37:06 x-notebook usb 1-2: usbfs: usb_submit_urb returned -12

Может можно усб подшаманить?

>>>

LowLevel
()

[компиз] тюнинг

Форум — Talks

решил понта ради настроить компих прилично. особенно прикольно смотрится вот такая переключалка рабочих столов:

http://img361.imageshack.us/img361/4613/3drj4.png

но не могу добиться нормального сглаживания. фильтр текстур стоит на "лучшее". подскажите?

>>>

LowLevel
()

[icq] инетерсно хоть кто-нибудь в этом разбирается?!!

Форум — Talks

Сижу на копыте. Решил переупорядочить контакты. Создал новую группу "коллеги", перекинул... и все эти контакты пропали. то есть копыто их показывает (неактивными), но другие клиенты этот список с сервера получить уже не могут. как если бы я их совсем удалил. с этой аськой как по минному полю -- никогда не знаешь чем обернётся то или иное действие

PS знаю, знаю, ССЗБ, джаббер и всё такое...

>>>

 

LowLevel
()

[сетевое хулиганство] удвоить все исходящие пакеты

Форум — Talks

Подробно моя проблема описана в другом разделе форума, точнее тут -- http://www.linux.org.ru/view-message.jsp?msgid=2757606. Если кратко -- дикие потери пакетов, до 30%. И вот что я подумал -- если каждый третий исходящий пакет всё равно пропадёт, почему бы не дожидаясь ретрансмита, взять да и посылать все пакеты в двойном экземпляре?! Осталось придумать как сделать на выходе точный дубликат пакета. Есть идеи?

PS: никто не в курсе, насколько это вообще говоря законно?

>>>

LowLevel
()

как уменьшить таймаут ретрансмита потеряных пакетов?

Форум — Admin

короче в последнее время меня мой пров не радует. потери под 30 процентов. всё тупит. посмотрел я типичную HTTP сессия под вирешарком и нашёл корень зла:

Трабл1: Отсылаю я например SYN пакет на установление сессии, он благополучно теряется, следующий отправляется только через 3 секунды. как бы уменьшить хотябы до секунды?

Трабл2: Ещё хлеще -- если потеряется и второй пакет, следующий будет выслан уже через 6 секунд, а если потеряется и третий, то четвёртый через 12 секунд, т.е. каждый раз таймаут увеличивается в 2 раза. Неплохо бы этот множитель убрать.

Перекопал весь sysctl, слегка помогает опция net.ipv4.tcp_syn_retries=1, но не более того. Я понимаю, что для далёких хостов уменьшение таймаутов будет приводить к лишним ретрансмитам, но хуже явно не будет. Дальше только копать исходники tcp-стека...

>>>

LowLevel
()

[радиация] а вы бы не побоялись купить такое?

Форум — Talks

http://www.inauka.ru/computer/article78102.html

для Ъ: создан прототип батареи на реакции распада трития. номинальный срок работы 5-30 лет. продукт реакции -- стабильный гелий-3.

как оптимистично заявляется в конце статьи -- "Если всё пойдёт по плану, то сверхдолговечные батареи появятся на прилавках магазинов уже через 2-3 года. "

ЗЫ не пинать если уже было

>>>

 

LowLevel
()

милиционеров поздравляют с днём милиции, пожарников — с днём пожарного

Форум — Talks

а с чем друг-друга поздравляют люди в день дурака? я лично получил два поздравления.

>>>

LowLevel
()

ещё вебкамера

Форум — Talks

http://bansyo.mydns.jp/CgiStart?page=Single&Language=0

виден дворик в японии, иногда там собираются гопники. камеру можно крутить

>>>

LowLevel
()

срочно нужна машина времени с ЛОРа

Форум — Talks

у одного моего хорошего приятеля послезавтра день рождения. у него всё есть, и я не знаю что ему подарить. единственное что он просил -- машину времени с ЛОРа. мож кто продаст?

>>>

LowLevel
()

выкладываю скрипт, отсылка русских sms на nokia n70

Форум — Development

выложить сиё достаточно банальное творение подвигла несколько замороченая 
система отсылки смс в нокии -- набор команд сильно кастрирован, есть пара неочевидных 
моментов, заставить работать с ней какой-либо софт мне так и не удалось -- 
промучился день, надеюсь облегчить труд грядущих =)

в частности обращает внимание 'AT+CSMP=17,167,0,8', отсутствие +CMGL и полное отсутствие
работы с addrbook. режим PDU тоже завести не удалось.

#!/bin/bash

phone=$1;
mess=$2;

phone="`echo $phone|sed 's/^8/+7/'`"

if [ "`echo -n $mess|wc -m`" -gt "70" ]; then echo "Too long"; exit 1; fi
mess=`echo -n "$mess" | iconv -t UCS-2BE|xxd -p -c 255 -u|xargs|sed 's/[^0-9a-f]//ig'`;


chat -e -t 10 '' 'ATZ&F' 'OK' 'AT+CMGF=1' 'OK' 'AT+CSMP=17,167,0,8' 'OK' \
'AT+CSCA="+79139869990"' 'OK' 'AT+CSCS=?' 'OK' 'AT+CSCS="UCS2"' 'OK' \
"AT+CMGS=\"$phone\"" '> ' "$mess" '> ' '^z' 'OK' < /dev/rfcomm0 > /dev/rfcomm0


PS: +79139869990 -- номер смс центра, теоретически должен браться из настроек телефона

PPS: надеюсь кому нибудь пригодится. сейчас думаю как это прикрутить к kaddrbook

>>>

LowLevel
()

то ли я туплю, то ли одно из двух... модем в nokia

Форум — General

есть nokia n70. модем в упор ничего не понимает кроме AT. делаю раз:

$sudo hcitool scan
Scanning ...
00:17:4B:xx:xx:xx YaCtulhu!

делаю два:
$sudo rfcomm bind /dev/rfcomm0 00:17:4B:xx:xx:xx

делаю три:
$ chat -e '' 'AT' 'OK' </dev/rfcomm0 >/dev/rfcomm0

OK

$ chat -e '' 'ATZ' 'OK' </dev/rfcomm0 >/dev/rfcomm0

ERROR

в миникоме то же самое. Вопрос: что это может быть и можно ли как-нибудь детализировать логи?

>>>

LowLevel
()

у меня у одного копыту глючит?

Форум — Talks

глюкнуло копыто, все контакты стали "ожидание авторизации". пытаюсь зацепиться симом с игнорирование авторизации -- контакты просто не в сети. это у меня или опять протокол сломали?

>>>

LowLevel
()

кто-нибудь в PPP/LCP шарит?

Форум — General

такая трабла, pppd не выдаёт адреса. на мой запрос выдаёт 0.0.0.0, потом рубит. 
модем teltonika pci g10 (он же PM1000). 
на билайновскую симку врубает с первого раза. 
эта симка в сименсе тоже работает на ура.

вот здесь идёт запрос адреса, в ответ -- нули. отключать компрессию пробовал.

sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [LCP EchoRep id=0x0 magic=0xa356ab47]
rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15]
rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0>]

полный лог:

# pppd /dev/ttyS4 call moto.mts debug
-MTS-
ATZ
OK
ATH
OK
AT+CGATT=1
OK
AT
OK
AT+CGDCONT=1,"IP","internet.mts.ru"
OK
ATDT*99***1#
CONNECT
Serial connection established.
using channel 24
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS4
sent [LCP ConfReq id=0x1 <asyncmap 0x20a0000> <magic 0x1b626418> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xa356ab47> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xa356ab47> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x20a0000> <magic 0x1b626418> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x1b626418]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [LCP EchoRep id=0x0 magic=0xa356ab47]
rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15]
rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
sent [IPCP ConfRej id=0x1 <addr 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <addrs 0.0.0.0 0.0.0.0>]
rcvd [LCP TermReq id=0x3 "User request"]
LCP terminated by peer (User request)
sent [LCP TermAck id=0x3]
Connection terminated.
disconnect script failed
Modem hangup
epc2:~ # cat /etc/ppp/chatscripts/moto.mts-connect-chat
ABORT           "NO CARRIER"
ABORT           ERROR
ABORT           BUSY
SAY             "-MTS-\n"
TIMEOUT         8
""              ATZ
OK              ATH
OK              AT+CGATT=1
OK              AT
OK              AT+CGDCONT=1,"IP","internet.mts.ru"
OK              ATDT*99***1#
CONNECT         '\d\c'
SAY             "\n"



# cat /etc/ppp/peers/moto.mts
name mts
115200
asyncmap 20A0000
escape FF
defaultroute
replacedefaultroute
nodetach
mtu 1340
crtscts
noipdefault
ipcp-accept-local
ipcp-accept-remote
usepeerdns
lcp-echo-interval 5
lcp-echo-failure 5
lock
connect "/usr/sbin/chat -V -f /etc/ppp/chatscripts/moto.mts-connect-chat"
disconnect "/usr/sbin/chat -f /etc/ppp/chatscripts/common-disconnect-chat"

>>>

LowLevel
()

acer 5520, hibernate, не находит раздел

Форум — General

спасите мой комп, я его с этим засыпанием уже до второго инфаркта, в смысле --rebuild-tree довёл. трабл в следующем. засыпает нормально -- пробегают проценты, скидывает образ в своп (в свопе на некотором отдалении от начала появляется сигнатура SWAPSPACE2ULSUSPEND, сам своп при следующей загрузке не распознаётся). при загрузке (если не указывать опции resume) пишет:

[ 9.244000] Attempting manual resume
[ 9.244000] swsusp: Resume From Partition 8:5 // это мой своп на sda5
[ 9.244000] PM: Checking swsusp image.
[ 9.244000] PM: Resume from disk failed.

если указать resume=/dev/sda5 (или resume=swap:/dev/sda5) пишет

swsusp: "error -6 check for resume file"

потом нормально грузится и выдаёт кучу transaction replayed.

пробовал и по /dev/sda5 и по UUID. в норме и с сингла. и ещё. при dpkg-reconfigure uswsusp пересобирает initrd. похоже трабл именно там. как ещё проверить?

>>>

LowLevel
()

поздравьте меня — подключил анлим

Форум — Talks

наконец и до нашей деревни (Барнаул) добрался приличный анлим. 256кбит/с за 400р. после дня использования -- вроде честные 32 килобайта, без обмана. я рад =)

>>>

LowLevel
()

как отключить питание конкретного usb устройства?

Форум — General

subj

копал /sys/bus/usb/.../power/state, ноль реакции

>>>

LowLevel
()

RSS подписка на новые темы