Покажи теми - halturata
Виж публикациите на потр. | * Виж темите на потр. | Виж прикачените файлове на потр
Страници: [1]
1  Linux секция за начинаещи / Настройка на хардуер / Scsi abort operation проблем -: Sep 04, 2007, 12:53
Здравейте,

имам следния проблем - на една Линукс машина съм закачил един SCSI хард (SEAGATE ST336753LW 36Г) на който искам да си пусна система, която аз съм "направил" (нещо като Linux From Scratch упражнение). Да, но когато пусна да копирам много файлове наведнъж (през secure copy примерно, от dev хоста) или искам да разархивирам нещо (линукс ядрото е пресен пример от днеска) се получават следните бози на конзолата:
Примерен код
-/bin/sh-3.00# bunzip2 -d linux-2.6.15.7.tar.bz2
sd 0:0:1:0: ABORT operation started.
sd 0:0:1:0: ABORT operation timed-out.
sd 0:0:1:0: ABORT operation started.
sd 0:0:1:0: ABORT operation timed-out.
...
<още няколко пъти същото като горе>
...
sd 0:0:1:0: DEVICE RESET operation started.
sd 0:0:1:0: DEVICE RESET operation timed-out.
sd 0:0:1:0: BUS RESET operation started.
sym0: SCSI BUS reset detected.
sym0: SCSI BUS has been reset.
sd 0:0:1:0: BUS RESET operation complete.

и, естествено копирането (или, там каквото съм пуснал) умира, но машината продължава да си работи.
Някой срещал ли е подобен проблем, или поне ако можете да ми дадете някави насоки за възможни причини.

Използвам този драйвер за SCSI (не знам дали е полезно, ама да си кажа)
Примерен код
&#65279;-/bin/sh-3.00# more /proc/scsi/sym53c8xx/0
sym53c895a, version 2 device id 0x12, revision id 0x1
At PCI address 0001:02:04.0, IRQ 80
Min. period factor 10, Wide SCSI BUS
Max. started commands 448, max. commands per LUN 64


Благодаря предварително '<img'>
2  Програмиране / Общ форум / Проблем с "struct cdev" и "struct semaphore" -: Aug 09, 2007, 18:23
Здравейте,

Работата е следната - написах си едно малко тестово драйверче, като упражнение към тази книга, и също като прелюдия към написването на функционален драйвер.
За да изпробвам докъде съм я докарал (вече имам open(), read(), write(), ioctl() функциите) си написах проста програмка, за да видя дали въобще ще работят както очаквам:
Примерен код
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>       /* mmap() */
#include <fcntl.h>        /* open(), close(), etc. */
#include <unistd.h>       /* exit() */
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/cdev.h>

#include "iptimer_ppc_linux26_fnc.h"
#include "iptimer_ppc_linux26_io.h"

int main(int argc, char ** args)
{
      int fd, status = 0;
      unsigned long quantum, qset;
      
      if( (status = open("/dev/iptimer0", O_RDWR)) < 0 ){
            perror("open");
            printf("Error opening /dev/iptimer device file, errno = %d\n", errno);
            exit (1);
      }
      
      if((status = ioctl(fd, IPTIMER_IOCTL_GET_QUANTUM, quantum)) < 0 ){
            perror("ioctl");
            printf("Error getting quantum, errno = %d\n", errno);
            exit (1);
      }
      printf("*** quantum = %d", quantum);

      if((status = ioctl(fd, IPTIMER_IOCTL_GET_QSET, qset)) < 0 ){
            perror("ioctl");
            printf("Error getting qset, errno = %d\n", errno);
            exit (1);
      }
      printf("*** qset = %d", qset);      
      
      return 0;
}

Когато се опитам да я компилирам обаче, получавам следните грешки:
Примерен код
pi3 ~ELINOS_PROJECT/src/rwtest # make
/opt/elinos-4.1/cdk/ppc/60x/glibc-2.3.4/bin/ppc_60x-gcc -c -o main.o -g main.c
In file included from main.c:13:
iptimer_ppc_linux26_fnc.h:32: error: field `iptimer_cdev' has incomplete type
iptimer_ppc_linux26_fnc.h:33: error: field `iptimer_sem' has incomplete type
make: *** [main.o] Error 1

Ето го въпросното място в хедъра където гърми:
Примерен код
struct iptimer_dev{
      iptimer_qset_t   *iptimer_data;      /* Pointer to first quantum set */
      int                    quantum;            /* The current quantum size */
      int                    qset;               /* The current array size */
      unsigned long int  size;             /* Amount of data stored */
      struct cdev           ptimer_cdev;  /* Char device structure */
      struct semaphore  iptimer_sem;       /* Mutual exclusion semaphore */
      int                       dev_minor;                        
};

Така, тези двете структури на семафора и чаръктър дивайса (омг...) са дефинирани без typedef в кода на ядрото. Въпроса ми е как да оправя тези грешки при компилацията? Иначе драйвера се компилира без проблем. Ето и линк към сорса ако някой се интересува.

Всякакви идеи и флейм са добре дошли '<img'>

P.S. Ето ги и въпросните дефиниции на struct semaphore / struct cdev:
Примерен код
#ifndef _LINUX_CDEV_H
#define _LINUX_CDEV_H
#ifdef
 
struct cdev {
         struct kobject kobj;
         struct module *owner;
         struct file_operations *ops;
         struct list_head list;
         dev_t dev;
         unsigned int count;
 };

Примерен код
#ifdef
 #ifndef _ASM_POWERPC_SEMAPHORE_H
 #define _ASM_POWERPC_SEMAPHORE_H
 #include <asm/atomic.h>
 #include <asm/system.h>
 #include <linux/wait.h>
 #include <linux/rwsem.h>
 
 struct semaphore {
         atomic_t count;
         wait_queue_head_t wait;
 };


Примерен код
07-08-09 12:41 :( # uname -a
Linux 2.4.21-47.0.1.ELsmp #1 SMP Thu Oct 19 10:46:05 CDT 2006 i686 i686 i386 GNU/Linux
07-08-09 12:52 :( # $CC --version
ppc_60x-gcc (GCC) 3.4.4

Да не би да трябва да пъхна някой от тези #define statementsв моя код?
3  Нетехнически теми / Идеи и мнения / Твърде малка дължина на заглавието на теми -: Aug 08, 2005, 15:20
Добре, сега как може админите само да реват че заглавията на темите били неясни! Ми то като се опиташ да напишеш малко по-дълго заглавие и край батенце - до края на прозорчето само стига ти толкова! Та дори и т.н. описание на тема, пак е окълцана откъм допустима дължина...
Моля Ви (админите) ако има възможност да се направи нещо по въпроса.  ':angry:'
4  Linux секция за начинаещи / Настройка на програми / Проблем с инсталацията на openAFS client -: Aug 08, 2005, 14:52
Привет на всички,

Тук от няколко дена се боря с инсталирането на OpenAFS клиент на машина която работи под RedHat 8.0 но все нещо не е както трябва. Последната ми идея беше да пробвам инсталация от .rpm пакети но получавам следните грешки:

error: failed dependencies:
        rpmlib(PartialHardlinkSets) <= 4.0.4-1 is needed by openafs-1.2.13-rh8.0.1
        libc.so.6(GLIBC_2.3)   is needed by openafs-1.2.13-rh8.0.1

Някой знае ли как да направя така че rpm инсталатора да си ги намира тези неща?
Благодаря предварително.
Страници: [1]