LINUX.ORG.RU

Сообщения metawishmaster

 

usbnet на PL25A1 в оффтопике

Форум — General

Всем доброго вечера!
Прошу прощение за маргинальный вопрос, но стала задача организовать usbnet между хостом и армовской железкой. Нашел подходящий кабель AM-AM с микросхемкой PL25A1 посередине и в Линуксе все замечательно работает: комп и «железка» получают свои IP-шники и вообще все замечательно. Но заказчик хочет чтоб была связь с оффтопиком и, наверняка, откажется от варианта с «проксирующим» хостом на линуксе :(
Собственно, вопрос, кто-нибудь сталкивался с драйверами usbnet для оффтопика или был опыт успешного общения с host-to-host кабелями на оффтопике? То что там есть сейчас позволяет тупо переписывать файлы с одного оффтопика на другой, не создавая каких-либо сетевых устройств...

P.S. На винфаке забанили за нарушение правил, что-то про ненормативную лексику... не помню уже %)

 , ,

metawishmaster
()

GKH's review

Форум — Development

нашел у себя в почте ревью драйвера, но не уделил особого внимания, так как все и так работает и времени заниматься им не было... сейчас решил сделать все по-честному

> +static int mkopci_wait_irq(struct mkopci_device *dev)
> +{
> +     volatile unsigned long *LPCI_4C =
> +             (unsigned long *)(dev->core.lin_base[0] + 0x4C);
> +
> +     *LPCI_4C |= 0x49;
> +
> +     if (wait_event_interruptible(dev->wq, *LPCI_4C & 0x24))
> +             return -ERESTARTSYS;
> +     if (v > 1)
> +             pr_info("mkopci%d: irq received\n", dev->core.n_dev);
> +     *LPCI_4C &= ~0x40;


You can't directly access memory like this safely, please use the proper
io memory functions instead, otherwise bad things are guaranteed to
happen.


// от себя скажу, что такая фигня там с первой ревизи (еще для 2.4.x) и bad things замечены не были %)
ну ок, согласен, есть же функции io{read,write}32, в конце концов
сделал так:

static int mkopci_wait_irq(struct mkopci_device *dev)
{
    unsigned long flags, LPCI_4C;
    unsigned long *lpci_4c_addr = (unsigned long *) (dev->core.lin_base[0] + 0x4C);

    LPCI_4C = ioread32(lpci_4c_addr);
    iowrite32(LPCI_4C | 0x49, lpci_4c_addr);           //  01001001

    if (wait_event_interruptible(dev->wq, *lpci_4c_addr & 0x24)) {
        return -ERESTARTSYS;
    }    
    if (v > 1) 
        printk(KERN_INFO "mkopci%d: irq recieved\n", dev->core.n_dev);

    LPCI_4C = ioread32(lpci_4c_addr);
    iowrite32(LPCI_4C & ~0x40, lpci_4c_addr);         //  ~01000000


но что делать с wait_event_interruptible?? в смысле, все-равно в ней «неправильное» чтение остается...

 ,

metawishmaster
()

не поднимается usb0 на хосте

Форум — Development

добрый (с большой вероятностью) день! начинаю глотать ежиков с армом %)

с горем пополам поднял на девайсине usbnet

root@socfpga:~# ls /sys/class/net/
can0  eth0  lo  usb0

теперь при загрузке в консоль падает несчетное количество «dwc2 ffb40000.usb: Overcurrent change detected», забивая буфер dmesg'a
в то же время, гугл говорит, что ничего страшного... так что соответствующую строчку я закоментарил - ничего страшного, действительно, не произошло, кроме того, что от за каким-то бесом стал получать питание по usb %)

тем не менее, хоть интерфейс на девайсе появляется и поднимается, на хосте (ноуте) usb0 не поднимается :-\

не подскажете, в какую сторону копать?

 ,

metawishmaster
()

ARM: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

Форум — Development

Добрый вечер, уже неделю туплю с сабжем

скачал тулчейн, qt-everywhere, скомпилировал с таким конфигом


./configure -prefix /usr/local/qt-4.8.5-altera-soc -release -shared -nomake examples -nomake tools -nomake docs -make demos -xplatform qws/linux-arm-gnueabihf-g++ -embedded arm -little-endian -no-pch -v


