LINUX.ORG.RU

Сообщения Dennis7

 

Палец->Программа->Ядро->result

Всем привет! Заболел... Всякая зараза «ходит» по планете... Градусника в доме нет (пипец!!!, модераторы сорри). Озадачился проблемой - вот было бы классно, если бы можно было бы поднести палец (или другую часть человеческого тела) к некоторому считывателю... А он тебе в ответ - «Ваша температура - 36.6 градусов по Цельсию». А еще, было бы вообще класс, сделать такой сайт, который определяет температуру части тела, приложенного к девайсу (мышка, «клава», или что-то еще...) И в зависимости от температуры части тела, прописать те или иные средства лечения... Хотя, конечно, все это весьма индивидуально. Аналогов в рунете не нашел, хотя возможно они и есть....

Аппаратно (можно через USB, но нужен датчик, возможно основанные на термопаре...) и программно на локальном компе под Линукосм эта задача вполне решаема (сам могу написать код), но вот как вынести её в инет...

Какие мысли, господа??? Паранойю не предлагать... )))

Перемещено JB из Development

Dennis7
()

Управление «К». Миф или реальность?

Is big brother watching you?

Dennis7
()

На чём лучше писать сценарии загрузки ОС Linux...?

ОС - Embedded Linux Архитектура - ARM

Хочется как-нибудь ускорить работу сценариев загрузки. Сейчас они написаны на bash (может быть не совсем корректно выразился...). Хотелось бы узнать, а что если всякие bash-скрипты в /etc/init.d/rc* поменять на например Perl-скрипты, или на Питон, или на еще что-нибудь? Будет ли выигрышь в скорости загрузки? А может быть вообще обратить внимание на какую-нибудь systemd систему? Или вообще, взять и написать свой собственный init. Положить его в /sbin/ и всё.

Спасибо.

Dennis7
()

DVD & Mandriva

Всем привет! Купил сейчас ДВД-диск с фильмом, а диск не читается. lindvd никак не реагирует на него. Можно ли как-нибудь еще проверить читабельный этот диск или нет?

ОС - Mandriva 2008.0 (знаю, что старьё, но для программинга еще пойдет) lindvd версии 1.2.5 KDE - 3.5 (тоже старьё конечно, но я в основном пользуюсь konsole, vim, gcc, make, ctags...)

Другие диски читает.

Заранее спасибо!

Dennis7
()

Чтение файла по рассписанию

Всем привет!
Народ, подскажите плиз, быть может есть на свете такая библиотека или алгоритм, который бы мог мне помочь.
Задача:
Есть файл, в котором указано в какое время читать данные из какого файла. Формат примерно такой:

12:10:05 readme1.txt
13:06:07 readme2.txt
14 readme3.txt
...
...

Нужно чтобы файл readme1.txt читался именно в 12:10:05 каждые сутки, ни секундой раньше, ни секундой позже и т.д.
Я написал уже свой демон на Си, но мне кажется это какой-то «костыль».
Я из юзерспейс постоянно проверяю не наступило ли время читать из следующего файла. Хорошо было бы сделать, что-то по технологии прерываний, если не наступило время читать из следующего файла, то процесс спит, а если наступило - то ему приходит сигнал (прерывание) от таймера или другого процесса, что пора читать данные из след. файла.

Время чтения очень критично! Можно наверно сделать связку: ядро с прерываниями от таймера - процесс в юзерспейс, но хочется чего-нибудь полегче.

Вот как это по умному сделать?

Всем заранее спасибо!

Dennis7
()

Как «поймать» выключение компа?

Всем привет! Как отловить что комп выключился. Нужно, чтобы он давал знать о совем выключении всегда, то есть, не важно выключают ли его с помощью halt или shutdown или просто питание вырубили... Нужно, чтобы комп посылал бы по сети определенное сообщение на сервак. Как это сделать? При хальте, при ребуте, при шатдуне я уже знаю как это сделать, а как сделать это при внезапном отключении питания???

Заранее спасибо!

Dennis7
()

isp1760 для PXA320

