Software :: In Platform \ Use Ioctl Function To Read/write Data To Hid Device?
Jun 24, 2011
Now i have a problem.I want to used a hid usb device under linux 2.6.11.But i can't know how to used ioctl function to send and receive data to a hid device
I am using read() in c++ to get data from a serial port. However, if no data is available on the serial port the function blocks until dta arrives.Example code:
I'm looking to set up a server with attached mass storage device and tape autoloader to run linux. It's set up under Windows at the moment. Goal is to have users, connecting from individual workstations and laptops, backup their data to the linux server. On their personal machine, some users run linux, some MacOS, some Windows. I plan to set up the 5 500 GB drives as RAID5. I understand that if setting up as software raid the format is "physical volume for RAID". Under this setup, will Windows users be able to read/write and function as expected? I can't assume only linux user access.
I need to change a filename but when I boot up I get the message root device is read-only. Is there a way of changing this so that I can change the filename. I have a Mac Pro running Leopard OSX. The graphics card an NVIDIA 7500GT or driver has failed. It was suggested elsewhere that I change the relevant kext files to filename.kext.old, which I did, now when I try to boot start in OSX I get a message in various languages telling me to restart. I have tried booting in safe mode and from original Installation CD. In Safe Mode I get the same multi language splash screen, from CD I still have the graphic card problem, screen freezes and artifacts appear. So I boot up straight into CLI by holding down CMD-S hoping to be able to change filenames back but it says device read-only.
I can read and write data dvds, but cannot play a regular dvd now. I have libdvdcss installed. I am running Slackware 64 13.37 (just installed).
Code: MPlayer 20101218-4.5.1 (C) 2000-2010 MPlayer Team Playing dvd://. libdvdread: Using libdvdcss version 1.2.10 for DVD access libdvdread: Could not open /dev/dvd with libdvdcss. libdvdread: Can't open /dev/dvd for reading
[Code]...
It can see the drive is there and /dev/sr0 is linked to /dev/dvd and I tried running as root to check if it was a permissions problem but got the same thing.
I have tried lots of different DVDs in the drive, same issue. I even switched out my DVD drive to another old DVD-ROM I had laying around, same thing.
My wife is purchasing a netbook with no internal CD/DVD writing device, so we plan to purchase an external CD/DVD USB-2.0 read/write device. Our local PC shop has the following 3 external USB-2.0 DVD read/write devices:
(a) Samsung DVD-Burner SE-S084F/RSBS [not listed on Samsung site - too old ? ]
(b) LG DVD-Burner GE24NU21 USB2.0 [not listed on LG site - too old ? ]
(c) Super-Multi Portable DVD Rewrite (GP10 Lite USB2.0 Slimline) GP10NB20 (mentions Mac OS/X support, which is encouraging)
None of those are listed in the openSUSE HCL. Has anyone successfully used any of these with GNU/Linux (my google surfing on this revealed no GNU/Linux complaint nor any success stories) ? Or is there another such external USB-2.0 read/write DVD burner device that is recommended ?
I used dual booting with Windows Xp and Ubuntu 10.04. Because errors, I reinstall Windows and then I could not enter GRUB, and Ubuntu partition disappear. I tried to reinstall ubuntu using live CD but I could not detect last ubuntu partitions. After I installed fresh Ubuntu on new partition, I got error message like this:
Unable to mount floppy0 Mount: block device /dev/fd0 is write protected, mounting read-only Mount: could not determine the file system type, and none was specified
On one of my machines the DVD/DVDRW/CDROM drive appears as /dev/hdc and is not identified as an optical drive by HAL. It is owned by root: disk and thus no users get permission to read/write in the device (not even those in the cdrom group). This stops playing DVDs, ripping CDs, no notifications appear when a disk is inserted, etc. etc. When I set the permissions for all to read/write from the device then users can access but still no notifications are shown.
On all my other machines the optical drive is identified as /dev/sr0 and is owned by root:cdrom . All have Slack 13.1 . Previously with Slack 12.2 this machine still had the drive in /dev/hdc but the permissions were right (I think because I added it to /etc/fstab with options for users to access it). I believe the problem is down to HAL not setting this drive to the correct group, but how do I fix it? I hate HAL, it has a mind of its own, just like in the scifi movie
the function terminates if no key is pressed for 10 consecutive seconds. I tried using the -t option as suggested in some forums, but my version of showkey doesn't have the option of changing the timeout. The options I get are:
-h --helpdisplay this help text -a --asciidisplay the decimal/octal/hex values of the keys -s --scancodesdisplay only the raw scan-codes -k --keycodesdisplay only the interpreted keycodes (default).
Is it possible to write a script to use this function and still keep the function active until an interrupt is recieved?
I want to modify ioctl TIOCMWAIT to return the same thing that ioctl TIOCMGET returns. Currently wait returns an int of zero or -1 when a change in status occurs. Why not make it return the new status?
This will make the operation faster by not requiring another call to ioctl.The extra call requires 2 to 16 uSeconds to complete on my x64 laptop. How would I make this proposal to the kernal people?
I am doing some Linux kernel programming for my research project. I need to record the timestamp (by using cpuid and rdtsc) when an interrupt handler (top half) is first invoked. Due to the time critical nature of the problem itself, I have to do the timestamping inside the interrupt handler itself (the first operation when the handler is called). However, I understand that tasks that are not so time critical should be deferred to a tasklet function (bottom half) for processing because other interrupts are disabled in a (top-half) interrupt handler. I am currently out of idea on how I can pass the timestamp information that I have obtained in the interrupt handler to the corresponding tasklet function.
I'm having some difficulities with truecrypt and cannot figure out what's wrong since this is my first attempt to create hidden encrypted partition. I'm using ubuntu 9.10 64b with latest 6.3a truecrypt. After using truecrypt gui (just command truecrypt) I've tried: create volume-->create volumne within a partition/drive-->hidden trucrypt volume --> select some /dev/sdX by my choice --> select aes & sha512 --> password --> and format it.
when formating finished message "wrong ss, swith or wrong superblock of /dev/loop0" appeared. I've got no idea what could I do with it neither know whats program trying to do! Ok formating's done, then if you're trying to mount that partition then I would expect prompt for password, but that did not happen ...
EDIT: sudo mount /dev/loop0 /media/tmp/ also complaint about wrong superblock, but that does not ring any bell since i've got no idea what /dev/loop0 is or is for...
which run without errors but an attempt to mount throws up the above error as well as saying - you must specify the file type (tried that) - and fails to mount. I've tried using YaST to format and encrypt it which throws up the same error when I run mount but actually does actually mount the filesystem Googling around has brought up info saying that it's probably a race condition brought on by invalid udev rules. I've got a (mostly) working system and the udev rules documentation leaves more confused than when I started.
I have an application where I am sending data via serial port from PC1 (Java App) and reading that data in PC2 (C++ App). The problem that I am facing is that my PC2 (C++ App) is not able to read complete data sent by PC1 i.e. from my PC1 I am sending 190 bytes but PC2 is able to read close to 140 bytes though I am trying to read in a loop.Below is code snippet of my C++ AppOpen the connection to serial port
I have some data files that should be distributed with my program. Using dist_pkgdata_DATA in Makefile.am, I get these files installed to /usr/local/data/share/package-name. The problem is that data is read-only, and my program needs to modify it. Playing with dist_sharedstate_DATA, dist_localstate_DATA, dist-data_DATA varibles, I got different installation directories, like /usr/local/com, usr/local/var, but data is always read-only.
How can I distribute modifiable data files with my package? I need some common directory for all users, or maybe local data in a user directory.
Can you offer me the code about fmod() in C. I want to know how this function work, i am very interested in it because i have no idea to implement it, i want to know... how to write the function... not 'how to use the function' can anyone post the source codes of this function here?
What are the possible problem when Windows access the file from Ubuntu got Read Only even though have a full permission to read, write and execute the file? Ubuntu to Ubuntu accessing the file there is no problem only Windows got a problem.
I want to write a function that shall execute periodic. means if i set time 1 sec that function should execute in each 1 sec. let us call that function func1. But i dnt want to wait inside the func1 for that 1 sec. Meanwhile i want to run another function say func2 in background . some thing like less priority function. Whnever the time come to execute the periodic function func1 it has to go to func1 and then again in the waiting time , the second function func2 will resume. I wanted to know how to do it.. Can somebody tell me is it possible using signal in linux.
How can i obtain the pid of a process, by using a function?Like i know if i write x = system("pidof teste"), x is not the pid of the program teste but it is equal to 0.How can i know the output of a command like that, but make it in a a program in C?
i am trying to write a telnet server without username/password function. how to implement such function? the source code from inetutils seems complicated..
I want to populate an array of string by files exists in directory on mounting of file system. I got an entry point for file system mount. I can use either do_mount function or fill_superblock function. But I am not clear about how to call readdir from there itself. I need inputs for calling readdir from fill_superblock function.
df -h [URL] I did the following command to find everything is in /usr or /var, then tracked it down to /usr/lib and /usr/share as the main offenders, but out of all the directories none are more than 1mb or so.
du -sh /* | sort -gr | head -n 5
I tried to uninstall firefox, which is what got me in this mess in the first place, the log claims it will remove ~240 mb but failes on a "E: Write error - write (28 No space left on device)" [URL] If I could juggle something onto an external hard drive so I can uninstall firefox I would be out of the wood. Failing that I believe a new install is in order.