SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
3.02k stars 1.23k forks source link

LIBUSB missing from OSCam Package #197

Closed schumi2004 closed 11 years ago

schumi2004 commented 12 years ago

I can't seem to get OScam working correctly without LIBUSB, any change it can be added.

I failed in my attempt adding it.

BlueWombat commented 12 years ago

You shouldn't be needing libusb, it's probably more a matter of you mising the correct drivers for your reader, I had to compile usbserial.ko and the FTDI sub module to get it to read from my AD-Teknik AB Phoenix USB Reader.

schumi2004 commented 12 years ago

@sirgadget trust me, i do need it.

BlueWombat commented 12 years ago

Hmm, what for? What errors do you get? Besides, libusb can be installed by typing ipkg install libusb.

schumi2004 commented 12 years ago

@sirgadget for ipkg i need bootstrap which is not wanted

And for libusb, i need it to locate my cardreader

Looking for smartreader with an out endpoint = 0x82 : bus 001, device 003 : 0403:6001 Smartreader (Device=001:003 EndPoint=0x82 insert in oscam.server 'Device = Serial:Reader 117')

BlueWombat commented 12 years ago

@schumi2004 Your Synology is already bootstrapped, at least mine was. But as of 4.0 there's a config file you have to change, to get the root account to look in the right place for your optware.

Ahh, so that's why I couldn't search for my device in OSCam, once I had compiled the drivers. What I did was just to hardcode the location of /dev/ttyUSB0, works perfectly:-) One note though, I use a startup script to do insmod, and then create ttyUSB0 through 7:-)

schumi2004 commented 12 years ago

It is bootstrapped yes but that throws away the whole idea of packages if i need to install/compile insmod etc to get stuff working, get it ?

BlueWombat commented 12 years ago

@schumi2004 I'm not sure I like your tone, "get it" is a condescending comment:-( That aside, I'm with you, it would be much cooler, but it can be a hassle to include every obscure library and driver in the repo, albeit libusb is well used.

My commenet wasn't meant like, you don't need it to be integrated, was merely a fix so ou could get it up and runningen. But what about drivers for the actual reader? They aren't installed on the device either, so you have to insmod anyway.

schumi2004 commented 12 years ago

My comment wasn't ment that way ;)

My current binary i have for oscam uses libusb which makes my card reader work, more info on why libusb is needed can be found on oscam.to forum. Almost every thread you'll find there is mentioning libusb.

BlueWombat commented 12 years ago

@schumi2004 I didn't figure it was, you seem cool in the other threads, so sometimes one just ends up expressing oneself wrongly.

Okay, guess it depends on which reader you have then, since the one I have uses a simple FTDI USB to Serial chip, and that driver needs to be loaded first. Are you using a Smargo?

schumi2004 commented 12 years ago

@sirgadget let's keep it on miscommunication ;) My apologies if I've offended you.

I'm indeed using a Smargo card-reader yes.

Regarding the package. i'm that far i have added libusb to cross directory and i can compile it. Adding it then to expediencies in makefile doesn't work , oscam still doesn't know libusb is available then. I need to figure out how to make oscam package think libusb is there and then compile it. It will then also create a binary called list_smargo which can output the location for your (smargo) cardreader which i need for the oscam configuration file. There is also a configuration option in the webinterface for libusb but in my current binary i don't see it maybe that's because my current binary is older then the one used in oscam package from Diauol

BlueWombat commented 12 years ago

Yeah, let's declare miscommunication:)

It makes sense to me know why you need, unfortunately I have no experience with oscam really, and when I look at my interface, I don't have even the shed of a clue, as to how u configure it. Will have to do a lot of reading on that, but as I'm still struggling with that bloody tuner, there's not much sense in spending too much time on it fight now.

schumi2004 commented 12 years ago

I did another attempt to get oscam package working but it didn't work (as expected) doing a second attempt to add libusb to package, source i already have but now i need to figure out a way to let oscam package think libusb is available.

Maybe @Diaoul can give some hints?

What i could find about it is that it needs to be installed/compiled in toolchain but no clue on how to do that.

schumi2004 commented 12 years ago

I think i found it.

Not sure if it's the way it should be done but here goes.

First i compiled libusb in cross folder (see my repo for libusb package)

make arch-88f6281

This gave me a few files which i placed in corresponding toolchain folder for my architecture.

Then i modified env.patch from oscam (line 15/16) http://pastebin.com/WTDPTYpq

Added libusb as DEPENDS to oscam Makefile DEPENDS = cross/openssl cross/libusb

Then started to compile oscam and this is what i saw, notice libusb at the end of lines! (not tested it yet)

LINK Distribution/oscam-1.20-unstable_svn0-arm-none-linux-gnueabi-ssl-libusb STRIP Distribution/oscam-1.20-unstable_svn0-arm-none-linux-gnueabi-ssl-libusb LINK Distribution/list_smargo-1.20-unstable_svn0-arm-none-linux-gnueabi-ssl-libusb STRIP Distribution/list_smargo-1.20-unstable_svn0-arm-none-linux-gnueabi-ssl-libusb make[3]: Leaving directory `/home/openelec/spksrc/spk/oscam/work-88f6281/gfto-oscam-8d3fc78' ===> Installing for oscam

To be sure you have really compiled it with libusb i checked build folder in /spksrc/work-/gfto-oscam-/Distribution/ There should be a file named list_smargo-*

And voila , it's there : list_smargo-1.20-unstable_svn0-arm-none-linux-gnueabi-ssl-libusb

There is only 1 minor issue left to solve and that is getting list_smargo-1.20-unstable_svn0-arm-none-linux-gnueabi-ssl-libusb in the package as list_smargo, currently it isn't in the package itself.

Edit: Forgot to change the oscam Makefile

myInstall should look like this: .PHONY: myInstall myInstall: install -m 755 $(WORK_DIR)/$(PKG_DIR)/Distribution/oscam* $(STAGING_INSTALL_PREFIX)/bin/oscam install -m 755 $(WORK_DIR)/$(PKG_DIR)/Distribution/list_smargo* $(STAGING_INSTALL_PREFIX)/bin/list_smargo

@Diaoul, there are a few things i don't know how to solve before i can make a PR for it. 1) is line 15 in new env.patch, i now have pointed it static to the correct dir. 2) most important i think, is how to get the needed libusb files to the toolchain dir in build process.

schumi2004 commented 11 years ago

Fixed in commit 33fbee793e56a5d1fb4a4c7a48853d03e49c6176