Всем привет!
Никак не могу добиться успешной работы высокоскоростного USB-хоста isp1760 для платы Toradex Colibri PXA320.
Сам хост интегрирован в несущую плату.
В дереве исходников ядра есть драйвер для этого хоста - drivers/usb/host/isp1760-if.c и drivers/usb/host/isp1760-hcd.c.
Ядро 2.6.31.
В этом драйвере есть структуры данных и методы работы с ними для самого драйвера, а не для устройства. Объявляю и регистрирую устройство так:
В файле drivers/usb/host/isp1760-if.c:
static struct resource pxa3xx_resource_isp1760[] = {
[0] = {
.start = 0x14000000,
.end = 0x1403ffff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = IRQ_GPIO0, //
.end = IRQ_GPIO0,
.flags = IORESOURCE_IRQ,
},
};
static struct isp1760_platform_data isp1760_priv = {
.is_isp1760 = 1,
//.port1_disable = 0,
.bus_width_16 = 1,
.port1_otg = 0,
.analog_oc = 0,
.dack_polarity_high = 0,
.dreq_polarity_high = 0,
};
static struct platform_device isp1760_plat_device = {
.name = «isp1760»,
.id = 0,
.dev = {
//.dma_mask = DMA_BIT_MASK(32),
//.coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &isp1760_priv,
},
.num_resources = ARRAY_SIZE(pxa3xx_resource_isp1760),
.resource = pxa3xx_resource_isp1760,
};
...
А затем:
...
platform_device_register(&isp1760_plat_device);
...
При загрузке модуля dmesg выдает:
isp1760 isp1760.0: NXP ISP1760 USB Host Controller
[ 216.279147] drivers/usb/core/inode.c: creating file 'devices'
[ 216.279403] drivers/usb/core/inode.c: creating file '001'
[ 216.284442] isp1760 isp1760.0: new USB bus registered, assigned bus number 1
[ 216.488327] isp1760 isp1760.0: bus width: 32, oc: digital
[ 216.512106] isp1760 isp1760.0: irq 8, io mem 0x14000000
[ 216.515753] isp1760 isp1760.0: USB ISP 1761 HW rev. 1 started
[ 216.519853] usb usb1: default language 0x0409
[ 216.520321] usb usb1: udev 1, busnum 1, minor = 0
[ 216.520480] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 216.524267] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 216.527970] usb usb1: Product: NXP ISP1760 USB Host Controller
[ 216.531623] usb usb1: Manufacturer: Linux 2.6.31 isp1760-hcd
[ 216.535297] usb usb1: SerialNumber: isp1760.0
[ 216.540427] usb usb1: uevent
[ 216.544939] usb usb1: usb_probe_device
[ 216.545098] usb usb1: configuration #1 chosen from 1 choice
[ 216.549040] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[ 216.550166] usb 1-0:1.0: uevent
[ 216.554646] hub 1-0:1.0: usb_probe_interface
[ 216.554812] hub 1-0:1.0: usb_probe_interface - got id
[ 216.554993] hub 1-0:1.0: USB hub found
[ 216.565746] hub 1-0:1.0: 1 port detected
[ 216.569189] hub 1-0:1.0: standalone hub
[ 216.569320] hub 1-0:1.0: individual port power switching
[ 216.569496] hub 1-0:1.0: individual port over-current protection
[ 216.569695] hub 1-0:1.0: power on to power good time: 20ms
[ 216.573437] hub 1-0:1.0: local power source is good
[ 216.573639] hub 1-0:1.0: enabling power on all ports
[ 216.582106] drivers/usb/core/inode.c: creating file '001'
[ 216.582898] ISP1760 USB device initialised
[ 216.677331] hub 1-0:1.0: port 1: status 0501 change 0001
[ 216.773951] hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
[ 216.777312] hub 1-0:1.0: port 1, status 0501, change 0000, 480 Mb/s
[ 216.836833] port 1 high speed
[ 288.596248] usb 1-1: new high speed USB device using isp1760 and address 5
[ 293.593725] usb 1-1: khubd timed out on ep0out len=0/0
[ 298.803713] usb 1-1: khubd timed out on ep0out len=0/0
[ 299.013654] usb 1-1: device not accepting address 5, error -110
[ 299.019073] hub 1-0:1.0: unable to enumerate USB device on port 1

В /proc/interrupts нет ниодного прерывания от хоста. Инициализацию самого хоста и шины GPIO делал по даташиту. Смотрели анализатором на GPIO0 (та «нога», на которой должен быть сигнал - фронт уходит вниз, но не возвращается)
Уважаемые, как «поймать» прерывание от этого хоста? И вообще правильно ли я все делаю?
Спасибо

Dennis7
()

mplayer: вывод

Всем привет.
Вопрос дурацкий, но все-таки... Никак не могу найти ответ. Ткните носом. Что означает вывод mplayer'а?

