기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.



/driver/usb/storage/usb.c 에 가르쳐 주신대로 하니 잘 됩니다.



static void * storage_probe(struct usb_device *dev, unsigned int ifnum,
                            const struct usb_device_id *id)
{
        int i;
        const int id_index = id - storage_usb_ids;
        char mf[USB_STOR_STRING_LEN];                     /* manufacturer */
        char prod[USB_STOR_STRING_LEN];                     /* product */
        char serial[USB_STOR_STRING_LEN];             /* serial number */
        GUID(guid);                           /* Global Unique Identifier */
        unsigned int flags;
        struct us_unusual_dev *unusual_dev;
        struct us_data *ss = NULL;
        
////////////////////////////////////////////////////////////////////////////////

            //Appended by starpath
        int ret;
        char *argv[4];
        char *envp[] ={ "HOME=/",        "PATH=/sbin:/usr/sbin:/bin:/usr/bin",        NULL };
        //..Appended

///////////////////////////////////////////////////////////////////////////////

#ifdef CONFIG_USB_STORAGE_SDDR09
        int result;
#endif



요걸 불러들입니다.



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>

#define USB_MOUNTED                                                 0x01
#define USB_UMOUNTED                                                 0x02
#define MMC_MOUNTED                                                 0x04
#define MMC_UMOUNTED                                                 0x08

/*
void send_sig_to_rec(int pid, int value)
{
        union sigval sv;
        
        if (pid < 0)
        return;
        
        sv.sival_int = value;
        
        sigqueue(pid, SIGRTMIN, sv);
}//send_sig_to_rec()
*/

int main(int argc, char *argv[])
{
        char mnt_buf[512];
        //int pidfile, rec_pid = -1;
        int retval = 256;
        
        printf("Automnt %s.............n", argv[1]);
        
        if (!strcasecmp(argv[1], "probe"))
        {
                if (access("/dev/discs/disc1/part1", F_OK) == 0)
                {
                        sprintf(mnt_buf, "mount -t vfat -o rw /dev/discs/disc1/part1 /mnt/USB");
                
                        retval = system(mnt_buf);
                        if (!retval)
                        {
                                //send_sig_to_rec(rec_pid, USB_MOUNTED);
                                return retval;
                        }
                }//if
        }//if        
        else if (!strcasecmp(argv[1], "disconnect"))
        {
                if (access("/dev/discs/disc1/part1", F_OK) == 0)
                {
                        retval = system("umount /mnt/USB");
                
                        return retval;
                }//if
        }//else if
        
        return -1;
}//main()


많은 도움이 되었습니다. 감사합니다.

고현철

2006.10.03 05:20:13
*.124.46.67

^^, 잘 해결되었다니 다행이네요.
List of Articles
번호 제목 글쓴이 날짜sort 조회 수

u-boot 1.1.4의 u-boot-arm.h 관련 질문...입니다..[완료] [2]

s3c2413 보드에 리눅스커널2.6의 시리얼콘솔을 새로 포팅하려 하는데 ... [1]

VOIP 관련 오디오코덱자료를 얻으려면 ... [1]

혹시 실수 연산을 정수 연산으로 바꿔주는 lib 같은거 있나요? &... [1]

고도리님 DM9000A 판매처? [1]

USB자동 마운트 결과 <== [완료] [1]

이홍석님의 패키지를 따라하다가 문제가 좀 있네요. <==[완료] [4]

rebis보드에 카메라 모듈에 과한 질문입니다. [2]

바이너리 값을 아스키 값으로 변경하려면 ... [완료] [2]

리눅스커널의 D.D.에서 1/30초 마다 해당 ISR을 수행하려면 ... [... [3]

[질문] ARM7에 관해서요.. [4]

2410(266MHz)에 128MB 램세팅. <= 완료 [5]

kernel 2.4.20, 2.6.11 & root filesystem howto(by godori) 에서... [3]

S3C2440 보드에 삼성 CCD 카메라 포팅 질문입니다..[완료] [11]

S3C2440 계열 CPU 보드 개발 문의.. [3]

MP3 Player 제작중인데요~ <= 완료 [3]

USB storage 마운트 어떻게들 하시나요. <== [완료] [11]

이럴수가 혹시 sjf2440 동글 남는것 있나요? [완료] [7]

이솝 2차보드로 uboot 변경했다가, 보드가 먹통이 되었어요. [완료] [9]

[NFS] 뭔 문제인지 잘 모르겠습니다. [완료!] [3]

사용자 로그인