подложил на девайс в каталог /usr/local/qt-4.8.5-altera-soc
добавил /usr/local/qt-4.8.5-altera-soc/lib в /etc/ld.so.conf
даже ldconfig сделал, но ни фига не пашет, свежескомпиленная прога с тем же Qt говорит "./untitled: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory"

в чем проблема? может, кто-нить сталкивался? почему он не может найти то что у него «под носом»?


P.S.

root@socfpga:~# file untitled 
untitled: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=0xb45aa65ac3e9fa4c9798234dcc46163cf8f993c8, not stripped
root@socfpga:~# file /usr/local/qt-4.8.5-altera-soc/lib/libQtGui.so.4.8.5 
/usr/local/qt-4.8.5-altera-soc/lib/libQtGui.so.4.8.5: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x54f1ca8ccad61a719eb888b0c03ffb6f82140346, not stripped
root@socfpga:~# file /usr/local/qt-4.8.5-altera-soc/lib/libQtGui.so.4     
/usr/local/qt-4.8.5-altera-soc/lib/libQtGui.so.4: symbolic link to `libQtGui.so.4.8.5'

 , ,

metawishmaster
()

SCHED_FIFO и pthread_cond_wait vs. sched_yield

Форум — Development

очередной вопрос из серии «не распарсил man», но все-таки :)

Хочу назначить одному небольшому потоку scheduling policy SCHED_FIFO. В мане написано, что поток станет в конец очереди исполнения после sched_yield, но в потоке крутится цикл, который ждет события (pthread_cond_wait). И по-идее, мы все-равно уйдем спать...
Вот я и думаю, насколько корректно забить на sched_yield в таком случае, утитывая, что таких тредов может быть несколько?

p.s. поток мониторит события на железяке

p.p.s. сенкс ин эдвэнс, там, и все такое :)

 , ,

metawishmaster
()

Blackfin buildroot: undefined reference to `_fork'

Форум — Development

Доброй ночи, товарищи!

Стала задача поставить линукс на сферический еще не попавший в мои «цепкие лапы»(с) девайс на процессоре BF537. Первой мыслью был yocto, но вспомнив сколько ежиков я наглотался пять лет назад с OE, решил попробовать BuildRoot. Тем более, что фирмой-производителем (Analog Devices) он худо-бедно поддерживается. Качал так:

git clone git://git.code.sf.net/p/adi-buildroot/code adi-buildroot-code
cd adi-buildroot-code
git checkout -b 2014R1
git submodule update --init
cd ..
git clone git://git.code.sf.net/p/adi-toolchain/blackfin adi-toolchain-blackfin
cd adi-toolchain-blackfin
git checkout -b 2014R1
git submodule update --init

