Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  Missing peripheral's support in RB?
« previous next »
  • Print
Pages: 1 [2]

Author Topic: Missing peripheral's support in RB?  (Read 4900 times)

Offline Parasite1111

  • Member
  • *
  • Posts: 14
Re: Missing peripheral's support in RB?
« Reply #15 on: November 19, 2009, 05:54:34 AM »
Just my personal curiosity. :)

The main subject still about h/w support, and the ways (include reversing) to make it working with RB. As for remote control, I have found some protocol commands and schematics - dunno if it helps:
----------------------
iPod Remote Protocol

In order for the ATmega8 to send commands to the iPod, it had to mimic the standard iPod remote control’s output. This reverse engineering of the iPod remote protocol can be done by hooking up an oscilloscope to the remote control Apple sells and monitoring its output when different buttons are pushed. Fortunately, this step had already been mostly done by someone else. The iPod remote uses a 7-byte standard 8N1 19200 baud serial protocol. The commands contain a checksum and you’ll also notice that the “command byte” (byte 6) using bitmapping so that multiple commands can be sent at once. The commands are defined as:

    * Play/Pause: 0xFF 0×55 0×03 0×02 0×00 0×01 0xFA
    * Volume UP: 0xFF 0×55 0×03 0×02 0×00 0×02 0xF9
    * Volume DOWN: 0xFF 0×55 0×03 0×02 0×00 0×04 0xF7
    * Skip Ahead: 0xFF 0×55 0×03 0×02 0×00 0×08 0xF3
    * Skip Back: 0xFF 0×55 0×03 0×02 0×00 0×10 0xEB
    * Button Depress: 0xFF 0×55 0×03 0×02 0×00 0×00 0xFB
----------------------
http://www.petertyser.com/2005/04/28/motion-based-ipod-remote-control/
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: Missing peripheral's support in RB?
« Reply #16 on: November 19, 2009, 06:37:00 AM »
I believe the commands there are already implemented; we should support the original, primitive remote protocol okay, as far as I know. The problem is that most current accessories use later versions of the protocol which have different commands with more capabilities... the later protocols are not just the same commands but with some extras, they are entirely different.

Your comparison between licenses and criminal law is not appropriate: the law does indeed apply even if you are not aware of it, but a license is a kind of contract, and you are not bound by contracts you have not agreed to. The exact definition of "agreed" for things like clickwrap and shrinkwrap licenses has not really been fully hammered out in all legal jurisdictions, but just because their license text declares that using an iPod means I've agreed does not mean that's *true* - the decision about whether I am bound by it is up to a court, not Apple. See saratoga's example above: you can't write anything you like in a license and have it be legally binding, and the vast majority of, possibly *all*, software licenses include terms which are probably not legal in most countries (see the frequent occurrence of "to the extent permitted by applicable law" in licenses, especially when trying to disclaim warranty which is not allowed in a lot of places).

Long story short; reverse engineering for interoperability purposes is legal in pretty much every country I am aware of. The specific case here, with accessories, is even less likely to be a legal difficulty, since a *protocol* can often be reverse engineered without even looking at the software in question, let alone disassembling it: you can stick a serial logging device between an accessory and the iPod running the original firmware, and observe what happens when you press different buttons. Apple's license text makes no attempt to even *claim* you can't do this, as far as I can see, so even if you were concerned that disassembling the OF might be forbidden in your jurisdiction you can still mess about with the serial connection to your heart's content :)
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Missing peripheral's support in RB?
« Reply #17 on: November 19, 2009, 09:36:48 AM »
Even if the license DID apply to Torne, the license can only apply when the law allows it to. If the law says reverse engineering for interoperability is protected, and the license says "you agree not to do it" then the license loses, and your ability to reverse engineer is still protected.

That's the point of the quote I used originally, which you seemed to have missed - the license can deny you a lot of those things, but a significant portion of them may or may not apply depending on local law. The license basically says "you're not allowed to do all of these things, except when the law says you are" and leaves it up to you (the user) to figure out what your local laws actually forbid them from forbidding.
Logged

Offline bobc

  • Member
  • *
  • Posts: 6
Re: Missing peripheral's support in RB?
« Reply #18 on: November 19, 2009, 12:50:11 PM »
Quote from: Parasite1111 on November 18, 2009, 10:38:07 PM
Correct me if I am wrong. Here at least - things are like I said above. Have no idea about USA side, but it should be not much different I think.

What country are you in? You have some pretty bizarre laws.

In most countries, a civil contract is quite different to criminal laws. Usually, a civil contract is null if one party is unaware of it, since it requires both parties to give informed consent - unlike criminal law which applies regardless. Retail sales usually have additional laws protecting consumer rights.

