Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently trying to compile the driver for the SD card reader, a Realtek RTS5229, of my new laptop computer. However, when running make, I'm presented with the following errors:

$ make       # reduced messages to errors
/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:266:2: error: unknown field ‘proc_info’ specified in initializer
  .proc_info =   proc_info,
/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:914:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtsx_probe’
 static int __devinit rtsx_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1069:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtsx_remove’
 static void __devexit rtsx_remove(struct pci_dev *pci)
/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1094:11: error: ‘rtsx_probe’ undeclared here (not in a function)
  .probe = rtsx_probe,
/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1095:2: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration]
  .remove = __devexit_p(rtsx_remove),
/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1095:24: error: ‘rtsx_remove’ undeclared here (not in a function)
  .remove = __devexit_p(rtsx_remove),
cc1: some warnings being treated as errors
make[2]: *** [/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.o] Error 1
make[1]: *** [_module_/home/sebastian/UbuntuSetup/Realtek_RTS5229_Linux_Driver_v1.07/rts5229] Error 2
make: *** [default] Error 2

The errors occur in rtsx.c (uploaded to my Dropbox)

Ubuntu Trusty x64

share|improve this question
up vote 2 down vote accepted

You dont need to compile them. They are in the following packages, Install them.

sudo apt-get install build-essential libssl-dev linux-headers-`uname -r` linux-firmware-nonfree
share|improve this answer
I've installed those packages, but still no change. lshw still tells UNCLAIMED and modprobe'ing rts5229 doesn't work either. What do I have to do afer installing those packages? – the_Seppi Jun 28 '14 at 21:20
Update: After a second reboot it worked. Thank you very much. I didn't even know that linux-firmware-nonfree existed. – the_Seppi Jun 28 '14 at 21:51
Update2: Now it's not working any more. Do I have to add something to /etc/modules etc.? – the_Seppi Jul 1 '14 at 6:03
I removed the "Accepted Answer" as it's not working any more after another reoot-... do you have a fix for that? – the_Seppi Jul 4 '14 at 21:43
Sorry. Try with reinstalling the driver packages. Better if --purge autoremove && sudo apt-get install – Dumindu Mahawela Jul 6 '14 at 5:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.