Тулчейн собрался нормально, но билдрут не хочет собирать dropbear, openssh, tftpd и черт знает, что еще, используеще fork(). Вываливается с ошибкой undefined reference to `_fork'...

В гугле нашел только, что-то типа «ну да, есть такая фигня».

Вобщем, я понял, что без эксперной оценки ЛОРа не обойтись - у кого-нибудь есть опыт с этой штукой? Хелп ми плиз!!! :)

----------------- P.S. по-ходу догнал чуть-чуть - нужно vfork использовать

 ,

metawishmaster
()

netlink vs. ioctl

Форум — Development

Всем добрый вечер :)

Вот объясните мне, чем netlink лучше вызовов ioctl? Бытует мнение, что символьное устройство со «случайными» ioctl - не есть хороший дизайн драйвера - «having a character device with random ioctl()s is not really a good driver design.»

Но зато там можно легко и непринужденно получить указатель на устройство, с которым работают. Например

static long mkopci_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
    struct m_device *dev = (struct mkopci_device *)filp->private_data;

а что в случае с netlink? и там еще нужно как-то договориться о том, с каким номером общаться, в смысле, отдать в юзер-спейс значение второго параметра netlink_kernel_create... в целом, для простого драйвера это слишком, или я не прав?

 , ,

metawishmaster
()

косяк xl2tp или карточки?

Форум — Admin

Всем доброго времени суток!

Собственно говоря, проблема появилась уже давненько, но руки дошли только сейчас.

Примерно раз в неделю падает сеть (подключен к Билайну), при этом ifconfig говорит, что ничего не упало. Но исходящий трафик в моей наколенной мерялке зашкаливает за 16MBps (при том, что физически не получится больше 12-ти). Это если без нагрузки. При большом TX может упасть почти сразу, хотя сейчас, как на зло, уже 3 часа пашет. Но сейчас и TX < 3MBps.

Вот пара кусков из выводов tcpdump'a после падения:

tcpdump -i ppp0 -n -v -p

02:18:48.244381 IP (tos 0x0, ttl 64, id 58737, offset 0, flags [DF], proto UDP (17), length 210)
    M.N.P.Q.1701 > 85.21.0.163.1701:  l2tp:[](62247/27146) {IP (tos 0x0, ttl 64, id 58631, offset 0, flags [DF], proto UDP (17), length 172)
    M.N.P.Q.1701 > 85.21.0.163.1701:  l2tp:[](62247/27146) {IP (tos 0x0, ttl 64, id 58524, offset 0, flags [DF], proto UDP (17), length 134)
    M.N.P.Q.1701 > 85.21.0.163.1701:  l2tp:[](62247/27146) {IP (tos 0x0, ttl 64, id 58414, offset 0, flags [DF], proto UDP (17), length 96)
    M.N.P.Q.1701 > 85.21.0.163.1701:  l2tp:[](62247/27146) {IP (tos 0x0, ttl 64, id 58304, offset 1432, flags [none], proto UDP (17), length 58)
    M.N.P.Q > 85.21.0.163: udp}}}}

tcpdump -i eth0 -n -v -p

03:12:21.193435 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.1.41 tell 10.A.0.150, length 46
03:12:21.304985 IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 28)
    10.A.6.21 > 224.0.0.1: igmp query v2
03:12:24.558368 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:27.583964 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.30 tell 10.A.0.1, length 46
03:12:28.558336 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:32.558310 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:36.559072 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:39.361413 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:40.558242 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:44.558241 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:47.685876 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.2.58 tell 10.A.0.1, length 46
03:12:48.558212 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:52.558325 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:52.799477 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.1 (ff:ff:ff:ff:ff:ff) tell 10.A.0.36, length 46
03:12:56.558300 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.0.10 tell 10.A.0.1, length 46
03:12:57.571473 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.A.B.C7 tell 10.A.0.1, length 46

единственное, что ifconfig был снят не после падения, а до

eth0      Link encap:Ethernet  HWaddr 00:50:04:55:0e:f5  
          inet addr:10.A.B.C8  Bcast:255.255.255.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66788 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29765 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48982810 (46.7 MiB)  TX bytes:4435237 (4.2 MiB)

eth1      Link encap:Ethernet  HWaddr 00:0e:a6:3d:75:96  
          inet addr:192.168.2.6  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17640 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42042 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2730046 (2.6 MiB)  TX bytes:44887713 (42.8 MiB)
          Interrupt:22 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2955 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2955 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:315881 (308.4 KiB)  TX bytes:315881 (308.4 KiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:M.N.P.Q  P-t-P:85.21.0.163  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1456  Metric:1
          RX packets:66181 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29392 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:45503647 (43.3 MiB)  TX bytes:2874130 (2.7 MiB)

lspci:

...
02:05.0 Ethernet controller: 3Com Corporation 3c940 10/100/1000Base-T [Marvell] (rev 12)
...
02:0a.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 24)
02:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
eth0 - на карточке от Realtek

Вот и все входные данные... Никто с таким мракобесием не сталкивался?

 ,

metawishmaster
()

статический анализатор кода и linux-3.18.1

Форум — Development

ссылка на статью лежит на lkml.org, но если кто не видел: http://www.viva64.com/ru/b/0299/

 pitfalls,

metawishmaster
()

c/c++ странность с <<

Форум — Development

всю свою сознательную жизнь я думал, что оператор << НЕ ЯВЛЯЕТСЯ ЦИКЛИЧЕСКИМ, но вопрос возник когда в правильно работающей проге нашел логическую ошибку на ровном месте, сам прикол сводится к такому коду:

for (i = 0; i < 64 + 1; i++)
    printf("i = %d; x = 0x%08x\n", i, (0x1 << i));
printf("\nbut i = %d; x = 0x%08x\n", 37, (0x1 << 37));
и выводу
i = 0; x = 0x00000001
i = 1; x = 0x00000002
...
i = 30; x = 0x40000000
i = 31; x = 0x80000000
i = 32; x = 0x00000001 // !!!
i = 33; x = 0x00000002
...
i = 37; x = 0x00000020
...
i = 64; x = 0x00000001 // !!!

but i = 37; x = 0x00000000
причем, это проявляется как на gcc-4.7.2, так и на окультном MSVC 12

скажите, пожалуйста, это фича, и я что-то пропустил в K&R, или эпическая бага?

p.s. в свою очередь >> довольно православен, и значение отличное от нуля у него только при сдвиге на 0

 bitwise left shift, ,

metawishmaster
()

pci_request_region_exclusive и вывод в dmesg

Форум — Development

Здравствуйте. Появился такой вопрос, при ремаппинге памяти устройства ищу свободное место с помощью pci_request_region_exclusive. Все находит, все отлично, но если начинать с адреса 0x0, dmesg зафлуживается сообщениями типа

mkopci 0000:01:01.0: BAR 0: can't reserve [mem 0x00000300-0x0000037f]
до 0x000a0000, а если идти сверху, то никаких сообщений об ошибках. Просто зависнет (без oops'a) когда к этой памяти обратится приложение.

/proc/iomem выглядит примерно так:

00000000-00000fff : reserved
00001000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000c0000-000c7fff : Video ROM
000e4000-000fffff : reserved
...
ffb80000-ffffffff : reserved
  ffb80000-ffbfffff : INT0800:00
  ffc00000-fff7ffff : pnp 00:09
  fff80000-ffffffff : INT0800:00
100000000-1001fffff : PCI Bus 0000:03

вот и хочу спросить, можно ли прекратить зафлуживание dmesg'a, когда начинаю с младших адресов и почему мне разрешают зареквестить 0xffffff80? BUG ядра?

UPD. Первый вопрос снимается :)

 ,

metawishmaster
()

ищу удалённую работу программистом C, C++

Форум — Job

доброго времени суток!

собственно говоря, по причине потери «мобильности» разыскивается работа с удаленным графиком, но ею буду заниматься 16 часов из 24-х.
как человеку с математическим образованием, мне проще выложить тут свое резюме, а не рассказывать какой я классный :)

скажу лишь, что мне очень нравится программирование для ядра linux, но и Qt я не чураюсь :)

E-mail: sergej.bauer <друг человека> gmail.com

Проживание: Москва

Образование

  • 2007 - Московский Государственный Университет им. М.В. Ломоносова, ф-т Вычислительной Математики и Кибернетики / математик, системный программист

  • 2011 - Auriga System Programming Course Курсы по программированию для ядра Linux 2.6.x

Профессиональный опыт

  • 09.2013 - 10.2013 *IceNet * *внештатный программист* разработка библиотеки промежуточного слоя для userspace-части проэкта для карточки-носителя мезонинов.
    (самой интересной там была реализация собственного менеджера памяти устройства)
  • 11.2013 - 03.2014 *IceNet * *внештатный программист* разработка библиотеки промежуточного слоя и модуля оконечного устройства для системы управления магистральным интерфейсом последовательных электронных модулей (C++/Qt) Достижения: проект успешно завершен.

  • 11.2012 - 01.2013 *IceNet * *внештатный программист* разработка клиент-серверной системы тестирования сети (C++/Qt) Достижения: проект успешно завершен.

  • 02.2012 - 04.2012 *IceNet * *внештатный программист* разработка драйвера платы МВ11.xx для Linux ядер серий 2.6+/3.x Достижения: проект успешно завершен.

  • 06.2011 - 08.2011 * freelance * создание ash-скрипта для шифрования файловой системы на устройстве Nokia N900 Достижения: проект успешно завершен.

  • 05.2010 - 09.2011 * freelance * создание пользовательской части прошивки для электронной книги Ritmix RBK-500 Достижения: проект успешно завершен.

  • 02.2008 - 12.2008 *Acronis * *программист-разработчик*
    обязаности: испраление ошибок в корпоративных продуктах по заявкам тестировщиков и корпоративных клиентов (EchoStar, Boeing, etc...)
    из основных достижений:
    • Acronis BootMedia теперь может работать с bluetooth-мышками;
    • Acronis TrueImage Agent for Linux не «теряет» пропущенные задания;
    • Acronis * for Linux (включая BootMedia) могут дифференцировать SATA/PATA жесткие диски;
    • много прочего, индивидуалього для каждого корпоративного клиента.
  • 09.2006 - 12.2006 *IceNet * *внештатный программист* разработка драйвера платы МВ11.01 для linux-2.4 и адаптация библиотеки времени исполнения. Достижения: проект /*успешно*/ завершен.

  • 07.2005 - 02.2006 *IceNet * *внештатный программист* разработка RTX(Real-Time Extension for Windows)-драйвера для платы модуля канала обмена МВ11.01, разработаной НТЦ «Модуль» для наземных комплексов отладки бортовых сетей МКС. А также, адаптация для RTX библиотеки времени исполнения RTL2 для использования этого драйвера. Достижения: проект успешно завершен. так же разработка библиотеки для работы с HTTP-запросами для Anti-Leech Достижения: проект успешно завершен.

Прочие навыки/проекты:

  • Perl (CGI-скрипты и скрипты для администрирования ОС)
  • Assembler x86(*)
  • Pascal (*)
  • всякая всячина для личных нужд
    • shell for Unix (*)
    • Интерпретатор SQL с простой реляционной СУБД. Архитектура клиент-сервер, взаимодействие происходит через сокеты (*)
    • Реализация трассировщика лучей с использованием карт фотонного освещения /* ray-tracer with photon maps */ (*)
    • поисковик по samba и ftp, web-интерфейс, результат поиска хранится в базе данных;
    • lumeter (клиент и сервер)
      • «серверы» смотрят за скоростью на текущиих сетевых интерфейсах и броадкастят их по своей подсети
      • клиенты (Qt4) показывают ip, имя интерфейса и текущую скорость

        ну интересно мне, что с моей «сеткой» творится :)
    • DICOM directory viewer (Qt4)
    (*) программа учебного плана Факультета ВМиК МГУ;

 , , , ,

metawishmaster
()

kernel patch for Intel Ultimate N-6300

Форум — Development

Здравствуйте, совственно говоря, есть сабжевая карточка, которая на частоте 5GHz (на 2.4 все ок) вылетает (не сразу, в среднем раз в 2-6 часов) с криком «fail to flush all tx fifo queues» + 40 строк о том как ей нехорошо. И есть небольшой патчик с которым она продержалась уже 1.5 дня. Между тем, наверняка не со всеми карточками дела обстоят так паршиво, и вполне может быть, что этот патч внесет кому-то регрессию. Но я не считаю правильным патчить каждое новое ядро, поэтому хочу внести патч в дерево ядра, но 3 «но»:
1. хотелось бы удостовериться, что патч не принесет плохих ништяков, если карточка не N6300
2. кому (Линусу или Грегу) послать патч?
3. и как блин это сделать? %) тупо написать на lkml.org?

ну так вот, ищутся добрые самаритяне с wifi-карточками интела в их ноутбуках и желающие помочь протестировать патч :) (естественно, упоминание в списке тестеров гарантируется)
сам патчик успешно накладывается на 3.{12,13,14} (на более старых не пробовал)
~/devel/linux-3.14-rc1$ patch -p0 < iwlwifi.patch

--- drivers/net/wireless/iwlwifi/dvm/tx.c-orig  2014-02-06 08:48:31.635741095 +0400
+++ drivers/net/wireless/iwlwifi/dvm/tx.c       2014-02-06 09:10:15.491772083 +0400
@@ -1185,13 +1185,6 @@
                        next_reclaimed = ssn;
                }
 
-               if (tid != IWL_TID_NON_QOS) {
-                       priv->tid_data[sta_id][tid].next_reclaimed =
-                               next_reclaimed;
-                       IWL_DEBUG_TX_REPLY(priv, "Next reclaimed packet:%d\n",
-                                                 next_reclaimed);
-               }
-
                iwl_trans_reclaim(priv->trans, txq_id, ssn, &skbs);
 
                iwlagn_check_ratid_empty(priv, sta_id, tid);
@@ -1239,8 +1232,11 @@
                                info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
                        iwlagn_set_tx_status(priv, IEEE80211_SKB_CB(skb),
                                     tx_resp);
-                       if (!is_agg)
+                       if (!is_agg) {
                                iwlagn_non_agg_tx_status(priv, ctx, hdr->addr1);
+                               if (status == TX_STATUS_FAIL_FIFO_FLUSHED)
+                                       next_reclaimed = ((hdr->seq_ctrl + 0x10) & IEEE80211_SCTL_SEQ) >> 4;
+                       }
 
                        freed++;
                }
metawishmaster
()

на ядрах > 3.11.9 wi-fi 802.11N стал отрубаться с завидной регулярностью

Форум — General

дааавно не было проблем с wi-fi, но к хорошему привыкать не стОит


[ 3117.894326] wlan0: deauthenticated from 60:a4:4c:8e:9b:7c (Reason: 7)
[ 3117.984388] cfg80211: Calling CRDA to update world regulatory domain
[ 3117.987936] cfg80211: World regulatory domain updated:
[ 3117.987941] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 3117.987944] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 3117.987946] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 3117.987948] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 3117.987950] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 3117.987953] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 3121.266829] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S
[ 3121.267031] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0
[ 3121.353092] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 3122.203343] e1000e 0000:00:19.0: irq 43 for MSI/MSI-X
[ 3122.304776] e1000e 0000:00:19.0: irq 43 for MSI/MSI-X
[ 3122.305034] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 3124.550465] iwlwifi 0000:03:00.0: L1 Enabled; Disabling L0S
[ 3124.550663] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0
[ 3124.634111] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 3163.177686] CIFS VFS: Server 192.168.2.6 has not responded in 120 seconds. Reconnecting...



lspci: 03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)

дело происходит на частоте 5GHz, а 2.4 кое-как работает...
у меня у одного такая фигня с новыми ядрами?

metawishmaster
()

«кастомное» редактирование поля в qtdesigner

Форум — Development

есть кастомный виджет (от QLineEdit, не spinbox), у него поле, которое, по логике, должно принимать значения 4, 8, 12,...32
подскажите, плиз, как сделать чтобы в дезайнере нельзя было задать другого? пока там просто spinbox с шагом 1

 custom widgets, ,

metawishmaster
()

поле своего виджета в qt5

Форум — Development

пытаюсь добавить в кастомный виджет для qt поле, но дезайнер ругается что The property «m_weight» of type 37 (uchar) is not supported yet!

в xml возвращаю
"..."
«<property name=\„weight\“>\n»
" <m_weight>32</m_weight>"
«</property>»
"..."

чем может быть прикол?

UPD: поле в классе присутствует, наряду с «Q_PROPERTY(unsigned char m_weight READ weight WRITE setWeight)»

потому что unsigned char, с int все ok: «Q_PROPERTY(int m_weight READ weight WRITE setWeight)»[br

metawishmaster
()

падает книжный пример

Форум — Development

помогите завести пример, взятый из книжки Олега Цилюрика. Падает на pci_map_single и dma_pool_create, что с моей точки зрения не удивительно - указатели на pci_dev передаются нулевые, но dma_alloc_coherent это проглатывает...

#include <linux/module.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/dma-mapping.h>
#include <linux/dmapool.h>

#define pool_size 1024
#define pool_align 8
// int direction = PCI_DMA_TODEVICE ;
// int direction = PCI_DMA_FROMDEVICE ;
static int direction = PCI_DMA_BIDIRECTIONAL;
//int direction = PCI_DMA_NONE;
static void output(char *kbuf, dma_addr_t handle, size_t size, char *string);
static int __init my_init(void)
{
    char *kbuf;
    dma_addr_t handle;
    size_t size = (10 * PAGE_SIZE);
    struct dma_pool *mypool;

/* dma_alloc_coherent method */
    kbuf = dma_alloc_coherent(NULL, size, &handle, GFP_KERNEL);
    output(kbuf, handle, size, "This is the dma_alloc_coherent() string");
    dma_free_coherent(NULL, size, kbuf, handle);
    goto out;

/* dma_map/unmap_single */
    kbuf = kzalloc(size, GFP_KERNEL);
    if (!kbuf) {
        printk("error: no memory\n");
        goto out;
    }   
    handle = pci_map_single(NULL, kbuf, size, direction);
    if(dma_mapping_error(NULL, handle)) {
        printk("dma_map_single error");
        kfree(kbuf);
    }
    output( kbuf, handle, size, "This is the dma_map_single() string" );
    dma_unmap_single( NULL, handle, size, direction );
    kfree( kbuf );

/* dma_pool method */
    mypool = dma_pool_create("mypool", NULL, pool_size, pool_align, 0);
    kbuf = dma_pool_alloc(mypool, GFP_KERNEL, &handle);
    output(kbuf, handle, size, "This is the dma_pool_alloc() string");
    dma_pool_free(mypool, kbuf, handle);
    dma_pool_destroy(mypool);
    goto out;

out:
    return -1;
}

module_init(my_init);
MODULE_AUTHOR("Jerry Cooperstein");
MODULE_AUTHOR("Oleg Tsiliuric");
MODULE_DESCRIPTION("LDD:1.0 s_23/lab1_dma.c");
MODULE_LICENSE("GPL v2");
#define MARK "=> "
static void output(char *kbuf, dma_addr_t handle, size_t size, char *string)
{
    unsigned long long diff;
    diff = (unsigned long long)kbuf - handle;
    printk(KERN_INFO MARK "kbuf=%p, handle=%p, size = %d\n", kbuf,
           (void *)(unsigned long long)handle, (int)size);
    printk(KERN_INFO MARK
           "(kbuf-handle)= %p, %llu, PAGE_OFFSET=%lu, compare=%llu\n",
           (void *)diff, diff, PAGE_OFFSET, diff - PAGE_OFFSET);
    strcpy(kbuf, string);
    printk(KERN_INFO MARK "string written was, %s\n", kbuf);
}

upd: ядро 3.9/3.10

 ,

metawishmaster
()

можно ли восстановить /dev/sda после fdisk'a?

Форум — General

всем доброго времени суток!

пишу из горящего танка - я только что проявил просто верх идиотизма решив после очередной перезагрузки поудалять все партишины с флешки, которая до ребута была sdb, не заметив, что после него она стала sda. таким образом снес системный партишн и хомяк. Ядро еще не преречитало таблицу разделов и вот что сейчас имеется:

$ cat /proc/partitions 
major minor  #blocks  name

   8       16  244198584 sdb
   8       17   15733760 sdb1
   8       19  228460365 sdb3
  11        0    1048575 sr0
   8        0    7903232 sda
   8        1    1049584 sda1
   8        2    6853632 sda2
$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x28c528d0

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       30401   244196001   83  Linux

Можно как-то вернуть все обратно??

P.S. да, я просто феерический ССЗБ :(

 

metawishmaster
()

передача данных по UDP №2

Форум — Development

Доброе время суток всем :)

у меня вопрос все про те же потеряные пакетики UDP, но спрашиваю с целью не узнать как определить дубли, а с целью узнать при каких обстоятельствах они (дублирующиеся пакеты) чаще всего возникают? и как можно создать условия для их появления?

сделал «детектор», который работает с «принудительными дублями» (т.е. тупо посылаю пакет дважды, если rand < Nexpected) поэтому взываю к tailgunner, как к человеку имеющему практический опыт :)

P.S. у меня что вайфайный флуд, что ethernet'ный не добивается нужного «результата». правда и скорости там... по вайфаю прыгает от 9-ти mbps до 170-ти, а по ethernet ~206mbps

metawishmaster
()

не отрабатывает rc.local

Форум — General

Добрый день, ЛОР

у меня уж давненько организовалась эта проблемка, но все думал, что получиться у самого починить/нагуглить

вобщем, при старте ситемы (Debian Squeeze) перестал отрабатывать rc.local
система скриптов насколько я вижу не сильно нарушена:


sbauer@metabook ~$ for i in `seq 1 6`; do ll /etc/rc${i}.d/S21rc.local; done
ls: cannot access /etc/rc1.d/S21rc.local: No such file or directory
lrwxrwxrwx 1 root root 18 Jan 4 08:46 /etc/rc2.d/S21rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root 18 Jan 4 08:46 /etc/rc3.d/S21rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root 18 Jan 4 08:46 /etc/rc4.d/S21rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root 18 Jan 4 08:46 /etc/rc5.d/S21rc.local -> ../init.d/rc.local
ls: cannot access /etc/rc6.d/S21rc.local: No such file or directory
sbauer@metabook ~$



система сейчас побита только на тему того, что пакетики из stable перемешаны с репозиторием squeeze-backports...

подскажите, плиз, в чем засада...

metawishmaster
()

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