Например:
MPlayer 1.0rc2.atmel.1-4.2.4 (C) 2000-2007 MPlayer Team
CPU: ARM
[aviheader] Video stream found, -vid 0
AVI: No audio stream found -> no sound.
VIDEO: [DIVX] 320x240 24bpp 25.000 fps 2085.1 kbps (254.5 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Audio: no sound
Starting playback...
[mpeg4 @ 0x47a208]looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag
VDec: vo config request - 320 x 240 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x47752c]No accelerated colorspace conversion found
[swscaler @ 0x47752c]SwScaler: using unscaled yuv420p -> bgr565 special converter
VO: [fbdev] 320x240 => 320x240 BGR 16-bit
V: 1.6 42/ 42 32% 5% 0.0% 0 0

Где можно почитать об этом? Особенно интересует последняя строка «V: 1.6 42/ 42 32% 5% 0.0% 0 0»

Заранее спасибо!

Dennis7
()

[ARM][uClibc] Cannot resolve symbol 'open64'

Всем здравствуйте!

Собственно...

Собрал один, нужный для меня, набор утилит под архитектуру ARM. GCC - 4.2.4, uClibc - 0.9.30.1.

На ARM-компьютере утилиты не запускается, а сообщает о том, что Cannot resolve symbol 'open64' и Cannot resolve symbol 'readdir64'.

Разве uClibc не поддерживает эти функции (или символы)???

Поискал в /lib:
# find -name «*» | xargs grep -E «readdir64»
Binary file ./libc-2.3.6.so matches
Binary file ./libc.so.6 matches
#nm libc-2.3.6.so | grep readdir64
00087c6c t __readdir64
00087e4c t __readdir64_r
00087c6c T readdir64@@GLIBC_2.4
00087e4c T readdir64_r@@GLIBC_2.4
#nm libc-2.3.6.so | grep open64
000588bc t _IO_fopen64
000acf00 t __GI___open64
000acf00 t __libc_open64
000acf00 W __open64
000588bc W fopen64
0005f120 T freopen64
000acf00 W open64
....

Вроде бы все есть. Куда копать? И можно ли добавить поддержку этих функций в uClibc, если их там нет(в чем я очень сильно сомневаюсь конечно). Буду всем очень признателен.

Спасибо

 ,

Dennis7
()

Программа для определения скрости передачи данных по сети

Всем привет.

Есть ли такая программа для линукс?

Дано:

Локальная сеть. Есть два хоста. Нужно определить скорость передачи данных (больших по размеру) по сети.

Если даи есть, то ссылочку хотелось бы.

Спасибо

Dennis7
()

Как найти адерс регистров ввода/вывода сетевого адаптера?

Всем привет.

Конфигурация: Компьютерный модуль - Toradex Colibri PXA320 (ARM, XScale). OC - embedded linux.

По идее, чтобы получить доступ к регистрам сетевого адаптера необходимо «отмапить» их в память, используя функцию ioremap(). Чтобы получить физический адрес I/O регистров используется функция platform_get_resource(), которая возвращает структуру resource с двумя полями: start и end. Оба поля - физические адреса. Берутся эти адреса из файла «определения» платы (не ручаюсь за точный перевод выражения board definition file). Они там определены как #define PXA3xx_CS2_PHYS (0x10000000). В моем случае это arch/arm/mach-pxa/colibri-pxa320.c.

Когда стартует ядро, то система зависает как раз во время инициализации сетевого адаптера, а именно во время обращения по этому физ. адресу (поле start структуры resource).

Вопрос: можно ли как-нибудь «спросить» плату, где (по каким адресам) находится регистры сетевого адаптера?

Спасибо.

Dennis7
()

Кто ставил u-boot на PXA320 или на другую ARM платформу?

Вопрос: как заставить работать сетевую подсистему. Необходима загрузка по TFTP.
Сделал все как написано в мануалах.
Если CONFIG_NET_MULTI выключить, u-boot виснет при первой же «сетевой» команде (например ping). Если CONFIG_NET_MULTI включить, то u-boot пишет «No ethernet found...». Драйверы для сетевого адаптера, в моем случае AX88796, есть.

Может кто встречался с этим?
Спасибо.

Dennis7
()

C/C++, Bash, Perl вот и все, что нужно для программированния в Линукс?

Есть другие мнения.

Администрируя Linux, а затем и разрабатывая ПО под эту ОС, мне кажется что большего и не надо.

Есть другие мнения??? Если можно обоснованные.

Dennis7
()

На что повлияет изменение IRQ?

Добрый день, уважаемые!

Прошу строго не судить за быть может нубский вопрос. Однако хочется разобраться. Есть некое устройство, у него есть IRQ равное ... ну пусть будет 100. На что повлияет изменение этого номера? Что поменяется если этому устройству присвоить (заведомо свободный конечно) IRQ=75? Изменится ли скорость обработки этого прерывания? И кто вообще в Linux раздает эти запросы на прерывания? Что можно почитать по этому поводу?

