How can I save data to a device file?
up vote
-2
down vote
favorite
I'm currently building a kernal module that creates a device under /dev and I want to store some data inside of the device file. However, every time I try to write to the device file, nothing is being saved to that specific file.
Currently, I've tried to use device_write/device_read with no luck since the data I'm writing does not save in the kernel space after running the userprogram again. I've also tried using ioctl calls from the user-program and using copy_from_user and copy_to_user but that also doesn't save any data.
linux linux-device-driver device-driver ioctl
add a comment |
up vote
-2
down vote
favorite
I'm currently building a kernal module that creates a device under /dev and I want to store some data inside of the device file. However, every time I try to write to the device file, nothing is being saved to that specific file.
Currently, I've tried to use device_write/device_read with no luck since the data I'm writing does not save in the kernel space after running the userprogram again. I've also tried using ioctl calls from the user-program and using copy_from_user and copy_to_user but that also doesn't save any data.
linux linux-device-driver device-driver ioctl
1
How do you expect the data to be stored? A "device file" isn't a form of storage. Show us your code.
– duskwuff
Nov 9 at 7:32
add a comment |
up vote
-2
down vote
favorite
up vote
-2
down vote
favorite
I'm currently building a kernal module that creates a device under /dev and I want to store some data inside of the device file. However, every time I try to write to the device file, nothing is being saved to that specific file.
Currently, I've tried to use device_write/device_read with no luck since the data I'm writing does not save in the kernel space after running the userprogram again. I've also tried using ioctl calls from the user-program and using copy_from_user and copy_to_user but that also doesn't save any data.
linux linux-device-driver device-driver ioctl
I'm currently building a kernal module that creates a device under /dev and I want to store some data inside of the device file. However, every time I try to write to the device file, nothing is being saved to that specific file.
Currently, I've tried to use device_write/device_read with no luck since the data I'm writing does not save in the kernel space after running the userprogram again. I've also tried using ioctl calls from the user-program and using copy_from_user and copy_to_user but that also doesn't save any data.
linux linux-device-driver device-driver ioctl
linux linux-device-driver device-driver ioctl
asked Nov 9 at 6:31
Harsh Patel
1
1
1
How do you expect the data to be stored? A "device file" isn't a form of storage. Show us your code.
– duskwuff
Nov 9 at 7:32
add a comment |
1
How do you expect the data to be stored? A "device file" isn't a form of storage. Show us your code.
– duskwuff
Nov 9 at 7:32
1
1
How do you expect the data to be stored? A "device file" isn't a form of storage. Show us your code.
– duskwuff
Nov 9 at 7:32
How do you expect the data to be stored? A "device file" isn't a form of storage. Show us your code.
– duskwuff
Nov 9 at 7:32
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Just by creating a device node in /dev doesnt mean you have a device which can read/write. Its just a handle to talk to hardware from user space. If you are creating a driver for some block device SD/USB you need to refer the device specific framework.
If you are just creating a dummy device and want to implement read/write the you can just allocate some kernel memory in probe and in device_write, copy to that memory and in device_read, read the contents of the memory.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Just by creating a device node in /dev doesnt mean you have a device which can read/write. Its just a handle to talk to hardware from user space. If you are creating a driver for some block device SD/USB you need to refer the device specific framework.
If you are just creating a dummy device and want to implement read/write the you can just allocate some kernel memory in probe and in device_write, copy to that memory and in device_read, read the contents of the memory.
add a comment |
up vote
0
down vote
Just by creating a device node in /dev doesnt mean you have a device which can read/write. Its just a handle to talk to hardware from user space. If you are creating a driver for some block device SD/USB you need to refer the device specific framework.
If you are just creating a dummy device and want to implement read/write the you can just allocate some kernel memory in probe and in device_write, copy to that memory and in device_read, read the contents of the memory.
add a comment |
up vote
0
down vote
up vote
0
down vote
Just by creating a device node in /dev doesnt mean you have a device which can read/write. Its just a handle to talk to hardware from user space. If you are creating a driver for some block device SD/USB you need to refer the device specific framework.
If you are just creating a dummy device and want to implement read/write the you can just allocate some kernel memory in probe and in device_write, copy to that memory and in device_read, read the contents of the memory.
Just by creating a device node in /dev doesnt mean you have a device which can read/write. Its just a handle to talk to hardware from user space. If you are creating a driver for some block device SD/USB you need to refer the device specific framework.
If you are just creating a dummy device and want to implement read/write the you can just allocate some kernel memory in probe and in device_write, copy to that memory and in device_read, read the contents of the memory.
answered Nov 9 at 9:19
Prabhakar Lad
783158
783158
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53220864%2fhow-can-i-save-data-to-a-device-file%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
How do you expect the data to be stored? A "device file" isn't a form of storage. Show us your code.
– duskwuff
Nov 9 at 7:32