Even disregarding the largely untested nature of "shrinkwrap" or "clickwrap licenses", I've never heard of a requirement that can be transferred to second hand sales of non-software items.  The only laws that apply to second hand sales are the normal copyright and DMCA restrictions.

Logged

Offline Parasite1111

  • Member
  • *
  • Posts: 14
Re: Missing peripheral's support in RB?
« Reply #19 on: November 19, 2009, 11:05:51 PM »
Quote from: torne on November 19, 2009, 06:37:00 AM
I believe the commands there are already implemented; we should support the original, primitive remote protocol okay, as far as I know. The problem is that most current accessories use later versions of the protocol which have different commands with more capabilities... the later protocols are not just the same commands but with some extras, they are entirely different.
Well, those are NOT a most current accessories in my case - I bought it 2-3 yrs ago, together with a freshly-baked (in that time) Ipod Video 80gb.  And yes, partially it works (see my initial post). Is here anything I can do to make it FULLY working with RB? Any schematics to find&provide, any applications to run on ipod (for catch the protocol's log), or anything else? Except the writing those applications myself - which I simply cannot...

About the reversing - OK OK bros, I got your ideas. Here things are different: "When you touch it - you already wrong by violating the licence (at least - just for starting the whole show), and later on they will definitely found the appropriate law which you have violated by your dirty-dancing on the licence. And now you can try to wash yoursrelf from all of that sh.it..." You're VERY lucky if you can, and it will take several years at least (I already have my own experience).

Let's back to h/w now... :)
Logged

Offline torne

  • Developer
  • Member
  • *
  • Posts: 994
  • arf arf
Re: Missing peripheral's support in RB?
« Reply #20 on: November 20, 2009, 09:42:36 AM »
Probably the best way to reverse engineer the protocol for a specific accessory is to use a passthrough cable which can connect between the iPod and the accessory, so that a host PC can watch the serial communication, and then boot the original firmware on the iPod and observe the communication as you use the accessory.

There are such devices around, if you google a bit. If people did this with their accessories and wrote up the results in as much detail as possible, then it would be quite possible for someone else to look at this data and determine many more facts about the protocol than we currently know. :)
Logged
some kind of ARM guy. ipodvideo/gigabeat-s/h120/clipv2. to save time let's assume i know everything.

Offline Creposucre

  • Developer
  • Member
  • *
  • Posts: 32
Re: Missing peripheral's support in RB?
« Reply #21 on: November 20, 2009, 10:34:06 AM »
Hello,

you might want to test the patch FS10494 for your FM remote. FS10623 will hopefully make work your bluetooth thing.

You'll find under the task 10494 a single patch for both.

I will try to commit the FM remote part as soon as possible but I am cleaning some things for the moment.

If you want a zip for test purposes, I can provide it  :)
Logged

Offline Parasite1111

  • Member
  • *
  • Posts: 14
Re: Missing peripheral's support in RB?
« Reply #22 on: November 25, 2009, 12:27:06 AM »
Well, it seems that I funally MUST learn how to apply patches to RB. Could someone point me to the detailed step-by-step manual please? I would like to try the patch from the previous post, but have no any single idea what (and how) must I do to test it....Just never do that while using RB. ::)
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: Missing peripheral's support in RB?
« Reply #23 on: November 25, 2009, 12:37:47 AM »
http://www.rockbox.org/wiki/DevelopmentGuide
Logged

Offline soap

  • Member
  • *
  • Posts: 1678
  • Creature of habit.
Re: Missing peripheral's support in RB?
« Reply #24 on: November 30, 2009, 09:11:24 AM »
If you could be a dear and fill in as much on this wiki page as you feel comfortable doing:
http://www.rockbox.org/wiki/IpodAccessories
I'd love you till the end of time.

PM me here or shout at me on IRC if you have any questions.
Logged
Rockbox Forum Guidelines
The Rockbox Manual
How to Ask Questions the Smart Way

Offline Parasite1111

  • Member
  • *
  • Posts: 14
Re: Missing peripheral's support in RB?
« Reply #25 on: December 05, 2009, 10:52:46 AM »
Quote from: saratoga on November 25, 2009, 12:37:47 AM
http://www.rockbox.org/wiki/DevelopmentGuide
Thanks! Will try this tonight!
Logged

Offline Creposucre

  • Developer
  • Member
  • *
  • Posts: 32
Re: Missing peripheral's support in RB?
« Reply #26 on: December 05, 2009, 11:57:58 AM »
your apple FM remote is now supported in current SVN.

Your bluetooth thing may work too, just test it and report your findings

have fun
Logged

  • Print
Pages: 1 [2]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  Missing peripheral's support in RB?
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.109 seconds with 14 queries.