Заранее спасибо.

Dennis7
()

Проблема с SSH

Здравствуйте уважаемые!

Клиент никак не может соеденится с сервером.
"Общаются" они вот так:
(192.168.0.57 - клиент, 192.168.0.221 - сервер)

//Начало
<Source IP> <Dest IP> <Proto> <Info>
192.168.0.57 192.168.0.221 TCP 45938 > ssh [SYN] Seq=0 Len=0 MSS=1460 TSV=12222471 TSER=0 WS=6
192.168.0.221 192.168.0.57 TCP ssh > 45938 [SYN, ACK] Seq=0 Ack=1 Win=23168 Len=0 MSS=1460 TSV=4294942779 TSER=12222471 WS=2
192.168.0.57 192.168.0.221 TCP 45938 > ssh [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=12222471 TSER=4294942779
192.168.0.221 192.168.0.57 SSHv2 Server Protocol: SSH-2.0-OpenSSH_5.1\r
192.168.0.57 192.168.0.221 TCP 45938 > ssh [ACK] Seq=1 Ack=22 Win=5888 Len=0 TSV=12222505 TSER=4294942782
192.168.0.57 192.168.0.221 SSHv2 Client Protocol: SSH-2.0-OpenSSH_4.7
192.168.0.221 192.168.0.57 TCP ssh > 45938 [ACK] Seq=22 Ack=21 Win=5792 Len=0 TSV=4294942782 TSER=12222506
192.168.0.57 192.168.0.221 SSHv2 Client: Key Exchange Init
192.168.0.221 192.168.0.57 SSHv2 Server: Key Exchange Init
192.168.0.57 192.168.0.221 TCP 45938 > ssh [ACK] Seq=813 Ack=806 Win=7424 Len=0 TSV=12222549 TSER=4294942783
192.168.0.57 192.168.0.221 SSHv2 [TCP Retransmission] Client: Key Exchange Init
192.168.0.57 192.168.0.221 SSHv2 [TCP Retransmission] Client: Key Exchange Init
192.168.0.57 192.168.0.221 SSHv2 [TCP Retransmission] Client: Key Exchange Init
192.168.0.57 192.168.0.221 SSHv2 [TCP Retransmission] Encrypted request packet len=792
192.168.0.57 192.168.0.221 SSHv2 [TCP Retransmission] Encrypted request packet len=792
192.168.0.57 192.168.0.221 SSHv2 [TCP Retransmission] Encrypted request packet len=792
192.168.0.57 192.168.0.221 SSHv2 [TCP Retransmission] Encrypted request packet len=792
//Конец

В чем дело? Неужели в различных версиях OpenSSH клиента и сервера?
Разрыв в проводе, или проблемы со свичем исключены.
Заранее спасибо.

Dennis7
()

ARM. Toradex Colibri PXA320. Запуск «своих» программ

Добрый день, уважаемые!

Поставил я Linux на плату Toradex Colibri PXA320.
Теперь, для начала, надо бы написать простенькую программку, типа "Hello, World!!!". Но не тут то было.
При запуске возникает ошибка:

#./test
-sh: ./test: not found

Хотя файл существует, все права на запуск есть.
Корневая файловая система собрана с помощью busybox (может дело в ней???) и смонтирована в систему с SD карты.
Программу компилировал темже компилятором, что и ядро...

Даже пока не знаю куда копать. Буду очень признателен если кто-нибудь что-нибудь подскажет.
Заранее спасибо!

Dennis7
()

ARM. Toradex Colibri PXA320. Ядро не загружается.

Еще раз здравствуйте, все.
Продолжаю работать над установкой Линукс на плату Toradex Colibri PXA320.
Теперь проблема вот в чем. Загрузка ядра, как я думаю, заканчивается на стадии инициализации COM-порта, а именно на строке: 'pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART'. Дальше загрузка не идет.
В чем проблема? Ниже привожу полный трейс ядра и конфиг:

trace:
Uncompressing Linux.......................................................................... ...........................
... done, booting the kernel.
<5>[ 0.000000] Linux version 2.6.31 (den@localhost) (gcc version 4.2.4) #15 Wed Sep 30 14:09:12 MSD 2009
<4>[ 0.000000] CPU: XScale-V3 based processor [69056826] revision 6 (ARMv5TE), cr=0000397f
<4>[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
<4>[ 0.000000] Machine: Toradex Colibri PXA320
<4>[ 0.000000] Memory policy: ECC disabled, Data cache writeback
<7>[ 0.000000] On node 0 totalpages: 32768
<7>[ 0.000000] free_area_init_node: node 0, pgdat c0329dbc, node_mem_map c0360000
<7>[ 0.000000] Normal zone: 256 pages used for memmap
<7>[ 0.000000] Normal zone: 0 pages reserved
<7>[ 0.000000] Normal zone: 32512 pages, LIFO batch:7
<6>[ 0.000000] RO Mode clock: 60.00MHz (inactive)
<6>[ 0.000000] Run Mode clock: 403.00MHz (*31)
<6>[ 0.000000] Turbo Mode clock: 806.00MHz (*2, active)
<6>[ 0.000000] HSIO bus clock: 208.00MHz
<4>[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
<5>[ 0.000000] Kernel command line: console ttyS0,9600n8
<4>[ 0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
<6>[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
<6>[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
<6>[ 0.000000] Memory: 128MB = 128MB total
<5>[ 0.000000] Memory: 126336KB available (2924K code, 368K data, 116K init, 0K highmem)
<6>[ 0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
<6>[ 0.000000] NR_IRQS:192
<4>[ 3.006805] Console: colour dummy device 80x30
<6>[ 3.063213] console [tty0] enabled
<6>[ 3.107296] Calibrating delay loop... 804.45 BogoMIPS (lpj=4022272)
<4>[ 3.405741] Mount-cache hash table entries: 512
<6>[ 3.463613] CPU: Testing write buffer coherency: failed, enabling work-around
<6>[ 3.555958] XScale3 L2 cache enabled.
<6>[ 3.603696] NET: Registered protocol family 16
<6>[ 3.662403] colibri_pxa3xx_init_eth(): no valid serial boot tag found, taking MAC from device
<4>[ 3.775325] bio: create slab <bio-0> at 0
<5>[ 3.827660] SCSI subsystem initialized
<6>[ 3.876026] usbcore: registered new interface driver usbfs
<6>[ 3.945179] usbcore: registered new interface driver hub
<6>[ 4.012870] usbcore: registered new device driver usb
<6>[ 4.078994] NET: Registered protocol family 2
<6>[ 4.134462] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
<6>[ 4.220330] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
<6>[ 4.308182] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
<6>[ 4.388721] TCP: Hash tables configured (established 4096 bind 4096)
<6>[ 4.468112] TCP reno registered
<6>[ 4.508956] NET: Registered protocol family 1
<4>[ 4.564843] NetWinder Floating Point Emulator V0.97 (double precision)
<6>[ 4.659903] JFFS2 version 2.2. (NAND) AX 2001-2006 Red Hat, Inc.
<6>[ 4.736786] alg: No test for stdrng (krng)
<6>[ 4.789226] io scheduler noop registered
<6>[ 4.839472] io scheduler anticipatory registered
<6>[ 4.898074] io scheduler deadline registered
<6>[ 4.952603] io scheduler cfq registered (default)
<4>[ 5.018936] Console: switching to colour frame buffer device 60x34
<6>[ 5.274240] pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART

ВСЕ!!! Дальше не грузится, на экран ничего не выводится...

Dennis7
()

ARM. Toradex Colibri PXA320. incomplete literal tree

Добрый день.
Ставлю Линукс на плату Toradex Colibri PXA320.
Ядро 2.6.30.5. Тулчейн - Crosstool-NG.

Собираю ядро: $make colibri_pxa300_defconfig, $make...

При загрузке выдает ошибку incomplete literal tree

Что за ошибка такая???

Заранее спасибо

Dennis7
()

ARM. Toradex Colibri PXA320. Дальше «Uncompressing Linux........» загрузка не идет.

Здравствуйте уважаемые. Задача: поставить линукс на плату Toradex Colibri PXA320. Ядро 2.6.30.5, тулчейн - crosstool-NG. Ввожу $make colibri_pxa300_defconfig. Дальше $make menuconfig. Включаю поддержку для PXA320 и нужные файловые системы, выхожу. Дальше $make. Ядро собирается. "Заливаю" на плату, дальше "Uncompressing Linux........" загрузка не идет.

По идее, ядро должно было паниковать, так нет корневой файловой системы.

На плате стоит стандартный загрузчик Eboot.

Куда копать, народ???

Dennis7
()

Как разрезать фильм на 2 части?

Здравствуйте все!

Подскажите пожалуйста какой программой можно разрезать фильм, ну или любой другой файл? Операционная система - Linux Mandriva 2008.

Заранее спасибо

Dennis7
()

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