Wikibooks enwikibooks https://en.wikibooks.org/wiki/Main_Page MediaWiki 1.47.0-wmf.14 first-letter Media Special Talk User User talk Wikibooks Wikibooks talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Cookbook Cookbook talk Transwiki Transwiki talk Wikijunior Wikijunior talk Subject Subject talk TimedText TimedText talk Module Module talk Event Event talk Spanish/Lesson 9 0 1907 4656815 4652463 2026-08-09T16:07:11Z ShakespeareFan00 46022 4656815 wikitext text/x-wiki {{Spanish}} ---- == Grammar - Past Participle (el participio)== Spanish uses the past participle primarily for present perfect, past perfect, and other similar times. For '''-ar''' verbs form the past participle by adding '''-ado''' to the stem. For '''-er''' and '''-ir''' verbs add '''-ido''': {| border="1" bgcolor="#9999FF" |- ! Verb ! Past Participle |- | hablar || hablado |- | comer || comido |- | vivir || vivido |} If the stem of an '''-er''' or '''-ir''' verb ends in one of the vowels '''-a''', '''-e''', or '''-o''', the '''i''' of '''-ido''' gets an accent mark: {| border="1" bgcolor="#9999FF" |- ! Verb ! Past Participle |- | caer || caído |- | creer || creído |- | leer || leído |- | oir || oído |- | reir || reído |} There are a few verbs with an irregular past participle: {| border="1" bgcolor="#9999FF" |- ! Verb ! Past Participle |- | abrir || abierto |- | cubrir || cubierto |- | descubrir || descubierto |- | decir || dicho |- | escribir || escrito |- | freír || frito |- | hacer || hecho |- | ir || ido |- | morir || muerto |- | poner || puesto |- | romper || roto |- | satisfacer || satisfecho |- | ver || visto |- | volver || vuelto |} As in English, the past participle can also be used as an adjective for a noun. In that case the ending has to match gender and number of the noun. Example: {| border="1" bgcolor="#99FF99" |- | Su barba está '''afeitada'''. | ''His beard is shaved.'' |} Finally, there are a few verbs with ''both'' a regular and an irregular past participle. In this case, the irregular past participle is used as an adjective, while the regular form is used for the verb tenses. {| border="1" bgcolor="#9999FF" |- ! Verb ! Past Participle |- | imprimir | imprimido / impreso |- | ocultar | ocultado / oculto |} ---- == Grammar - Present Perfect (el pretérito perfecto) == The Spanish present perfect is formed by conjugating the auxiliary verb '''haber''' (= ''to have'') and adding the past participle of the verb. {| border="1" bgcolor="#9999FF" |- ! ! Present Perfect ! ''English'' |- | yo || he comido || ''I have eaten'' |- | tú || has comido || ''you have eaten '' |- | Ud./él/ella || ha comido || ''you/he/she has eaten'' |- | nosotros(as) || hemos comido || ''we have eaten'' |- | vosotros(as) || habéis comido || ''you have eaten'' |- | Uds./ellos(as) || han comido || ''you/they have eaten'' |} Here are a few examples of the Spanish Present perfect. Note that in Spanish the auxiliary verb '''haber''' and the past participle are never separated: {| border="1" bgcolor="#99FF99" |- | Carlos y yo '''hemos jugado''' fútbol. | <i>Carlos and I '''have played''' soccer.</i> |- | ¿'''Has hecho''' tus tareas escolares de español? | <i>'''Have''' you '''done''' your Spanish homework? </i> |- | Nunca se '''ha enfermado'''. | <i>He '''has''' never '''been''' sick. </i> |} ---- == Grammar - Pluperfect (el pretérito pluscuamperfecto) == The Spanish pluperfect is formed by conjugating imperfect of '''haber''' (= ''to have'') and adding the past participle of the verb. {| border="1" bgcolor="#9999FF" |- ! ! Present Perfect ! ''English'' |- | yo || había comido | ''I had eaten '' |- | tú || habías comido | ''you had eaten'' |- | Ud./él/ella || había comido | ''you/he/she had eaten'' |- | nosotros(as) || habíamos comido | ''we had eaten'' |- | vosotros(as) || habíais comido | ''you (all) had eaten'' |- | Uds./ellos(as) || habían comido | ''you/they had eaten'' |} Here are a few examples of the Spanish pluperfect. It is used to refer to an event that happened before another event in the past. As in the present perfect, the auxiliary verb '''haber''' and the past participle are never separated: {| border="1" bgcolor="#99FF99" |- | Carlos y yo '''habíamos jugado''' el fútbol antes la fiesta anoche. | <i>Carlos and I '''had played''' soccer before the party last night.</i> |- | ¿Tu '''habías venido''' antes a Mexico? | <i>'''Had''' you '''been''' to Mexico before? </i> |- | Nunca se '''había enfermado''' cuando era un niño. | <i>He '''had''' never '''been''' sick while he was a kid. </i> |} ---- == El vocabulario (Vocabulary) - Los medios (Media)== {| style="background-color: #f2fff2; border: solid 1px #bfffbf; padding: 0.2em; width: 90%; margin: auto;" valign=top |[[File:Flag of Spain.svg|left|26x26px|Spanish Flag]]<span style="font-size: 110%">'''El Vocabulario''' <br><small>''Los medios''</small></span> |- | {| style="width: 100%; text-align: left" | colspan=2 | <div style="text-align: center;"><span style="font-size: 92%">Media Vocabulary</span></div> |- |<div style="font-size: 95%; font-weight: bold; line-height: 105%"> el artículo<br /> la cadena<br /> el canal<br /> el/la comentarista<br /> el/la crítico/a<br /> en directo, en vivo<br /> la estación de radio, la emisora<br /> las noticias<br /> el noticiero<br /> el/la periodista<br /> el periódico<br /> la prensa<br /> la primera plana<br /> la sección deportiva<br /> la sección financiera<br /> '''la''' radio<br /> el/la reportero/a<br /> la telenovela<br /> la revista<br /> la televisión<br /> el titular<br /> la historieta<br /> la música<br /> </div> |<div style="font-size: 95%; line-height:105%"> article<br /> network<br /> channel<br /> commentator<br /> critic<br /> live<br /> radio station<br /> news<br /> newscast<br /> journalist<br /> newspaper<br /> press<br /> front page<br /> sports section<br /> business section<br /> radio <br /> reporter<br /> soap opera<br /> magazine<br /> television<br /> headline<br /> comic book<br /> music<br /> </div> |} |} ---- {{Spanish}} mogd1u4b12pignszgv03g2nc56ptqkf German/Appendices/Resources 0 1983 4656805 3075701 2026-08-09T13:01:43Z Ypp22 3491883 Added https://en.wikipedia.org/wiki/German_grammar to Deutsch-Englisch 4656805 wikitext text/x-wiki <noinclude>{{German/Appendices/Header}}</noinclude> <big><big>Appendix 3 ~ </big>Online Resources for German Language Students</big> ==Lists and directories to online resources== * [http://en.bab.la bab.la] - Language Portal | Online Quizzes | Learn Languages * [https://www.antosch-and-lin.com/german/ German Flashcards] - Flashcards with audio files and dictionary * [http://www.deutschlern.net www.deutschlern.net] - E-learning platform for beginning, intermediate and advanced students and teachers of German. Exercises based on authentic texts train reading comprehension, vocabulary, and grammar. Monitor function for teachers. Free of charge, requires free login. * [http://learngerman.elanguageschool.net Learn German Online] - Free German lessons online. * [http://www.populearn.com/german/ Learn German for free] - Free German language lessons. * [http://www.cornelia.siteware.ch/daf.html Deutsch als Fremdsprache] - Useful links for German language learners. Site in German. * [http://www.vistawide.com/german German Language and Culture Resources] - Materials and resources for learning the German language and about German-speaking culture. * [http://www.ielanguages.com/German.html Free Online German Tutorial] - at ielanguages.com * [http://loquela-education.net Free resources for language students] - Practice speaking German with audio forums. * [http://learn-german.bravehost.com Learn-German] - Learn German quickly with our German tips, advice, and links. * [http://www.trymango.com Mango] - Mango Languages has free German Lessons for English speakers. * [http://lernsoware.de lernsoware.de] Wiki German lessons online ==Über die deutsche Sprache - about German== * [http://www.ethnologue.com/show_language.asp?code=GER Ethnologue report for German] * [http://www.vds-ev.de Verein Deutsche Sprache] == Online Wörterbücher - Dictionary == * [http://www.free-dictionary-translation.com Free Online Dictionary] - Languages of the world ===Deutsch-Englisch (German-English)=== * [[wikipedia:_German_Overview|Wikipedia: German Grammar]] - Provides an overview of German grammar * [http://en.wiktionary.org Wiktionary - English] * [http://de.wiktionary.org Wiktionary - German] * [http://en.bab.la/dictionary/german-english bab.la German-English] - Translations, synonyms, grammar, voice output, regional and colloquial expressions. * [http://dict.leo.org/ LEO] - with audiofiles of most of the words and vocabulary trainer. * [http://dict.cc/ Dict.cc] * [http://dict.tu-chemnitz.de/ BEOLINGUS] * [http://en.langenscheidt.com/ Langenscheidt] * [http://en.pons.com/ Pons] - Dictionary with vocabulary trainer. * [http://www-user.tu-chemnitz.de/~fri/ding/ Ding] - Ding is a Dictionary lookup program for the X window system (Linux, Unix - not for Mac or MS Windows). It comes with a German-English Dictionary with approximately 180,000 entries.r. ===Nur Deutsch - German only=== * [http://www.duden.de/ Duden] * [http://wortschatz.uni-leipzig.de/ Deutscher Wortschatz] * [http://www.dwds.de/ DWDS- Das digitale Wörterbuch der deutschen Sprache] - German only dictionary for advanced learners. * [http://www.wissen.de/lexika Wissen.de] - Orthography and foreign words * [http://www.redensarten-index.de/suche.php Redensartenindex] - German idioms and proverbs with explanations ===Slideshows with pictures and pronunciations=== [http://commons.wikimedia.org/wiki/Category:Language_courses-German Language courses German] at the time of insertion there is only one file about fruit - I will try to add new ones every week-end. == Deutsche Grammatik und Rechtschreibung- German Grammar and Spelling== * [http://www.canoo.net Canoo] - extensive database about inflection and word formation * [http://www.ielanguages.com/German.html German Grammar Resource] - Free German grammar lessons * [http://www.deutsch-lernen.com Free online German course] - new orthography, grammar, exercises, tests, example sentences, jokes, learning tips ==Aussprache - Pronunciation== *[http://userweb.port.ac.uk/~joyce1/abinitio/pronounce/ A Guide to German Pronunciation] - Pronunciation course for beginners. ==Blogs== *[http://www.deutschlern.net/blog/ Deutschlernblog] Tips for learning German. Site entirely in German. * [http://www.cornelia.siteware.ch/blog/wordpress/ DaF-Blog] On German language and how to learn it. Parts of the Site are in English, but most of it in German. *[http://deutschhappen.blogspot.com/ Deutsch-Happen] small, bite-sized snaps of German language for the advancing learner ==Podcasts== ===from learners=== * [http://speakensiedeutsch.blogspot.com/ Speaken Sie Deutsch?]: Podcast from Canadian Hugh Gordon ([http://feeds.feedburner.com/SpeakenSieDeutsch Rss-Feed]). ===for learners=== *[http://www.deutschlern.net/ Guter Umgang]: German language learning blog about colloquial German ([http://www.deutschlern.net/podcast-deutsch-lernen-mit-umgangssprache RSS-Feed]). *[http://learninggerman.mschubertberlin.de/podblog/index.php Let's speak German]: Jokes, poems, tonguetwisters and more in German ([http://learninggerman.mschubertberlin.de/podblog/rss.php RSS-Feed]). *[http://www.dw-world.de/dw/0,2142,9540,00.html Podcasts of Deutsche Welle]: Nachrichten, Top-Thema, Stichwort, Sprachbar and Alltagsdeutsch are specifically made for language learners. Most of the texts can be found on the pages [http://www.dw-world.de/dw/0,2142,9213,00.html Deutsch im Fokus] (Sprachbar, Stichwort and Alltagsdeutsch) and [http://www.dw-world.de/dw/0,2142,2146,00.html Didaktuelles] (Nachrichten and Top-Thema). ** [http://www.dw.de/deutsch-lernen/nachrichten/s-8030 DW: Slowly spoken news] - suitable for B2, C1 *[http://www.slowgerman.com/ Slow German]: Podcast in slowly spoken German across a variety of topics, ranging from absolute beginner to intermediate. ==Tandem== [http://www.slf.ruhr-uni-bochum.de/ Tandem by E-Mail] [http://www.language-exchanges.org The Mixxer] Tandem via [http://www.skype.com Skype] <noinclude>{{German/Appendices/Footer}}</noinclude> l1alqd56y0czukym1ijdowhiirmquvi 4656806 4656805 2026-08-09T13:21:11Z Ypp22 3491883 Added "DW Learn German" to Deutsch-Englisch. Also, I've noticed that http://learn-german.bravehost.com/ no longer leads to a site for learning German (I checked it on the wayback machine and there used to be a website there) 4656806 wikitext text/x-wiki <noinclude>{{German/Appendices/Header}}</noinclude> <big><big>Appendix 3 ~ </big>Online Resources for German Language Students</big> ==Lists and directories to online resources== * [http://en.bab.la bab.la] - Language Portal | Online Quizzes | Learn Languages * [https://www.antosch-and-lin.com/german/ German Flashcards] - Flashcards with audio files and dictionary * [http://www.deutschlern.net www.deutschlern.net] - E-learning platform for beginning, intermediate and advanced students and teachers of German. Exercises based on authentic texts train reading comprehension, vocabulary, and grammar. Monitor function for teachers. Free of charge, requires free login. * [http://learngerman.elanguageschool.net Learn German Online] - Free German lessons online. * [http://www.populearn.com/german/ Learn German for free] - Free German language lessons. * [http://www.cornelia.siteware.ch/daf.html Deutsch als Fremdsprache] - Useful links for German language learners. Site in German. * [http://www.vistawide.com/german German Language and Culture Resources] - Materials and resources for learning the German language and about German-speaking culture. * [http://www.ielanguages.com/German.html Free Online German Tutorial] - at ielanguages.com * [http://loquela-education.net Free resources for language students] - Practice speaking German with audio forums. * [http://learn-german.bravehost.com Learn-German] - Learn German quickly with our German tips, advice, and links. * [http://www.trymango.com Mango] - Mango Languages has free German Lessons for English speakers. * [http://lernsoware.de lernsoware.de] Wiki German lessons online ==Über die deutsche Sprache - about German== * [http://www.ethnologue.com/show_language.asp?code=GER Ethnologue report for German] * [http://www.vds-ev.de Verein Deutsche Sprache] == Online Wörterbücher - Dictionary == * [http://www.free-dictionary-translation.com Free Online Dictionary] - Languages of the world ===Deutsch-Englisch (German-English)=== * [https://learngerman.dw.com/en/learn-german/s-9528 DW Learn German] - Lessons in German. * [[wikipedia:_German_Overview|Wikipedia: German Grammar]] - Provides an overview of German grammar. * [https://en.wiktionary.org Wiktionary - English] * [https://de.wiktionary.org Wiktionary - German] * [http://en.bab.la/dictionary/german-english bab.la German-English] - Translations, synonyms, grammar, vDoice output, regional and colloquial expressions. * [http://dict.leo.org/ LEO] - with audiofiles of most of the words and vocabulary trainer. * [http://dict.cc/ Dict.cc] * [http://dict.tu-chemnitz.de/ BEOLINGUS] * [http://en.langenscheidt.com/ Langenscheidt] * [http://en.pons.com/ Pons] - Dictionary with vocabulary trainer. * [http://www-user.tu-chemnitz.de/~fri/ding/ Ding] - Ding is a Dictionary lookup program for the X window system (Linux, Unix - not for Mac or MS Windows). It comes with a German-English Dictionary with approximately 180,000 entries.r. ===Nur Deutsch - German only=== * [http://www.duden.de/ Duden] * [http://wortschatz.uni-leipzig.de/ Deutscher Wortschatz] * [http://www.dwds.de/ DWDS- Das digitale Wörterbuch der deutschen Sprache] - German only dictionary for advanced learners. * [http://www.wissen.de/lexika Wissen.de] - Orthography and foreign words * [http://www.redensarten-index.de/suche.php Redensartenindex] - German idioms and proverbs with explanations ===Slideshows with pictures and pronunciations=== [http://commons.wikimedia.org/wiki/Category:Language_courses-German Language courses German] at the time of insertion there is only one file about fruit - I will try to add new ones every week-end. == Deutsche Grammatik und Rechtschreibung- German Grammar and Spelling== * [http://www.canoo.net Canoo] - extensive database about inflection and word formation * [http://www.ielanguages.com/German.html German Grammar Resource] - Free German grammar lessons * [http://www.deutsch-lernen.com Free online German course] - new orthography, grammar, exercises, tests, example sentences, jokes, learning tips ==Aussprache - Pronunciation== *[http://userweb.port.ac.uk/~joyce1/abinitio/pronounce/ A Guide to German Pronunciation] - Pronunciation course for beginners. ==Blogs== *[http://www.deutschlern.net/blog/ Deutschlernblog] Tips for learning German. Site entirely in German. * [http://www.cornelia.siteware.ch/blog/wordpress/ DaF-Blog] On German language and how to learn it. Parts of the Site are in English, but most of it in German. *[http://deutschhappen.blogspot.com/ Deutsch-Happen] small, bite-sized snaps of German language for the advancing learner ==Podcasts== ===from learners=== * [http://speakensiedeutsch.blogspot.com/ Speaken Sie Deutsch?]: Podcast from Canadian Hugh Gordon ([http://feeds.feedburner.com/SpeakenSieDeutsch Rss-Feed]). ===for learners=== *[http://www.deutschlern.net/ Guter Umgang]: German language learning blog about colloquial German ([http://www.deutschlern.net/podcast-deutsch-lernen-mit-umgangssprache RSS-Feed]). *[http://learninggerman.mschubertberlin.de/podblog/index.php Let's speak German]: Jokes, poems, tonguetwisters and more in German ([http://learninggerman.mschubertberlin.de/podblog/rss.php RSS-Feed]). *[http://www.dw-world.de/dw/0,2142,9540,00.html Podcasts of Deutsche Welle]: Nachrichten, Top-Thema, Stichwort, Sprachbar and Alltagsdeutsch are specifically made for language learners. Most of the texts can be found on the pages [http://www.dw-world.de/dw/0,2142,9213,00.html Deutsch im Fokus] (Sprachbar, Stichwort and Alltagsdeutsch) and [http://www.dw-world.de/dw/0,2142,2146,00.html Didaktuelles] (Nachrichten and Top-Thema). ** [http://www.dw.de/deutsch-lernen/nachrichten/s-8030 DW: Slowly spoken news] - suitable for B2, C1 *[http://www.slowgerman.com/ Slow German]: Podcast in slowly spoken German across a variety of topics, ranging from absolute beginner to intermediate. ==Tandem== [http://www.slf.ruhr-uni-bochum.de/ Tandem by E-Mail] [http://www.language-exchanges.org The Mixxer] Tandem via [http://www.skype.com Skype] <noinclude>{{German/Appendices/Footer}}</noinclude> c3ewhgfptznjpelg2wcoavpuwfg9o0r Danish/Cover 0 3182 4656936 4648143 2026-08-10T07:20:44Z ShakespeareFan00 46022 4656936 wikitext text/x-wiki {{center/top}} {| CELLPADDING="10" | <div style="text-align: center;">[[image:Flag of Denmark.svg|105px|border|Flag of Denmark]]<br /> <small>''Danmark''</small></div> | <big><big>Dansk ~ English</big></big><br> <big>Learning the Danish Language</big> |} [[Image:Ærøskøbing.JPG|600px|thumb|center|En gade i Ærøskøbing, Danmark<br />A street in Ærøskøbing, Denmark]] {{center/end}} {{BookCat}} 5yymn4ynzdm907cevp02cd2aerel43u Geometry/Right Triangles and Pythagorean Theorem 0 8342 4656916 4650124 2026-08-10T06:55:43Z ShakespeareFan00 46022 4656916 wikitext text/x-wiki ==Right triangles== '''Right triangles''' are [[../Triangle|triangle]]s in which one of the interior [[Geometry/Angles|angles]] is 90<sup>o</sup>. A 90<sup>o</sup> angle is called a '''right angle'''.<br> Right triangles have special properties which make it easier to conceptualize and calculate their parameters in many cases. The side opposite of the right angle is called the '''hypotenuse'''. The sides adjacent to the right angle are the '''legs'''. When using the Pythagorean Theorem, the hypotenuse or its length is often labeled with a lower case '''c'''. The legs (or their lengths) are often labeled '''a''' and '''b'''. <div style="text-align: center;">[[Image:Right_triangle_shows_hyp_legs.PNG]]</div> Either of the legs can be considered a base and the other leg would be considered the height (or altitude), because the right angle automatically makes them perpendicular. If the lengths of both the legs are known, then by setting one of these sides as the '''base''' ( b ) and the other as the '''height''' ( h ), the area of the right triangle is very easy to calculate using this formula: <div style="text-align: center;">[[Image:Right_triangle_bh.PNG]]<math>Area = \,</math>'''(<sup>1</sup>/<sub>2</sub>)'''<math> b h \, </math></div> This is intuitively logical because another congruent right triangle can be placed against it so that the hypotenuses are the same line segment, forming a rectangle with sides having length b and width h. The area of the rectangle is b &times; h, so either one of the congruent right triangles forming it has an area equal to half of that rectangle. <div style="text-align: center;">[[Image:Two right triangles in rectangle.PNG]]</div> Right triangles can be neither equilateral, acute, nor obtuse triangles. Isosceles right triangles have two 45&deg; angles as well as the 90&deg; angle. All isosceles right triangles are similar since corresponding angles in isosceles right triangles are equal. If another triangle can be divided into two right triangles (see [[../Triangle/]]), then the area of the triangle may be able to be determined from the sum of the two constituent right triangles. Also the Pythagorean theorem can be used for non right triangles. a2+b2=c2-2c ==Pythagorean Theorem== For history regarding the Pythagorean Theorem, see [[w:Pythagorean theorem|Pythagorean theorem]]. The '''Pythagorean Theorem''' states that: * In a right triangle, the square of the length of the hypotenuse is equal to the sum of the squares of the lengths of the other two sides. Let's take a right triangle as shown here and set c equal to the length of the hypotenuse and set a and b each equal to the lengths of the other two sides. Then the Pythagorean Theorem can be stated as this equation: <div style="text-align: center;">[[Image:Pythagorean_triangle.PNG]] <math> \quad c^2 = a^2 + b^2 </math></div> Using the Pythagorean Theorem, if the lengths of any two of the sides of a right triangle are known and it is known which side is the hypotenuse, then the length of the third side can be determined from the formula. ==Sine, Cosine, and Tangent for Right Triangles== '''Sine''', '''Cosine''', and '''Tangent''' are all functions of an angle, which are useful in right triangle calculations. For an angle designated as &theta;, the sine function is abbreviated as '''sin''' &theta;, the cosine function is abbreviated as '''cos''' &theta;, and the tangent function is abbreviated as '''tan''' &theta;. For any <br>angle &theta;, sin &theta;, cos &theta;, and tan &theta; are each single determined values and if &theta; is a known value, sin &theta;, cos &theta;, and tan &theta; can be looked up in a table or found with a calculator. There is a table listing these function values at the end of this section. For an angle between listed values, the sine, cosine, or tangent of that angle can be estimated from the values in the table. Conversely, if a number is known to be the sine, cosine, or tangent of an angle, then such tables could be used in reverse to find (or estimate) the value of a corresponding angle. These three functions are related to right triangles in the following ways: In a right triangle, * the sine of a non-right angle equals the length of the leg opposite that angle divided by the length of the hypotenuse. * the cosine of a non-right angle equals the length of the leg adjacent to it divided by the length of the hypotenuse. * the tangent of a non-right angle equals the length of the leg opposite that angle divided by the length of the leg adjacent to it. For any value of &theta; where cos &theta; &ne; 0, <div style="text-align: center;"><math>\qquad \tan \theta = \frac {\sin \theta } {\cos \theta }</math>. </div> <br> If one considers the diagram representing a right triangle with the two non-right angles &theta;<sub>1</sub>and &theta;<sub>2</sub>, and the side lengths a,b,c as shown here: <div style="text-align: center;">[[Image:Right_triangle.PNG]]</div> For the functions of angle &theta;<sub>1</sub>: <div style="text-align: center;"><math>\sin \theta_1 = \frac {b} {c} \qquad \cos \theta_1 = \frac{a} {c} \qquad \tan \theta_1 = \frac {b} {a} </math></div> <br> Analogously, for the functions of angle &theta;<sub>2</sub>: <div style="text-align: center;"><math>\sin \theta_2 = \frac {a} {c} \qquad \cos \theta_2 = \frac {b} {c} \qquad \tan \theta_2 = \frac {a} {b} </math></div> ---- {{center/top}} ===Table of sine, cosine, and tangent for angles &theta; from 0 to 90&deg; === {| border="1" cell padding = "2" !width="60" bgcolor=aqua | &theta; in degrees !!width="70" bgcolor=aqua | &theta; in radians !!width="70" bgcolor=aqua | sin &theta; !!width="70" bgcolor=aqua | cos &theta; !!width="70" bgcolor=aqua | tan &theta; |- | bgcolor=beige |0 || bgcolor=beige | 0 || bgcolor=beige |0.0 || bgcolor=beige |1.0 || bgcolor=beige |0.0 |- | 1 || 0.017453293 || 0.01745240 || 0.9998477 || 0.017455065 |- | 2 || 0.034906585 || 0.034899497 || 0.99939083 || 0.034920769 |- | 3 || 0.052359878 || 0.052335956 || 0.99862953 || 0.052407779 |- | 4 || 0.06981317 || 0.069756474 || 0.99756405 || 0.069926812 |- | bgcolor=beige | 5 || bgcolor=beige | 0.087266463 || bgcolor=beige | 0.087155743 || bgcolor=beige | 0.9961947 || bgcolor=beige | 0.087488664 |- | 6 || 0.10471976 || 0.10452846 || 0.9945219 || 0.10510424 |- | 7 || 0.12217305 || 0.12186934 || 0.99254615 || 0.12278456 |- | 8 || 0.13962634 || 0.1391731 || 0.99026807 || 0.14054083 |- | 9 || 0.15707963 || 0.15643447 || 0.98768834 || 0.15838444 |- | bgcolor=beige |10 || bgcolor=beige | 0.17453293 || bgcolor=beige | 0.17364818 || bgcolor=beige | 0.98480775 || bgcolor=beige | 0.17632698 |- | 11 || 0.19198622 || 0.190809 || 0.98162718 || 0.19438031 |- | 12 || 0.20943951 || 0.20791169 || 0.9781476 || 0.21255656 |- | 13 || 0.2268928 || 0.22495105 || 0.97437006 || 0.23086819 |- | 14 || 0.2443461 || 0.2419219 || 0.97029573 || 0.249328 |- | bgcolor=beige | 15 || bgcolor=beige | 0.26179939 || bgcolor=beige | 0.25881905 || bgcolor=beige | 0.96592583 || bgcolor=beige | 0.26794919 |- | 16 || 0.27925268 || 0.27563736 || 0.9612617 || 0.28674539 |- | 17 || 0.29670597 || 0.2923717 || 0.95630476 || 0.30573068 |- | 18 || 0.31415927 || 0.30901699 || 0.95105652 || 0.3249197 |- | 19 || 0.33161256 || 0.32556815 || 0.94551858 || 0.34432761 |- | bgcolor=beige | 20 || bgcolor=beige | 0.34906585 || bgcolor=beige | 0.34202014 || bgcolor=beige | 0.93969262 || bgcolor=beige | 0.36397023 |- | 21 || 0.36651914 || 0.35836795 || 0.93358043 || 0.38386404 |- | 22 || 0.38397244 || 0.37460659 || 0.92718385 || 0.40402623 |- | 23 || 0.40142573 || 0.39073113 || 0.92050485 || 0.42447482 |- | 24 || 0.41887902 || 0.40673664 || 0.91354546 || 0.44522869 |- | bgcolor=beige | 25 || bgcolor=beige | 0.43633231 || bgcolor=beige | 0.42261826 || bgcolor=beige | 0.90630779 || bgcolor=beige | 0.46630766 |- | 26 || 0.45378561 || 0.43837115 || 0.89879405 || 0.48773259 |- | 27 || 0.4712389 || 0.4539905 || 0.89100652 || 0.50952545 |- | 28 || 0.48869219 || 0.46947156 || 0.88294759 || 0.53170943 |- | 29 || 0.50614548 || 0.48480962 || 0.87461971 || 0.55430905 |- | bgcolor=beige | 30 || bgcolor=beige | 0.52359878 || bgcolor=beige | 0.5 || bgcolor=beige | 0.8660254 || bgcolor=beige | 0.57735027 |- | 31 || 0.54105207 || 0.51503807 || 0.8571673 || 0.60086062 |- | 32 || 0.55850536 || 0.52991926 || 0.8480481 || 0.62486935 |- | 33 || 0.57595865 || 0.54463904 || 0.83867057 || 0.64940759 |- | 34 || 0.59341195 || 0.5591929 || 0.82903757 || 0.67450852 |- | bgcolor=beige | 35 || bgcolor=beige | 0.61086524 || bgcolor=beige | 0.57357644 || bgcolor=beige | 0.81915204 || bgcolor=beige | 0.70020754 |- | 36 || 0.62831853 || 0.58778525 || 0.80901699 || 0.72654253 |- | 37 || 0.64577182 || 0.60181502 || 0.79863551 || 0.75355405 |- | 38 || 0.66322512 || 0.61566148 || 0.78801075 || 0.78128563 |- | 39 || 0.68067841 || 0.62932039 || 0.77714596 || 0.80978403 |- | bgcolor=beige | 40 || bgcolor=beige | 0.6981317 || bgcolor=beige | 0.64278761 || bgcolor=beige | 0.76604444 || bgcolor=beige | 0.83909963 |- | 41 || 0.71558499 || 0.65605903 || 0.75470958 || 0.86928674 |- | 42 || 0.73303829 || 0.66913061 || 0.74314483 || 0.90040404 |- | 43 || 0.75049158 || 0.68199836 || 0.7313537 || 0.93251509 |- | 44 || 0.76794487 || 0.69465837 || 0.7193398 || 0.96568877 |- | bgcolor=beige | 45 || bgcolor=beige | 0.78539816 || bgcolor=beige | 0.70710678 || bgcolor=beige | 0.70710678 || bgcolor=beige | 1.0 |- | 46 || 0.80285146 || 0.7193398 || 0.69465837 || 1.03553031 |- | 47 || 0.82030475 || 0.7313537 || 0.68199836 || 1.07236871 |- | 48 || 0.83775804 || 0.74314483 || 0.66913061 || 1.11061251 |- | 49 || 0.85521133 || 0.75470958 || 0.65605903 || 1.15036841 |- | bgcolor=beige | 50 || bgcolor=beige | 0.87266463 || bgcolor=beige | 0.76604444 || bgcolor=beige | 0.64278761 || bgcolor=beige | 1.19175359 |- | 51 || 0.89011792 || 0.77714596 || 0.62932039 || 1.23489716 |- | 52 || 0.90757121 || 0.78801075 || 0.61566148 || 1.27994163 |- | 53 || 0.9250245 || 0.79863551 || 0.60181502 || 1.32704482 |- | 54 || 0.9424778 || 0.80901699 || 0.58778525 || 1.37638192 |- | bgcolor=beige | 55 || bgcolor=beige | 0.95993109 || bgcolor=beige | 0.81915204 || bgcolor=beige | 0.57357644 || bgcolor=beige | 1.42814801 |- | 56 || 0.97738438 || 0.82903757 || 0.5591929 || 1.48256097 |- | 57 || 0.99483767 || 0.82367057 || 0.54463904 || 1.53986496 |- | 58 || 1.01229097 || 0.8480481 || 0.52991926 || 1.60033453 |- | 59 || 1.02974426 || 0.8571673 || 0.51503807 || 1.66427948 |- | bgcolor=beige | 60 || bgcolor=beige | 1.04719755 || bgcolor=beige | 0.8660254 || bgcolor=beige | 0.5 || bgcolor=beige | 1.73205081 |- | 61 || 1.06465084 || 0.87461971 || 0.48480962 || 1.80404776 |- | 62 || 1.08210414 || 0.88294759 || 0.46947156 || 1.88072647 |- | 63 || 1.09955743 || 0.89100652 || 0.4539905 || 1.96261051 |- | 64 || 1.11701072 || 0.89879405 || 0.43837115 || 2.05030384 |- | bgcolor=beige | 65 || bgcolor=beige | 1.13446401 || bgcolor=beige | 0.90630779 || bgcolor=beige | 0.42261826 || bgcolor=beige | 2.14450692 |- | 66 || 1.15191731 || 0.91354546 || 0.40673664 || 2.24603677 |- | 67 || 1.1693706 || 0.92050485 || 0.39073113 || 2.35585237 |- | 68 || 1.18682389 || 0.92718385 || 0.37460659 || 2.47508685 |- | 69 || 1.20427718 || 0.93358043 || 0.35836795 || 2.60508906 |- | bgcolor=beige | 70 || bgcolor=beige | 1.22173048 || bgcolor=beige | 0.93969262 || bgcolor=beige | 0.34202014 || bgcolor=beige | 2.74747742 |- | 71 || 1.23918377 || 0.94551858 || 0.32556815 || 2.90421088 |- | 72 || 1.25663706 || 0.95105652 || 0.30901699 || 3.07768354 |- | 73 || 1.27409035 || 0.95630476 || 0.2923717 || 3.27085262 |- | 74 || 1.29154365 || 0.9612617 || 0.27563736 || 3.48741444 |- | bgcolor=beige | 75 || bgcolor=beige | 1.30899694 || bgcolor=beige | 0.96592583 || bgcolor=beige | 0.25881905 || bgcolor=beige | 3.73205081 |- | 76 || 1.32645023 || 0.97029573 || 0.2419219 || 4.01078093 |- | 77 || 1.34390352 || 0.97437006 || 0.22495105 || 4.33147587 |- | 78 || 1.36135682 || 0.9781476 || 0.20791169 || 4.70463011 |- | 79 || 1.37881011 || 0.98162718 || 0.190809 || 5.14455402 |- | bgcolor=beige | 80 || bgcolor=beige | 1.3962634 || bgcolor=beige | 0.98480775 || bgcolor=beige | 0.17364818 || bgcolor=beige | 5.67128182 |- | 81 || 1.41371669 || 0.98768834 || 0.15643447 || 6.31375151 |- | 82 || 1.43116999 || 0.99026807 || 0.1391731 || 7.11536972 |- | 83 || 1.44862328 || 0.99254615 || 0.12186934 || 8.14434643 |- | 84 || 1.46607657 || 0.9945219 || 0.10452846 || 9.51436445 |- | bgcolor=beige | 85 || bgcolor=beige | 1.48352986 || bgcolor=beige | 0.9961947 || bgcolor=beige | 0.087155743 || bgcolor=beige | 11.4300523 |- | 86 || 1.50098316 || 0.99756405 || 0.069756474 || 14.3006663 |- | 87 || 1.51843645 || 0.99862953 || 0.052335956 || 19.0811367 |- | 88 || 1.53588974 || 0.99939083 || 0.034899497 || 28.6362533 |- | 89 || 1.55334303 || 0.9998477 || 0.01745240 || 57.2899616 |- | bgcolor=beige | 90 || bgcolor=beige | 1.57079633 || bgcolor=beige | 1.0 || bgcolor=beige | 0.0 || bgcolor=beige |not defined |} {{center/end}} General rules for important angles: <math> sin 45^o = cos 45^o = \frac{1}{\sqrt{2}} </math> <math> tan 45^o = 1 </math> <math> sin 30^o = \frac{1}{2} = cos 60^o </math> <math> cos 30^o = \frac{\sqrt{3}}{2} = sin 60^o </math> {{BookCat}} sm48vrmtr057vvtq5bwjt9s9elihot3 User:Angela 2 8575 4656980 4647800 2026-08-10T08:23:26Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656980 wikitext text/x-wiki <div style="background-color:#F9F9FC; line-height:1.5; border-width : 2px; border-style:solid; border-color:#3A3C93; font-color:#000000; margin-right : 5px; margin-left : 5px; margin-top : 5px; margin-bottom : 5px; font-family: Verdana,Arial,Helvetica; padding: 5px;"> {{center/top}} [[w:en:User:Angela|I]] first edited Wikibooks on 10 September 2003. Most of my edits here are moving articles from the English Wikipedia via the [[m:help:transwiki|transwiki]] system, especially [[Cookbook:Recipes|recipes]] which I believe better fit the [[Cookbook:Table of Contents|Wikimedia Cookbook]] than the encyclopedia. As a former developer of student assessments, I am interested in the [[Wikiversity]] project. I am also interested in collaborating with [[Help:Related Projects|related projects]]. [[Wikibooks:Languages bookshelf|<span style="color: #000000;">Languages</span>]]&nbsp;- [[Cookbook:Recipes|<span style="color: #000000;">Recipes</span>]]&nbsp;- [[Wikibooks:Reading room|<span style="color: #000000;">Reading room</span>]]&nbsp;- [[Wikibooks:Transwiki log|<span style="color: #000000;">Transwiki</span>]]&nbsp;- [[Wikibooks:Votes for deletion|<span style="color: #000000;">VfD</span>]]&nbsp;- [[Wikibooks:Template messages|<span style="color: #000000;">Boilerplates</span>]]&nbsp;- [[Wikibooks:Study help desk|<span style="color: #000000;">Help desk</span>]] '''Wikijunior''': <!-- Please add new Wikijunior books according to the Wikijunior:New Title Policy. Please see the main Wikijunior page for more information. --> <div style="text-align: center;"><small>[[Wikijunior:Ancient Civilizations|Ancient Civilizations]]&nbsp;&ndash; [[Wikijunior:Big Cats|Big Cats]]&nbsp;&ndash; [[Wikijunior:Bugs|Bugs]]&nbsp;&ndash; [[Wikijunior:Dinosaurs|Dinosaurs]]&nbsp;&ndash; [[Wikijunior:The Elements|The Elements]]&nbsp;&ndash; [[Wikijunior:How Things Work|How Things Work]]&nbsp;&ndash; [[Wikijunior:Human Body|Human Body]]&nbsp;&ndash; [[Wikijunior:Kings and Queens of England|Kings and Queens of England]]&nbsp;&ndash; [[Wikijunior:Languages|Languages]]&nbsp;&ndash; [[Wikijunior:Solar System|The Solar System]]&nbsp;&ndash; [[Wikijunior:South America|South America]]&nbsp;&ndash; [[Wikijunior:World War II|World War II]]</small></div> <div style="text-align: right;"><small>[[Wikibooks:What_is_Wikijunior|About Wikijunior >>]]</small></div> __NOEDITSECTION__ {| cellspacing=3 |- valign="top" |width="50%" style="border-style:solid;border-width:1px;padding:1em;padding-top:0;"| ==Featured Recipe== {{:Main Page/Recipe}} |width="50%" style="border-style:solid;border-width:1px;padding:1em;padding-top:0;"| {| style="background-color:#FFFFFF; align="center" cellpadding="3px" |- align="center" | [[Image:Wikimedia-logo.png|50px]] | [[Image:Commons-logo.png|50px]] | [[Image:Wikipedia-logo.png|50px]] | [[Image:Wikinews-logo.png|50px]] | [[Image:Wiktionary-logo-en.png|50px]] |- bgcolor="#CAD2ff" align="center" font-size:small; | [[Wikimedia:User:Angela|Wikimedia]] | [[Commons:User:Angela|Commons]] | [[W:User:Angela|Wikipedia]] | [[N:User:Angela|Wikinews]] | [[Wiktionary:User:Angela|Wiktionary]] |- align="center" | [[Image:Wikisource-logo.png|50px]] | [[Image:Wikiquote-logo.png|50px]] | [[Image:Wikiversity-logo.svg|50px]] | [[Image:Wikispecies-logo.png|50px]] | [[Image:Wikimedia-logo-meta.png|50px]] |- bgcolor="#CAD2ff" align="center" font-size:small; | [[Wikisource:User:Angela|Wikisource]] | [[Q:User:Angela|Wikiquote]] | [[Wikiversity:User:Angela|Wikiversity]] | [[Wikispecies:User:Angela|Wikispecies]] | [[Meta:User:Angela|Meta]] |} |} <div class="plainlinks"> The [[w:Wikimedia Foundation|Wikimedia Foundation]] is a non-profit organization that depends on donations to operate. If you find Wikibooks or [[Meta:Template:Sisterprojects|other projects]] hosted by the Wikimedia Foundation useful, please consider making a [http://wikimediafoundation.org/wiki/Fundraising donation]. Donations are used primarily for purchasing [[m:Wikimedia servers|server equipment]] and launching new [[m:Proposals for new projects|projects]]. </div> {{center/end}} </div> hsngu8kqcqkvxhnomjb4mwg5p8x6hod Hebrew 0 9831 4656912 4649095 2026-08-10T06:52:36Z ShakespeareFan00 46022 4656912 wikitext text/x-wiki <!--Web version--> <noinclude> {{center/top}} {| cellspacing="8" cellpadding="0" style="width:800px; clear:both; margin:0.5em auto; background-color:#FFFFFF; border:0px;" | <div style="text-align:center;margin-left:auto;margin-right:auto;"> <span style="font-size: xxx-large;">'''ISRAELI HEBREW'''</span><br> {{Hebrew-Huge|עברית ישראלית}}<br /> <br> <big>Learning the Hebrew Language as spoken in Israel, for English Speakers</big><br><br> <big>{{TextBox|'''[[Hebrew/Contents|תֹּכֶן הָעִנְיָנִים (Table of Contents)]]'''}}</big> </div> | [[Image:Jerusalem Ecce Homo Bogen um 1900.jpg|350px|The Arch of Ecce Homo, Jerusalem, Holy Land]] |- ! colspan="2" | ---- <div class="plainlinks"> {| align="center" |{{SideBox|Printable version:<br>[[Hebrew/Print version|View]]}} |{{SideBox|Hebrew is a [[:Category:Category 2 Languages|Category II language]].<br><small>([[Language Learning Difficulty for English Speakers|Foreign Service Institute (US)]])</small>}} |- |{{SideBox|Hebrew Wikipedia:<br>[[w:he:עברית|עברית]]}} |{{SideBox|English Wikipedia's article:<br>[[w:en:Hebrew language|Hebrew language]]}} |} </div> |} {{center/end}} </noinclude>{{Shelves|Languages of Asia}}<noinclude> {{Categories|Category 2 Languages}} {{alphabetical|H}} {{status|25%}} </noinclude> <!--Print Version--> <includeonly> <div style="text-align:center;margin-left:auto;margin-right:auto;"> <span style="font-size: xxx-large;">'''Hebrew'''</span><br><br> <span style="font-size: xxx-large;">'''עִבְרִית'''</span><br /> <big>Learning the Hebrew Language, for English Speakers</big><br><br> </div> {{print version cover text}} </includeonly> e2zedjfcr952tskz47tvc4pkr05z3zk Aros/User/Docs 0 13106 4656807 4656791 2026-08-09T13:52:36Z Jeff1138 301139 4656807 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and also PC 32bit hardware but also on motorola 68k and compatibles, some ARM and PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [http://www.amiga-news.de/en/ English translation of German site] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues Issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], '''Please, keep in mind that the distros listed above use a different ABI (abi v11) , which is NOT binary compatible with the official ABI V1.''' * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit] AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. *ABIv11 offspring / adaptation of ABIv1 for PC 64bit *ABIv1 standard for most nightly builds, it is where the most work is done by developers *ABIv0 standard for PC 32bit intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 0a656d53a9c902e9934000d8392e30ec *ArosOne-USB-1.3-64Bit.zip 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher but may spy on you], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - Most of the time when we get reports of "crashes right after grub" from usb boots it's due to wrongly recorded pendrive. Not aware if using 'dd' is a valid approach. AROS One author suggests using either rufus or etcher software for his VHD image. * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 617a905b1665128c5e05f94dcc48e7f1 *AROS-One-v1.3-64Bit-v11.zip 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For [https://aros.sourceforge.io/nightly1.html ARM Pi Aros 64bit], copy the files onto a FAT32 formatted micro SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't acpi=strict if there are issues with sound after boot noioapic alternative to no acpi Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |boot: | grub bootloader |---- |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |Utilities: | extra applications |---- |WBStartup: | copy applications here to autostart with needed icons, drawers, data etc |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system they are split into two categories (only a few are supported) <pre> Journalling - ZFS XFS ext4 NTFS SFS PFS3 Non-journaling - BtrFS ext2 exFAT FAT32(VFAT) FFS </pre> Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 only on motorola 68k at the moment] * FFS very old now but left in for legacy usage Other [https://archives.arosworld.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock AROS) * exFAT The only filesystems that really NEED defragging (i.e. disk tidy up) are from Microsoft(TM) - exFAT/VFAT/NTFS *SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But you can defrag SFS *PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive The setup of the below filesystems is usually done by the distro maintainer but if not.... <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. For audio, use AHI prefs to set Music and at least Unit 0 with the appropriate driver and press Save ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan II, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, CLI in icon's tooltypes means 'run it as if it was run from shell' If, on the other hand, the WB parameter (or no parameter) is present in Tooltypes, Wanderer will execute the binary and, if provided, the options included in Tooltypes. WBxCLI is very useful for adding options to DOS Commands. Important: AROS has a different way of managing icons. If you have an executable file, you will never be able to add a project icon. AROS will automatically recognise that it is an executable file and will transform the icon into a tool icon. Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = Help = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ComKeyRemapper or AmigaKeyremapper could swap RAmiga to another key press ===DOpus 5 Directory Opus Magellan II=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop) DirectoryOpus app will assign DOpus5: to it's PROGDIR: automatically but if not add the below (edit SYS:System to suit where Dopus5 was installed) to your startup-sequence <pre> Assign DOpus5: SYS:System/DOpus5 DOpus5:DirectoryOpus ;DOpus5:C/LoadDB </pre> Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it will be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button which mirrors the icons at the top of each lister single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon DOpus5 Magellan 2 Directory folder drawer structure <pre> ARexx - Arexx scripts .rexx and .dopus5 to perform tasks Buttons - Commands - Desktop - Environment - two environment files bundled: default gets loaded if you run DOpus as a normal app workbench gets loaded if you run DOpus as a WB Replacement (with LoadDB on startup) Filetypes - Groups - Icons - Images - Modules - compiled tasks Settings - Sounds - Themes - WBStartup - Use this if standard SYS:WBStartup gives cannot wait error messages </pre> Settings -> Environment -> Display -> Workbench (Use) *Settings -> Clock (add to title bar as well as the date) *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Menu -> (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *File Types -> (Right Win key together with 5) *User Menus -> (Right Win key together with 6) *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) *Scripts -> (Right Win key together with 8) *Icon Positioning -> (Right Win key together with 9) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) Just use wildcards in background filenames and you get a different picture every reboot For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> [https://aminet.net/util/dopus arcdir and themes] If you want to change the backdrop pic after a period of time, paste below into a text file called dopusrandbg.rexx and place in DOPus5:ARexx <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> Clock format commands available are defined by locale. They are: <pre> %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> like %a %d-%b-%y %H:%M or A WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx <pre> dopus addappicon dopus addtrap dopus back dopus checkdesktop dopus clear dopus command dopus desktoppopup dopus error dopus front dopus getdesktop dopus getfiletype dopus getstring dopus matchdesktop dopus progress dopus query background, font, palette, pens dopus read dopus refresh all, background, icons, lister dopus remappicon dopus remtrap dopus request dopus script dopus screen dopus send dopus set background, font, palette, pens dopus setappicon dopus version </pre> <pre> lister add lister addstem lister copy lister clear value lister clearcaches lister close lister empty lister findcache lister getstring lister iconify lister new lister query active all, dest source lister query abort, busy, case, dirs, display, entries, entry, files, flags, handler, header, hide lister query label, lock, mode, namelength, numdirs, numentries, numfiles, numseldirs, numselfiles lister query path, proc, position, seldirs, selentries, selfiles, separate, show, sort, lister query title, toolbar, value, visible, window lister read lister refresh lister reload lister remove lister request lister set busy, case, dest, display, field, flags, handler, header, hide, label, lock, mode lister set namelength, newprogress, off, path, position, progress, separate, show, sort, source lister set title, toolbar, value, variable lister select lister wait </pre> The '''command''' allows you to call internal DOpus commands from an ARexx script <pre> command all command wait copy command read s:startup-sequence command source 12345 makedir name noicon </pre> *SFTP secure encrypted comms over internet using libssh2 and zlib (different protocol to the two below) on port 22 *FTPS secured with https like security on port 21 *FTP not secure and unencrypted protocol over internet on port 21 (should not be used today on the internet but for your own server) ===Wanderer === Wanderer prefs in the prefs drawer - Appearance tab and Workbench icon allows backgrounds (wallpapers) icon text sizes, colors, etc but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures - [https://developers.google.com/speed/webp/docs/riff_container webp riff container] issues with this format but Multiview has none. Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. In each theme directory is *Env-Archive -> Zune -> global.prefs *images -> Gadgets -> 20x20 pngs for Down etc *menu -AmigaKey - Background - Checkmark - SubMenu and config *system - Arrowdown, Arrowleft, Arrowright, Arrowup, etc [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s like %d %m %y or %a %d %B %Y %p </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== Some support 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The others in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition to share. Setup first with a 2G FAT32 partition for sharing, and the rest of the space as SFS for an Aros install. It works very well. Files could be transferred via TCP internet network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], ::[https://www.youtube.com/watch?v=1W886mheV74&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Johan Grip on early days of AROS x86], [https://www.youtube.com/watch?v=mXaKDhtTTqQ&t=14s&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Michel Schulz on Aros and PiStorm], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [https://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE], [https://www.youtube.com/watch?v=DjdUEyjx8GM], [https://www.youtube.com/watch?v=ydYDqZQpim8], [], [https://www.youtube.com/@uminekoshouten/featured], [https://www.youtube.com/shorts/NfoY023w-vE], :10. ::[https://www.youtube.com/shorts/6qJTNW4-6GY] ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 * 2026 update to 2015 and earlier [https://www.youtube.com/watch?v=6FKTL068ULM&pp=ygUPYXJvcyBhbWlnYSAyMDI2 nvidia nouveau driver] ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} h9annzpodgofzd00o2rnqcn5c1hm5a5 4657015 4656807 2026-08-10T10:43:20Z Jeff1138 301139 4657015 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and also PC 32bit hardware but also on motorola 68k and compatibles, some ARM like the Pi and Apple Silicon and some old PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [http://www.amiga-news.de/en/ English translation of German site] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues Issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], '''Please, keep in mind that the distros listed above use a different ABI (abi v11) , which is NOT binary compatible with the official ABI V1.''' * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit] AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. *ABIv11 offspring / adaptation of ABIv1 for PC 64bit *ABIv1 standard for most nightly builds, it is where the most work is done by developers *ABIv0 standard for PC 32bit intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 0a656d53a9c902e9934000d8392e30ec *ArosOne-USB-1.3-64Bit.zip 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher but may spy on you], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - Most of the time when we get reports of "crashes right after grub" from usb boots it's due to wrongly recorded pendrive. Not aware if using 'dd' is a valid approach. AROS One author suggests using either rufus or etcher software for his VHD image. * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 617a905b1665128c5e05f94dcc48e7f1 *AROS-One-v1.3-64Bit-v11.zip 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For [https://aros.sourceforge.io/nightly1.html ARM Pi Aros 64bit], copy the files onto a FAT32 formatted micro SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't acpi=strict if there are issues with sound after boot noioapic alternative to no acpi Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |boot: | grub bootloader |---- |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |Utilities: | extra applications |---- |WBStartup: | copy applications here to autostart with needed icons, drawers, data etc |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system they are split into two categories (only a few are supported) <pre> Journalling - ZFS XFS ext4 NTFS SFS PFS3 Non-journaling - BtrFS ext2 exFAT FAT32(VFAT) FFS </pre> Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 only on motorola 68k at the moment] * FFS very old now but left in for legacy usage Other [https://archives.arosworld.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock AROS) * exFAT The only filesystems that really NEED defragging (i.e. disk tidy up) are from Microsoft(TM) - exFAT/VFAT/NTFS *SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But you can defrag SFS *PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive The setup of the below filesystems is usually done by the distro maintainer but if not.... <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. For audio, use AHI prefs to set Music and at least Unit 0 with the appropriate driver and press Save ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan II, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, CLI in icon's tooltypes means 'run it as if it was run from shell' If, on the other hand, the WB parameter (or no parameter) is present in Tooltypes, Wanderer will execute the binary and, if provided, the options included in Tooltypes. WBxCLI is very useful for adding options to DOS Commands. Important: AROS has a different way of managing icons. If you have an executable file, you will never be able to add a project icon. AROS will automatically recognise that it is an executable file and will transform the icon into a tool icon. Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = Help = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ComKeyRemapper or AmigaKeyremapper could swap RAmiga to another key press ===DOpus 5 Directory Opus Magellan II=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop) DirectoryOpus app will assign DOpus5: to it's PROGDIR: automatically but if not add the below (edit SYS:System to suit where Dopus5 was installed) to your startup-sequence <pre> Assign DOpus5: SYS:System/DOpus5 DOpus5:DirectoryOpus ;DOpus5:C/LoadDB </pre> Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it will be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button which mirrors the icons at the top of each lister single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon DOpus5 Magellan 2 Directory folder drawer structure <pre> ARexx - Arexx scripts .rexx and .dopus5 to perform tasks Buttons - Commands - Desktop - Environment - two environment files bundled: default gets loaded if you run DOpus as a normal app workbench gets loaded if you run DOpus as a WB Replacement (with LoadDB on startup) Filetypes - Groups - Icons - Images - Modules - compiled tasks Settings - Sounds - Themes - WBStartup - Use this if standard SYS:WBStartup gives cannot wait error messages </pre> Settings -> Environment -> Display -> Workbench (Use) *Settings -> Clock (add to title bar as well as the date) *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Menu -> (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *File Types -> (Right Win key together with 5) *User Menus -> (Right Win key together with 6) *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) *Scripts -> (Right Win key together with 8) *Icon Positioning -> (Right Win key together with 9) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) Just use wildcards in background filenames and you get a different picture every reboot For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> [https://aminet.net/util/dopus arcdir and themes] If you want to change the backdrop pic after a period of time, paste below into a text file called dopusrandbg.rexx and place in DOPus5:ARexx <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> Clock format commands available are defined by locale. They are: <pre> %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> like %a %d-%b-%y %H:%M or A WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx <pre> dopus addappicon dopus addtrap dopus back dopus checkdesktop dopus clear dopus command dopus desktoppopup dopus error dopus front dopus getdesktop dopus getfiletype dopus getstring dopus matchdesktop dopus progress dopus query background, font, palette, pens dopus read dopus refresh all, background, icons, lister dopus remappicon dopus remtrap dopus request dopus script dopus screen dopus send dopus set background, font, palette, pens dopus setappicon dopus version </pre> <pre> lister add lister addstem lister copy lister clear value lister clearcaches lister close lister empty lister findcache lister getstring lister iconify lister new lister query active all, dest source lister query abort, busy, case, dirs, display, entries, entry, files, flags, handler, header, hide lister query label, lock, mode, namelength, numdirs, numentries, numfiles, numseldirs, numselfiles lister query path, proc, position, seldirs, selentries, selfiles, separate, show, sort, lister query title, toolbar, value, visible, window lister read lister refresh lister reload lister remove lister request lister set busy, case, dest, display, field, flags, handler, header, hide, label, lock, mode lister set namelength, newprogress, off, path, position, progress, separate, show, sort, source lister set title, toolbar, value, variable lister select lister wait </pre> The '''command''' allows you to call internal DOpus commands from an ARexx script <pre> command all command wait copy command read s:startup-sequence command source 12345 makedir name noicon </pre> *SFTP secure encrypted comms over internet using libssh2 and zlib (different protocol to the two below) on port 22 *FTPS secured with https like security on port 21 *FTP not secure and unencrypted protocol over internet on port 21 (should not be used today on the internet but for your own server) ===Wanderer === Wanderer prefs in the prefs drawer - Appearance tab and Workbench icon allows backgrounds (wallpapers) icon text sizes, colors, etc but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures - [https://developers.google.com/speed/webp/docs/riff_container webp riff container] issues with this format but Multiview has none. Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. In each theme directory is *Env-Archive -> Zune -> global.prefs *images -> Gadgets -> 20x20 pngs for Down etc *menu -AmigaKey - Background - Checkmark - SubMenu and config *system - Arrowdown, Arrowleft, Arrowright, Arrowup, etc [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s like %d %m %y or %a %d %B %Y %p </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== Some support 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The others in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition to share. Setup first with a 2G FAT32 partition for sharing, and the rest of the space as SFS for an Aros install. It works very well. Files could be transferred via TCP internet network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], ::[https://www.youtube.com/watch?v=1W886mheV74&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Johan Grip on early days of AROS x86], [https://www.youtube.com/watch?v=mXaKDhtTTqQ&t=14s&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Michel Schulz on Aros and PiStorm], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [https://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE], [https://www.youtube.com/watch?v=DjdUEyjx8GM], [https://www.youtube.com/watch?v=ydYDqZQpim8], [], [https://www.youtube.com/@uminekoshouten/featured], [https://www.youtube.com/shorts/NfoY023w-vE], :10. ::[https://www.youtube.com/shorts/6qJTNW4-6GY] ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 * 2026 update to 2015 and earlier [https://www.youtube.com/watch?v=6FKTL068ULM&pp=ygUPYXJvcyBhbWlnYSAyMDI2 nvidia nouveau driver] ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} 24onne91tl6rhn9gdmjwkhs58g8afdo 4657016 4657015 2026-08-10T10:44:25Z Jeff1138 301139 4657016 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and PC 32bit hardware but also on amiga motorola 68k and compatibles, some ARM like the Pi and Apple Silicon and some old PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [http://www.amiga-news.de/en/ English translation of German site] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues Issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], '''Please, keep in mind that the distros listed above use a different ABI (abi v11) , which is NOT binary compatible with the official ABI V1.''' * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit] AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. *ABIv11 offspring / adaptation of ABIv1 for PC 64bit *ABIv1 standard for most nightly builds, it is where the most work is done by developers *ABIv0 standard for PC 32bit intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 0a656d53a9c902e9934000d8392e30ec *ArosOne-USB-1.3-64Bit.zip 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher but may spy on you], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - Most of the time when we get reports of "crashes right after grub" from usb boots it's due to wrongly recorded pendrive. Not aware if using 'dd' is a valid approach. AROS One author suggests using either rufus or etcher software for his VHD image. * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 617a905b1665128c5e05f94dcc48e7f1 *AROS-One-v1.3-64Bit-v11.zip 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For [https://aros.sourceforge.io/nightly1.html ARM Pi Aros 64bit], copy the files onto a FAT32 formatted micro SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't acpi=strict if there are issues with sound after boot noioapic alternative to no acpi Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |boot: | grub bootloader |---- |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |Utilities: | extra applications |---- |WBStartup: | copy applications here to autostart with needed icons, drawers, data etc |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system they are split into two categories (only a few are supported) <pre> Journalling - ZFS XFS ext4 NTFS SFS PFS3 Non-journaling - BtrFS ext2 exFAT FAT32(VFAT) FFS </pre> Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 only on motorola 68k at the moment] * FFS very old now but left in for legacy usage Other [https://archives.arosworld.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock AROS) * exFAT The only filesystems that really NEED defragging (i.e. disk tidy up) are from Microsoft(TM) - exFAT/VFAT/NTFS *SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But you can defrag SFS *PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive The setup of the below filesystems is usually done by the distro maintainer but if not.... <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. For audio, use AHI prefs to set Music and at least Unit 0 with the appropriate driver and press Save ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan II, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, CLI in icon's tooltypes means 'run it as if it was run from shell' If, on the other hand, the WB parameter (or no parameter) is present in Tooltypes, Wanderer will execute the binary and, if provided, the options included in Tooltypes. WBxCLI is very useful for adding options to DOS Commands. Important: AROS has a different way of managing icons. If you have an executable file, you will never be able to add a project icon. AROS will automatically recognise that it is an executable file and will transform the icon into a tool icon. Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = Help = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ComKeyRemapper or AmigaKeyremapper could swap RAmiga to another key press ===DOpus 5 Directory Opus Magellan II=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop) DirectoryOpus app will assign DOpus5: to it's PROGDIR: automatically but if not add the below (edit SYS:System to suit where Dopus5 was installed) to your startup-sequence <pre> Assign DOpus5: SYS:System/DOpus5 DOpus5:DirectoryOpus ;DOpus5:C/LoadDB </pre> Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it will be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button which mirrors the icons at the top of each lister single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon DOpus5 Magellan 2 Directory folder drawer structure <pre> ARexx - Arexx scripts .rexx and .dopus5 to perform tasks Buttons - Commands - Desktop - Environment - two environment files bundled: default gets loaded if you run DOpus as a normal app workbench gets loaded if you run DOpus as a WB Replacement (with LoadDB on startup) Filetypes - Groups - Icons - Images - Modules - compiled tasks Settings - Sounds - Themes - WBStartup - Use this if standard SYS:WBStartup gives cannot wait error messages </pre> Settings -> Environment -> Display -> Workbench (Use) *Settings -> Clock (add to title bar as well as the date) *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Menu -> (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *File Types -> (Right Win key together with 5) *User Menus -> (Right Win key together with 6) *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) *Scripts -> (Right Win key together with 8) *Icon Positioning -> (Right Win key together with 9) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) Just use wildcards in background filenames and you get a different picture every reboot For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> [https://aminet.net/util/dopus arcdir and themes] If you want to change the backdrop pic after a period of time, paste below into a text file called dopusrandbg.rexx and place in DOPus5:ARexx <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> Clock format commands available are defined by locale. They are: <pre> %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> like %a %d-%b-%y %H:%M or A WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx <pre> dopus addappicon dopus addtrap dopus back dopus checkdesktop dopus clear dopus command dopus desktoppopup dopus error dopus front dopus getdesktop dopus getfiletype dopus getstring dopus matchdesktop dopus progress dopus query background, font, palette, pens dopus read dopus refresh all, background, icons, lister dopus remappicon dopus remtrap dopus request dopus script dopus screen dopus send dopus set background, font, palette, pens dopus setappicon dopus version </pre> <pre> lister add lister addstem lister copy lister clear value lister clearcaches lister close lister empty lister findcache lister getstring lister iconify lister new lister query active all, dest source lister query abort, busy, case, dirs, display, entries, entry, files, flags, handler, header, hide lister query label, lock, mode, namelength, numdirs, numentries, numfiles, numseldirs, numselfiles lister query path, proc, position, seldirs, selentries, selfiles, separate, show, sort, lister query title, toolbar, value, visible, window lister read lister refresh lister reload lister remove lister request lister set busy, case, dest, display, field, flags, handler, header, hide, label, lock, mode lister set namelength, newprogress, off, path, position, progress, separate, show, sort, source lister set title, toolbar, value, variable lister select lister wait </pre> The '''command''' allows you to call internal DOpus commands from an ARexx script <pre> command all command wait copy command read s:startup-sequence command source 12345 makedir name noicon </pre> *SFTP secure encrypted comms over internet using libssh2 and zlib (different protocol to the two below) on port 22 *FTPS secured with https like security on port 21 *FTP not secure and unencrypted protocol over internet on port 21 (should not be used today on the internet but for your own server) ===Wanderer === Wanderer prefs in the prefs drawer - Appearance tab and Workbench icon allows backgrounds (wallpapers) icon text sizes, colors, etc but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures - [https://developers.google.com/speed/webp/docs/riff_container webp riff container] issues with this format but Multiview has none. Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. In each theme directory is *Env-Archive -> Zune -> global.prefs *images -> Gadgets -> 20x20 pngs for Down etc *menu -AmigaKey - Background - Checkmark - SubMenu and config *system - Arrowdown, Arrowleft, Arrowright, Arrowup, etc [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s like %d %m %y or %a %d %B %Y %p </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== Some support 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The others in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition to share. Setup first with a 2G FAT32 partition for sharing, and the rest of the space as SFS for an Aros install. It works very well. Files could be transferred via TCP internet network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], ::[https://www.youtube.com/watch?v=1W886mheV74&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Johan Grip on early days of AROS x86], [https://www.youtube.com/watch?v=mXaKDhtTTqQ&t=14s&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Michel Schulz on Aros and PiStorm], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [https://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE], [https://www.youtube.com/watch?v=DjdUEyjx8GM], [https://www.youtube.com/watch?v=ydYDqZQpim8], [], [https://www.youtube.com/@uminekoshouten/featured], [https://www.youtube.com/shorts/NfoY023w-vE], :10. ::[https://www.youtube.com/shorts/6qJTNW4-6GY] ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 * 2026 update to 2015 and earlier [https://www.youtube.com/watch?v=6FKTL068ULM&pp=ygUPYXJvcyBhbWlnYSAyMDI2 nvidia nouveau driver] ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} t3hh3wplp045nebsdqbjporhuc6kgje 4657023 4657016 2026-08-10T11:10:40Z Jeff1138 301139 4657023 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and PC 32bit hardware but also on amiga motorola 68k and compatibles, some ARM like the Pi and Apple Silicon and some old PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [http://www.amiga-news.de/en/ English translation of German site] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues register issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs notification site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], '''Please, keep in mind that the distros listed above use a different ABI (abi v11) , which is NOT binary compatible with the official ABI V1.''' * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit] AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. *ABIv11 offspring / adaptation of ABIv1 for PC 64bit *ABIv1 standard for most nightly builds, it is where the most work is done by developers *ABIv0 standard for PC 32bit intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 0a656d53a9c902e9934000d8392e30ec *ArosOne-USB-1.3-64Bit.zip 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher but may spy on you], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - Most of the time when we get reports of "crashes right after grub" from usb boots it's due to wrongly recorded pendrive. Not aware if using 'dd' is a valid approach. AROS One author suggests using either rufus or etcher software for his VHD image. * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 617a905b1665128c5e05f94dcc48e7f1 *AROS-One-v1.3-64Bit-v11.zip 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For [https://aros.sourceforge.io/nightly1.html ARM Pi Aros 64bit], copy the files onto a FAT32 formatted micro SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't acpi=strict if there are issues with sound after boot noioapic alternative to no acpi Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |boot: | grub bootloader |---- |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |Utilities: | extra applications |---- |WBStartup: | copy applications here to autostart with needed icons, drawers, data etc |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system they are split into two categories (only a few are supported) <pre> Journalling - ZFS XFS ext4 NTFS SFS PFS3 Non-journaling - BtrFS ext2 exFAT FAT32(VFAT) FFS </pre> Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 only on motorola 68k at the moment] * FFS very old now but left in for legacy usage Other [https://archives.arosworld.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock AROS) * exFAT The only filesystems that really NEED defragging (i.e. disk tidy up) are from Microsoft(TM) - exFAT/VFAT/NTFS *SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But you can defrag SFS *PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive The setup of the below filesystems is usually done by the distro maintainer but if not.... <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. For audio, use AHI prefs to set Music and at least Unit 0 with the appropriate driver and press Save ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan II, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, CLI in icon's tooltypes means 'run it as if it was run from shell' If, on the other hand, the WB parameter (or no parameter) is present in Tooltypes, Wanderer will execute the binary and, if provided, the options included in Tooltypes. WBxCLI is very useful for adding options to DOS Commands. Important: AROS has a different way of managing icons. If you have an executable file, you will never be able to add a project icon. AROS will automatically recognise that it is an executable file and will transform the icon into a tool icon. Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = Help = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ComKeyRemapper or AmigaKeyremapper could swap RAmiga to another key press ===DOpus 5 Directory Opus Magellan II=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop) DirectoryOpus app will assign DOpus5: to it's PROGDIR: automatically but if not add the below (edit SYS:System to suit where Dopus5 was installed) to your startup-sequence <pre> Assign DOpus5: SYS:System/DOpus5 DOpus5:DirectoryOpus ;DOpus5:C/LoadDB </pre> Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it will be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button which mirrors the icons at the top of each lister single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon DOpus5 Magellan 2 Directory folder drawer structure <pre> ARexx - Arexx scripts .rexx and .dopus5 to perform tasks Buttons - Commands - Desktop - Environment - two environment files bundled: default gets loaded if you run DOpus as a normal app workbench gets loaded if you run DOpus as a WB Replacement (with LoadDB on startup) Filetypes - Groups - Icons - Images - Modules - compiled tasks Settings - Sounds - Themes - WBStartup - Use this if standard SYS:WBStartup gives cannot wait error messages </pre> Settings -> Environment -> Display -> Workbench (Use) *Settings -> Clock (add to title bar as well as the date) *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Menu -> (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *File Types -> (Right Win key together with 5) *User Menus -> (Right Win key together with 6) *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) *Scripts -> (Right Win key together with 8) *Icon Positioning -> (Right Win key together with 9) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) Just use wildcards in background filenames and you get a different picture every reboot For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> [https://aminet.net/util/dopus arcdir and themes] If you want to change the backdrop pic after a period of time, paste below into a text file called dopusrandbg.rexx and place in DOPus5:ARexx <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> Clock format commands available are defined by locale. They are: <pre> %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> like %a %d-%b-%y %H:%M or A WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx <pre> dopus addappicon dopus addtrap dopus back dopus checkdesktop dopus clear dopus command dopus desktoppopup dopus error dopus front dopus getdesktop dopus getfiletype dopus getstring dopus matchdesktop dopus progress dopus query background, font, palette, pens dopus read dopus refresh all, background, icons, lister dopus remappicon dopus remtrap dopus request dopus script dopus screen dopus send dopus set background, font, palette, pens dopus setappicon dopus version </pre> <pre> lister add lister addstem lister copy lister clear value lister clearcaches lister close lister empty lister findcache lister getstring lister iconify lister new lister query active all, dest source lister query abort, busy, case, dirs, display, entries, entry, files, flags, handler, header, hide lister query label, lock, mode, namelength, numdirs, numentries, numfiles, numseldirs, numselfiles lister query path, proc, position, seldirs, selentries, selfiles, separate, show, sort, lister query title, toolbar, value, visible, window lister read lister refresh lister reload lister remove lister request lister set busy, case, dest, display, field, flags, handler, header, hide, label, lock, mode lister set namelength, newprogress, off, path, position, progress, separate, show, sort, source lister set title, toolbar, value, variable lister select lister wait </pre> The '''command''' allows you to call internal DOpus commands from an ARexx script <pre> command all command wait copy command read s:startup-sequence command source 12345 makedir name noicon </pre> *SFTP secure encrypted comms over internet using libssh2 and zlib (different protocol to the two below) on port 22 *FTPS secured with https like security on port 21 *FTP not secure and unencrypted protocol over internet on port 21 (should not be used today on the internet but for your own server) ===Wanderer === Wanderer prefs in the prefs drawer - Appearance tab and Workbench icon allows backgrounds (wallpapers) icon text sizes, colors, etc but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures - [https://developers.google.com/speed/webp/docs/riff_container webp riff container] issues with this format but Multiview has none. Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. In each theme directory is *Env-Archive -> Zune -> global.prefs *images -> Gadgets -> 20x20 pngs for Down etc *menu -AmigaKey - Background - Checkmark - SubMenu and config *system - Arrowdown, Arrowleft, Arrowright, Arrowup, etc [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s like %d %m %y or %a %d %B %Y %p </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== Some support 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The others in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition to share. Setup first with a 2G FAT32 partition for sharing, and the rest of the space as SFS for an Aros install. It works very well. Files could be transferred via TCP internet network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], ::[https://www.youtube.com/watch?v=1W886mheV74&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Johan Grip on early days of AROS x86], [https://www.youtube.com/watch?v=mXaKDhtTTqQ&t=14s&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Michel Schulz on Aros and PiStorm], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [https://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE], [https://www.youtube.com/watch?v=DjdUEyjx8GM], [https://www.youtube.com/watch?v=ydYDqZQpim8], [], [https://www.youtube.com/@uminekoshouten/featured], [https://www.youtube.com/shorts/NfoY023w-vE], :10. ::[https://www.youtube.com/shorts/6qJTNW4-6GY] ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 * 2026 update to 2015 and earlier [https://www.youtube.com/watch?v=6FKTL068ULM&pp=ygUPYXJvcyBhbWlnYSAyMDI2 nvidia nouveau driver] ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} rmgv97klp1q7hmbwbb9bd3bknyt9vtj 4657024 4657023 2026-08-10T11:11:31Z Jeff1138 301139 4657024 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 32bit and 64bit but also on amiga motorola 68k and compatibles, some ARM like the Pi and Apple Silicon and some old PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [http://www.amiga-news.de/en/ English translation of German site] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues register issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs notification site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], '''Please, keep in mind that the distros listed above use a different ABI (abi v11) , which is NOT binary compatible with the official ABI V1.''' * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit] AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. *ABIv11 offspring / adaptation of ABIv1 for PC 64bit *ABIv1 standard for most nightly builds, it is where the most work is done by developers *ABIv0 standard for PC 32bit intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 0a656d53a9c902e9934000d8392e30ec *ArosOne-USB-1.3-64Bit.zip 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher but may spy on you], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - Most of the time when we get reports of "crashes right after grub" from usb boots it's due to wrongly recorded pendrive. Not aware if using 'dd' is a valid approach. AROS One author suggests using either rufus or etcher software for his VHD image. * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 617a905b1665128c5e05f94dcc48e7f1 *AROS-One-v1.3-64Bit-v11.zip 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For [https://aros.sourceforge.io/nightly1.html ARM Pi Aros 64bit], copy the files onto a FAT32 formatted micro SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't acpi=strict if there are issues with sound after boot noioapic alternative to no acpi Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |boot: | grub bootloader |---- |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |Utilities: | extra applications |---- |WBStartup: | copy applications here to autostart with needed icons, drawers, data etc |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system they are split into two categories (only a few are supported) <pre> Journalling - ZFS XFS ext4 NTFS SFS PFS3 Non-journaling - BtrFS ext2 exFAT FAT32(VFAT) FFS </pre> Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 only on motorola 68k at the moment] * FFS very old now but left in for legacy usage Other [https://archives.arosworld.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock AROS) * exFAT The only filesystems that really NEED defragging (i.e. disk tidy up) are from Microsoft(TM) - exFAT/VFAT/NTFS *SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But you can defrag SFS *PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive The setup of the below filesystems is usually done by the distro maintainer but if not.... <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. For audio, use AHI prefs to set Music and at least Unit 0 with the appropriate driver and press Save ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan II, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, CLI in icon's tooltypes means 'run it as if it was run from shell' If, on the other hand, the WB parameter (or no parameter) is present in Tooltypes, Wanderer will execute the binary and, if provided, the options included in Tooltypes. WBxCLI is very useful for adding options to DOS Commands. Important: AROS has a different way of managing icons. If you have an executable file, you will never be able to add a project icon. AROS will automatically recognise that it is an executable file and will transform the icon into a tool icon. Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = Help = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ComKeyRemapper or AmigaKeyremapper could swap RAmiga to another key press ===DOpus 5 Directory Opus Magellan II=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop) DirectoryOpus app will assign DOpus5: to it's PROGDIR: automatically but if not add the below (edit SYS:System to suit where Dopus5 was installed) to your startup-sequence <pre> Assign DOpus5: SYS:System/DOpus5 DOpus5:DirectoryOpus ;DOpus5:C/LoadDB </pre> Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it will be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button which mirrors the icons at the top of each lister single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon DOpus5 Magellan 2 Directory folder drawer structure <pre> ARexx - Arexx scripts .rexx and .dopus5 to perform tasks Buttons - Commands - Desktop - Environment - two environment files bundled: default gets loaded if you run DOpus as a normal app workbench gets loaded if you run DOpus as a WB Replacement (with LoadDB on startup) Filetypes - Groups - Icons - Images - Modules - compiled tasks Settings - Sounds - Themes - WBStartup - Use this if standard SYS:WBStartup gives cannot wait error messages </pre> Settings -> Environment -> Display -> Workbench (Use) *Settings -> Clock (add to title bar as well as the date) *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Menu -> (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *File Types -> (Right Win key together with 5) *User Menus -> (Right Win key together with 6) *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) *Scripts -> (Right Win key together with 8) *Icon Positioning -> (Right Win key together with 9) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) Just use wildcards in background filenames and you get a different picture every reboot For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> [https://aminet.net/util/dopus arcdir and themes] If you want to change the backdrop pic after a period of time, paste below into a text file called dopusrandbg.rexx and place in DOPus5:ARexx <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> Clock format commands available are defined by locale. They are: <pre> %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> like %a %d-%b-%y %H:%M or A WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx <pre> dopus addappicon dopus addtrap dopus back dopus checkdesktop dopus clear dopus command dopus desktoppopup dopus error dopus front dopus getdesktop dopus getfiletype dopus getstring dopus matchdesktop dopus progress dopus query background, font, palette, pens dopus read dopus refresh all, background, icons, lister dopus remappicon dopus remtrap dopus request dopus script dopus screen dopus send dopus set background, font, palette, pens dopus setappicon dopus version </pre> <pre> lister add lister addstem lister copy lister clear value lister clearcaches lister close lister empty lister findcache lister getstring lister iconify lister new lister query active all, dest source lister query abort, busy, case, dirs, display, entries, entry, files, flags, handler, header, hide lister query label, lock, mode, namelength, numdirs, numentries, numfiles, numseldirs, numselfiles lister query path, proc, position, seldirs, selentries, selfiles, separate, show, sort, lister query title, toolbar, value, visible, window lister read lister refresh lister reload lister remove lister request lister set busy, case, dest, display, field, flags, handler, header, hide, label, lock, mode lister set namelength, newprogress, off, path, position, progress, separate, show, sort, source lister set title, toolbar, value, variable lister select lister wait </pre> The '''command''' allows you to call internal DOpus commands from an ARexx script <pre> command all command wait copy command read s:startup-sequence command source 12345 makedir name noicon </pre> *SFTP secure encrypted comms over internet using libssh2 and zlib (different protocol to the two below) on port 22 *FTPS secured with https like security on port 21 *FTP not secure and unencrypted protocol over internet on port 21 (should not be used today on the internet but for your own server) ===Wanderer === Wanderer prefs in the prefs drawer - Appearance tab and Workbench icon allows backgrounds (wallpapers) icon text sizes, colors, etc but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures - [https://developers.google.com/speed/webp/docs/riff_container webp riff container] issues with this format but Multiview has none. Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. In each theme directory is *Env-Archive -> Zune -> global.prefs *images -> Gadgets -> 20x20 pngs for Down etc *menu -AmigaKey - Background - Checkmark - SubMenu and config *system - Arrowdown, Arrowleft, Arrowright, Arrowup, etc [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s like %d %m %y or %a %d %B %Y %p </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== Some support 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The others in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition to share. Setup first with a 2G FAT32 partition for sharing, and the rest of the space as SFS for an Aros install. It works very well. Files could be transferred via TCP internet network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], ::[https://www.youtube.com/watch?v=1W886mheV74&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Johan Grip on early days of AROS x86], [https://www.youtube.com/watch?v=mXaKDhtTTqQ&t=14s&pp=ygUPYW1pZ2EgYXJvcyAyMDI2 Michel Schulz on Aros and PiStorm], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [https://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE], [https://www.youtube.com/watch?v=DjdUEyjx8GM], [https://www.youtube.com/watch?v=ydYDqZQpim8], [], [https://www.youtube.com/@uminekoshouten/featured], [https://www.youtube.com/shorts/NfoY023w-vE], :10. ::[https://www.youtube.com/shorts/6qJTNW4-6GY] ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 * 2026 update to 2015 and earlier [https://www.youtube.com/watch?v=6FKTL068ULM&pp=ygUPYXJvcyBhbWlnYSAyMDI2 nvidia nouveau driver] ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} 58f33fzjlg1rro9axz8tdbk9liztg1r Aros/Developer/Docs 0 13107 4657020 4656382 2026-08-10T11:01:36Z Jeff1138 301139 4657020 wikitext text/x-wiki {{ArosNav}} ==A technical overview of AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Portuguese] {{Uncited}} AROS,<ref>[http://aros.sourceforge.net/download.php References and sources]</ref> like AmigaOS (TM), is a [[w:Message passing|message-passing]], [[w:Preemption (computing)|preemptive]] [[w:Multitasking|multitasking]] [[w:Operating system|OS]]. It uses [[w:Reentrant (subroutine)|re-entrant]] shared libraries to save memory space. AROS is based around an executive library kernel (Exec) and two other libraries: * Exec (the "kernel", which is not a kernel in the modern sense), * Intuition (graphics and GUI, integrated into the system) and * AmigaDOS (Disk Operating System, the Metacomco's Tripos modified to work with Exec). The design philosophies of AmigaDOS and Intuition are rather different, the former adopting a C-like API and the latter creating an [http://www.basden.demon.co.uk/amiga/amiga.oo.html object-oriented], message passing aware environment for the programmer. The system base is the only absolute address in AmigaOS (located at 0x00000004) this does differ with AROS as AROS SysBase is automatically provided (no $4) but everything else is dynamically loaded. The OS is well known for delivering high performance due to its close connections with the hardware, while simultaneously having the flexibility to support re-targetable graphics (Cybergraphics) and retargetable audio subsystems (AHI). : Diagram showing relationships of libraries to system needed Remember, AROS is a [http://en.wikibooks.org/wiki/Aros/Developer/ABIv1 research] operating system, and while all contributions to the base AROS code are welcome, please contact the dev list first for any core changes. Writing applications for AROS does not have this requirement. While AROS appears and feels almost feature complete, it is still [[Aros/Developer/IncompleteAPIs|missing a small number of functions]] from the Amiga API - as well as a few implementations of [[Aros/MissingFunctionaility|core functionality]]. There are also a number of user applications that, while not strictly part of the AmigaOS 3.1 environment, need to be written. [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1201 This thread provides] information for setup, [http://www.aros.org/documentation/developers/index.php documentation] and whether you are interested in core OS changes and/or writing/porting software apps *you compile directly under AROS, which can be running on either real hardware, virtual hardware *in hosted mode under linux/window, cross-compile from that host OS (save your files as ISO-8859-15 encoding instead of UTF-8) The repository for the [https://github.com/aros-development-team/AROS current development version ABIv1], the [https://github.com/deadw00d/AROS/tree/alt-abiv0 repository for current stable PC version ABIv0 with backported ABIv1 features is located which is used on AROS One and Icaros x86 based distros] Any [https://github.com/aros-development-team/AROS/issues bugs / issues can be added] We have a [https://arosdevteam.slack.com/archives/CUFV48U3H slack here], discord on [https://discord.gg/UKp9qdEBuQ Discord@AmigaDev], ==Software Development for AROS== ===Programming languages=== Apart from 'The Developer Environment', which primarily supports C/C++ code, there are other programming languages available for AROS: '''Scripting''' :[[Aros/User/DOS|DOS]], included in all :[[Aros/Developer/Docs/LUA|LUA]], included in all or [http://www.airsoftsoftwair.de/en/prod_hollywood.html Hollywood] :REXX [[Aros/Developer/Docs/Rexx|Regina (AROS' ARexx)]], included in all :Python [ Info], included in Icaros :Ruby [http://www.ruby-lang.org/en Info]/[http://archives.aros-exec.org/index.php?function=browse&cat=development/language download] '''Basic''' :[http://amos.pspuae.com/AmosProManual/contents/c1.html '''Amos Pro'''] [http://amos.pspuae.com/index.php?action=forum#1 compatible] [http://www.amigacoding.com/index.php/Main_Page commands] (all incomplete) ::[http://sourceforge.net/projects/xamos/ X-Amos] ::[http://sdlbasic.sourceforge.net/ SDLBasic] ([http://archives.aros-exec.org/index.php?function=browse&cat=development/language download]) ::[http://alvyn.sourceforge.net/ Alvyn] ([http://www.dusabledanslherbe.eu/AROSPage/MISC.14.html download]) ::[[Aros/Developer/Basic/Basic4SDL|Basic4SDL]] ([http://archives.aros-exec.org/index.php?function=browse&cat=development/language download]) ::[http://www.ultimateamiga.co.uk/index.php?topic=9425.0 Project Deimos], :'''Blitz Basic''' [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=46537#forumpost46537 none on AROS] :: [http://www.amiforce.de/main.php Amiblitz] on JanusUAE amiga(TM) emulator :'''Amiga Basic''' :: [ ACEBasic] '''Misc''' :[[Aros/Developer/Docs/E|AmigaE Portable E]] :[https://ae.arosworld.org/index.php?board=11.0 FreePascal FPC Aros-Exec thread], [http://archives.aros-exec.org/index.php?function=browse&cat=development/language Download], FreePascal for AROS has its own [http://fpcaroswiki.alb42.de/ Wikibook], :[[Aros/Developer/Docs/LLVM|LLVM]], ===Where to get the C/C++ Environment=== If you want to develop for AROS, its generally easier to be running linux hosted AROS development environment especially for C++, cross compiling the code. That's how most developers now are doing it. g++ is used to compile owb web browser as well as some other AROS software. If you were hoping for a rich set of C++ libraries or classes defined for the OS feature set, you might be disappointed. AROS Native compiling is possible, but you're much more likely to run into the odd bug(s) in the dev environment since it gets little testing and fixing by other developers. Is there a sftp software or scp over ssh available? Maybe. At least the security part would be handled by [https://github.com/jens-maus/amissl amissl] [https://archives.arosworld.org/index.php?function=browse&cat=network/misc port]. DOpus5 has recently added sftp support. See here for a [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1974&highlight=ssh&pid=12073#post_12073 ssh scp client] [https://arosdevteam.slack.com/join/shared_invite/enQtOTc4Mzg0NDIzNzQ0LWQ2NWZmNmMwNGIwNGEyNTgxNzU3MGFjMTk3ZThmOTQ1MTVjMzhmNTllYWQ0ZTUxMjBjMGE0Y2VjMDJmNTc5MzI#/shared-invite/email Slack Dev Forum] ====Cross compilers from Windows or Linux==== *Windows WSL2 walkthrough can be [https://arosnews.github.io/how-to-cross-compile-aros-hosted-wsl/ found here] you want to build AROS. No problem. Here are instructions for 64-bit: https://github.com/deadw00d/AROS/blob/master/INSTALL.md Here are instructions for 32-bit: https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md And as always has been the case you can use the contrib archive to 'obtain' the development directory which contains the /native/ AROS gcc compiler and tools. That compiler is used to build AROS itself but can be used outside the AROS build process by providing --sysroot with indicated directory to cross compile for AROS. =====Older guides for Linux hosted compiler===== Please install these packages before moving to next step. Below is a reference list for Debian-based distributions. Reference build system was Ubuntu 18.04/20.04 amd64. subversion git-core gcc g++ make gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev gcc-multilib libsdl1.2-dev byacc python-mako libxcursor-dev cmake zsh mingw64 Do all of these operations under home directory of your user or another directory where your user has write permissions. Specifically, in a section "Linux-i386", be sure first to build the cross-compiler (toolchain-alt-abiv0-i386) and only then AROS itself (alt-abiv0-linux-i386). Clone & build <pre> $ mkdir myrepo $ cd myrepo $ git clone https://github.com/deadw00d/AROS.git AROS $ cd AROS $ git checkout alt-abiv0 $ cd .. $ cp ./AROS/scripts/rebuild.sh . $ ./rebuild.sh </pre> Now to the build selection below - Linux-i386 Select toolchain-alt-abiv0-i386 - Select alt-abiv0-linux-i386 (DEBUG) Start AROS by: <pre> $ cd alt-abiv0-linux-i386/bin/linux-i386/AROS $ ./Arch/linux/AROSBootstrap </pre> Pc-i386 Select toolchain-alt-abiv0-i386 (if not built yet) - Select alt-abiv0-pc-i386 ISO image available in alt-abiv0-pc-i386/distfiles Now that we have linux-hosted build, we can resume native (option 2). Run ./rebuild.sh and selection option 2. Wait until it finished, then: <pre> $ cd alt-abiv0-pc-i386 $ make </pre> Now <pre> $ make bootiso </pre> Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib. This is how then can be passed to the compiler: /home/xxx/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib ../toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot bin/linux-i386/AROS/Development local/helloworld/helloworld.c -o local/helloworld/helloworld Another method was using Debian like distros and download the gimmearos.sh script (on [http://archives.aros-exec.org/index.php?function=browse&cat=development/cross aros-archives]) to setup the developer environment by downloading necessary packages ... The gimmearos script is a good start in that direction, building the cross compilers and hosted AROS environment, but gimmearos.sh might be out of date or not be completely compatible with any given linux distro. In order to do that, you have to compile AROS yourself. Download AROS source archive not contrib. Compile AROS by entering the main directory ./configure make ([http://aros.sourceforge.net/documentation/developers/compiling.php More on compiling AROS]). The result will be a basic AROS system without development tools. To compile C++ on Linux, type 'make gnu-contrib-crosstools', creating the cross-compilers in ./bin/linux-i386/tools/, named i386-aros-gcc, etc. '''Note''': Currently, to make the cross compilers usable copy 'collect-aros' from tools/ to tools/i386-aros/bin/. At the moment the cross compilers if used from the Linux command line will only find it when it's there. If you want to compile native compilers (the Developer Environment), type 'make contrib-gnu-gcc', creating native compilers in AROS' System:Development/bin directory. When the output needs to be stripped <code>--strip-unneeded --remove-section .comment</code> The Obj-C backend should build out of the box. Open contrib/gnu/gcc/mmakefile.src and search for the line which contains "--enable-languages" and add "objc" to the list of languages that follows it. --enable-languages=c,c++,objc Better make it—enable-languages=c,c++,objc,obj-c++ ObjC++ is broken as soon as you try to use exceptions, but that might change in future GCC versions and it does not hurt having it there already. Do you need a cross-compiler or a real compiler? In the first case you can get away with just downloading the proper gcc archive, apply the patch and proceed with the normal gcc build. In the case of a real cross-compiler then when downloading the contrib sources, also need to download the normal sources, place the contrib sources into a directory called contrib, need to install autoconf+automake+perl+python, call ./configure, cd into the subdirectory and type make. to rebuild GCC with host == build == target == i386-pc-aros. So just get the vanilla sources and apply the patches without bothering about the build system? [https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html pre-configured VM environment vmware virtual machine to develop AROS and AROS software] '''64 bit''' '''32 bit''' A good option for multiple OS is [https://axrt.org/index.php?tab=download-aros AxRuntime lets developers compile their Amiga API-based applications as Linux binaries being able to utilize modern development tools available on Linux, like IDEs, debuggers, profilers, etc] ====Native compilers for AROS==== Namely gcc for C or g++ for C++ are supplied with the [[Aros/Developer/Docs#The Developer Environment|Developer Environment]], which is already '''setup''' and part of any current AROS distribution like AROS One or the nightlies * Current GCC 6.5 (32bit) though moving to 10.5 and 15.1 (64bit) * Older software components. GNU GCC 4.x GNU BinUtils, GNU Fileutils 4.x, GNU Textutils and others. On single partition systems and the Boot ISO, the AROS Developer environment is installed under "SYS:Development/". Systems with multiple partitions - such as a Work: partition - tend to install it to there instead, however it can be installed manually to any location. Please remember, if moving, that you will need to correct the Development packages 'install location' env variable to point to the new locations root - look in SYS:S/startup-sequence. <pre> Assign Development: SYS:Development Assign C: Development:bin ADD </pre> In the aros build instructions. you need to check out contrib and/or ports into your AROS source directory, as subdirs. then, assuming you are building in an external build dir, as you should, you simply configure and "make contrib" for instance or whatever submodule you might want to build. ===Beginners Tutorials in C C++=== As AROS is [http://eab.abime.net/showthread.php?t=29856 C based] API compatible to AmigaOS 3.x, so most of the information on programming C on the Amiga applies to AROS as well. Please note that there is a lot of AmigaOS 1.3 (1985-1989) and [https://www.markround.com/amigaguide AmigaOS AOS 2.x (1990-1992)] information around but OS3.1 is recommended but limited in amount. Brief overview of what is required to write AROS Applications # Using [[Aros/Developer/Docs/Libraries/Intuition|Intuition]] for basic screens/windows # Using graphics within windows via 8bit [[Aros/Developer/Docs/Libraries/Graphics|graphics]] and so onto 15-16-24bit [[Aros/Developer/Docs/Libraries/CGFX|cybergraphx]] # Load and save work to [[Aros/Developer/Docs/Libraries/DOS|dos]] disk drives # Using the [[Aros/Developer/Zune|ZUNE GUI Environment]] Writing native games require this extra information # Using [[Aros/Developer/AHIDrivers|AHI audio hardware independent API]] # Using USB joystick/joypad with the Poseidon USB stack through [[Aros/Developer/Docs/Libraries/LowLevel|LowLevel]] library Additional features that could be added later # Adding additional [[Aros/Developer/Docs/Libraries/Locale|Locale]] language translations to your program # Adding a [[Aros/Developer/Docs/Rexx|AREXX/Regina]] port to your application # Executing Amiga(TM) [[Aros/User/DOS|DOS]] commands from your application # Using [[Aros/Developer/Docs/Libraries/Icon|icons]] (.info files) and icon tooltypes (stack, version, and program startup options) # Local couch or IP based SANA2 networking co-op multi player gaming support Most AmigaOS programming books are nowadays very much out of date as most are from the late 1980s and do not cover later amigaOS releases like 3.1 for example, Rob Peck's book "Programmer's Guide to the Amiga". The Amiga ROM Kernel manuals aka RKMs like Libraries (3rd edition), Devices (), the AmigaDOS manual (3rd edition) and the Style Guide may have their uses. There are some reference examples from AmigaMail and Devcon notes (available again on an Amiga developers CD 2.1). For Arexx then "The Amiga Programmer's Guide to ARexx" by Eric Giguere, which was published by Commodore is useful as well as an "Arexx Cookbook". Curly brackets missing - try SHIFT + ALT + 7 or 0. * Beginners C Guide [http://www.iu.hio.no/~mark/CTutorial/CTutorial.html C Tutorial], * [http://thecguru.com/ C for beginners], * [http://fresh2refresh.com/c/c-basic-program/ C programming basics] for students, * [https://www.edx.org/courses Free Online course] from American Universities * Reference Amiga [http://amigadev.elowar.com/ API reference]. * AROS based c source can be found [[Aros/Developer/Docs/Examples|here]] and lots of example code can be found inside [https://github.com/aros-development-team AROS sources] themselves and from the contrib section of the archives from [https://github.com/aros-development-team/contrib Aros site], and study the AROS applications source code, e.g. the test programs from the Tests drawer (folder/directory). Take a look at the code of some smaller AROS programs might be a better and more up to date guide. Some old Os3 [http://www.blackfiveservices.co.uk/amiga-c/ here] When you upload your builds, please write the architecture (like i386-aros, x86_64-aros, etc.) in the archive name and it is also advisable to write in the field "Requirements" what ABI (ABIv11, ABIv0 or ABIv1) ===Compiling C/C++ Code=== Native, although we have a IDE Integrated Development Environment (Murks), it does lack a debugger. Whilst others use a combination of a text editor and shell to edit code. Most though use an AROS hosted on Linux to take advantage of the better GCC tools like GDB and various IDEs. Open shell - its a menu option at the top left of Wanderer (desktop). Or by using the right Win key and w (or F12 and w) within the directory with the source code. Type in sh to change the amiga shell into a unix shell. You can then type in ls (unix equivalent to amiga dir). Take a look [http://en.wikibooks.org/wiki/Linux_commands here] for more commands. For a single file program-name.c or program-name.cpp gcc -o program-name program-name.c or g++ -o program-name program-name.cpp or g++ -o test -Wall -g main.cc texturelib.cpp xmodelib.cc -lsdl -lgl To close the shell, click on the top left-hand corner to close (twice). Once to get back the aros shell and then again to close finally. Use [http://freshmeat.net/projects/cksfv/ cksfv] as a test. Some source code requires the addition of Amiga API libraries, like dos, which you can flag at the compile time as gcc -o julia.exe julia.c -ldos For DOS use -ldos as example and if you are compiling mui codes it will be -lmui or intuition -lintuition. Other missing symbols are due to linker libraries being necessary for linking in functions that aren't in the standard C libraries. For example some source code would need added -lz or -lm or -lpng or -larosc etc. use this in unix line command mode to search for 'search-item' in many .c files (*.cpp for c++, etc.) grep -l 'search-item' *.c If the program is not executable, try using parameter fno-common "Delete #?.o"? Or if you are using abcshell then "rm *.o" :''More information: [[Aros/Developer/Porting software]]'' === How to make Apps have AROS 64-bit specific support code === [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] AROS64 already uses 64bit addressing, it just doesn't setup the MMU for more than 4GB physical memory currently. When porting software to AROS64 it is "mostly" a case of converting ULONG's that are used to store pointers, into IPTR's instead, etc. Another quirk, is making sure items on the stack are the correct size by using the STACKED attribute for them. * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. compiling mui stuff for aros setting -std=gnu99 is necessary, had -std=c99 usually A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. crash which suggest memory corruption. From my experience porting from 32-bit to 64-bit these kinds of errors can happen if a pointer is passed somewhere via ULONG variable. Then half of the pointer is cut. To generate this error, please run AROSBootstrap with -m 1024. This will allocate heap to 64-bit address space which will make these errors immediatelly visible. These types of crashes are hard to debug. Disabled as little code as possible to stop corruption from occurring and then try to read from the code where it can be broken Crashing in tslf_freevec is another symptom of memory corruption and these memory corruptions will manifest differently on different setups. ==Coding conventions== As the AROS core source is a shared developer experience, there are rules regarding structure and style. When it comes to your creating your own app and coding, the structure and style should be your own, i.e. you should enjoy what you do and do it so that you can understand what is going on. ===Layout=== <syntaxhighlight lang="c"> static void 1st_function() { program exit(0); } int main(void) { 1st_function(); 2nd_function(); 3rd_function(); return 0; } </syntaxhighlight> <syntaxhighlight lang="c"> struct Screen * openscreen(void); struct Window *openwindow(struct Screen *screen, const char *title, LONG x, LONG y, LONG w, LONG h); VOID 1st_function(); VOID 2nd_function(); int main(int argc, char **argv) { program return 0; } /* main */ VOID 1st_function() { } VOID 2nd_function() { } </syntaxhighlight> ===General style=== This code is used by many people and therefore you should keep some things in mind when you submit source code: * Keep things simple * Keep the source clean * Always know what you are doing, if not flag it and describe what needs to be done... * Explain clearly/simply what you are doing * Remember that you write code once but that it is read many times by many people ===Comments=== AROS uses some of the comments in the source to generate the documentation. Therefore it's necessary to keep a certain format so the tools can find their information. Other comments are ignored but they should explain what you thought when you wrote the code. If you really can't think of an explanation, then don't write the code a second time like this: <pre> /* This adds 1 to t */ t ++; </pre> What we think of is this: <pre> /* Go on with next element */ t ++; </pre> ===Formatting=== This is only '''IMPORTANT''' if you are going to work on the core AROS code or contrib but not applications which may reside outside like on AROS Archives or other websites. <syntaxhighlight lang="c"> { /* a */ struct RastPort * rp; int a; /* b */ rp = NULL; a = 1; /* c */ if (a == 1) printf ("Init worked\n"); /* d */ if ( !(rp = Get_a_pointer_to_the_RastPort ( some , long , arguments ) ) || a <= 0 ) { printf ("Something failed\n"); return FAIL; } /* e */ a = printf ("My RastPort is %p, a=%d\n" , rp , a ); return OK; } </syntaxhighlight> Looks ugly, eh ? :-) Ok, here are the rules: <pre> If several lines contain similar code, put similar things below each other (see a and b); Put spaces between operands and operators Put braces {}, brackets [] and parentheses () below each other (d) if there is much code between. Brackets and parentheses may be in one line if the code between is small (c) Indent by 4 Spaces. Two indent levels may be abbreviated by one tab. </pre> '''Before committing please normalize the indentation - if you have a mixture of tabs and spaced - please always use spaces, 1 tab = 4 spaces.''' The reasons for this are: # While some editors can use an arbitrary sizes for tabs, it's a bit complicated to tell another editor which tab size was used by the one used to write the code. # Most code in AROS was written this way and your code should look like the rest. # You can print this code on any printer without special tools to "fix" the tabs. # Most editors have smart tabs which do exactly this. If your editor doesn't, write a bug report. If you have a function with many arguments (d, e) you should put the parentheses in lines of their own and each argument in one line (d) or put the first argument behind the opening parentheses (e) and each following argument in a line of its own with the comma in front. The closing parentheses is in a line of its own and aligned with the beginning of the expression (i.e. the a and not the opening parentheses or the printf()). Use a single blank line to separate logical blocks. Large comments should have a blank line before and after them, small comments should be put before the code they explain with only one blank line before them. If you see any TABS in AROS core sources then the suggestion is to "detab the file and commit that separately" either before or afterwards from making functionality changes. Make two commits instead of one. This makes it easier for others to see the real changes instead of having to dig through multiple lines of irrelevant diffs. ===Eliminating Global Variables=== i.e. pass variables to functions (local scope) or classes making it easier to track and debug your code. Any time you find that you need a particular thing in 'a lot of different places', chances are that all those places are conceptually related, and so you can create a class, a namespace, a function, or some other higher-level organizational unit to represent that relationship. This makes the program easier to understand. Bad Designs * All variables are global. * There are no standalone functions, only sub-procedures which act on the global variables. * Every sub-procedure is at least 500 lines to several thousand * Every sub-procedure has more than one task to perform * Copy-paste is preferred to writing methods, AND subtle changes are made in the middle of the code Good Designs * structure program into functions (C or basic) - top-down procedural approach * put in class(es) (freepascal or C++) - the object is fixed and you use methods to access the object <pre>  class String_List  {  private:  list<string> m_List;  // member  public:  void read_strings() { /* read strings into m_List */ }  void print_strings() { /* write contents of m_List to stdout */ }  void sort_strings() { /* sort contents of m_List */ }  void sort_strings_reverse() { /* reverse-sort contents of m_List */ }  void unique_strings() { /* remove duplicate strings */ }  };  int main()  {  String_List myList;  // local  myList.read_strings();  myList.sort_strings();  myList.print_strings();  myList.sort_strings_reverse();  myList.print_strings();  myList.unique_strings();  myList.print_strings();  return 0;  } </pre> This way it is very easy to replace the list with new list for debugging purposes, or replacing the methods without replacing the list, when you want different results. You only have to replace the content of the local variables. So create the structure that matches your data (linked lists, trees, arrays, etc.) and what to do with them (sorting, searching, etc.) <pre> .h usually contain #define #include typedef enum struct extern screen and window definitions (data structures) .c should contains functions and algorithms </pre> One way to look at it is that menu headings act as the .c file and sub-menu headings as functions. When you start a project, you place a couple of declarations in the include file. As the project continues, you place more and more declarations in the include file, some of which refer to or contain previous declarations. Before you know it, you have a real mess on your hands. The majority of your source files have knowledge of the data structures and directly reference elements from the structures. Making changes in an environment where many data structures directly refer to other data structures becomes, at best, a headache. Consider what happens when you change a data structure. Use good variables names to help clarify code and only comment when you need to explain why a certain programming approach was made. You're Refactoring Legacy Code, you see a global, you want to get rid of it. How do you do this? Exactly what to do depends on how the global is used. The first step is to find all uses of the global throughout the code, and get a feel for what the significance of the variable is and how it relates to the rest of the program. Pay particular attention to the "lifetime" of the variable (when it gets initialized, when it is first used, when it is last used, how it gets cleaned up). Then, you will probably make the global a data member of a class (for OO languages), or you will write some get/set functions. Converting to the Singleton Pattern is common, but you may discover that it makes more sense for the data element to be a member of an existing singleton, or maybe even an instance variable. # Create a basic read method, either as a class or a global function. Replace all reads with the access method, but leave the variable defined as a global. # Review each of the writes to the method and extract action functions one at a time. Unless two operations are coded identically in the original code, extract each write access separately. # Change the variable scope from global to local. # Analyze similar action functions to determine if any can be merged, i.e., there are no functional differences in the results of the function, just differences in the implementation details. # Review the calls to the read method and see if a more complex functionality should be applied. Follow the approach for writes and unless implementations are identical, create separate access functions. # Analyze the access functions for duplication. As returning variables by "passing by value" are forgotten, so "passing by reference" is often used instead. The reference is a pointer to the variable so the value is remembered when returned. Alternatives * Hidden Globals * Singleton Pattern * Database or TupleSpace * Context Object * Dependency Injection * Stateful Procedures ==AROS/AmigaOS APIs and Docs== <pre> Library: - Private data structure - Many public access methods Device: - Private data structure - Two (BeginIO/AbortIO) access methods Resource: - Public data structure - *NO* access methods </pre> And, being Amiga OS-compatible, there are exceptions to all of these. ===System Libraries=== The [http://aros.sourceforge.net/documentation/developers/app-dev/index.php AROS Guide To Libraries] can be used as a guide to individual commands and Old Dev Docs are used in application programming. The generated [http://aros.sourceforge.net/documentation/developers/autodocs/ Aros AutoDocs HTML Read] or download [http://aros.sourceforge.net/download.php docs-html.bz2 from here]. Amiga/Aros styles libraries are very different from windows and linux libs. Typical .so/dll libraries are foreign to most Amiga-like OS *[[Aros/Developer/Docs/Libraries/AROSC|arosc.library]] *[[Aros/Developer/Docs/Libraries/AmigaGuide|amigaguide.library]] *[[Aros/Developer/Docs/Libraries/ASL|asl.library]] *[[Aros/Developer/Docs/Libraries/Bullet|bullet.library]] *[[Aros/Developer/Docs/Libraries/BSDsocket|bsdsocket.library]] *[[Aros/Developer/Docs/Libraries/CAMD|camd.library]] *[[Aros/Developer/Docs/Libraries/Codesets|codesets.library]] *[[Aros/Developer/Docs/Libraries/CGFX|cybergraphics.library]] *[[Aros/Developer/Docs/Libraries/CGXVIDEO|cgxvideo.library]] *[[Aros/Developer/Docs/Libraries/Commodities|commodities.library]] *[[Aros/Developer/Docs/Libraries/DataTypes|datatypes.library]] *[[Aros/Developer/Docs/Libraries/DiskFont|diskfont.library]] *[[Aros/Developer/Docs/Libraries/DOS|dos.library]] *[[Aros/Developer/Docs/Libraries/Exec|exec.library]] *[[Aros/Developer/Docs/Libraries/Expansion|expansion.library]] *[[Aros/Developer/Docs/Libraries/FreeType2|freetype.library]] *[[Aros/Developer/Docs/Libraries/GadTools|gadtools.library]] *[[Aros/Developer/Docs/Libraries/Graphics|graphics.library]] *[[Aros/Developer/Docs/Libraries/Icon|icon.library]] *[[Aros/Developer/Docs/Libraries/Identify|identify.library]] *[[Aros/Developer/Docs/Libraries/IFFParse|iffparse.library]] *[[Aros/Developer/Docs/Libraries/Intuition|intuition.library]] *[[Aros/Developer/Docs/Libraries/Keymap|keymap.library]] *[[Aros/Developer/Docs/Libraries/Layers|layers.library]] *[[Aros/Developer/Docs/Libraries/Locale|locale.library]] *[[Aros/Developer/Docs/Libraries/LowLevel|lowlevel.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingBas|mathieeesingbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubBas|mathieeedoubbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingTrans|mathieeesingtrans.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubTrans|mathieeedoubtrans.library]] *[[Aros/Developer/Docs/Libraries/Mathtrans|mathtrans.library]] *[[Aros/Developer/Docs/Libraries/MUIMaster|muimaster.library]] *[[Aros/Developer/Docs/Libraries/Partition|partition.library]] *[[Aros/Developer/Docs/Libraries/PopUpMenu|popupmenu.library]] *[[Aros/Developer/Docs/Libraries/OOP|oop.library]] *[[Aros/Developer/Docs/Libraries/Regina|regina.library]] *[[Aros/Developer/Docs/Libraries/Reqtools|reqtools.library]] *[[Aros/Developer/Docs/Libraries/RexxSysLib|rexxsyslib.library]] *[[Aros/Developer/Docs/Libraries/ScreenNotify|screennotify.library]] *[[Aros/Developer/Docs/Libraries/TTEngine|ttengine.library]] *[[Aros/Developer/Docs/Libraries/Thread|thread.library]] *[[Aros/Developer/Docs/Libraries/Utility|utility.library]] *[[Aros/Developer/Docs/Libraries/Xadmaster|xadmaster.library]] *[[Aros/Developer/Docs/Libraries/Workbench|workbench.library]] *[https://github.com/aros-development-team/AROS/commit/c82e86b8480277998014cc327b56c7664023a52f ClassAct Reaction boopsi class] ===AROS Subsystems=== # [[Aros/Developer/Zune|Zune MUI compatible GUI]] # [[Aros/Developer/AROSAppPackages|AROS Application Packages]] # AHI Audio Drivers - [[Aros/Developer/AHIDrivers|Usage]]/[[Aros/Developer/AHIDriversDev|Development]] # AROSTCP Sana2 Network Interface Drivers - [[Aros/Developer/NICDrivers|Usage]]/[[Aros/Developer/NICDriversDev|Development]] # [[Aros/Developer/AmiSSL|AmiSSL]] # gfx.hidd/cybergraphics Video Drivers - [[Aros/Developer/GfxDrivers|Usage]]/[[Aros/Developer/GfxDriversDev|Development]] # IO Device Drivers - [[Aros/Developer/IODeviceDrivers|Usage]]/[[Aros/Developer/IODeviceDriversDev|Development]] # USB Device Drivers - [[Aros/Developer/USBDrivers|Usage]]/[[Aros/Developer/USBDriversDev|Development]] # PCI Device Drivers - [[Aros/Developer/PCIDrivers|Usage]]/[[Aros/Developer/PCIDriversDev|Development]] # [http://www.libsdl.org/ SDL] [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2013&pid=13333#post_13333 SDL2 coding usage], [https://github.com/search?q=repo%3Aaros-development-team%2Fcontrib%20SDL2&type=code SDL2 commits], [https://github.com/aros-development-team/contrib/commit/c62c3c425c35bac19dadc23be092b0b13a66c76c SDL3 initial commit], [] # [[w:Gallium3D|Gallium 3D]] [http://www.mesa3d.org/ openGL aka Mesa] - [[Aros/Developer/OpenGL|Usage]]/[[Aros/Developer/OpenGLDev|Development]] [http://www.swiftless.com/opengltuts.html Swfitless] # A small subset of GTK2 through [http://sourceforge.net/projects/gtk-mui/ MUI-GTK] # Cairo 2D Engine - [[Aros/Developer/Cairo|Usage]]/[[Aros/Developer/Cairo|Development]] # [[Aros/Developer/Scalos|Scalos desktop API and plugin modules]] # [[Aros/Developer/VHI|VHI video driver]] ====HIDDs==== *[[Aros/Developer/Docs/HIDD/HIDDClass|hiddclass.hidd]] *[[Aros/Developer/Docs/HIDD/Graphics|graphics.hidd]] *[[Aros/Developer/Docs/HIDD/VesaGfx|vesagfx.hidd]] *[[Aros/Developer/Docs/HIDD/ATI|radeon.hidd]] *[[Aros/Developer/Docs/HIDD/NVidia|nvidia.hidd]] *[[Aros/Developer/Docs/HIDD/Nouveau|nouveau.hidd]] *[[Aros/Developer/Docs/HIDD/Kbd|kbd.hidd]] *[[Aros/Developer/Docs/HIDD/Mouse|mouse.hidd]] *[[Aros/Developer/Docs/HIDD/i2c|i2c.hidd]] *[[Aros/Developer/Docs/HIDD/IRQ|irq.hidd (deprecated)]] *[[Aros/Developer/Docs/HIDD/PCI|pci.hidd]] *[[Aros/Developer/Docs/HIDD/PCIPC|pcipc.hidd]] *[[Aros/Developer/Docs/HIDD/Serial|serial.hidd]] *[[Aros/Developer/Docs/HIDD/Thunderbolt|thunderbolt.hidd]] https://github.com/aros-development-team/AROS/commit/4f02ea691799aff3a01f60cfa5f9182c82fc57a8 HIDD are used for device/peripheral low level hardware support drivers. The HIDD system is split up into a collection of classes with a strict inheritance hierarchy. A HIDD class implements a device driver for a single device or in rare cases a group of devices and provides an interface for other programs and devices to access. In order to maintain portability of interfaces across a wide range of hardware this interface will in general not present the raw interface to the underlying hardware. Instead it will present a generic interface that describes many different hardware implementations. This allows for the best reuse of both interfaces and code. HIDD API is heavyweight though. You need to open a HIDD library, open oop.library, instantiate an object (even if there's no object); and object calls are more costly compared to plain library calls. Basically your task is to implement a subclass of hidd.ata.bus for your hardware. just implementing the XXXATA__Hidd_ATABus__xxxxxx methods for the Amiga chipset - and appropriate versions of the interface_xxx.c file(s). pretty much everything in probe.c could be ignored - just write a replacement scan for relevant amiga devices and store whatever info you need in the bus data? only the "SUPPORT_LEGACY" blocks might be related. You do not need to depend on PCI API. PCI is just a way to discover the hardware on PCs, etc. <hidd/pci.h> includes (at some depth) <interface/HW.h>, which defines IID_HW. This comes from the 'generic' HIDD class in: rom/hidds/hidd/hiddclass.conf did not split up HIDD and HW because they are always used in pair. It's the same as hidd/pci.h bringing definition for: PCI, PCIDriver and PCIDevice. PCI is actually PCIHW, just the name was not changed for backwards compatibility reasons. HW is a 'hub' where HIDD instances plug in. ATA HIDD aoHidd_ATABus_Use32Bit value is completely ignored unless ata.device first detects correct command line parameter. Yes. Unfortunately I was unable to find any comment in code or svn history with explanations. Looked at Linux source, there 32-bit PIO is also controller driver's property. Some of them enable it, some don't. Actually, switching the default to ON should be safe. ata.device is fail-safe at this because during IDENTIFY command it validates upper 16 bits, and if they appear to be zeroes in all 128 longwords, then 32-bit mode is switched off. But, nevertheless, I know how tricky hardware can be, so I decided not to change original behavior. If you think it's wrong in some cases, then it's possible to add one more attribute like aHidd_ATABus_Default32Bit. If set to YES, then this means that 32-bit PIO is safe to use by default. ====Devices==== *[[Aros/Developer/Docs/Devices/ATA|ata.device]] *[[Aros/Developer/Docs/Devices/Console|console.device]] *[[Aros/Developer/Docs/Devices/Narrator|narrator.device]] *[[Aros/Developer/Docs/Devices/Printer|printer.device]] *[[Aros/Developer/Docs/Devices/Trackdisk|trackdisk.device]] *[[Aros/Developer/Docs/Devices/AmberRAM|amberram.device]] *[[Aros/Developer/Docs/Devices/Timer|timer.device]] *[[Aros/Developer/Docs/Devices/|.device]] The Amiga used [[Aros/Developer/Docs/Devices|Devices]] to communicate with [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=3475&viewmode=flat&order=ASC additional hardware]. AROS has replaced these hardware devices with hidd equivalents but some are still retained for backwards compatibility. Local libraries/devices/handlers,etc. are supposed to override the ones in ROM if their version is higher than the one in ROM. Here is the list of commands exec default: {| class="wikitable" | CMD_CLEAR | Purge the buffer of the device |---- | CMD_READ | Playback Control |---- | CMD_STOP | Stopped the activity of the device |---- | CMD_FLUSH | Empty the queue of commands |---- | CMD_RESET | Reset a device |---- | CMD_WRITE | Playback Control |---- | CMD_INVALID | Create an error |---- | CMD_UPDATE | Gets updated device |---- | CMD_START | Will restart the device |---- |} While most other "stuff you communicate with" in AmigaOS are devices <ref>AMIGA ROM Kernel Reference Manual: Devices, 3rd Edition. Commodore-Amiga, Inc. Addison-Wesley, 1991. {{ISBN|0-201-56775-X}}</ref> that share a [http://gega.homelinux.net/AmigaDevDocs/ common base interface]. [[Aros/Developer/Docs/Devices1.3|OS 1.3 Device Drivers]]. ====Handlers==== :[[Aros/Developer/Docs/Handlers/Pipe|pipe.handler]] :[[Aros/Developer/Docs/Handlers/Port|port.handler]] :[[Aros/Developer/Docs/Handlers/SFS|sfs.handler]] :[[Aros/Developer/Docs/Handlers/FAT|fat.handler]] :[[Aros/Developer/Docs/Handlers/PFS|pfs.handler]] :[[Aros/Developer/Docs/Handlers/NTFS|fuse.handler]] :[[Aros/Developer/Docs/Handlers/FFS|ffs.handler]] filesystem handlers have their own separate system consisting of completely differently structured messages that dos.library use to pass requests (for things like reading, writing, getting directory contents etc.) to them. AROS originally went with implementing filesystem handlers as devices, which might arguably be more consistent with the rest of the AmigaOS API but which is quite incompatible with AmigaOS itself. However, it made it far harder to port filesystems and the gains were comparatively small, and so there's been a long standing goal of fixing this incompatibility. It has now, June 2011, been reintroduced to all AROS flavors. are argstr and argsize valid for the handler startup environment? DOS/RunHandler() calls DOS/CreateNewProcTags(), and then CallEntry() (in rom/dos/exit.c) to start the handler, so yes, argstr and argsize are *present* in the call signature of the handler. Granted, argstr will be NULL and argsize 0, but those values *are* passed to the handler function using: <pre> AROS_UFC3(ULONG, entry, AROS_UFCA(STRPTR, argptr, A0), AROS_UFCA(ULONG, argsize, D0), AROS_UFCA(struct ExecBase *, SysBase, A6)); </pre> Creating your own [without the whole build tree http://pagesperso-orange.fr/franck.charlet/temp/radeon.zip] and then <pre> make stub make make install </pre> SFS has two Root blocks, one at the start and one at the end of the disk. The Root blocks both contain the same information. They hold various information about the disk structure and have the locations of some important blocks used by the filesystem. The Root ObjectContainer contains the Root directory Object. The name of this Object is the name of the volume. It is identical to a normal directory Object. The Bitmap is used to keep track of free space. Each bit in a bitmap represents a single block. A set bit indicates a free block and a cleared bit a used block. AdminSpaceContainers are used to keep track of space which has been reserved for storing administration blocks. Only the Bitmap, the Root blocks and the actual data stored in files aren't stored in administration space. Administration space is allocated in chunks of 32 blocks at a time. A single AdminSpaceContainer can hold information about a large number of such areas each of which has its own little bitmap of 32 bits. Extents are stored in a B-Tree. The Root block holds a pointer to the root of the Extent B-Tree. Extents keep track of space in use by a specific file. Each fragment a file consists of has its own Extent. Extents are in a double linked list. The list can be used to locate the next or previous fragment of a file. Below is the standard block header. This header is found before EVERY type of block used in the filesystem, except data blocks. The id field is used to check if the block is of the correct type when it is being referred to using a BLCK pointer. The checksum field is the SUM of all LONGs in a block plus one, and then negated. When applying a checksum the checksum field itself should be set to zero. The checking a checksum the checksum is okay if the result of the checksum equals zero. The ownblock BLCK pointer points to the block itself. This field is an extra safety check to ensure we are using a valid block. Field Type Description id ULONG The id field is used to identify the type of block we are dealing with. It is used to make sure that when referencing a block we got a block of the correct type. The id consist of 4 bytes and each blocktype has its own unique foure letter code. checksum ULONG This field contains the sum of all longs in this block, plus one and then negated. The checksum can be used to check if the block hasn't been corrupted in any way. ownblock BLCK Points to itself, or in other words, this field contains the block number of this block. This is yet another way to check whether or not a block is valid. <pre> struct fsBlockHeader { ULONG id; ULONG checksum; BLCK ownblock; }; </pre> The algorithm to calculate the checksum of a block: <pre> ULONG calcchecksum(struct fsBlockHeader *block, LONG blocksize} { ULONG *data=(ULONG *)block; ULONG checksum=1; block->checksum=0; while(blocksize>0) { checksum+=*data++; blocksize-=4; } return(-checksum); } </pre> A Root block contains very important information about the structure of a SFS disk. It has information on the location and size of the disk, the blocksize used, locations of various important blocks, version information and some filesystem specific settings. A SFS disk has two Root blocks; one located at the start of the partition and one at the end. On startup the filesystem will check both Roots to see if it is a valid SFS disk. If either one is missing SFS can still continue (although at the moment it won't). A Root block could be missing on purpose. For example, if you extend the partition at the end (adding a few MB's) then SFS can detect this with the information stored in the Root block located at the beginning (since only the end-offset has changed). Same goes for the other way around, as long as you don't change start and end point at the same time. When a Root block is missing because the partition has been made a bit larger, then SFS will in the future be able to resize itself without re-formatting the disk. Field Type Description bheader struct fsBlockHeader Standard block header. version UWORD The version of the filesystem block structure. You can check this field to identify what version of the filesystem your dealing with it and to see if you can handle this structure correctly. Don't try to interpret the disk's structure when this field contains an unknown version number! sequencenumber UWORD Used to identify which Root block was written last in case the sequencenumber on both Root blocks don't match. datecreated ULONG Creation date of this volume. This is the date when the disk was last formatted and will never be changed. bits UBYTE Various settings, see below. <pre> pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. reserved1 ULONG[2] Reserved, leave zero. firstbyteh ULONG High 32-bits of a 64-bit number. This is the first byte of our partition relative to the start of the disk. firstbyte ULONG Low 32-bits of a 64-bit number. lastbyteh ULONG High 32-bits of a 64-bit number. This is the last byte (exclusive) of our partition relative to the start of the disk. lastbyte ULONG Low 32-bits of a 64-bit number. totalblocks ULONG The total number of blocks this partition consists of. blocksize ULONG The size of a block of this partition. reserved2 ULONG[2] Reserved, leave zero. reserved3 ULONG[8] Reserved, leave zero. bitmapbase BLCK Block number of the start of the Bitmap. adminspacecontainer BLCK Block number of the first AdminSpaceContainer. rootobjectcontainer BLCK Block number of the ObjectContainer which contains the root of the disk (this is where the volume name is stored). extentbnoderoot BLCK Block number of the root of the Extent B-Tree. reserved4 ULONG[4] Reserved, leave zero. </pre> <pre> struct fsRootBlock { struct fsBlockHeader bheader; UWORD version; UWORD sequencenumber; ULONG datecreated; UBYTE bits; UBYTE pad1; UWORD pad2; ULONG reserved1[2]; ULONG firstbyteh; ULONG firstbyte; ULONG lastbyteh; ULONG lastbyte; BLCK totalblocks; ULONG blocksize; ULONG reserved2[2]; ULONG reserved3[8]; BLCK bitmapbase; BLCK adminspacecontainer; BLCK rootobjectcontainer; BLCK extentbnoderoot; ULONG reserved4[4]; }; </pre> AdminSpaceContainers are used to store the location and bitmap of each administration space. The AdminSpaceContainers are located in a double linked list and they contain an array of fsAdminSpace structures. There is one fsAdminSpace structure for every administration space on disk. Field Type Description bheader struct fsBlockHeader Standard block header. next BLCK The next AdminSpaceContainer, or zero if it is the last in the chain. previous BLCK The previous AdminSpaceContainer, or zero if it is the first AdminSpaceContainer. bits UBYTE The number of bits in each in the bits ULONG in the fsAdminSpace structure. pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. adminspace struct fsAdminSpace An array of fsAdminSpace structures. The size of the array is determined by the current blocksize. <pre> struct fsAdminSpaceContainer { struct fsBlockHeader bheader; BLCK next; BLCK previous; UBYTE bits; UBYTE pad1; UWORD pad2; struct fsAdminSpace adminspace[0]; }; </pre> Field Type Description space BLCK The first block of an administration space. bits ULONG A small bitmap which is used to determine which blocks in an administration space are already in use. The number of bits in this bitmap is determined by the bits field in the AdminSpaceContainer. <pre> struct fsAdminSpace { BLCK space; ULONG bits; }; </pre> The fsBitmap structure is used for Bitmap blocks. A bitmap block is used to keep track of which space is in use and which isn't for a particular area of a disk. All bitmap blocks together keep track of the free space for an entire disk. The location of the first bitmap block is known and all other bitmap blocks are stored in order after the first one. Field Type Description bheader struct fsBlockHeader Standard block header. bitmap ULONG An array of ULONG's. These hold the actual information on which blocks are in use and which aren't. <pre> struct fsBitmap { struct fsBlockHeader bheader; ULONG bitmap[0]; }; </pre> Each bit in a bitmap block (except for the block header) represents a single block. If the bit is set than the block is free, and if the bit is clear then it is full. The first ULONG in the bitmap area of the first bitmap block represents blocks 0 through 31 on the disk. Bit 31 of this ULONG is block 0, 30 is block 1, and so on. Bit 0 of the first ULONG represents block 31. Below is a table to clarify how bitmaps work even further. The first column is the bitmap block number, the second column is the number of the ULONG in the bitmap array. The third column is the bit number in this ULONG, and the last column is the block which this specific bit, in this specific bitmap block represents. We'll assume here that a bitmap block has room for 120 ULONG's (meaning there is room for storing 32 * 120 bits). <pre> Bitmap block ULONG number Bit number Block represented 1 (first) 0 31 0 1 0 30 1 ... ... ... ... 1 0 1 30 1 0 0 31 1 1 31 32 ... ... ... ... 1 2 31 64 1 2 30 65 ... ... ... ... 1 119 0 3839 2 0 31 3840 2 0 30 3841 ... ... ... ... </pre> The last bitmap block doesn't need to be completely used. The unused bits (which belong to blocks which do not exist) all have to be clear, to indicate that these blocks are in use. The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory. Each ObjectContainer must contain at least one Object. If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled. Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory). next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain. previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory. object struct fsObject A variable number of fsObject structures. The number of structures depends on the individual sizes of each fsObject structure and the blocksize. These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary. <pre> struct fsObjectContainer { struct fsBlockHeader bheader; NODE parent; BLCK next; BLCK previous; struct fsObject object[0]; }; </pre> fsHashTable is the structure of a HashTable block. It functions much like the hash table found in FFS user directory blocks, except that it is stored in a separate block. This block contains a number of hash-chains (about 120 for a 512 byte block). Each hash-chain is a chain of Nodes. Each Node has a pointer to an Object and a pointer to the next entry in the hash-chain. Using such a hash-chain you can locate an object quickly by only knowing its name. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the directory Object this HashTable block belongs to. hashentry NODE An array of Nodes. Each Node represents the start of a hash-chain (singly linked). A hash-value is calculated using the name of a file or directory, and this value determines in which chain the Object is linked. If there are no entries in a hash-chain then the hashentry value is zero. <pre> struct fsHashTable { struct fsBlockHeader bheader; NODE parent; NODE hashentry[0]; }; </pre> To calculate the hash-value using a name of an Object as input use these routines: <pre> UWORD calchash(UBYTE *name) { UWORD hash=0; /* Calculates a hash value over the passed in string. The end of the string can be either a NUL byte or a slash. The hash function is the same as the one used in FastFileSystem set to international mode. */ while(name[hash]!=0 && name[hash]!='/') { hash++; } while(*name!=0 && *name!='/') { hash=hash*13+upperchar(*name++); } return((UWORD)(hash % (UWORD)((blocksize-sizeof(struct fsHashTable))>>2))); } UBYTE upperchar(UBYTE c) { if((c>=224 && c<=254 && c!=247) || (c>='a' && c<='z')) { c-=32; } return(c); } </pre> The BNodeContainer is used to store B-Trees. Currently only one B-Tree is in use by this filesystem and it is used to store the location of file data. The fsBNodeContainer structure contains two other structures. The fsBlockHeader structure and the BTreeContainer structure. Field Type Description bheader struct fsBlockHeader Standard block header. btc struct BTreeContainer Contains information about the B-Tree and its nodes contained in this block. <pre> struct fsBNodeContainer { struct fsBlockHeader bheader; struct BTreeContainer btc; }; </pre> First try and locate the Root block. It should start with "ROOT". SFS has two of these, one at the start of the partition and one at the end. One of the fields contains the block size, which will be the size of all important SFS blocks. The root block has the root object container, which contains information about files and directories in the root directory. The object containers basically hold one or more smaller structures that represent files and directories. Scanning them all should give you a list of files and directories. The root block also has the root of the Extent B-Tree. This is a standard B-Tree structure (not a binary tree) that is used commonly in all kinds of system, you can read about how they work on Wikipedia if needed. The B-Tree holds the information about *where* all the data is located for your files. To recover your files, I'd do this: * Find one of the root blocks, if not present, then figure out the block size your disk was using, and scan every block in turn to see if it looks like an ObjectContainer (check the fsBlockHeader's ID, check if the ownblock number is equal to the block you are currently scanning, and check its checksum). So if you currently have block 12, and you see a block with the correct id, and ownblock = 12 and its checksum is good, then that's probably a valid ObjectContainer. * With all the ObjectContainers found, you can extract filenames and directory names from these, but also the number of their first data block (in the field data) and the file size. For small files (less than blocksize) this data block will be enough to recover the data. For larger files, you might be lucky and all the remaining blocks are found after the first one (if the file was defragmented). You can't be sure of that though so... * For larger files, you need to find all the BNodeContainers. You could scan these in the same way you found all the ObjectContainers (look for blocks with the correct id, ownblock number and checksum). * With all the BNodeContainers found, you can try looking up the first data block of a file in the B-Tree structure. This is a bit complicated -- the B-Tree consists of non-leaf nodes (blocks that only contain pointers to other B-Tree blocks), the isLeaf flag indicates this. Or it can be a B-Tree leaf block. The leaf blocks contain extra information per entry (see https://hjohn.home.xs4all.nl/SFS/extents.htm) <pre> struct fsExtentBNode { ULONG key; ULONG next; ULONG prev; UWORD blocks; }; </pre> The key should be a block of a file (the first of a range), that is 1 to 65535 block long (depending the "blocks" field). If the file is split up into more parts, then "next" will contain block number of the next range of blocks. You need to look this up again in the B-Tree structure to find out how large it is. You can for the most part ignore the other structures (bitmap, admin containers). The fsObjects and B-tree containers is what you'll need to recover the data. ====Resources==== <pre> rom/storage/mmakefile.src rom/storage/storage.conf rom/storage/storage_device.c rom/storage/storage_ids.c rom/storage/storage_init.c rom/storage/storage_intern.h rom/storage/storage_mount.c rom/storage/storage_unit.c </pre> <pre> rom/storage/includes/device.h rom/storage/includes/unit.h rom/storage/includes/volume.h rom/storage/storage_intern.h </pre> <pre> </pre> *[[Aros/Developer/Docs/Resources/ACPI|acpi.resource]] *[[Aros/Developer/Docs/Resources/Battclock|battclock.resource]] *[[Aros/Developer/Docs/Resources/Bootloader|bootloader.resource]] *[[Aros/Developer/Docs/Resources/Cia|cia.resource]] *[[Aros/Developer/Docs/Resources/Filesystem|FileSystem.resource]] *[[Aros/Developer/Docs/Resources/Hostlib|hostlib.resource]] *[[Aros/Developer/Docs/Resources/Kernel|kernel.resource]] *[[Aros/Developer/Docs/Resources/Misc|misc.resource]] *[[Aros/Developer/Docs/Resources/Processor|processor.resource]] ==Debugging Code== Please use the [http://sourceforge.net/tracker/?group_id=43586&atid=439463 AROS Bug Tracker] if any issues are found. GRUB Command line list <pre> sysdebug usbdebug - allows to see Poseidon's log in debug output </pre> How do I get debugging out of InitResident ? If running i386 hosted on linux sysdebug=initresident on command line. This way you can enable any of listed flags. sysdebug=all stands for "everything" Have an executable (crosscompiled C++ code) which has 6 MB size on disk, but after loading it in memory, 250 MB RAM is taken. Any software that would split AROS executable into ELF part which would show actual size values? readelf -S executable it will show you all sections in elf file, including sizes and requested alignment. objdump -h filename That's will give you a quick overview of the sections and sizes. Ignore all the .debug.* sections. Would hazard a guess that you have a large .bss section. That's pretty common in C++. Next step: nm—size-sort filename | grep ' [bB] ' The last few will be your biggest consumers. Would suggest -C to demangle the symbols... ;) Suggest profiling the program (just use some printf's in the main loop for time spent in each part), it usually is quite easy to spot slow parts in games or apps. If someone has '#define IPTR ULONG' somewhere. To see where that define is, redefine IPTR in the source code that fails, just above the line that fails, and the preprocessor will tell you where it was defined first. ===How to setup gdb with AROS/hosted=== Download AROS sources (AROS-xxxxxxxx-source.tar.bz2, where xxxxxxxx is the current date) and AROS contrib sources (AROS-xxxxxxxx-contrib-source) from Untar-bzip2 and cd to the unpacked archive directory. > tar -xvjf AROS-xxxxxxxx-source.tar.bz2 > cd AROS-xxxxxxxx-source Check the link to "contrib" (contrib-source) inside directory, e.g. correct like this: > rm contrib > ln -s ../AROS-xxxxxxxx-contrib-source.tar.bz2 contrib Make sure you have the correct locale setting, otherwise compilation will fail at some point. See [http://aros.sourceforge.net/documentation/developers/compiling.php#setting-the-locale-to-iso8859 here] (or link below) for more on that. You might have to enter this: > export LANG="en_US.ISO-8859-1" Now configure for a debug build - see "./configure --help" for more - here are two examples: > ./configure—enable-debug=stack,modules,symbols > ./configure—enable-debug=all You may "make" now, or choose a separate directory for your build (e.g. for easy removal), for example if compiling for i386 architecture you could create a directory like this: > mkdir linux-i386 > cd linux-i386 > ../AROS/configure—enable-debug=stack,symbols,modules When done configuring you're ready to go: > make Building AROS takes some time - minutes on fast machines (e.g. 2.5&nbsp;GHz quadcore), up to hours on slower machines. The result will be AROS Linux hosted with gdb debugging enabled. See aros.org documentation for more on compiling AROS, including more [http://aros.sourceforge.net/documentation/developers/compiling.php --enable-debug] options. When finished, enter bin/linux-i386/AROS directory (replace "linux-i386" with your compilation target platform, e.g. linux-x86_64, etc.) inside the unpacked archive directory. This directory contains the required .gdbinit file for properly running AROS inside gdb. > cd bin/linux-i386/AROS Run AROS (here: with 128MB of memory) from gdb: > gdb—args boot/aros-unix -m 128 or > gdb—args boot/arosboot -m 128 (gdb) r Watch the shell output - in case AROS complains about "LoadKeyCode2RawKeyTable: Loading "DEVS:Keymaps/X11/keycode2rawkey.table" failed!" you should also see some instructions on how to create a keymap table. (see link above "more on compiling", too.) Quit gdb, and try default keymap table: (gdb) q The program is running. Quit anyway (and kill it)? (y or n) y > cd ../../.. > make default-x11keymaptable Re-run AROS, as described above. Try e.g. RAros (= right windows key) + W to open a shell. If this doesn't work you have to create a keymap table yourself, quit gdb again, and make a new keytable: > make change-x11keymaptable A window will open. Watch the window's title bar, and follow the instructions. When done, re-run AROS. RAros + W should now open a shell. Next, compile your program with gdb support. When you start GDB is there a warning which says warning: File "<whatever>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to ... If so start gdb with "-ix .gdbinit" <pre> Summary - In short: * build AROS with debugging support (i.e. ./configure --enable-debug=all) * build your application with debugging support (i.e. option -g) * run AROS in the GNU debugger (you may use the GUI frontend "ddd" which simplifies usage a bit) * start your application * use the commands "findaddr" and "add-symbol-file" as written in the debugging manual * if the debugger doesn't find the source code of your application use the "dir" command of the debugger. </pre> ===How to use gdb=== In AROS open a shell, then (in host shell) use CTRL-Z to go into gdb. Use "b Exec_CreatePool" (one of the functions used early on by startup code in programs) to add a breakpoint, then "cont" and gdb will interrupt somewhere early during startup of "program". Use "bt" to show backtrace and "loadseg" for "??" entries. One of them will be for "program". After that you can use "disassemble program". One thing you need to make sure is that .gdbinit you have in your build directory is the same as in source tree. It has been modified some time ago, but the build system does not refresh it - you need to copy it manually To recap, please read our debugging [http://aros.sourceforge.net/documentation/developers/debugging.php manual]: To detect segfaulting when loading, try... ./configure—enable-debug—with-optimization="-O2" Because crash or no crash may depend on optimization. For newer compilers maybe this helps... --with-optimization=-"-O2 -fno-strict-aliasing" One way to make crashes less random (more easily reproducible) is to activate the munging of free memory in rom/exec/freemem.c which is normally commented out: <pre> Index: freemem.c =================================================================== --- freemem.c (revision 34289) +++ freemem.c (working copy) @@ -154,11 +154,12 @@ * created with their TCB placed in the tc_MemEntry list. The workaround * is to avoid munging when FreeMem() is called with task switching disabled. */ + /* DOH! it doesn't work even this way. What's wrong??? - * - * if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) - * MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); */ + + if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) + MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); } </pre> Mungwall can be turned on at runtime. Currently this works in all hosted versions. Just specify "mungwall" on kernel command line and it works. It can work on native too. In order to enable it you need to parse kernel command line, and if "mungwall" is present, set EXECF_MungWall bit in IntExecBase.IntFlags. This needs to be done before the first AllocMem() for obvious reasons. And never reset back this flag! If you change it on a working system, you are doomed. Hosted ports do the processing in rom/exec/prepareexecbase.c --enable-debug=mungwall option in configure still works but is going obsolete. A kludge in rom/exec/allocmem.c is responsible for this and it needs to be removed when the transition is done. BTW, on i386-pc port it can be activated by "mungwall" argument on command line, you don't need to rebuild AROS. New mungwall affects not only AllocMem()/FreeMem(), but also pools. I also tested it with AllocAbs(), seems to work correctly. Runtime mungwall works on: * pc-i386 * pc-x86_64 * linux-i386 * linux-x86_64 * darwin-x86 * linux-ppc Works on all hosted ports, if the port itself is working. * amiga-m68k * Not on sam440-ppc and efika-chrp-ppc, even if they would be able to be built at moment. Does not work on (for now, need NVRAM support) When starting my freshly rebuilt i386-linux-aros which was compiled with full debugging support I get sometimes the error "Program exited with code 0377". Add the following to your .gdbinit: set follow-fork-mode child Here are some of the custom AROS gdb functions (defined in ".gdbinit" file) to resolve "in ?? ()" entries in backtrace: <pre> #0 0xb7ffd424 in __kernel_vsyscall () #1 0xb7e2a657 in sigsuspend () from /lib/libc.so.6 #2 0xb7c63900 in ?? () #3 0xb7c640e3 in ?? () #4 0xb7c641e0 in ?? () </pre> You can use loadseg 0xb7c63900 loadframe 2 or loadbt and some others. Use "help " for a little help text. If the commands do not work try "loadkick" first. Use "thistask", "taskready", "taskwait" to get list of AROS tasks. "bttask " shows backtrace of a task which is in ready or in wait queue and "loadseg" to resolve "??" entries in it's backtrace ("loadframe" would not work as it assume current running task). ===Native debugging tools for AROS=== to enable debugging at boot time entering the GRUB menu editing line (E key) and adding "debug=memory" to your boot line, then press Ctrl+X to complete booting. SYS:Tools/Debug/'''Bifteck''' Open a shell and enter the line below to run Biftek and grab the debug messages collected in RAM into a text file. tools/debug/bifteck > ram:debug.txt and certainly does not open a window. It is a shell tool and only dumps data located from the debug location. It is therefore important to 'catch' that debug data as soon as possible (before it gets overridden). You should invoke bifteck at the first opportunity before doing anything else. You can use the TO option to store bifteck output to a file or you can pipe it manually to a file. SYS:Tools/Debug/'''Sashimi''' - displays error messages One suggestion is to do a bug() debugging. Each time bug() is executed it will be output on sashimi. You include <aros/debug.h> and place bug("something\n"); in your source code at location though which control passes. To get the output - open an aros shell SYS:Tools/Debug/sashimi > RAM:out.txt '''Ctrl C''' to end the output to the RAM Disk. # open shell, and type # ram: (to switch to ram drive) # System:Tools/Debug/Sashimi > mylogfile.txt # open AHI prefs using wanderer (or use another opened shell) # play test sound # close AHI prefs # shell still open with Sashimi running: press ctrl-c to break Sashimi and return to prompt. # in shell: copy mylogfile.txt System: (or to your required location) SYS:Utilities/'''Snoopy''' - monitors OS function calls, run "Sashimi" to see Snoopy's output SYS:Tools/'''WiMP''' - the Window (and Screens) Manipulation Program You can use the -E option of gcc to find out how preprocessor macros are expanded. ===Errors=== crash in strcasecmp usually means that one of its arguments is NULL. empty space between these two names, prossibly some invisible character Old Amiga [http://www.amigacoding.com/index.php?title=Guru_codes&redirect=no Guru Codes] If the crash is in intuition. Sometimes, if it relates to text, a null pointer sets it off. an uninitialised pointer can have any address (this is a common fault). Compiling on 64bit, Many old code would not properly typecast when doing pointer-integer conversions and thus at least throw a warning. This can easily be located and fixed. [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. * Fix (change IPTR/SIPTR back to ULONG/LONG) the few places which really rely on ULONG/LONG being exactly 32 bit. That's for things like pixel (ARGB) buffers, structs written/read to disk, colormaps, but probably not much else. Then again, many current compilers also throw a warning when you try to assign a pointer value to an integer and the integer is possibly too small. This happens under .NET for example when a 64 bit pointer is assigned to something like an ULONG - so exactly the case which you described. === AI === <--- Model <---> Agent ---> End user Gemini LMStudio Qwen Comfyui etc Recent, self hosting locally on laptops, mini pcs or desktops with '''quantization''' 4bit has reduced memory requirements but still require 16Gb+ and no high end gpu for text based *[https://lmstudio.ai/download LMstudio single gpu], Google Gemma 4 Model *[ 12B QAT] Alibaba Cloud's [https://huggingface.co/ Qwen] team series of large language models LLMs *[https://huggingface.co/models?other=qwen3 Qwen 3], [], *[https://huggingface.co/models?other=qwen2 Qwen 2], [https://huggingface.co/Qwen/Qwen2.5-Coder-32B qwen 2.5 Coder], *[ Kimi K3], Small Claude Model *[https://github.com/sipeed/picoclaw picoclaw] Bigger LLMs but with settings *[https://ollama.com/download Ollama single gpu] *[https://github.com/ggml-org/llama.cpp/releases llama.CPP multi gpus], *[ VLM multiple gpus], For the full experience #Training learning using 1+ high end GPUs at least 16GB VRAM per GPU card or 64Gb+ of unified, 16Core CPU with at least 64Gb of RAM system memory, though training can take weeks #Inference with custom asics or GPUs *[ MiniMax H3] for audio and video but gpu 8Gb+ *[https://github.com/jamiepine/voicebox voicebox] *[https://github.com/ideogram-oss/ideogram4 ideogram4] *[https://github.com/calesthio/OpenMontage OpenMontage] <pre> Text to Audio --\ Text to Video --/ Reference Video --> Video and Audio output </pre> === Linux === <syntaxhighlight lang="c"> /* 1. Header for your name,date,purpose of program. 2. Pre-processor directives. This will include the #includes for files you want to add. 3. Includes for function prototypes if necessary. 4. Main() Create Pointers for Libraries and any Window you want to open. 5. Open necessary libraries. 6. Check if open exit program if fail. 7. Open a window exit program if fail. 8. Add your program 9. Close Window 10 Close Libraries. 11 End Program. */ /* standard os included headers <.h> */ #include <dos/dos.h> #include <dos/dosasl.h> #include <dos/dosextens.h> #include <dos/exall.h> #include <dos/rdargs.h> #include <exec/memory.h> #include <exec/types.h> #include <utility/utility.h> #include <intuition/intuition.h> /* define as unresolved external references (proto/xxx.h) and compiler will link to auto(matically) open library */ #include <proto/arossupport.h> #include <proto/dos.h> #include <proto/exec.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/cybergraphics.h> #include <proto/datatypes.h> #include <proto/icon.h> #include <workbench/workbench.h> #include <workbench/icon.h> #include <datatypes/pictureclass.h> #include <proto/muimaster.h> #include <libraries/mui.h> #include proto/bsdsocket.h #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> /* my own headers ".h" */ #define CTRL_C (SetSignal(0L,0L) & SIGBREAKF_CTRL_C) #define isDir(fib) ((fib)->fib_DirEntryType >= 0) #define ARG_TEMPLATE "FILE/A,ALL/S,QUIET/S,W=WIDTH/N,H=HEIGHT/N,M=METHOD,DEFTOOL" int main(void) { return retval; } /* main */ </syntaxhighlight> If you used c++, there is not yet c++ support in our shared library system. The easiest way to create / compile a shared library would be to use the AROS build system but the libraries can be created manually. You have to create a ROMTAG structure and some header files. A shared library is built with the %build_module macro with a line like this: %build_module mmake=MetaTarget modname=mylib modtype=library files=SourceFiles This macro can build different AROS module types, like devices, Zune classes, HIDDs, etc. <pre> ##begin config version 1.0 ##end config ##begin functionlist void func1(LONG a, LONG b) int func2(char *s, ULONG a) ##end functionlist </pre> There is more [http://aros.sourceforge.net/documentation/developers/sys-dev/libraries.php here] Alternatively, <pre> #ifndef LIB_H #define LIB_H #define __NOLIBBASE__ #include <exec/libraries.h> #include <exec/semaphores.h> #include <dos/dos.h> #ifdef __AROS__ //#include <aros/debug.h> #define reg(x) #define __saveds #endif #define USESYSBASE struct ExecBase *SysBase = Base->My_SysBase; struct MyTestBase { struct Library My_Test_Lib; struct ExecBase *My_SysBase; APTR My_SegList; int testint; }; #endif </pre> <pre> /*--------------------------------------------------------------------------*/ /* Resident header written for mytest.library */ /*--------------------------------------------------------------------------*/ #define __NOLIBBASE__ #define VERSION 1 #define REVISION 0 #define LIBHEADNAME mytest #define LIBHEADNAMESTR "mytest" #define COMPDATE "04.10.2015" #define VERS "1.0" #define LIBBASETYPE struct MyTestBase #define LIBBASETYPEPTR LIBBASETYPE * #include <aros/debug.h> #include <exec/exec.h> #include <proto/exec.h> #include <exec/resident.h> #include <exec/nodes.h> #include <exec/libraries.h> #include <aros/symbolsets.h> #include "lib.h" const UBYTE lib_name[] = LIBHEADNAMESTR ".library"; const UBYTE lib_id[] = "$VER: " LIBHEADNAMESTR ".library " VERS " (" COMPDATE ") by ALB42\n"; extern const APTR FuncTable[]; AROS_UFP3 (LIBBASETYPEPTR, InitLib, AROS_UFPA(LIBBASETYPEPTR, Base, D0), AROS_UFPA(BPTR, seglist, A0), AROS_UFPA(struct ExecBase *, sysbase, A6) ); static struct LibInitStruct { IPTR LibSize; const APTR *FuncTable; const struct DataTable *DataTable; APTR InitFunc; } const LibInitStruct = { sizeof(LIBBASETYPE), FuncTable, NULL, (APTR)InitLib }; const struct Resident romtag = { RTC_MATCHWORD, /* match word */ (APTR)&romtag, /* back pointer */ (APTR)(&romtag + 1), /* skip pointer */ RTF_AUTOINIT | RTF_EXTENDED,/* flags */ VERSION, /* version */ NT_LIBRARY, /* type of module */ 0, /* init priority */ (STRPTR)lib_name, /* module name */ (STRPTR)lib_id + 6, (APTR)&LibInitStruct, REVISION, NULL }; AROS_UFH3 (LIBBASETYPEPTR, InitLib, AROS_UFHA(LIBBASETYPEPTR, Base, D0), AROS_UFHA(BPTR, seglist, A0), AROS_UFHA(struct ExecBase *, sysbase, A6) ) { AROS_USERFUNC_INIT Base->My_SegList = seglist; Base->My_SysBase = (APTR)sysbase; Base->testint = 0; USESYSBASE bug("InitLib\n"); if (!set_open_libraries()) { set_close_libraries(); return NULL; } return Base; AROS_USERFUNC_EXIT } AROS_LH1(LIBBASETYPEPTR, LibOpen, AROS_LHA (ULONG, version, D0), LIBBASETYPEPTR, Base, 1, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibOpen\n"); (void)version; Base->My_Test_Lib.lib_OpenCnt++; return Base; AROS_LIBFUNC_EXIT } __saveds APTR LibExpungeInternal(LIBBASETYPE *Base reg(a6)) { USESYSBASE APTR seglist; bug("LibExpungeInternal\n"); if (Base->My_Test_Lib.lib_OpenCnt) { return 0; } seglist = Base->My_SegList; Forbid(); Remove((struct Node*)Base); Permit(); FreeMem((APTR)Base - Base->My_Test_Lib.lib_NegSize, (LONG)Base->My_Test_Lib.lib_PosSize + (LONG)Base->My_Test_Lib.lib_NegSize); set_close_libraries(); return seglist; } AROS_LH0(BPTR, LibClose, LIBBASETYPEPTR, Base, 2, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibClose\n"); if (!(--Base->My_Test_Lib.lib_OpenCnt)) { return LibExpungeInternal(Base); } return 0; AROS_LIBFUNC_EXIT } AROS_LH1(BPTR, LibExpunge, AROS_LHA(LIBBASETYPEPTR, Base, D0), struct ExecBase *, sysBase, 3, LIBHEADNAME ) { AROS_LIBFUNC_INIT (void)sysBase; USESYSBASE bug("LibExpunge\n"); return LibExpungeInternal(Base); AROS_LIBFUNC_EXIT } AROS_LH0(LIBBASETYPEPTR, LibReserved, LIBBASETYPEPTR, Base, 4, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibReserved\n"); return 0; //return (APTR)LibReserved(); AROS_LIBFUNC_EXIT } // Space for your own functions // do not forget to update the FuncTable as well AROS_LH1(int, TestFunction, AROS_LHA(int, TestValue, D0), LIBBASETYPEPTR, Base, 5, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("TestFunction\n"); Base->testint = TestValue + Base->testint; return Base->testint; AROS_LIBFUNC_EXIT } // Functable -> Table of all functions in the Library, in right order - important! const APTR FuncTable[] = { &AROS_SLIB_ENTRY(LibOpen,LIBHEADNAME,1), &AROS_SLIB_ENTRY(LibClose,LIBHEADNAME,2), &AROS_SLIB_ENTRY(LibExpunge,LIBHEADNAME,3), &AROS_SLIB_ENTRY(LibReserved,LIBHEADNAME,4), &AROS_SLIB_ENTRY(TestFunction,LIBHEADNAME,5), (void *)-1 }; // AutoInit stuff void *__PROGRAM_ENTRIES__symbol_set_handler_missing; void *__LIBS__symbol_set_handler_missing; // end of AutoInitStuff </pre> Makefile <pre> VPATH = CFLAGS = -O2 -g -fomit-frame-pointer -W -Wall -Wno-parentheses CC = i386-aros-gcc LD = i386-aros-gcc LDFLAGS = -nostartfiles -Wl,-Map -Xlinker linkermap LIBS = -lautoinit -llibinit STRIP = i386-aros-strip --strip-unneeded --remove-section .comment OBJS = lib_header.o all: mytest.library mytest.library: $(OBJS) $(LD) $(LDFLAGS) $^ $(LIBS) -o $@ lib_header.o: lib_header.c lib.h clean: rm -f *.o *.library *.ppu testlibrary linkermap </pre> Porting UNIX library to AROS - dealing with static variables which would make it easy to port such libraries to AROS, keeping the benefits of sharing them on disk, but losing the benefit of actually sharing them in memory. Our problem arises by the fact we want to share the actual code (the .text section of the library) and constant data, but we need to have per-task .bss and .data sections. If we get rid of our intention to share the .text and .rodata sections, things get quite easy: just load and relocate the library whenever it's open, by whoever it's open. It's like statically linking the library into the executable, except that the final linking is done at runtime. In the V0 branch, in workbench/hidds/hidd.nouveau was committed pcimock.hidd. This is a pci driver that allows mocking real PCI devices under linux-hosted. The main idea is to be able to run the real hardware driver under linux-hosted with as little changes as possible (some changes will always be needed though unless someone wants to write complete device simulator) so that driver's code paths can be executed and debugged using gdb. This was a very helpful capability when porting nouveau. Now it is externalized from nouveau.hidd and can be used by other people porting drivers. The pcimock.hidd can currently mock 4 different nvidia cards, 1 AGP bridge and also mock irq.hidd. What's the difference between this driver and the pcilinux.hidd? I used that one to develop many different HW drivers for aros. As far as I understood the intention of pcilinux.hidd it is supposed to get access to real hardware that is running under linux. The pcimock.hidd goal is to mock the hardware. For example my dev box is a PCIE system, but I still would like to run the AGP codes paths in nouveau under linux-hosted to check if they don't seg fault. The other case would be to run codes paths for hardware that the developer does not have (Fermi cards in my case). In the case of pcimock.hidd, the AROS driver's code paths will execute as long as you add proper mocking (for example fill in PCI config area or values for registers in BARs). This is an advantage for ported drivers - the code should already work (since it worked on another system) but there might have been mistakes made during porting which can be detected easily with gdb. In case you are writing your driver from scratch, pcilinux.hidd hidd will give you more advantage, since you can actually access the real hardware from linux-hosted. == Misc == ===APL, MPL, BSD, GPL and LGPL Licences=== The majority of AROS sources in licensed under AROS Public License ([http://aros.sourceforge.net/license.html APL]) which (to a degree) protects us from someone taking AROS sources and not contributing improvements back (for example MorphOS took some AROS source and then contributed changes back) It is written to allow the use of AROS code in other open source or commercial projects without exception whilst providing a mechanism so that improvements/additions can find their way back to the original source in one form or another. There are "3rd" party applications used by AROS that do not fall under this license, which are an extra "Contrib" download for convenience. Anyone can port GPL-ed network and sound drivers as AROSTCP and AHI are GPLed. Direct using (porting) [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs GPL]-ed code in other parts of AROS (gfx, sata, usb) is not possible because AROS license is not compatible with GPL. You need to utilize permissive licensed code like BSD or MIT/X11. BSD and MPL license are the closest to APL. APL however is not so compatible with LGPL/GPL. LGPL case - you cannot statically combine APL code with LGPL. You can, however thank to LGPL being "lesser" restrictive, use LGPL dynamically loaded libraries in APL codes. GPL case - you cannot combine APL code with GPL in any way if there is no explicit clause by GPLed code authors allowing that. If you do combine APL with GPL in "bad" ways described above - you have a problem (you violate GPL). This problem might result in everything in AROS becoming GPL or everything running or AROS becoming GPL (here I'm not sure really). The other scenario is that you are not allowed to legally distribute such code at all. To be honest I have grasped how to violate GPL, but I'm still no exactly sure what happens when you violate it (but I'm sure it's not anything nice) GPL software can run on top of non-GPL "system components" (see system components exception of GPL), but the other way around (non-GPL using GPL) leads to problems. This means applications like scout, or Quake III are ok (in the majority of cases). Theres no reason GPL drivers cannot be ported - but they cant be in AROS's ROM (requires linking APL code with GPL), nor can AROS depend on them (e.g. they must use existing apis). If they are launched (dynamically linked) by a user action that is allowed. It is also allowed to distribute such binaries together for convenience. GPL is not about statical or dynamic linking but is about executing process and function calls. These components - SFS, isapnp, Zune texteditor, AHi, network drivers, freetype, openuirl, BHFormat, Edit and (" dynamically loaded libraries") are LGPL, not GPL. Mesa/Nouveau stuff is MIT. Some user tools are GPL though. '''AROS (system)''' * system components (libraries/classes/devices/etc) cannot be GPL as they would propagate GPL to complete system as well as GPL is not compatible with MPL from which APL is based * system components can be LGPL v2 or a permissive license (MIT/BSD) * system applications can be anything you like (but still I would prefer APL or permissive so the code can be reused if needed) '''Contrib:''' * no rules - contrib does not impact AROS system since nothing in AROS system depends on contrib. About stealing code: The chances of this happening is exactly the same whether we are APL or GPL. If any closed-source option wanted to do it, there is no one that can validate otherwise. MorphOS has used some AROS codes, but contributed changes back. The rationale behind APL is that while it guarantees that the original developer will get the improvements back (to a certain degree - file based), the person who uses the codes does not have to open his original codes. BSD does not guarantee that the original developer gets improvements. GPL requires the person using the codes to open his codes as well. The copyright holders needs to stay - we just need information from them that the codes are available under APL (for example a checked-in file like in case of Poseidon). We don't do transfer of copyrights. ; Ultimately what can and cannot be done is up to the author(s) - not the licence. ===AROS source code tree=== * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-trunk.txt * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt Found this interesting (non-GPL) licensing 'anomaly' - to keep in mind for distributors. Programs that lose their license if sold ("non-profit only" licensed): contrib/aminet/comm/term/TinyTerminal contrib/aminet/dev/basic/bwBASIC contrib/aminet/text/edit/xdme contrib/fish/aroach contrib/fish/lotto contrib/fish/shuffle contrib/fish/touch + cdvdfs. Here is a list of all the GPL/GPLv2/GPLv3 licenses fossology found, what have explicit licenses in their comments. excluded LGPL, BSD/GPL dual licensed and programs (such as Prefs/Edit and BHFormat) <pre> AROS/rom/dbus/include/ AFL_v2.1 ,GPL_v2+ (supposedly AFL < 3 is GPL incompatible) AROS/workbench/classes/zune/betterstring/include/ GPL_v2+ AROS/workbench/classes/zune/texteditor/include/ GPL_v2+ AROS/workbench/classes/datatypes/gemimage/ GPL_v2+ GPL AROS/workbench/classes/datatypes/degas/ GPL_v2+ AROS/workbench/libs/openurl/README: GPL AROS/workbench/network/smbfs/documentation/ GPL_v2 AROS/workbench/network/smbfs/source_code/ GPL_v2+ AROS/workbench/network/stacks/AROSTCP/bsdsocket/kern/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/mmakefile.src conf.h GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/sys/ CMU ,GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/net/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/api/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/conf/conf.h: GPL_v2 AROS/workbench/network/stacks/AROSTCP/netinclude/net/radix.h: CMU ,GPL_v2 AROS/workbench/devs/AHI/AHI/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/COPYING: GPL AROS/workbench/devs/AHI/Docs/texinfo.tex: GPL_v2+ AROS/workbench/devs/AHI/COPYING: GPL AROS/workbench/devs/AHI/Drivers/EMU10kx/ GPL_v2+ AROS/workbench/devs/AHI/AHI-Handler/ GPL_v2+ AROS/workbench/devs/networks/rtl8029/ GPL GPL_v2+ AROS/workbench/devs/networks/pcnet32/ GPL GPL_v2+ AROS/workbench/devs/networks/ppp/LEGAL: GPL AROS/workbench/devs/networks/atheros5000/ GPL_v2+ AROS/workbench/devs/networks/rhine/ GPL_v2+ AROS/workbench/devs/networks/nForce/ GPL_v2+ GPL AROS/workbench/devs/networks/prism2/ GPL GPL_v2+ AROS/workbench/devs/networks/fec/LEGAL: GPL AROS/workbench/devs/networks/rtl8139/ GPL GPL_v2+ AROS/workbench/devs/networks/etherlink3/ GPL GPL_v2+ AROS/workbench/devs/networks/intelpro100/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8169/ GPL GPL_v2+ AROS/workbench/devs/networks/emac/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8168/ GPL GPL_v2+ AROS/workbench/devs/networks/realtek8180/ GPL_v2+ AROS/workbench/devs/networks/via-rhine/via-rhine.c: GPL_v2+ AROS/workbench/devs/networks/via-rhine/ GPL GPL_v2+ AROS/workbench/devs/networks/e1000/ GPL_v2 AROS/workbench/devs/networks/sis900/ GPL GPL_v2+ </pre> AHI: it has special provisions (COPYING.DRIVERS). The library is LGPL, preferences software is GPL and drivers can be anything without breaking GPL/LGPL. Network stack: well, we are long overdue for a new, IPv6 enabled network stack anyway, anyone interested? ;) Seriously though it seems like the glue code is GPL and as all the drivers. However some of the drivers are our own code, so they could be relicensed to LGPL. Same filter as the AROS trunk list. These should all be libraries or plugins - no programs. <pre> contrib/regina/utsname.h: GPL_v2+ contrib/mui/classes/nlist/include/default-align.h: GPL_v2+ contrib/mui/classes/nlist/include/amiga-align.h: GPL_v2+ contrib/mui/classes/BWins/include/MUI/BWin_mcc.h: GPL contrib/mui/classes/BWins/include/BWin_private_mcc.h: GPL contrib/mui/classes/BWins/COPYING: GPL_v2 contrib/mui/classes/BWins/MCC_BWins.readme: GPL_v2 contrib/mui/classes/thebar/include/default-align.h: GPL_v2+ contrib/mui/classes/thebar/include/amiga-align.h: GPL_v2+ contrib/gfx/libs/wazp3d/LEGAL: GPL contrib/gfx/libs/wazp3d/Wazp3D.readme: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.c: GPL contrib/libs/mpega/ GPL_v2+ </pre> http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt ===Types=== On AROS following rules apply: <pre> 1. BYTE/UBYTE is 8bit, WORD/UWORD is 16bit, LONG/ULONG is 32bit, QUAD/UQUAD is 64bit, the types are comparable with stdint types (int8_t, int16_t, int32_t, int64_t) 2. IPTR/SIPTR are integer types large enough to fit pointer, that is sizeof(IPTR) = sizeof(APTR) = 4 on 32bit system, and = 8 on 64bit system 3. ti_Data in TagList is large enough to hold a IPTR/APTR type. 4. never store a pointer in integer of type LONG. It may work (if the pointer has upper 32bits clear), but does not have to. Compiler should warn you about that. 5. If you are unsure about point 4, allocate your memory with MEMF_31BIT flag set. But don't expect that AROS internals will do the same. </pre> point 4 is actually important. * UBYTE/BYTE for 8bit * UWORD/WORD for 16bit * ULONG/LONG for 32bit * UQUAD/QUAD for 64bit <pre> UBYTE Unsigned 8 bit integer variable (byte). BYTE Signed 8 bit integer variable (byte). UWORD Unsigned 16 bit integer variable (word). WORD Signed 16 bit integer variable (word). ULONG Unsigned 32 bit integer variable (longword). LONG Signed 32 bit integer variable (longword). FLOAT 32 bit IEEE floating point variable. UQUAD Unsigned 64 bit integer variable. QUAD Signed 64 bit integer variable. DOUBLE 64bit IEEE floating point variable. BOOL Boolean variable, TRUE and FALSE are also defined in exec/types.h. VOID Void. APTR A generic pointer for multiple purposes - Arrays. STRPTR A pointer to a null-terminated string. IPTR Really important in AROS, the only way to declare a field that can contain both: an integer or a pointer. </pre> if you want to write really portable app, you may be interested in standard datatypes defined in C99: int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, intptr_t, uintptr_t. They are all defined in inttypes.h include file. In exec/types.h the following short-cuts are typedef'd. They are used often in AROS, so you should nearly always include exec/types.h and soon only they will be removed from sys/_types.h include, all types are now defined in include files named aros/types/xxx.h. (Preparation for C library split; sys/xxx.h include will only be available there when compiling with POSIX C library) Compiler specific types, like int and long might change their size. In case of AROS, similar to linux, int remains 32 bit whereas long grows to 64 bits in size. If you use Amiga-like data types, i.e. BYTE/UBYTE, WORD/UWORD, LONG/ULONG and QUAD/UQUAD or the C99 standard types (uint8_t and so on, see stdint.h include) then you should have less issues to solve than by using types without size guarantee. Of course, all pointers grow to 64 bytes using 64bit cpu. Most of the code can be just recompiled and will work. In rare cases, where e.g. pointers are casted to integers, a special care must be taken. Especially in the cases, where pointer is casted to LONG/ULONG (this code will break on 64 bit AROS) e.g. '#define IPTR ULONG'. With compiler delint patches which the majority of them are simple casting issues to make the compiler happy. Notice some of the changes involve introducing double casts. In very recent versions of GCC. Yes, the bulk of the double casts are for converting 32 bit addresses (ie from a 32 bit PCI DMA address register) to a 64 bit pointer. First cast is to IPTR (to expand to 64 bits, and prevent sign extension if the address is above 0x7FFFFFFF), and then to APTR. ULONG != IPTR except on 32bit .. so if you need to store pointers make sure and use IPTR and not ULONG (which some old code does). For this reason things like Taglist elements are 64bit (since the tag data can be a pointer). If your passing items on the stack you should use the STACKED attribute to make sure they are correctly aligned (on 64bit all items on the stack are 64bit..) There is more issues like using "== 0L" causes problems. ===Endian=== *BE *LE Use the macros from <endian.h> instead making a guess based upon architecture defines <pre> #if _BYTE_ORDER == _BIG_ENDIAN #elif _BYTE_ORDER == _LITTLE_ENDIAN #else + #error <whatever.h> - Byte order for this architecture is unsupported! </pre> ===SVN and GIT=== If you want to help develop AROS OS itself, you can * view current GIT/SVN entries [http://aros.sourceforge.net/ Aros Org website] or [https://github.com/aros-development-team/AROS Github], [https://github.com/ezrec older ezrec mirror], [https://github.com/michalsc/AROS/ older mirror], [https://trac.aros.org/trac/timeline TRAC], [], * awaiting update [http://repo.or.cz/w/AROS.git git repo], [http://www.ohloh.net/p/aros/commits ohloh] or [https://svn.aros.org/svn/aros/trunk/ svn repo] and access [Git version git://repo.or.cz/AROS.git here], * deprecated [https://www.gitorious.org/aros/aros/commit/a7fda9e ARIX commits] or [https://gitorious.org/aros/aros GIT old] If you have SVN access (early 2015 introduced a new SVN server, create a new account at trac aros org) and/or have obtained the source [http://aros.sourceforge.net/download.php AROS site] - you can compile the current build tools/environment using: > make development and follow this [http://aros.sourceforge.net/documentation/developers/compiling.php#building procedure] or [https://github.com/apiraino/aros_guide Guide] https://trac.aros.org/trac#Developing If you plan on contributing back changes, please post information about such changes first on this [http://mail.aros.org/mailman/listinfo/aros-dev/ mailing list] for more experience developers can validate whether they are correct. Then there are the nightly build machines. They svn update before the build and run configure as one of the next steps. autoconf might be added to the nightly build scripts. Our build relies on packages downloaded from Internet (SDL for example) - it always worked this way. The minimal requirement (when just building core AROS) is binutils and gcc. If you build contrib as well, you need many more packages to be downloaded. https://gitorious.org/aros/aros/commits/crosstools-II git://gitorious.org/aros/aros.git Branch crosstools-II there is only one commit on top of ABI_V1 <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-x86_64 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-x86_64 </pre> and <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-i386 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-i386 </pre> build OK. :''More information: [[Aros/Developer/Maintainer|AROS Maintainer Docs]]'' ===SDI Calls=== Integrate the 'SDI'-headers to allow easier porting to all amiga-like platforms. <pre> PUTCHARPROTO( PutTheChar, char c, struct SPrintfStream *s ) { // REAL CODE } </pre> have "SDI_compiler.h" and "SDI_hook.h" included its more organized like #include SDI/SDI_hook.h than #include SDI_hook.h option 1 --- i also use when back porting from amiga's.. <pre> #ifdef __AROS__ #include SDI/SDI_hook.h #else #include SDI_hook.h #endif </pre> also you can add the -i include/sdi/ location if you do not want to add or edit any files. Defining HOOKPROTO to IPTR name(struct IClass * cl, Object * obj, Msg msg); solved the problem A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. examine compiler/include/aros/symbolsets.h (AROS_LIBREQ) compiling mui stuff for aros setting -std=gnu99 is necessary (i have had -std=c99 most of the time). ===Locale with Flexcat=== Most languages have a locale, but not every app is localized, the only thing needed is to translate the "catalog" files. It is a case of locating the correct catalog and saving the translated version. For every app that lacks of your language catalog and is localized anyway, you should find (in the sources) files related to locale: * file.cd = catalog descriptor, contains base msg, with internal language (usually english) * language.ct = catalog translation, contains every translated msg, indexed as in the file.cd. Compare with other localized apps... Then, "make my_app-catalogs" should create and install your translated catalogs. ex : for, saying, sys:prefs/wanderer: on root of AROS sources, type: "make workbench-prefs-wanderer-catalogs" then (if you changed the .cd file): "make workbench-prefs-wanderer" For apps not localized, you have to adapt their code to support it, if it is possible... noticed the original .cd file has many (//) strings at the end of any voice, so added them also to the .ct file. That (//) is only for cd files. I'm highly recommending to use FlexCat for updating ct files, e.g. like this: flexcat app.cd deutsch.ct newctfile deutsch.ct You'll get error checking and new entries are marked in the resulting ct file. When editing .ct files, only change those lines containing translation and perhaps version string, nothing else. The rest is up to the relevant tool, flexcat. In order to update your translation, type in the following in your shell: flexcat xyz.cd xyz.ct NEWCTFILE xyz_upd.ct COPYMSGNEW This way you will not only make sure you have correct translation file but flexcat also pre-fills newly added strings with "*** NEW *** text. Even better tool for checking cd/ct/catalog files is catcheck, but this one is sadly only available for AmigaOS/68k... Some languages have variations, like portugues from portugal and portugues from brasil differs... This is the way to go. I will have a look at language files, but basically if those two languages differ you have to do two separated set of translation files, yes. (you could create a brazilian slang language localization too) * At system level localization for one language is a dot language file. (ex: locale:languages/klingon.language) * At app level localization is a dot catalog file (ex: locale:catalogs/klingon/system/libs/dos.catalog) * At sources level, the dot ct file, and "$language" dot cd files and some building framework. (ex: catalogs/my_app.ct catalogs/klingon.cd catalogs/mmakefile.src support.c support.h) Please, use Flexcat to generate CT files: FlexCat wanderer.cd NEWCTFILE=deutsch.ct Then fill the first 2 lines with something useful: <pre> ## version $VER: wanderer.catalog 1.1 (9.2.2006) ## language deutsch </pre> You can even update the CT-File: (This adds the new strings) FlexCat wanderer.cd deutsch.ct NEWCTFILE=deutsch.ct To compile a catalog you only need the .cd file and your translation (.ct file): FlexCat multiview.cd deutsch.ct CATALOG=MultiView.catalog [http://murks-ide.svn.sourceforge.net/viewvc/murks-ide/trunk/src/Catalogs/flexcat_linux?revision=100 Linux version of FlexCat] : [http://aros.sourceforge.net/documentation/developers/app-dev/localization.php#localization-for-non-developers More information] A script which compares the required version (i.e. the version which an application/module etc. tries to open) with the version of the existing CT files. The result is in this table: https://github.com/aros-translation-team/translations/wiki/Progress The following cases are highlighted: n/a i.e. CT misses at all version in existing CT file is lower than the required version It might be a bit difficult to participate if you haven't worked with Git before but alternatively you can send your CT files to our Slack channel. When the ct file has been generated via flexcat (flexcat keyshow.cd NEWCTFILE=spanish.ct) it has the following header: --------------------------------------------------------------------------------------------------------------- ## version $VER: <name>.catalog <ver>.<rev> (04.01.2021) ## language nolanguage ## codeset 0 ; --------------------------------------------------------------------------------------------------------------- Those values <ver>.<rev> are the version and revision of the CT file for the languaje or are the values of the application being localized? The <ver> part must match with version which the application tries to open. You can find the value either in the column "Required Version" in the table which I've linked above, our you can look in the git repository. For keyshow it would be https://github.com/aros-translation-team/keyshow. You can find in the file "catalog_version.h" the right version number. The <rev> part starts for new CT files with 0 and should be increased every time the CT file is updated. Updated several files and created a few more that were missing on the spanish catalog. The catalogs are in Git repositories at https://github.com/aros-translation-team a) You tell me your Github user name. I'll invite you. You can work directly with the Git repositories. b) You create Github forks of the catalog repositories and create pull requests. c) You send the CT files to mrustler gmx de ===C Utils Misc=== The AROS source uses at several places the __DATE__ macro to fill the date entry of a $VER tag. Problem is that c:version doesn't understand that date format (e.g. "May 21, 2011"). As a result the output of e.g. > "version c:shell full" contains "(null)". Is extending the version command to understand the format of __DATE__ the right solution for that problem? AmigaOs compilers should use __AMIGADATE__ macro or similar form, if it isn't implemented it could be emulated in makefile: -D__AMIGADATE__=\"$(shell date "+%d.%m.%Y")\" BTW. I think DD.MM.YYYY is better format than "Month DD YYY" because "Month DD YYY" is not localized in any way. "strnicmp" shouldn't work with NULL pointers The Situation: compiled a linklib using c++ object files (using the c++ cross compiler). compiled a C stub that uses the linklib (using the c++ cross compiler). Try to link them together (using the c++ cross compiler) with C object files (using the normal target c compiler) that need to use -nostartup = cant do because using the c++ files pulls in arosc (for stdio etc.) - so wants to have the autoinit stuff present. What can I do about this?? If it is possible to manually open it then what do I need to do exactly? === ENV === The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. 99% of the time that statement is true (not required) for pretty much every file in ENV: or do people change their default icons - and prefs settings - every boot? There seem to be a bad habit of late with developers changing things to reflect their own personal preference when the change isn't actually necessary - It would be nice if people could refrain from doing that in the tree without at least discussing it on the dev-list first (and with good reasoning unless they committed said work in the first place..) We're not keen on the pollution of the "S:" dir: it's meant to be for scripts. What's wrong with "ENV:"? Only the fact that it takes up RAM. I understand that for PCs with several gigabytes of RAM this is irrelevant. But let's remember about other machines. The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. How about implementing in the style of HappyENV then? RAM-disk handler that falls through to reading from ENVARC: if there is no such file stored in it already. Removes RAM usage for unchanged files, removes the need to copy ENVARC to ENV in startup-sequence. Shouldn't be too hard to make from AmberRAM, or even just extend AmberRAM to provide this service. Is it feasable to build a special version of AmberRAM handling ENV: that will try and copy the requested file from ENVARC: if it isnt found in ENV: ? Additionaly it could mark closed "files" as untouched - and expunge them from ENV: after a period of time to free up additional RAM:, or when the system is running low on free memory? Silenty disappearing files may not be a good plan. Would be nice if the following would work: ASSIGN :ENV SYS:Prefs/Env-Arc ADD ASSIGN :ENV RAM:ENV ADD Where new files put in ENV: end up in RAM:ENV, and opening files looks in RAM:ENV first, then SYS:Prefs/Env-Arc Well - that's essentially what im proposing but without the assigns - or need for a RAM:ENV directory. Adding it as a feature of AmberRAM sounds like the most memory efficient way (one handler to load in RAM) but that's only if it is possible to make it handle ENV: additionally to RAM:, and if it is even possible to add the proposed functionality (...and how to make it enable it when accessing ENV:). ===(AS)MP support=== If one has to recompile software for SMP multi core, is there any thing special one has to do to get software to run? Use task.resource if you need to query information about what tasks are running, and clear msgports completely when they are allocated. Most code should not need Forbid. Use Semaphores, Messages etc. to sync your own code. Accessing system structures is a different thing. Use the proper API whenever possible. How single structures will be protected in the future is still a moving target, at least it is not documented. And you should never use undocumented stuff Ideas on for SMP multi-core Another suggestion is ... Forbid/Permit function calls are meant to halt multitasking so as no other task could intervene with what ever the calling task is doing, e.g. setting semaphores. Disable/Enable calls are meant to halt interrupts and as a side effect they also halt task switching. One option is to make it compulsory to protect shared resources with semaphores and forbid the use of simple Forbid() calls as to protect something. Setting semaphore should be done if possible with atomic instructions (check and alter in one instruction). Or make the second concurrent ObtainSemaphore call halt the second calling task and force if possible a task switch which ever gives better results. Semaphores could store the owning tasks task pointer instead of boolean to make things easier. As long as the CPU initiates the DMA transfers through the OS, and the OS ensures that the transferred memory is within the region accessible to the user initiating the transfer, everything is fine. The CPU is the conductor, and the CPU by that has the control of which DMA transfer is initiated and which is not. All you need to do is to write device drivers reasonable. Hint: CachePreDMA and CachePostDMA exist. All the Os has to do is to verify that the memory regions to be transferred are valid, and prohibit direct access to the DMA control registers from user space. None of these algorithms imply huge costs. The current OS design doesn't really allow virtual memory in first place, Forbid() is again the problem. [http://www.tbs-software.com/guide/index.php?guide=autodocs.doc%2Fmemory.doc&node=1 memory.library API] seem to low level. IMHO the programs should not know how the swapping is implemented. I would just go for one new memory flag MEMF_SWAPPABLE that indicates that a certain memory region or a whole memory pool won't be accessed during Forbid()/Permit() etc. It only solves part of the problem, it only implements virtual memory and not memory protection. For the latter you need to be able make certain memory inaccessible by other programs, some memory read-only for one task and read-write for other tasks, etc. And I think this should be done in the same Address Space in order to avoid you constantly need to swap between different address spaces. So to summarize, if there are programs using this API we may provide a wrapper layer to get them working but I am not convinced this API should be the reference API with whom to provide VM to AROS programs. === Variadic === variadic functions (i.e. functions with an arbitrary amount of arguments). <pre> #include <stdarg.h> [...] char * STDARGS GetKeyWord(int value, char *def, ...) { [...] va_list va; [...] va_start(va, def); [...] va_end (args); </pre> Please keep with using stdarg rather than having va casted to a LONG * type and varargs handled manually. Doing so, prevents tons of casting, where a simple va_arg can be used. So, string = *((char **) args) instead of string=va_arg(va, char *). <pre> #include <stdio.h> #include <stdarg.h> int printf (const char * format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stdout, format, args); va_end (args); fflush (stdout); return retval; } /* printf */ </pre> Couldn't find varargs.h or stdarg.h. and have no use for AROS_SLOWSTACKHOOKS or AROS_SLOWSTACKTAGS. GCC looks for stdarg.h in a different place: /bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/include/stdarg.h Here is a path for a "normal" header: bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/../../../../i386-aros/sys-include/aros/system.h The use of vararg.h isn't supported by newer gcc versions. If you want your code to run on architectures that pass part of variadic arguments in a number of registers you need to use AROS_SLOWSTACK macros. Otherwise your program will not work on powerpc and x86_64 ports. Of course the SLOWSTACK stuff is not needed in a function that can use va_list, va_start, va_arg and va_end. It's only needed if you want to write functions like DoMethod or similar. #include <stdarg.h> should be enough no matter if you do cross or native compiling. If it does not work, something is wrong and should be corrected. Stdarg.h is here, Development:lib/gcc/i386-aros/4.2.2/include/ ...which is part of the compiler's default include paths. In other words, #include <stdarg.h> works out of the box, indeed. (sorry, I should have just tried it before invoking "search" or "find"...) furthermore, myprintf() as shown above won't work, because... printf(format, args); ...is wrong - the second argument does not match printf() prototype, it expects a argument list, but args is of type va_list (obviously) - so one has to use... vfprintf(stdout, format, args); ...instead, just like in the original printf(), and add fflush(stdout). additionally, one could use... int myarg = va_arg(args, int); ...between va_start() and va_end() to access individual arguments, where each call to va_arg() returns an argument casted to the desired type (here: "int") from the list given (here: "args") and advances to the next one. wrapping up vfprintf() and modifying the format string now is a major speedup! no more backslash-n typing! this has been haunting me for years! On MOS and AmigaOS, the NewObject variadic function is kept in the static library. It takes most of the parameters on the stack - thanks to that the implementation of NewObject calls the NewObjectA function. Everything works perfect, and the typical MUI macros may be easily used. This, however, is not the case when you compile for AROS. Here, NewObject is a variadic macro, not a function. Thanks such approach we do not need any custom compiler in case of systems, where the arguments of variadic functions are passed partially through registers and partially through the stack (This is the case of PPC and x86_64, this is also the reason why both OS4 and MOS require specially patched compilers). Since NewObject is a macro, the gcc's preprocessor expects the list of macros arguments enclosed within parentheses. In MUI macros it is not the case. Imagine the following test code: <pre> #define foo(a,b) ((a)+(b)) int loosy_function(int a, int b) { return foo(a,b); } </pre> This will compile and work, but the following piece of code: <pre> #define foo(a,b) ((a)+(b)) #define END ) int loosy_function(int a, int b) { return foo(a,b END; } </pre> will fail with the error: unterminated argument list invoking macro "foo" There are two ways of fixing your issue. Either create your new objects outside this huge MUI constructions, and in there use just a pointer, or get rid of the "End" macro and exchange it with "TAG_DONE)". Badly written software is, for example, casting va_list to an APTR or even doing so as if va_list were a plain table of function arguments. Such code needs to be fixed because it has very few chances to work anywhere but on author's machine ;) The problem is nOt that they assume sizeof(APTR) == 4, its that they often do not use APTR, and use ULONG to store pointers exclusively. If the code used APTR/IPTR as it should - most of the "problems" wouldn't exist. It would also help if people would start using variadic arguments properly. Many coders do assumptions which shall never be made. Instead, they should consider using stdarg.h file and all the va_* functions :) ===ABI=== In the head of our SVN repository there are now only 3 directories: <pre> admin/ branches/ trunk/ </pre> We have added two extra dirs there: tags and imports As discussed when we branch ABI V0 and [[Aros/Developer/ABIv1|ABI V1]] it would also be good to introduce tags. Normally this is done in a directory in the repository called tags. Currently we don't have this directory there. (We do have branches/tags that is a hack I have done because one doesn't have write access in the top directory. I think this directory is not clean and should be removed). The second directory I would introduce is an imports directory for implementing vendor branches as discussed in the svn [http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html book]. Currently we use code from several different projects and that code is stored inside the AROS tree; we seem to have problems with keeping this code up to date and merge our changes upstream. Maintainers of up stream projects like the MUI classes etc. have complained about this (to put it lightly). Introducing these vendor branches would make it easier to see what changes we have made and make patches to be sent upstream and make it easier to import newer upstream versions of their code. Although can't "copy" the vendor branch into the main branch because it's already there, so start with a "merge". Yes, the first step to make the code already in the repository compatible with the vendor branches will be the most difficult. The best way to do it the following way: * first import the version on which the current AROS code is based into the vendor branch * then import the new version over it in the vendor branch * finally merge the difference between these two version in the AROS code present in the repository. For example, place NList directly under vendor and not in a subdirectory like "contrib/zune/classes". Actually after we have a stable [http://aros.sourceforge.net/documentation/developers/specifications/drafts/abiv1.php ABIv1 (2012 or later)]. We need to move away as much as possible from the contrib directory to some other repositories. The reasons are ... * The AROS repository should be for the core AROS code. * other contrib projects should be tried to be compiled for all Amiga-like OSes. * The release scheme for AROS and the other programs should not have to be aligned. * Binary versions should be provided on aros-archives and on aminet and/or OS4Depot to install them. (Some clever programs should maybe be provided to make the life of distribution developers easier). * avoid parallel forks of programs for AROS and the other amiga OSes. If there is really a need for a place for hosting AROS projects we may investigate setting up such a server but then including bug tracking, governance, maillist, etc. for each project separately. I personally think there are already enough places like sourceforge, google code, savannah, etc. where people can go for hosting such projects. ==Links== * http://amigadocs.hokstad.com * http://amigadocs.hokstad.com/doku.php?id=dev-links * http://www.liquido2.com/tutorial/index.html * Amiga(TM) OS4 has a [http://www.ast-workshops.co.uk/os4pg/ workshop] page and hope to produce a [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=31117&forum=42#549091 book] soon. [http://www.solie.ca/articles/map/map.html Brief Guide]. In the future...? *AROS 64bit - SMP, Vulkan with OpenGL compability layer *AROS 32bit - keep for historic reasons What would you like to see implemented in AROS? ABIv1 completed, SMP (x86_64), SendMsg()/GetMsg() to support memory protection between target and destination, in that order. Michal Schulz and Jason McMullan have been toying with the question "What are the minimal changes needed to the AmigaOS 3.1 API to support SMP"? The answer so far seems to be "few, but subtle". For example, SysBase->ThisTask is no longer meaningful on SMP, but FindTask(NULL) is. Disable() and Forbid() are shockingly bad on performance, but adding a spinlock semaphore mode to SignalSemaphore will help new code on SMP. Leveraging a 'common' OS with a lot of machine support (Linux, MacOS, Windows, QNX, etc.) is something that AROS has been doing for quite a long time, and it is the biggest strength of AROS. This AROS experience and programming model, in the same way the Google's Android layers on top of Linux, or MacOS X layers on top of the Darwin/BSD kernel, as a first step * The graphics + layers subsystem could be implemented as a shim on top of a OpenGL ES implementation (ie on any modern Linux system, or the RaspberryPI's hardware, MacOS X, etc). - This also allows every window to be on its own 3D surface with backing store, allowing Wanderer (or a Commodity) rearrange/zoom/animate app windows without having to send a pile or refreshes to them * Use OpenAL as the sound backend * AROSTCP would be a thin layer over the native OS's TCP/IP stack * dos.library, poseidon.library, and input.device would be slim shims over the native APIs * If we move to loading all libraries' into the application's task space, instead of a single global instance of the library, this will allow SMP and MMU more easily. - Yes, it will require a lot of work in the libraries to make this transition - Yes, I do think it will be worth it in the end. * A 'fat binary' install format (or, maybe LLVM bytecode) that can be 'flattend' to the target architecture on installation. So, what would this 'AROS of the future' look like? * AmigaOS 3.x style API, with certain 'fundamental changes' to message passing * Uses the underlying OS' device drivers, so more AROS developer effort can go to user-visible features and bugfixes * Allows AROS applications to run side-by-side with the OS's native apps And why would anyone want to program on such a system? * AROS applications would run on any system that has the AROS Framework installed * AROS applications are pixel-for-pixel the same on all platforms. * Develop with the knowledge that you are guaranteed OpenGL and OpenAL, and the rest of the AROS Framework an option for mmake to dump its dependency of metatarget in a graphviz[*] input file. This should make it possible to visualize the dependencies and hopefully be inspiration for cleaning up some mess, circular or unneeded dependencies and so on. AmigaOS gcc 9 [https://franke.ms/amiga/gcc.wiki Old versions] able to create binaries for AmigaOS and [https://eab.abime.net/showthread.php?t=93813 Upgrading gcc versions] ==References== {{reflist}} {{status|50%}} {{BookCat}} recmxye83f7187svnj5itir9flo9due Talk:Online OsiriX Documentation 1 16642 4656900 481504 2026-08-10T06:44:29Z ShakespeareFan00 46022 4656900 wikitext text/x-wiki {{center/top}} {|style="width: 95%;" |style="background-color: #cccccc; border: 2px solid black; padding: 6px;"| This is a '''Wikibooks talk page'''. When posting, please sign your comments with '''<nowiki>~~~~</nowiki>''' at the end. See [[Wikibooks:Talk page]] for more information. |} ---- {{center/end}} == --[[User:Mrich|Mrich]] 07:57, 8 Nov 2004 (UTC)7 Nov 2004 == Just added a new How To: Using OsiriX Plugins The Quick Manual doesn't mention anything about this, so I dug up some stuff from the OsiriX website and from the online discussion group. Also added text for the OsiriX Help Menu ----- == Renaming of most of the pages to conform to the naming conventions --[[User:Drendon|Drendon]] 22:00, 27 Jul 2005 (UTC) == I'm planning to move all the pages in all the languages during the weekend (July 30-31, 2005). The new pages will receive names such as Online_OsiriX_Documentation/3-D_reconstructions. I will also update all the links. Wikibooks has documentation regarding [[Wikibooks:Naming_conventions|the naming conventions]] and [[Wikibooks:How_to_rename_%28move%29_a_page|the procedure I'll follow]]. I will be using the [[Wikibooks:Naming_conventions#The_subpage_convention|subpage convention]]. I will use the Spanish version as a test bed, and follow with the English, French, German and finally the Japanese version. At this time, I will not change the content of any of the pages, only the links. While I'm at this, I'll also change the names of the main pages in English and French, to correctly spell OsiriX. If anyone has objections or suggestions, please attach them to this entry. :I'm working at the Wiki's Japanese site. In this English site, two renamed pages have lost redirections to their older named pages. That is in OsiriX HOW TOs, 19.Extract a 3D volume from a series and 20.Working with Curved-MPR, these older pages are [[en:Extract_a_3D_volume_are_from_a_series|19.Extract a 3D volume are from a series]] and [[en:Work_with_Curved-MPR|20.Work with Curved-MPR]]. These japanese pages are now linked to older english pages. May I help the change of links in the japanese pages after your renewal?. --[[User:Hfuji015|hfuji]] 05:20, 28 Jul 2005 (UTC) Thanks for the tip on the "lost pages". I will make sure that they are included again (and with correct titles). Regarding the Japanese pages, I will certainly appreciate your help very much. As my knowledge of Japanese is basically null, I was planning on prepending "OsiriX オンライン解説文書/" to all titles and fixing the links accordingly, without touching any other characters at all. Even then, chances of me screwing up are higher than with the other languages. Also, there is no way for me to identify currently misspelled titles. It's comforting to know that someone will double check my work. :-) [[User:Drendon|Drendon]] 00:13:41, 2005-07-29 (UTC) :All right. The usage and layouts are same between Wiki's English and Japanese site. If some troubles occur after updating, I will correct them. Take it easy. --[[User:Hfuji015|hfuji]] 13:00, 29 Jul 2005 (UTC) OK, I completed all the changes. Everything looks fine, but please check. I rescued the two English pages, along with two lost pages from the French version. [[User:Drendon|Drendon]] 00:27:47, 2005-08-01 (UTC) :I corrected the linked name of OisirX Developer Overview in the page of Online OsiriX Documentation . No other problems exist in the japanese pages. Great job, thanks! --[[User:Hfuji015|hfuji]] 12:08, 4 Aug 2005 (UTC) == Orphaned Wikibook module == The following is an orphaned Wikibook module that belongs somewhere in this Wikibook, although it may have to be renamed: *[[Forward a Crash Report to the Developers]] == Generating DSA Images == 13 Dec 2005: Added a HOW TO for generating DSA images. == No DICOM Conformance Statement = Osirix is not DICOM compliant == Many Osirix users request support from their modality vendors (GE, Siemens, Agfa, Philips and others) when they run into problems interfacing their modality to Osirix. However, All major and most minor vendors have policies prohibiting their staff from assisting when the PACS product does not have a published DICOM Conformance Statement (DCS). The reasons for this are twofold: 1) Part 2 of the DICOM Standard (Conformance) stipulates that one of the requisites for a product to claim DICOM compliance is the existance of a released DICOM Conformance Statement, so by definition any product without a DCS is not DICOMhttp://en.wikibooks.org/w/index.php?title=Talk:Online_OsiriX_Documentation&action=edit&oldid=322081 compliant. 2) The lack of complete documentation makes troubleshooting interoperability issues extremely difficult, if not impossible. The WikiBooks documentation is not an adequate substitute for a DCS. A plea to the Osirix development community: please help these vendors help your users - publish a DCS for Osirix as soon as possible. ''This is an [http://en.wikibooks.org/w/index.php?title=Talk:Online_OsiriX_Documentation&curid=16642&diff=322081&oldid=308017 unsigned comment] by [[Special:Contributions/161.88.255.140|161.88.255.140]] at 20:12, 29 December 2005.'' == Logo license == What is license of [[:Image:Logo.jpg]]? --[[User:Derbeth|Derbeth]] [[User talk:Derbeth|<sup>talk</sup>]] 09:55, 9 June 2006 (UTC) blqdcrygh1ltlapp90ttrtsyhhh0oxt Talk:A Neutral Look at Operating Systems 1 24263 4656952 4584122 2026-08-10T07:40:25Z ShakespeareFan00 46022 4656952 wikitext text/x-wiki * {{todolink|A Neutral Look at Operating Systems|todo-list of A Neutral Look at Operating Systems}} {|style="width: 95%;margin:0 auto;" |style="background-color: #cccccc; border: 2px solid black; padding: 6px;"| This is a '''Wikibooks talk page'''. When posting, please sign your comments with '''<nowiki>~~~~</nowiki>''' at the end. See [[Wikibooks:Talk page]] for more information. |} ---- *For the old history from ''A Neutral Look at Operating Systems/Proprietary OSs'' see [[/Archive 1]] *For the old history from ''Talk:A Neutral Look at Operating Systems/Proprietary OSs'' see [[/Archive 2]] *For the old history from ''A Neutral Look at Operating Systems/Open Source OSs'' see [[/Archive 3]] === Accuracy of the information provided === T''hanks for taking time to clarify this. The matter I raised was of technical accuracy and not politics. My comments are inline ..'' I would like to comment about the information on Linux operating system. I had created that section but it was edited and some of the information was edited. The edited form is inaccurate and full of mis-information. * There is no OS called Linux in this world, Linux is name of the kernel which is a small part of the OS (if you call the OS linux the you should call windows kernel.dll and OS X -> MAC-3, name of the respective kernels). Word linux for OS is a misnomer, It is a GNU OS with linux kernel. GNU OS also runs with BSD kernel and HURD kernel. I believe this needs to be clarified in the document. The OS is called GNU/Linux and not Linux. *:Being a Linux&reg; developer for a decade, I happen to know this is wrong. I was there; were you? ''I was in primary school then, but does that matter?'' It is traditional for the term "OS" and the name of any particular OS to refer both to the kernel and to the system in general. Sorry if you don't like that, but that's the way it is. When Linux&reg; was being formed, people like Theodore T'so and H. J. Lu went looking for userspace code. This is much like AT&amp;T and Sun did in grabbing BSD code, much like Richard Stallman planned to do, and of course the obvious thing that anybody would do. Some code, none of it being terribly special, came from the GNU project. Please note that a BSD C library existed, and the gcc compiler was not exactly a major undertaking. The code you see today exists primarily by the efforts of companies that consider themselves to be Linux&reg; vendors. The core Linux&reg; developers, to this very day, do not use the term "GNU/Linux". A good number of them seem to find it offensive. What you are seeing here is a political power grab. Richard Stallman has even changed some of the FSF software and licenses in an effort to force his views on the world. Even if the idea of cobbling together a full system from available parts was unique to Richard Stallman (hah!), he would still have no moral right to rename the efforts of others. The Hurd has swiped many parts (ext2 driver, hardware drivers, TCP/IP...) from Linux&reg;, yet Richard Stallman refuses to acknowledge this in the name of ''his'' OS. Apparantly he doesn't see the hypocracy. One final thing... the term "GNU/Linux" is a violation of the Linux&reg; trademark. You're not allowed to abuse a trademark like that. [[User:AlbertCahalan|AlbertCahalan]] 06:51, 26 Apr 2005 (UTC) ''I believe its your preference (and respect it), if you want to call the whole system Linux, but I would be nice if we clarify in the document the system known as Linux&reg has Linux kernel and other SW which comes from other sources. So that next time a Apache bug is published people do not think it as a Linux bug. May be GNU/Linux is violation of trademark (do not know legal issues).'' * Linux is Open Source SW -> Linux Kernel and most of the SW comes under GPL hence its a Free SW and not Open Source. There is a subtle difference bw Free and Open Source but subtituting one for other leads to mis information. (SW like Mozilla, covered by MPL, BSD etc are open source but not Free). *:When using the term "operating system" to mean the whole system, Mozilla is included. It comes on the same CD-ROM as everything else and it gets installed along with everything else. There are other examples if you now suddenly wish to use a restrictive definition of "operating system". So it is correct to use the term "Open Source". [[User:AlbertCahalan|AlbertCahalan]] 06:51, 26 Apr 2005 (UTC) ''again from purely technical accuracy point of view shouldn't we tell that stuff like Kernel, gcc gnome etc are Free SW while mozilla etc are open source, and pointg the readers to definitions and difference between two.'' These are the major concerns that I have, I hope you would correct it as soon as possible so that it becomes more factual. :Let's not perpetuate Orwellian newspeak, political correctness, and similar. Linux&reg; is an OS developed by Linus Torvalds and others. [[User:AlbertCahalan|AlbertCahalan]] 06:54, 26 Apr 2005 (UTC) ''Agreed may be these details are out of scope of the document but I believe they would add technical accuracy to it. Besides my intent has been to point out this rather than promoting any point of view.'' The notion of technical accuracy applied to political information like Free vs Open and Linux vs GNU / Linux is ludicrous. And who cares anyways? The subject of OSes is more than large enough to deserve several books devoted to it. And those books have more merit that stay away from politics. There are a thousand websites where users can educate themselves about the politics of FLOSS and Linux, why should all that crud be reproduced here? It boggles the mind. A book on the politics of OSes has about as much educational value as The Book of Crime. If you want to discuss the politics of OSes, move it to a more aptly named book, like The Politics Of Operating Systems, then at least people could stay away from the book since they'd know it had nothing of interest. Truth in advertising is a good idea! ==== "Red Hat GNU/Linux" vs. "Red Hat Linux" ==== Someone renamed all the Linux distributions: http://en.wikibooks.org/w/index.php?title=A_Neutral_Look_at_Operating_Systems&diff=0&oldid=137024 While I admire the [[:w:Be Bold]] technique of *doing* something rather than whining about it on the talk page, I reverted those changes. In my opinion, people that make stuff can call it whatever counter-intuitive, incorrect name they want. Does "mince meat pie" ([[Cookbook:Mincemeat Tart]]) actually have any meat in it ? No. But when a chef gives me tasty pastries, I let him call it whatever he wants to call it. [To go a little off topic, it's called [[Mincemeat]] because traditionally it was actually made with meat, and I don't just mean suet. Disgusting idea, I know] This thing may, technically, be a "GNU/Linux" distribution from "Red Hat, Inc.". But if the people that make it give it the name "Red Hat Linux", then that is its name. They are, of course, free to change that name to something technically more accurate. --[[User:DavidCary|DavidCary]] 07:33, 8 Jun 2005 (UTC) Worse than that: the whole "GNU/" thing is Stallman's personal and illegitimate effort to take credit for the efforts of others. He's had quite some success pushing the idea with people who don't know the history behind Linux, GNU, BSD, X11, TeX, and all the rest. [[User:AlbertCahalan|AlbertCahalan]] 23:05, 8 Jun 2005 (UTC) === To Do List === ''Hey... I thought I'd add a bit of direction to this before it really gets underway. Add a few ideas if you have them, and if they seem to be complete, remove them. Nothing worse than trying to start something that's already finished :P'' --[[User:Noogz|Noogz]] 07:11, 21 Mar 2005 (UTC) *Write information on various Linux distros. Debian is already here(''writing something about Debian-based systems? Ubuntu, etc.''), but I'd like to see the rest of the Big 6 (Red Hat, SuSE, Mandrake, Gentoo and Slackware) get some info; even add a few of the BSD's. If this does happen, seperate the BSDs from the Linucies under the "Open Source" heading. *Write info on differences between versions of Windows (e.g. Why one should upgrade from 98 to XP). *Explain (dis)advantages of both proprietary and FLOSS OSes (IN GENERAL). *Identify strengths/weaknesses of each system (e.g. OS X is good for Multimedia; Windows is good for Gaming). ::"Why one should upgrade from 98 to XP"<BR> ::Was _THAT_ an _UP_grade? Absolutely not. Nothing on that list should be in this book. Even proprietary vs FLOSS is a general software development issue and has nothing to do with operating systems. If you're going to write a book about operating systems and you're going to bother calling it "neutral", there shouldn't be any irrelevant political crap. === Sources === This is a list of good sources for the development of this book. * http://tunes.org/Review/OSes.html * http://cbbrowne.com/info/osnovel.html * http://web.archive.org/web/20030801130523/http://www.cs.arizona.edu/people/bridges/oses.html (August 2003 version of Bridges' Operating Systems Project Information) and all the other sources it links to * http://web.archive.org/web/20041118094010/http://www.daemonnews.org/200104/bsd_family.html (might be useful for a BSD page) * Wikipedia === Structure === The strucure of your book is somewhat wrong, as the for-profit Linux distributions are still GNU/Linux operating systems, and Mac Os X is still a BSD operationg system based on an open source core. I propose the following structure instead: #Windows-based OS ##MS WinXP/Win2003 #Unix-based OS ##Solaris ##BSD ###partly proprietary distributions ####Mac OS X ###free distributions ####FreeBSD ####NetBSD ####OpenBSD ##GNU/Linux ###partly proprietary distributions ####Red Hat and Fedora ####SUSE ###free distributions ####Debian ####Slackware ####Gentoo ####Mandrake :I see your point. I will soon make some changes that should resolve some of these issues. This kind of a book is kidna hard to categorize...--[[User:Hyperlink|Hyperlink]] 21:38, 22 Mar 2005 (UTC) :This sounds better since Red Hat is not an OS, but a distribution. [[User:24.56.22.70|24.56.22.70]] 03:13, 16 May 2005 (UTC) :I agree, when I first read the TOC, I immedatly thought that this needed to be done. How detailed should this be? Should this book only cover modern operating systems, or should we add in obsolete ones? (Windows 95 and Mac OS 9 come to mind) --[[User:Zeal17|Zeal17]] 15:44, 19 August 2005 (UTC) :As of now, the structure is still a mess. The [[Talk:A Neutral Look at Operating Systems/Archive 3|Open Source OSs]] module has an incomplete TOC. Someone editted the [[A Neutral Look at Operating Systems/Open Source OSs/Linux|Linux]] module, and now the TOC links in [[A Neutral Look at Operating Systems]] to Linux distros are broken. I suggest the flattening of the structure to remove the useless Open Source OSs page, and an update of the table of contents. [[User:Kernigh|Kernigh]] 03:01, 2 October 2005 (UTC) ::I fixed the TOC to become functional. There are no OSs missing in the main TOC, if I did this right, except for the Linux distros which are grouped into categories. I also gave a minimal fix to the [[Talk:A Neutral Look at Operating Systems/Archive 3|A Neutral Look at Operating Systems/Open Source OSs]] submodule. I like the unsigned structure presented above, but for now, I will not attempt to change the structure. [[User:Kernigh|Kernigh]] 21:55, 3 October 2005 (UTC) ---- The structure of the book isn't "somewhat wrong", it is grossly and egregiously wrong. The notion that "for profit" and "open source" (political monikers) have anything at all to do with the nature of operating systems is contemptible. Whoever made the current structure demonstrated cynicism equal to the most corrupt politicians in history. This isn't an advocacy page for Linux goddamnit! The list should be structured historically, with Unix under a single heading and including both Linux, BSD and Unix System V as subheadings. There should be absolutely no mentions of Redhat, Gentoo or other distributions. There should be a Unix-like category to have somewhere to put Plan 9. DOS falls into the category of CP/M derivatives and hence so do Windows and ReactOS. OS/2 should be put under CP/M-like. Mac should be in its own category, with OS X being shared between Mac and Unix. As for Kernigh's claim that "there are no OSes missing", it's obvious that he knows nothing about operating systems. There's no mention of EROS, Plan 9, or QNX. And that's just modern OSes. :Oops... what I meant by "no OSes missing" was that there would be no OSes in the book that are not linked from the TOC. It is obvious that there are some OSes missing from the book. --[[User:Kernigh|Kernigh]] 20:27, 24 October 2005 (UTC) :Welcome to Wikibooks! It would improve this book if you contributed sections for EROS, Plan 9, QNX, and other systems. Also, the split between "proprietary" and "open source" in this book should leave. It does not work because "proprietary" Mac OS X contains some open source code while "open source" Linux distributions sometimes have proprietary code. Meanwhile, the Unix-likes are forced to split into two group. The Unix-likes should be together. :I have restored the old TOC to [[A Neutral Look at Operating Systems]]. I suggest that someone restructures the TOC to be better. Once the new TOC is finished, remove the old TOC. --[[User:Kernigh|Kernigh]] 20:27, 24 October 2005 (UTC) ==== New Structure, Redirects, and Red Links ==== I have rearranged the pages, abolishing the separation between "Proprietary OSs" and "Open Source OSs". Here is the list of redirects which I created when I moved the pages. --[[User:Kernigh|Kernigh]] 04:51, 14 November 2005 (UTC) * [/Archive 1|[A Neutral Look at Operating Systems/Proprietary OSs]] * [[Talk:A Neutral Look at Operating Systems/Archive 3|A Neutral Look at Operating Systems/Open Source OSs]] * [[A Neutral Look at Operating Systems/Open Source OSs/Berkeley Software Distribution]] * [[A Neutral Look at Operating Systems/Open Source OSs/Linux]] * [[A Neutral Look at Operating Systems/Open Source OSs/FreeDOS]] * [[A Neutral Look at Operating Systems/Open Source OSs/ReactOS]] I left some operating systems in the TOC as red links with Wikipedia articles (including ones from "Proprietary OSs" that were only Wikipedia links). If you have a better idea, then edit the page. --[[User:Kernigh|Kernigh]] 04:51, 14 November 2005 (UTC) === Neutrality === A neutral look on Operating Systems should start with a definition of an operation system and the mechanisms that are used by them. This is independent of the Operating System. Next, each Operating System could be discussed in function of these mechanisms. For example: task scheduling. There are many kinds of the (round robin, multiple priority round robin, etc.). Of course, these 'general' pages could be constructed while developing the specific ones. ''The notion that an operating system can be characterized by a long list of functions and mechanisms is ludicrous. These things are utterly trivial and nobody would learn anything of any significance from such a book. Are you writing a book about operating systems or an outdated technical spec that nobody will use? OSes are characterized by the '''concepts''' and '''principles''' they use.'' ''So for example, there are functional OSes, there are object oriented OSes, there are OSes with capabilities, there are stateless OSes and stateful OSes, there are uniform OSes and non-uniform OSes.'' :In theory, but not in practice. EROS and KeyKOS are going nowhere. I see that you wish this to be a book about failed OS experiments. Back in the real world though, we do have more than just UNIX and Windows. Look at embedded systems. We have [[w:ThreadX|ThreadX]], [[w:VxWorks|VxWorks]], [[w:Palm OS|Palm OS]], [[w:Symbian OS|Symbian OS]], [[w:QNX|QNX]], [[w:Cisco IOS|Cisco IOS]], MC/OS, [[w:Virtual Real-Time Executive|VRTX]], and [[w:TRON_Project|TRON]]. TRON is the world's most popular OS! [[User:AlbertCahalan|AlbertCahalan]] 23:28, 24 October 2005 (UTC) ''The principle embodied by Plan 9 for example is that everything is a file(system). The previous sentence almost completely characterizes Plan 9, where a long dissertation of "mechanisms" would only serve to DISinform and UNeducate people.'' ''As for the definition of an OS, which one should that be? Would that be the one made in the early early 70s that no longer applies? Or do you want to go the radical route and provide an actually useful, practical and informative definition? On the, frankly non-existent, chance that you want to be useful and informative, an Operating System is:'' '''A set of principles and concepts and all of the software which obeys these principles.''' ''This definition explains why X Window is not part of Unix but 8 1/2 is part of Plan 9.'' :Well, it includes the web browser. I've read sworn testamony that attests to this. The practical answer is that the OS is whatever you get on that first set of CDs, no more and no less. [[User:AlbertCahalan|AlbertCahalan]] 23:28, 24 October 2005 (UTC) ::I do not expect that we will find a perfect abstraction to describe operating systems. It would help Wikibooks if the anonymous user/users who posted this would contribute to [[A Neutral Look at Operating Systems]] by editing the pages or adding new ones. ''This unsigned comment was posted by [[User:Kernigh|Kernigh]] 20:27, 24 October 2005'' === What Distinguishes Two Operating Systems === Someone restored the obsolete TOC and justified it by writing "It contains some operating systems that are not yet moved to the new version." This is ''factually'' wrong. We aren't interested in the various versions of BSD and they do not merit the appelation of different OSes. They're the same OS. So are all of the Linux distros. They're all the exact same OS just configured slightly differently. You might as well be talking about the differences between different patch versions to Windows 98. The only distribution of Linux that you'd have even a half chance of arguing is a different OS is RtLinux, and you wouldn't have that chance with anyone that's studied OSes (as opposed to someone that's studied Unix - and how typically provincial of Unixers to think that they're the center of the universe!). None of the Unixes (System V, Solaris, Linux, BSD, even AIX while we're at it) are appreciably different from each other, they're all exactly the same OS. The minimum distance between two branches of an OS tree that distinguishes different OSes is that between Unix and Plan 9. We should apply the same standards to OSes that we apply to biological species, whether they can interbreed. Since software for any Linux distribution is ''binary-compatible'' with any other Linux distribution, it is obviously the same species of OS. Since software for any Linux is source compatible with any other Unix, all Unixes are still the same OS. You only start getting a different OS when you look at HURD, QNX, VSTa, or Plan 9, all of which are Unix derivatives. And these are different OSes because software for one requires porting to run on another. There is vastly more difference between VisualWorks Smalltalk and Dolphin Smalltalk than there is between two clones of Unix, and all dialects of Smalltalk are still considered the same language. This is especially relevant since you can treat languages as operating systems and vice versa. === Proposal to Rename the Book === 24.200.176.92 recently proposed the renaming of this book to ''A Political Look at Mainstream End-User Operating Systems''. The proposal was made at [[User talk:Kernigh]]. I am currently opposing the rename because I think that it would limit contributions to this book. --[[User:Kernigh|Kernigh]] 03:44, 27 October 2005 (UTC) I don't think we should be so unhesitant to supply an audience for this rude user. The suggestion was not made in a serious and constructive manner. Turning the book into a list of failed OS experiments is no more useful than turning it into yet another Linux-versus-Windows, Linux-versus-BSD, or Linux-distribution-table. [[User:AlbertCahalan|AlbertCahalan]] 04:22, 27 October 2005 (UTC) ''I was rude to Kernigh. To you I was merely brutally honest. You have contributed nothing of any interest to this book and this book as it is currently construed, and as you wish to preserve it, has nothing of interest to contribute to the world. So it's funny how I was rude to the guy who didn't complain and not rude to the ham-fisted lout that responded with force.'' [[User:24.200.176.92|24.200.176.92]] 01:51, 28 October 2005 (UTC) This should be called A Look At Operating Systems for x86. You've left out the operating system that runs 99% of the world's financial transactions and most other commercial activity (z/OS). :I agree slightly. Wikibooks should already strive to be neutral. I believe the current title, "A Neutral Look at Operating Systems" is redundant. I agree with the anonymous person above except that to avoid confusion call it "An Overview of Operating Systems for PCs" or something like that. x86 architecture is not implied with all the OS's shown. However I believe this book seems to be mainly looking at personal computers. Correct me if I'm wrong- I haven't read the whole thing. --[[User:Evolutionist79|Evolutionist79]] ([[User talk:Evolutionist79|discuss]] • [[Special:Contributions/Evolutionist79|contribs]]) 20:37, 26 April 2011 (UTC) ::Other operating systems omitted include zVSE, TPF and zVM for mainframes, i(5) for the AS400 and OS/2. Perhaps their omission can be justified by the dirth of publications on the internal structure and logic of these widely used, proprietary operating systems.[[User:Ccalvin|Ccalvin]] ([[User talk:Ccalvin|discuss]] • [[Special:Contributions/Ccalvin|contribs]]) 12:31, 6 March 2013 (UTC) == merge == I suggest merging the [[Operating Systems]] Wikibook into [[A Neutral Look at Operating Systems]]. As far as I can tell, both books have the same topic and target audience. --[[User:DavidCary|DavidCary]] ([[User talk:DavidCary|discuss]] • [[Special:Contributions/DavidCary|contribs]]) 15:19, 19 July 2015 (UTC) 0ewjd95n1j3ioa6k7qjreh9relf9hcx FHSST Physics/Vectors/Components 0 24588 4656934 4645411 2026-08-10T07:19:35Z ShakespeareFan00 46022 4656934 wikitext text/x-wiki {{FHSST_Physics/Vectors}} = Components of Vectors = In the discussion of vector addition we saw that a number of vectors acting together can be combined to give a single vector (the resultant). In much the same way a single vector can be broken down into a number of vectors which when added give that original vector. These vectors which sum to the original are called '''components''' of the original vector. The process of breaking a vector into its components is called '''resolving into components'''. While summing a given set of vectors gives just one answer (the resultant), a single vector can be resolved into infinitely many sets of components. In the diagrams below the same black vector is resolved into different pairs of components. These components are shown in red. When added together the red vectors give the original black vector (i.e. the original vector is the resultant of its components). [[Image:fhsst_vectors47.png|241px|]] In practice it is most useful to resolve a vector into components which are at right angles to one another. ==Worked Example 11== Resolving a vector into components '''Question:''' A motorist undergoes a displacement of 250''km'' in a direction 30<sup>o</sup> north of east. Resolve this displacement into components in the directions north (<math>\overrightarrow{s}_N</math> and east (<math>\overrightarrow{s}_E</math>). '''Answer:''' Step 1 : Firstly let us draw a rough sketch of the original vector [[Image:fhsst_vectors48.png|286px|]] Step 2 : Next we resolve the displacement into its components north and east. Since these directions are orthogonal to one another, the components form a right-angled triangle with the original displacement as its hypotenuse: [[Image:fhsst_vectors49.png|289px|]] Notice how the two components acting together give the original vector as their resultant. Step 3 : Now we can use trigonometry to calculate the magnitudes of the components of the original displacement: <div style="text-align: center;"><math>\begin{matrix}s_N &=& 250\sin30^o\\&=& 125\ km\end{matrix}</math></div> and <div style="text-align: center;"><math>\begin{matrix}s_E &=& 250\cos30^o\\&=& 216.5\ km\end{matrix}</math></div> Remember ''s''<sub>N</sub> and ''s''<sub>E</sub> are the magnitudes of the components- they are in the directions north and east respectively. == Block on an incline == As a further example of components let us consider a block of mass ''m'' placed on a frictionless surface inclined at some angle <math>\theta</math> to the horizontal. The block will obviously slide down the incline, but what causes this motion? The forces acting on the block are its weight ''mg'' and the normal force ''N'' exerted by the surface on the object. These two forces are shown in the diagram below. [[Image:fhsst_vectors50.png|444px|]] Now the object's weight can be resolved into components parallel and perpendicular to the inclined surface. These components are shown as red arrows in the diagram above and are at right angles to each other. The components have been drawn acting from the same point. Applying the parallelogram method, the two components of the block's weight sum to the weight vector. To find the components in terms of the weight we can use trigonometry: {{center|1=<math>\begin{matrix}W_{\|} &=& mg\sin\theta\\W_{\perp} &=& mg\cos\theta\end{matrix}</math>}} The component of the weight perpendicular to the slope ''W''<sub><math>\perp</math></sub> exactly balances the normal force ''N'' exerted by the surface. The parallel component, however, <math>W_{\|}</math> is unbalanced and causes the block to slide down the slope. == Vector addition using components == In Figure 3.3 two vectors are added in a slightly different way to the methods discussed so far. It might look a little like we are making more work for ourselves, but in the long run things will be easier and we will be less likely to go wrong. In Figure 3.3 the primary vectors we are adding are represented by solid lines and are the same vectors as those added in Figure 3.2 using the less complicated looking method. {| |- | [[Image:fhsst_vectors51.png|363px|]] |+ '''Figure 3.2:''' An example of two vectors being added to give a resultant |} Each vector can be broken down into a component in the ''x''-direction and one in the ''y''-direction. These components are two vectors which when added give you the original vector as the resultant. Look at the red vector in figure 3.3. If you add up the two red dotted ones in the ''x''-direction and ''y''-direction you get the same vector. For all three vectors we have shown their respective components as dotted lines in the same colour. But if we look carefully, addition of the ''x'' components of the two original vectors gives the ''x'' component of the resultant. The same applies to the ''y'' components. So if we just added all the components together we would get the same answer! This is another important property of vectors. <hr style="background-color:red" /> ===Worked Example 12=== Adding Vectors Using Components '''Question:''' Lets work through the example shown in Figure 3.3 to determine the resultant. '''Answer:''' Step 1 : The first thing we must realise is that the order that we add the vectors does not matter. Therefore, we can work through the vectors to be added in any order. Step 2 : Let us start with the bottom vector. If you are told that this vector has a length of 5.385 units and an angle of 21.8<sup>o</sup> to the horizontal then we can find its components. We do this by using known trigonometric ratios. First we find the vertical or ''y'' component: <div style="text-align: center;"><math>\begin{matrix}\sin \theta & = & \frac{y}{\mbox{hypotenuse}} \\\sin (21.8) & = &\frac{y}{5.385}\\y & = & 5.385 \sin (21.8)\\y & = & 2\end{matrix}</math></div> [[Image:fhsst_vectors53.png|331px|]] Secondly we find the horizontal or ''x'' component: <div style="text-align: center;"><math>\begin{matrix}\cos \theta & = & \frac{x}{\mbox{hypotenuse}} \\\cos (21.8) & = &\frac{x}{5.385}\\x & = & 5.385 \cos (21.8)\\x & = & 5\end{matrix}</math></div> We now know the lengths of the sides of the triangle for which our vector is the hypotenuse. If you look at these sides we can assign them directions given by the dotted arrows. Then our original red vector is just the sum of the two dotted vectors (its components). When we try to find the final answer we can just add all the dotted vectors because they would add up to the two vectors we want to add. Step 3 : Now we move on to considering the second vector. The green vector has a length of 5 units and a direction of 53.13 degrees to the horizontal so we can find its components. <div style="text-align: center;"><math>\begin{matrix}\sin \theta & = & \frac{y}{\mbox{hypotenuse}} \\\sin (53.13) & = &\frac{y}{5}\\y & = & 5 \sin (53.13)\\y & = & 4\end{matrix}</math></div> [[Image:fhsst_vectors54.png|210px|]] <div style="text-align: center;"><math>\begin{matrix}\cos \theta & = & \frac{x}{\mbox{hypotenuse}} \\\cos (53.13) & = &\frac{x}{5}\\x & = & 5 \cos (53.13)\\x & = & 3\end{matrix}</math></div> Step 4 : Now we have all the components. If we add all the ''x''-components then we will have the ''x''-component of the resultant vector. Similarly if we add all the ''y''-components then we will have the ''y''-component of the resultant vector. The ''x''-components of the two vectors are 5 units right and then 3 units right. This gives us a final ''x''-component of 8 units right. The ''y''-components of the two vectors are 2 units up and then 4 units up. This gives us a final ''y''-component of 6 units up. Step 5 : Now that we have the components of the resultant, we can use Pythagoras' theorem to determine the length of the resultant. Let us call the length of the hypotenuse ''l'' and we can calculate its value <div style="text-align: center;"><math>\begin{matrix}l^2&=&(6)^2 + (8)^2\\l^2&=&100\\l&=&10.\\\end{matrix}</math></div> [[Image:fhsst_vectors55.png|512px|]] The resultant has length of 10 units so all we have to do is calculate its direction. We can specify the direction as the angle the vectors makes with a known direction. To do this you only need to visualize the vector as starting at the origin of a coordinate system. We have drawn this explicitly below and the angle we will calculate is labeled <math>\alpha</math>. [[Image:fhsst_vectors56.png|467px|]] Using our known trigonometric ratios we can calculate the value of <math>\alpha</math> <div style="text-align: center;"><math>\begin{matrix}\tan \alpha & = & \frac{6}{8} \\\alpha & = & \arctan \frac{6}{8}\\\alpha & = & 36.8^o.\end{matrix}</math></div> Step 6 : Our final answer is a resultant of 10 units at 36.8<sup>o</sup> to the positive ''x''-axis. bykksw3je3hvragogitidiv5tk9z47i FHSST Physics/Work and Energy/Work 0 24633 4656919 3233220 2026-08-10T06:58:09Z ShakespeareFan00 46022 4656919 wikitext text/x-wiki {{FHSST_Physics/Work and Energy}} = Work = To do work on an object, one must ''move'' the object by applying a ''force'' with at least a component in the direction of motion. The work done is given by <blockquote style="background: white; border: 1px solid black; padding: 1em;"> {| cellpadding="3" |- | align="CENTER" colspan="2" | <math>W= F_{\|} s</math> |- | align="RIGHT" | | align="LEFT" | |- | align="RIGHT" | ''W'' | align="LEFT" | : work done (''N''.''m'' or ''J'') |- | align="RIGHT" | ''F''<sub>|</sub> | align="LEFT" | : component of applied force parallel to motion (''N'') |- | align="RIGHT" | ''s'' | align="LEFT" | : displacement of the object (''m'') |} </blockquote> It is very important to note that for work to be done there must be a component of the applied force in the direction of motion. Forces perpendicular to the direction of motion do no work. As with all physical quantities, work must have units. As follows from the definition, work is measured in ''N''.''m''. The name given to this combination of S.I. units is the joule (''J''). <blockquote style="background: white; border: 1px solid black; padding: 1em;"> {| cellpadding="3" |- | align="CENTER" | '''Definition:''' |- | align="CENTER" | 1 joule is the work done when an object is moved 1''m'' under the application of a force of 1''N'' in the direction of motion. |} </blockquote> The work done by an object can be positive or negative. Since force (''F''<sub>|</sub>) and displacement (''s'') are both vectors, the result of the above equation depends on their directions: * If ''F''<sub>|</sub> acts in the same direction as the motion then positive work is being done. In this case the object on which the force is applied gains energy. * If the direction of motion and ''F''<sub>|</sub> are opposite, then negative work is being done. This means that energy is transferred in the opposite direction. For example, if you try to push a car uphill by applying a force up the slope and instead the car rolls down the hill you are doing negative work on the car. Alternatively, the car is doing positive work on you! ==Worked Example 38 Calculating Work Done I== '''Question:''' If you push a box 20''m'' forward by applying a force of 15''N'' in the forward direction, what is the work you have done on the box? '''Answer:''' Step 1 : Analyse the question to determine what information is provided * The force applied is ''F'' = 15''N''. * The distance moved is ''s'' = 20''m''. * The applied force and distance moved are in the same direction. Therefore, <math>F_{\|}=15N</math> These quantities are all in the correct units, so no unit conversions are required. Step 2 : Analyse the question to determine what is being asked * We are asked to find the work done on the box. We know from the definition that work done is ''W'' = ''F''<sub>|</sub>''s'' Step 3 : Next we substitute the values and calculate the work done {{center|1=<math>\begin{matrix}W&=&F_{\|} s\\&=& (15N)(20m)\\&=& 300\ N\cdot m\\&=& 300\ J\end{matrix}</math>}} Remember that the answer must be ''positive'' as the applied force and the motion are in the same direction (forwards). In this case, you (the pusher) lose energy, while the box gains energy. ==Worked Example 39 Calculating Work Done II== '''Question:''' What is the work done by you on a car, if you try to push the car up a hill by applying a force of 40''N'' directed up the slope, but it slides downhill 30''cm''? '''Answer:''' Step 1 : Analyse the question to determine what information is provided * The force applied is ''F'' = 40''N'' * The applied force and distance moved are in opposite directions. Therefore, if we take ''s'' = 0.3''m'', then <math>F_{\|}=-40N</math>. Step 2 : Analyse the question to determine what is being asked * We are asked to find the work done on the car by you. We know that work done is ''W'' = ''F''<sub>|</sub>''s'' Step 3 : Substitute the values and calculate the work done Again we have the applied force and the distance moved so we can proceed with calculating the work done: {{center|1=<math>\begin{matrix}W&=&F_{\|} s\\&=& (- 40N)(0.3m)\\&=& -12N\cdot m\\&=& -12\ J\end{matrix}</math>}} Note that the answer must be ''negative'' as the applied force and the motion are in opposite directions. In this case the car does work on the person trying to push. <hr style="background-color:red" /> What happens when the applied force and the motion are not parallel? If there is an angle between the direction of motion and the applied force then to determine the work done we have to calculate the ''component'' of the applied force ''parallel'' to the direction of motion. Note that this means a force perpendicular to the direction of motion can do no work. ==Worked Example 40 Calculating Work Done III== '''Question:''' Calculate the work done on a box, if it is pulled 5''m'' along the ground by applying a force of ''F'' = 10''N'' at an angle of 60<sup>o</sup> to the horizontal. '''Answer:''' Step 1 : Analyse the question to determine what information is provided * The force applied is ''F'' = 10''N'' * The distance moved is ''s'' = 5''m'' along the ground * The angle between the applied force and the motion is 60<sup>o</sup> These quantities are in the correct units so we do not need to perform any unit conversions. Step 2 : Analyse the question to determine what is being asked * We are asked to find the work done on the box. Step 3 : Calculate the component of the applied force in the direction of motion Since the force and the motion are not in the same direction, we must first calculate the component of the force in the direction of the motion. [[Image:Fhsst_wrkeng1.png|71px|]] From the force diagram we see that the component of the applied force parallel to the ground is {{center|1=<math>\begin{matrix}F_{||}&=&F\cdot \cos(60^o)\\&=& 10N\cdot \cos(60^o)\\&=& 5\ N\end{matrix}</math>}} Step 4 : Substitute and calculate the work done Now we can calculate the work done on the box: {{center|1=<math>\begin{matrix}W&=&F_{\|} s\\&=& (5N)(5m) \\&=& 25\ J\end{matrix}</math>}} Note that the answer is positive as the component of the force ''F''<sub>|</sub> is in the same direction as the motion. <hr style="background-color:red" /> We will now discuss energy in greater detail. r2bpjjdd9x2lm5od55p1eatvdisblt6 FHSST Physics/Electrostatics/Electrostatic Force 0 24701 4656918 4651933 2026-08-10T06:57:02Z ShakespeareFan00 46022 4656918 wikitext text/x-wiki {{FHSST_Physics/Electrostatics}} = Electrostatic Force = As we now know, charged objects exert a force on one another. If the charges are at rest then this force between them is known as the electrostatic force. An interesting characteristic of the electrostatic force is that it can be either attractive or repulsive, unlike the gravitational force which is only ever attractive. The relative charges on the two objects is what determines whether the force between the charged objects is attractive or repulsive. If the objects have opposite charges they attract each other, while if their charges are similar they repel each other (e.g. two metal balls which are negatively charged will repel each other, while a positively charged ball and negatively charged ball will attract one another). It is this force that determines the arrangement of charge on the surface of conductors. When we place a charge on a spherical conductor the repulsive forces between the individual like charges cause them to spread uniformly over the surface of the sphere. However, for conductors with non-regular shape there is a concentration of charge near the point or points of the object. [[Image:Fhsst_electrost3.png|236px|]] This collection of charge can actually allow charge to leak off the conductor if the point is sharp enough. It is for this reason that buildings often have a lightning rod on the roof to remove any charge the building has collected. This minimises the possibility of the building being struck by lightning. This ''spreading out'' of charge would not occur if we were to place the charge on an insulator since charge cannot move in insulators. == Coulomb's Law == The behaviour of the electrostatic force was studied in detail by Charles Coulomb around 1784. Through his observations he was able to show that the electrostatic force between any point two point charges is directly proportional to their magnitude and inversely proportional to the square of the distance between the charges. Thus if F is the force, Q1 and Q2 are the charges and R is their distance apart. then the law is summarized as ''' F=(Q1Q2)/(R^2)''' where ''Q''<sub>1</sub> is the charge on the one point-like object, ''Q''<sub>2</sub> is the charge on the second, and ''r'' is the distance between the two. Remember her F is the mutual force that acts on both the charges exerted by one another as in Newtons third law of motion. The magnitude of the electrostatic force between two point-like charges is given by ''Coulomb's Law'': {| |- |<math>\begin{matrix}F = k \frac{Q_1Q_2}{r^2}\end{matrix}</math> |- | class="eqno" align="RIGHT" | (12.1) |} and the proportionality constant ''k'' is called the ''electrostatic constant''. We will use the value <div style="text-align: center;"><math>\begin{matrix}k=8.99\times10^9 {\rm N\cdot m^2/C^2.}\end{matrix}</math></div> The value of the electrostatic constant is known to a very high precision (9 decimal places). Not many physical constants are known to as high a degree of accuracy as ''k''. <blockquote style="background: white; border: 1px solid black; padding: 1em;"> Aside: Notice how similar Coulomb's Law is to the form of Newton's Universal Law of Gravitation between two point-like particles: <math>\begin{matrix}F_G=G\frac{m_1m_2}{r^2},\end{matrix}</math> where ''m''<sub>1</sub> and ''m''<sub>2</sub> are the masses of the two particles, ''r'' is the distance between them, and ''G'' is the gravitational constant. It is very interesting that Coulomb's Law has been shown to be correct no matter how small the distance, nor how large the charge: for example it still applies inside the atom (over distances smaller than <math>10^{-10}\rm {m}</math> </blockquote> Let's run through a simple example of electrostatic forces. <hr style="background-color:red" /> === Worked Example 59 Coulomb's Law I=== '''Question:''' Two point-like charges carrying charges of +3&times;10<sup>&minus;9</sup> C and &minus;5&times;10<sup>&minus;9</sup> C are 2 m apart. Determine the magnitude of the force between them and state whether it is attractive or repulsive. '''Answer:''' Step 1 : First draw the situation: [[Image:Fhsst_electrost4.png|329px|]] Step 2 : Is everything in the correct units? Yes, charges are in coulombs [C] and distances in meters [m]. Step 3 : Determine the magnitude of the force: Using Coulomb's Law we have <div style="text-align: center;"><math>\begin{matrix}F &=& k\frac{Q_1Q_2}{r^2}\\&=& (8.99\times10^{9} {\rm N\cdot m^2/C^2}) \frac{(+3\times10^{-9}{\rm C})(-5\times 10^{-9}{\rm C})}{(2 {\rm m})^2}\\ &=&-\frac{(8.99)(3)(5)}{4}(10^{-9})\frac{(N\cdot m^2/C^2\!\!\!/)(C^2)}{m^2}\\&=& -3.37\times10^{-8} \rm N\end{matrix}</math></div> Thus the ''magnitude'' of the force is <math>3.37\times10^{-8}\rm {N}</math>. The minus sign is a result of the two point charges having opposite signs. Step 4 : Is the force attractive or repulsive? Well, since the two charges are oppositely charged, the force is ''attractive''. We can also conclude this from the fact that Coulomb's Law gives a negative value for the force. <hr style="background-color:red" /> Next is another example that demonstrates the difference in magnitude between the gravitational force and the electrostatic force. <hr style="background-color:red" /> ===Worked Example 60 Coulomb's Law II=== '''Question:''' Determine the electrostatic force and gravitational force between two electrons 1Aring apart (i.e. the forces felt inside an atom) '''Answer:''' Å Step 1 : First draw the situation: [[Image:Fhsst_electrost5.png|336px|]] '''Riaan Note: this image is faulty, recreate''' Step 2 : Get everything into S.I. units: The charge on an electron is <math>-1.60\times10^{-19}\rm C</math>, the mass of an electron is <math>9.11\times10^{-31}\rm kg</math>, and 1 &Aring; = <math>1\times10^{-10}\rm m</math> Step 3 : Calculate the electrostatic force using Coulomb's Law: <div style="text-align: center;"><math>\begin{matrix}F_E&=&k\frac{Q_1 Q_2}{r^2}=k\frac{e\cdot e}{1\AA^2}\\&=&(8.99\times10^{9}\rm N\cdot m^2/C^2)\frac{(-1.60\times10^{-19}{\rm C})(-1.60\times10^{-19}\rm C)}{(10^{-10}\rm m)^2}\\&=&2.30\times10^{-8}\rm N\end{matrix}</math></div> Hence the ''magnitude'' of the electrostatic force between the electrons is <math>2.30\times10^{-8}\rm N</math>. (Note that the electrons carry like charge and from this we know the force must be repulsive. Another way to see this is that the force is positive and thus repulsive.) Step 4 : Calculate the gravitational force: <div style="text-align: center;"><math>\begin{matrix}F_E&=&G\frac{m_1m_2}{r^2}=G\frac{m_e\cdot m_e}{(1\AA)^2}\\&=&(6.67\times10^{-11}{\rm N\cdot m^2/kg^2})\frac{(9.11\times10^{-31}{\rm C})(9.11\times10^{-31}{\rm kg})}{(10^{-10}{\rm m})^2}\\&=&5.54\times10^{-51}{\rm N}\end{matrix}</math></div> The magnitude of the gravitational force between the electrons is <math>5.54\times10^{-51}\rm N</math> <hr style="background-color:red" /> Notice that the gravitational force between the electrons is much smaller than the electrostatic force. For this reason, the gravitational force is usually neglected when determining the force between two charged objects. We mentioned above that charge placed on a spherical conductor spreads evenly along the surface. As a result, if we are far enough from the charged sphere, electrostatically, it behaves as a point-like charge. Thus we can treat spherical conductors (e.g. metallic balls) as point-like charges, with all the charge acting at the centre. <hr style="background-color:red" /> ===Worked Example 61 Coulomb's Law: Challenge Question=== '''Question:''' In the picture below, X is a small negatively charged sphere with a mass of 10&nbsp;kg. It is suspended from the roof by an insulating rope which makes an angle of 60<sup>o</sup> with the roof. Y is a small positively charged sphere which has the same magnitude of charge as X. Y is fixed to the wall by means of an insulating bracket. Assuming the system is in equilibrium, what is the magnitude of the charge on X? '''Answer:''' How are we going to determine the charge on X? Well, if we know the force between X and Y we can use Coulomb's Law to determine their charges as we know the distance between them. So, firstly, we need to determine the magnitude of the electrostatic force between X and Y. Step 1 : Is everything in S.I. units? The distance between X and Y is <math>50{\rm cm}=0.5\rm m</math>, and the mass of X is 10&nbsp;kg. Step 2 : Draw the forces on X (with directions) and label. Step 3 : Determine the magnitude of the electrostatic force (''F''<sub>E</sub>). Since nothing is moving (system is in equilibrium) the vertical and horizontal components of the forces must cancel. Thus <div style="text-align: center;"><math>\begin{matrix}F_E=T\sin(60^o) \qquad\qquad F_g=T\sin(60^o).\end{matrix}</math></div> The only force we know is the gravitational force ''F''<sub>g</sub> = ''mg''. Now we can calculate the magnitude of ''T'' from above: <div style="text-align: center;"><math>\begin{matrix}T=\frac{F_g}{\sin(60^o)}=\frac{(10{\rm kg})(10\rm m/s^2)}{\sin(60^o)}=1155{\rm N}.\end{matrix}</math></div> Which means that ''F''<sub>E</sub> is: <div style="text-align: center;"><math>\begin{matrix}F_E=T\cos(60^o)=1154\rm N\cdot \cos(60^o)=577.5\rm N\end{matrix}</math></div> Step 4 : Now that we know the magnitude of the electrostatic force between X and Y, we can calculate their charges using Coulomb's Law. Don't forget that the magnitudes of the charges on X and Y are the same: <math>|Q_{\rm X}|=|Q_{\rm Y}|</math>. The magnitude of the electrostatic force is {{center|1=<math>\begin{matrix}F_E &=& k\frac{|Q_{\rm X}Q_{\rm Y}|}{r^2}= k\frac{Q_{\rm X}^2}{r^2}\\ |Q_{\rm X}|&=&\sqrt{\frac{F_E r^2}{k}}\\&=&\sqrt{\frac{(577.5{\rm N})(0.5{\rm m})^2}{8.99\times10^{9}{\rm N\cdot m^2/C^2}}}\\&=&1.27\times10^{-4}{\rm C}\end{matrix}</math>}} Thus the charge on X is <math>-1.27\times10^{-4}{\rm C}</math> ntrocvmapwy1y3chmo8n6ff21n0rf24 Engineering Acoustics/Mechanical Resistance 0 39799 4656937 4647152 2026-08-10T07:22:12Z ShakespeareFan00 46022 4656937 wikitext text/x-wiki {{Engineering Acoustics}} == Mechanical Resistance == For most systems, a simple oscillator is not a very accurate model. While a simple oscillator involves a continuous transfer of energy between kinetic and potential form, with the sum of the two remaining constant, real systems involve a loss, or dissipation, of some of this energy, which is never recovered into kinetic nor potential energy. The mechanisms that cause this dissipation are varied and depend on many factors. Some of these mechanisms include drag on bodies moving through the air, thermal losses, and friction, but there are many others. Often, these mechanisms are either difficult or impossible to model, and most are non-linear. However, a simple, linear model that attempts to account for all of these losses in a system has been developed. == Dashpots == The most common way of representing mechanical resistance in a damped system is through the use of a dashpot. A dashpot acts like a shock absorber in a car. It produces resistance to the system's motion that is proportional to the system's velocity. The faster the motion of the system, the more mechanical resistance is produced. As seen in the graph above, a linear relationship is assumed between the force of the dashpot and the velocity at which it is moving. The constant that relates these two quantities is <math>R_M</math>, the mechanical resistance of the dashpot. This relationship, known as the viscous damping law, can be written as: <div style="text-align: center;"><math> F = R\cdot u </math> </div> Also note that the force produced by the dashpot is always in phase with the velocity. The power dissipated by the dashpot can be derived by looking at the work done as the dashpot resists the motion of the system: {{center|1=<math> P_D = \frac{1}{2}\Re\left[\hat{F}\cdot\hat{u^*}\right]= \frac{|\hat{F}|^{2}}{2R_{M}}</math>}} == Modeling the Damped Oscillator == In order to incorporate the mechanical resistance (or damping) into the forced oscillator model, a dashpot is placed next to the spring. It is connected to the mass (<math>M_M</math>) on one end and attached to the ground on the other end. A new equation describing the forces must be developed: <div style="text-align: center;"><math>F - S_Mx - R_Mu = M_Ma \rightarrow F = S_Mx + R_M\dot{x} + M_M\ddot{x}</math></div> It's phasor form is given by the following: <div style="text-align: center;"><math>\hat{F}e^{j\omega t} = \hat{x}e^{j\omega t}\left[S_M + j\omega R_M + \left(-\omega ^2\right)M_M\right]</math></div> == Mechanical Impedance for Damped Oscillator == Previously, the impedance for a simple oscillator was defined as <math>\mathbf{\frac{F}{u}}</math>. Using the above equations, the impedance of a damped oscillator can be calculated: <div style="text-align: center;"><math>\hat{Z_M} = \frac{\hat{F}}{\hat{u}} = R_M + j\left(\omega M_M - \frac{S_M}{\omega}\right) = |\hat{Z_M}|e^{j\Phi_Z}</math></div> For very low frequencies, the spring term dominates because of the <math>\frac{1}{\omega}</math> relationship. Thus, the phase of the impedance approaches <math>\frac{-\pi}{2}</math> for very low frequencies. This phase causes the velocity to "lag" the force for low frequencies. As the frequency increases, the phase difference increases toward zero. At resonance, the imaginary part of the impedance vanishes, and the phase is zero. The impedance is purely resistive at this point. For very high frequencies, the mass term dominates. Thus, the phase of the impedance approaches <math>\frac{\pi}{2}</math> and the velocity "leads" the force for high frequencies. <br>Based on the previous equations for dissipated power, we can see that the real part of the impedance is indeed <math>R_M</math>. The real part of the impedance can also be defined as the cosine of the phase times its magnitude. Thus, the following equations for the power can be obtained. {{center|1=<math>W_R = \frac{1}{2}\Re\left[\hat{F}\hat{u^{*}}\right] = \frac{1}{2}R_M|\hat{u}|^2 = \frac{1}{2}\frac{|\hat{F}|^2}{|\hat{Z_M}|^2}R_M = \frac{1}{2}\frac{|\hat{F}|^2}{|\hat{Z_M}|}cos(\Phi_Z)</math>}} [http://en.wikibooks.org/wiki/Engineering_Acoustics Back to Main page] 9y6x0picgq62ohniefeatu9blb3o5k6 User:Kernigh/chmod 2 44440 4656985 325784 2026-08-10T08:25:25Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656985 wikitext text/x-wiki <!-- begin blue warning box --> {{center/top}} {|style="width: 95%;" |style="background-color: #99ffff; border: 5px solid black;"| This is an '''example layout''' page belonging to [[User:Kernigh]]. This page is intended to demonstrate what might happen if [[Guide to UNIX commands]] was modified so that each page has its own command. I am currently using this page to test [[Template:Guide to UNIX:clink]]. --[[User:Kernigh|Kernigh]] 01:09, 23 October 2005 (UTC) |} ---- {{center/end}} <!-- end blue warning box --> <!-- begin potential [[Template:Guide to UNIX/Command Nav]] --> {|style="width: 100%;" |style="width: 33%; text-align: left;"|<-- <span style="color: blue;">chown</span> |style="width: 34%; text-align: center;"|''chmod'' |style="width: 33%; text-align: right;"|<span style="color: blue;">find</span> --> |} {{Guide to UNIX:clink|chmod|1|s=changes file mode|bsds=yes|lq=yes|coreutils=81}} '''chmod''' changes permissions of files. One must be familiar with Unix file permissions to understand this command. There are three permissions: read ("r"), write ("w"), and execute ("x"). There are three sets of permissions: for the owning user of the file ("u"), for the group of the file ("g"), and for other users ("o"). For a file, "execute" means to run it as a program. For a directory, "execute" permission is required to use anything in that directory tree, so doing anything with "/usr/share/doc/README" requires execute permissions on all of "/", "/usr", "/usr/share", and "/usr/share/doc". If you are interested in more advanced topics like the set-uid, set-gid, sticky bits and octal numbers, try reading the FreeBSD manual page at http://www.FreeBSD.org/cgi/man.cgi (type "chmod" in the form and submit). ===Options=== -R recursively change or set permissions on an entire directory tree ===Examples=== <!-- pretemplate version of {{Guide to UNIX:clink}} --> {|style="float: right; width: 350px; border-collapse: collapse;" |style="border: 5px solid white; background-color: #99ff99; text-align: center;"| <big>'''chmod'''</big><br />''changes file mode (pretemplate version)'' |- |style="border: 5px solid white; background-color: #99ff99;"| <!-- a template would generate these urls from the argument "chmod" --> *[http://www.FreeBSD.org/cgi/man.cgi?query=chmod FreeBSD manual page] *[http://netbsd.gw.com/cgi-bin/man-cgi?chmod NetBSD manual page] *[http://www.openbsd.org/cgi-bin/man.cgi?query=chmod OpenBSD manual page] |- |style="border: 5px solid white; background-color: #99ff99;"| <!-- a template would be unable to generate this url --> *[http://www.gnu.org/software/coreutils/manual/html_chapter/coreutils_13.html#SEC81 chmod] at the [http://www.gnu.org/software/coreutils/manual/coreutils.html GNU core-utils manual] |- |style="border: 5px solid white; background-color: #99ff99;"| *[[lqwiki:chmod|chmod]] at the [[lqwiki:Main Page|Linux questions wiki]] |} <!-- end potential template --> We wrote a shell script called "configure". We make it executable ("+x") and then execute it as a command. Usually, "+x" is the same as "u+x" or "ug+x", depending on the status of the ''file mode creation mask''. > chmod +x configure > ./configure Only allow the owning user to run "configure": > chmod u+x configure Deny the group and other users from running "configure": > chmod go-x configure For all users except the owner ("gw"), disable all access to "~/mail" and "~/private" ("-rwx"). This way, the contents are private and only their owner (or root) can access them. > chmod go-rwx ~/mail ~/private Note that in the previous example, "-R" was not specified. By disabling the execute bit ("-x"), all files inside ~/{mail,private} are protected even if their group and other read bits are enabled. Thus, simply moving some file from inside ~/{mail,private} to some public place like "/tmp" can make the files available to other users again. The "root" user wants to set up "/usr/local/src" so that all users in group "wsrc" (including "tux") can create files there. Root will continue to own the directory. This is done by changing the group of "/usr/local/src" to "wsrc" and then by granting to the group ("g") the read, write, and execute permissions ("+rwx"). > chown :wsrc /usr/local/src > chmod g+rwx /usr/local/src All Unix-like systems should allow all users to create temporary files in "/tmp" and "/var/tmp". Thus root gives everyone ("a", short for "ugo") all permissions ("+rwx") on the files. > chmod a+rwx /tmp /var/tmp The problem with the above is that because all users have write access to /tmp and /var/tmp, every user can delete and rename files, even ones not created by them. For example, "tux" could create "/tmp/socket.3908" and another user could delete it or rename it to "/tmp/garbage", thus annoying Tux. To keep temporary files safe, we use the ''sticky bit'' called "t". This limits the deletion and renaming of files in /tmp to root, the owner of /tmp (also root), and the owner of the file (Tux for "/tmp/socket.3908"). It does the same for /var/tmp. So what we should do is: > chmod a+rwxt /tmp /var/tmp <div style="border: solid 1px black; padding: 1em;"> Category <span style="color: blue;">Guide to UNIX/Commands/File system utilities</span> </div> idpmh1wndjv4v4c1n3qut590rhq6c40 User:Kernigh/pound 2 45754 4656986 4622023 2026-08-10T08:25:45Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656986 wikitext text/x-wiki {{center/top}} {|style="width: 95%;" |style="background-color: #cccccc; border: 2px solid black; padding: 6px;"| This page is part of a comment by Kernigh on [[Talk:Wikijunior Solar System/About gravity, mass, and weight]]. |} ---- {{center/end}} Over at [[Talk:Guide to UNIX/Linux]], from February 2005 to July 2005, there was a debate between the names "Linux" and "GNU/Linux", which describe a computer "kernel" or "operating system". Like "weight", "operating system" is ambiguous; like "pound", "Linux" might refer to two different but related things. There is also a Wikipedia article, [[w:GNU/Linux naming controversy]], about that dispute. *'''Pound is force''': Now let me bring your attention to [[w:slug (mass)]]. Applying 1 pound of force to 1 slug accelerates it at 1 foot/s/s; this is similar to how applying 1 newton of force to 1 kilogram accelerates it at 1 meter/s/s. Thus in some contexts, "pound" is force and "slug" is mass. The book ''Physics for Scientists and Engineers, 5th edition, Volume 1'' ({{#isbn:0-7167-0809-4}}) describes the pound: ''The '''pound''' was originally defined as the weight of a particular standard object at a particular location. It is now defined as 4.448222 N.'' *'''Pound is mass''': In contrast, for the purposes of commerce in the United States, the definition written into the [http://www.gpoaccess.gov/uscode/ United States Code] is '''exactly''' 0.45359237 kilograms to 1 pound. (Search the code for "pound kilogram" and look at "15USC Sec. 205. Authorized tables".) In fact, article 1, section 8, of the [[United States Government/The Annotated Constitution of the United States|US Constitution]] gives to Congress (the federal legislature) the authority to define measurement units in the United States. *'''One-pound policy''': For the two definitions to be consistent, the acceleration due to gravity must be 4.448222/0.45359237 m/s/s which is about 9.80663 m/s/s, or almost the same as the "standard value" of 9.80665 m/s/s found at [[w:Gravity]]. The two definitions are not consistent because this Wikijunior module attempts to give weights on the moon and planets where the acceleration is much different from 9.8. Thus, one possible approach is to debate whether "pound" refers to mass or weight and adopt a one-pound policy which requires that a pound only be mass, or only be weight, but not both. This is as if all references to "Linux" in the module must be changed to "GNU/Linux", or all "GNU/Linux" to "Linux". With this approach, there is one correct kind of "pound" and one incorrect kind. The problem with that version of the one-pound policy is that it requires the determination that one kind of pound is incorrect. I disagree that one kind of pound is incorrect. A pound is a unit of mass sometimes and a unit of force sometimes, just as a certain operating system is Linux sometimes and GNU/Linux sometimes. Thus I support this version of the one-pound policy: '''There is only one pound, but it has two definitions.''' I have wasted five paragraphs to make a trivial assertion about a naming problem. I oppose the idea that references to pound as mass, or pound as weight, must be corrected. See [[User:Kernigh/pound]] for details. --[[User:Kernigh|Kernigh]] 03:28, 24 October 2005 (UTC) 52793f8t7jkdw6ag2b4om5tztyvxyhx Engineering Acoustics/Bass Reflex Enclosure Design 0 46602 4656941 4644191 2026-08-10T07:24:21Z ShakespeareFan00 46022 4656941 wikitext text/x-wiki {{Engineering Acoustics}} ==Introduction== <div style="float:right;margin:0 0 1em 1em;">[[Image:Bassreflex-Gehäuse_(enclosure).png]]</div> Bass-reflex enclosures improve the low-frequency response of loudspeaker systems. Bass-reflex enclosures are also called "vented-box design" or "ported-cabinet design". A bass-reflex enclosure includes a vent or port between the cabinet and the ambient environment. This type of design, as one may observe by looking at contemporary loudspeaker products, is still widely used today. Although the construction of bass-reflex enclosures is fairly simple, their design is not simple, and requires proper tuning. This reference focuses on the technical details of bass-reflex design. General loudspeaker information can be found [http://en.wikipedia.org/wiki/Loudspeaker here]. ==Effects of the Port on the Enclosure Response== Before discussing the bass-reflex enclosure, it is important to be familiar with the simpler sealed enclosure system performance. As the name suggests, the sealed enclosure system attaches the loudspeaker to a sealed enclosure (except for a small air leak included to equalize the ambient pressure inside). Ideally, the enclosure would act as an acoustical compliance element, as the air inside the enclosure is compressed and rarified. Often, however, an acoustic material is added inside the box to reduce standing waves, dissipate heat, and other reasons. This adds a resistive element to the acoustical lumped-element model. A non-ideal model of the effect of the enclosure actually adds an acoustical mass element to complete a series lumped-element circuit given in Figure 1. For more on sealed enclosure design, see the [[Engineering Acoustics/Sealed Box Subwoofer Design|Sealed Box Subwoofer Design]] page. <div style="text-align: center;"> ''Figure 1. Sealed enclosure acoustic circuit.'' </div> In the case of a bass-reflex enclosure, a port is added to the construction. Typically, the port is cylindrical and is flanged on the end pointing outside the enclosure. In a bass-reflex enclosure, the amount of acoustic material used is usually much less than in the sealed enclosure case, often none at all. This allows air to flow freely through the port. Instead, the larger losses come from the air leakage in the enclosure. With this setup, a lumped-element acoustical circuit has the following form. <div style="text-align: center;"> [[Image:Vented_box_ckt.gif]]<br> ''Figure 2. Bass-reflex enclosure acoustic circuit.'' </div> In this figure, <math>Z_{RAD}</math> represents the radiation impedance of the outside environment on the loudspeaker diaphragm. The loading on the rear of the diaphragm has changed when compared to the sealed enclosure case. If one visualizes the movement of air within the enclosure, some of the air is compressed and rarified by the compliance of the enclosure, some leaks out of the enclosure, and some flows out of the port. This explains the parallel combination of <math>M_{AP}</math>, <math>C_{AB}</math>, and <math>R_{AL}</math>. A truly realistic model would incorporate a radiation impedance of the port in series with <math>M_{AP}</math>, but for now it is ignored. Finally, <math>M_{AB}</math>, the acoustical mass of the enclosure, is included as discussed in the sealed enclosure case. The formulas which calculate the enclosure parameters are listed in [[Engineering Acoustics/Bass Reflex Enclosure Design#Appendix B: Enclosure Parameter Formulas|Appendix B]]. It is important to note the parallel combination of <math>M_{AP}</math> and <math>C_{AB}</math>. This forms a Helmholtz resonator ([[Engineering Acoustics/Acoustics of pipes, enclosures, and cavities at low frequency#Examples of Electro-Acoustical Analogies|click here for more information]]). Physically, the port functions as the “neck” of the resonator and the enclosure functions as the “cavity.” In this case, the resonator is driven from the piston directly on the cavity instead of the typical Helmholtz case where it is driven at the “neck.” However, the same resonant behavior still occurs at the enclosure resonance frequency, <math>f_{B}</math>. At this frequency, the impedance seen by the loudspeaker diaphragm is large (see Figure 3 below). Thus, the load on the loudspeaker reduces the velocity flowing through its mechanical parameters, causing an anti-resonance condition where the displacement of the diaphragm is a minimum. Instead, the majority of the volume velocity is actually emitted by the port itself instead of the loudspeaker. When this impedance is reflected to the electrical circuit, it is proportional to <math>1/Z</math>, thus a minimum in the impedance seen by the voice coil is small. Figure 3 shows a plot of the impedance seen at the terminals of the loudspeaker. In this example, <math>f_B</math> was found to be about 40&nbsp;Hz, which corresponds to the null in the voice-coil impedance. <div style="text-align: center;"> [[Image: Za0_Zvc_plots.gif]]<br> ''Figure 3. Impedances seen by the loudspeaker diaphragm and voice coil.'' </div> ==Quantitative Analysis of Port on Enclosure== The performance of the loudspeaker is first measured by its velocity response, which can be found directly from the equivalent circuit of the system. As the goal of most loudspeaker designs is to improve the bass response (leaving high-frequency production to a tweeter), low frequency approximations will be made as much as possible to simplify the analysis. First, the inductance of the voice coil, <math>\it{L_E}</math>, can be ignored as long as <math>\omega \ll R_E/L_E</math>. In a typical loudspeaker, <math>\it{L_E}</math> is of the order of 1 mH, while <math>\it{R_E}</math> is typically 8<math>\Omega</math>, thus an upper frequency limit is approximately 1&nbsp;kHz for this approximation, which is certainly high enough for the frequency range of interest. Another approximation involves the radiation impedance, <math>\it{Z_{RAD}}</math>. It can be shown [1] that this value is given by the following equation (in acoustical ohms): <div style="text-align: center;"> <math>Z_{RAD} = \frac{\rho_0c}{\pi a^2}\left[\left(1 - \frac{J_1(2ka)}{ka}\right) + j\frac{H_1(2ka)}{ka}\right]</math> </div> Where <math>J_1(x)</math> and <math>H_1(x)</math> are types of Bessel functions. For small values of ''ka'', <table align="center" width="50%" cellpadding="10"> <tr> <td><math>J_1(2ka) \approx ka</math></td> <td>and</td> <td><math>H_1(2ka) \approx \frac{8(ka)^2}{3\pi}</math></td> <td><math>\Rightarrow Z_{RAD} \approx j\frac{8\rho_0\omega}{3\pi^2a} = jM_{A1}</math></td> </tr> </table> Hence, the low-frequency impedance on the loudspeaker is represented with an acoustic mass <math>M_{A1}</math> [1]. For a simple analysis, <math>R_E</math>, <math>M_{MD}</math>, <math>C_{MS}</math>, and <math>R_{MS}</math> (the transducer parameters, or ''Thiele-Small'' parameters) are converted to their acoustical equivalents. All conversions for all parameters are given in [[Engineering Acoustics/Bass Reflex Enclosure Design#Appendix A: Equivalent Circuit Parameters|Appendix A]]. Then, the series masses, <math>M_{AD}</math>, <math>M_{A1}</math>, and <math>M_{AB}</math>, are lumped together to create <math>M_{AC}</math>. This new circuit is shown below. <div style="text-align: center;"> [[Image:VB_LF_ckt.gif]]<br> ''Figure 4. Low-Frequency Equivalent Acoustic Circuit'' </div> Unlike sealed enclosure analysis, there are multiple sources of volume velocity that radiate to the outside environment. Hence, the diaphragm volume velocity, <math>U_D</math>, is not analyzed but rather <math>U_0 = U_D + U_P + U_L</math>. This essentially draws a “bubble” around the enclosure and treats the system as a source with volume velocity <math>U_0</math>. This “lumped” approach will only be valid for low frequencies, but previous approximations have already limited the analysis to such frequencies anyway. It can be seen from the circuit that the volume velocity flowing ''into'' the enclosure, <math>U_B = -U_0</math>, compresses the air inside the enclosure. Thus, the circuit model of Figure 3 is valid and the relationship relating input voltage, <math>V_{IN}</math> to <math>U_0</math> may be computed. In order to make the equations easier to understand, several parameters are combined to form other parameter names. First, <math>\omega_B</math> and <math>\omega_S</math>, the enclosure and loudspeaker resonance frequencies, respectively, are: <table align="center" width="40%"> <tr> <td><math>\omega_B = \frac{1}{\sqrt{M_{AP}C_{AB}}}</math></td> <td><math>\omega_S = \frac{1}{\sqrt{M_{AC}C_{AS}}}</math></td> </tr> </table> Based on the nature of the derivation, it is convenient to define the parameters <math>\omega_0</math> and ''h'', the Helmholtz tuning ratio: <table align="center" width="25%"> <tr> <td><math>\omega_0 = \sqrt{\omega_B\omega_S}</math></td> <td><math>h = \frac{\omega_B}{\omega_S}</math></td> </tr> </table> A parameter known as the ''compliance ratio'' or ''volume ratio'', <math>\alpha</math>, is given by: <div style="text-align: center;"> <math>\alpha = \frac{C_{AS}}{C_{AB}} = \frac{V_{AS}}{V_{AB}}</math> </div> Other parameters are combined to form what are known as ''quality factors'': <table align="center" width="45%"> <tr> <td><math>Q_L = R_{AL}\sqrt{\frac{C_{AB}}{M_{AP}}}</math></td> <td><math>Q_{TS} = \frac{1}{R_{AE}+R_{AS}}\sqrt{\frac{M_{AC}}{C_{AS}}}</math></td> </tr> </table> This notation allows for a simpler expression for the resulting transfer function [1]: <div style="text-align: center;"> <math>\frac{U_0}{V_{IN}} = G(s) = \frac{(s^3/\omega_0^4)}{(s/\omega_0)^4+a_3(s/\omega_0)^3+a_2(s/\omega_0)^2+a_1(s/\omega_0)+1}</math> </div> where <table align="center" width="70%"> <tr> <td><math>a_1 = \frac{1}{Q_L\sqrt{h}}+\frac{\sqrt{h}}{Q_{TS}}</math></td> <td><math>a_2 = \frac{\alpha+1}{h}+h+\frac{1}{Q_L Q_{TS}}</math></td> <td><math>a_3 = \frac{1}{Q_{TS}\sqrt{h}}+\frac{\sqrt{h}}{Q_L}</math></td> </tr> </table> ==Development of Low-Frequency Pressure Response== It can be shown [2] that for <math>ka < 1/2</math>, a loudspeaker behaves as a spherical source. Here, ''a'' represents the radius of the loudspeaker. For a 15” diameter loudspeaker in air, this low frequency limit is about 150&nbsp;Hz. For smaller loudspeakers, this limit increases. This limit dominates the limit which ignores <math>L_E</math>, and is consistent with the limit that models <math>Z_{RAD}</math> by <math>M_{A1}</math>. Within this limit, the loudspeaker emits a volume velocity <math>U_0</math>, as determined in the previous section. For a simple spherical source with volume velocity <math>U_0</math>, the far-field pressure is given by [1]: <div style="text-align: center;"> <math>p(r) \simeq j\omega\rho_0 U_0 \frac{e^{-jkr}}{4\pi r}</math> </div> It is possible to simply let <math>r = 1</math> for this analysis without loss of generality because distance is only a function of the surroundings, not the loudspeaker. Also, because the transfer function magnitude is of primary interest, the exponential term, which has a unity magnitude, is omitted. Hence, the pressure response of the system is given by [1]: <div style="text-align: center;"> <math>\frac{p}{V_{IN}} = \frac{\rho_0s}{4\pi}\frac{U_0}{V_{IN}} = \frac{\rho_0Bl}{4\pi S_DR_EM_AS}H(s)</math> </div> Where <math>H(s) = sG(s)</math>. In the following sections, design methods will focus on <math>|H(s)|^2</math> rather than <math>H(s)</math>, which is given by: <table align="center" cellpadding="15"> <tr> <td><math>|H(s)|^2 = \frac{\Omega^8}{\Omega^8 + \left(a^2_3 - 2a_2\right)\Omega^6 + \left(a^2_2 + 2 - 2a_1a_3\right)\Omega^4 + \left(a^2_1 - 2a_2\right)\Omega^2 + 1}</math></td> <td><math>\Omega = \frac{\omega}{\omega_0}</math></td> </tr> </table> This also implicitly ignores the constants in front of <math>|H(s)|</math> since they simply scale the response and do not affect the shape of the frequency response curve. ==Alignments== A popular way to determine the ideal parameters has been through the use of alignments. The concept of alignments is based upon well investigated electrical filter theory. Filter development is a method of selecting the poles (and possibly zeros) of a transfer function to meet a particular design criterion. The criteria are the desired properties of a magnitude-squared transfer function, which in this case is <math>|H(s)|^2</math>. From any of the design criteria, the poles (and possibly zeros) of <math>|H(s)|^2</math> are found, which can then be used to calculate the numerator and denominator. This is the “optimal” transfer function, which has coefficients that are matched to the parameters of <math>|H(s)|^2</math> to compute the appropriate values that will yield a design that meets the criteria. There are many different types of filter designs, each which have trade-offs associated with them. However, this design approach is limited because of the structure of <math>|H(s)|^2</math>. In particular, it has the structure of a fourth-order high-pass filter with all zeros at ''s'' = 0. Therefore, only those filter design methods which produce a low-pass filter with only poles will be acceptable methods to use. From the traditional set of algorithms, only Butterworth and Chebyshev low-pass filters have only poles. In addition, another type of filter called a quasi-Butterworth filter can also be used, which has similar properties to a Butterworth filter. These three algorithms are fairly simple, thus they are the most popular. When these low-pass filters are converted to high-pass filters, the <math>s \rightarrow 1/s</math> transformation produces <math>s^8</math> in the numerator. More details regarding filter theory and these relationships can be found in numerous resources, including [5]. ==Butterworth Alignment== The Butterworth algorithm is designed to have a ''maximally flat'' pass band. Since the slope of a function corresponds to its derivatives, a flat function will have derivatives equal to zero. Since as flat of a pass band as possible is optimal, the ideal function will have as many derivatives equal to zero as possible at ''s'' = 0. Of course, if all derivatives were equal to zero, then the function would be a constant, which performs no filtering. Often, it is better to examine what is called the ''loss function''. Loss is the reciprocal of gain, thus {{center/top}} <math>|\hat{H}(s)|^2 = \frac{1}{|H(s)|^2}</math> {{center/end}} The loss function can be used to achieve the desired properties, then the desired gain function is recovered from the loss function. Now, applying the desired Butterworth property of maximal pass-band flatness, the loss function is simply a polynomial with derivatives equal to zero at ''s'' = 0. At the same time, the original polynomial must be of degree eight (yielding a fourth-order function). However, derivatives one through seven can be equal to zero if [3] <div style="text-align: center;"> <math>|\hat{H}(\Omega)|^2 = 1 + \Omega^8 \Rightarrow |H(\Omega)|^2 = \frac{1}{1 + \Omega^8}</math> </div> With the high-pass transformation <math>\Omega \rightarrow 1/\Omega</math>, <div style="text-align: center;"> <math>|H(\Omega)|^2 = \frac{\Omega^8}{\Omega^8 + 1}</math> </div> It is convenient to define <math>\Omega = \omega/\omega_{3dB}</math>, since <math>\Omega = 1 \Rightarrow |H(s)|^2 = 0.5</math> or -3&nbsp;dB. This definition allows the matching of coefficients for the <math>|H(s)|^2</math> describing the loudspeaker response when <math>\omega_{3dB} = \omega_0</math>. From this matching, the following design equations are obtained [1]: <table align="center" cellspacing="20"> <tr> <td><math>a_1 = a_3 = \sqrt{4+2\sqrt{2}}</math></td> <td><math>a_2 = 2+\sqrt{2}</math></td> </tr> </table> ==Quasi-Butterworth Alignment== The quasi-Butterworth alignments do not have as well-defined of an algorithm when compared to the Butterworth alignment. The name “quasi-Butterworth” comes from the fact that the transfer functions for these responses appear similar to the Butterworth ones, with (in general) the addition of terms in the denominator. This will be illustrated below. While there are many types of quasi-Butterworth alignments, the simplest and most popular is the 3rd order alignment (QB3). The comparison of the QB3 magnitude-squared response against the 4th order Butterworth is shown below. <table align="center" cellpadding="15"> <tr> <td><math>\left|H_{QB3}(\omega)\right|^2 = \frac{(\omega/\omega_{3dB})^8}{(\omega/\omega_{3dB})^8 + B^2(\omega/\omega_{3dB})^2 + 1}</math></td> <td><math>\left|H_{B4}(\omega)\right|^2 = \frac{(\omega/\omega_{3dB})^8}{(\omega/\omega_{3dB})^8 + 1}</math></td> </tr> </table> Notice that the case <math>B = 0</math> is the Butterworth alignment. The reason that this QB alignment is called 3rd order is due to the fact that as ''B'' increases, the slope approaches 3 dec/dec instead of 4 dec/dec, as in 4th order Butterworth. This phenomenon can be seen in Figure 5. <div style="text-align: center;"> [[Image:QB3_gradient.GIF]]<br> ''Figure 5: 3rd-Order Quasi-Butterworth Response for ''<math>0.1 \leq B \leq 3</math> </div> Equating the system response <math>|H(s)|^2</math> with <math>|H_{QB3}(s)|^2</math>, the equations guiding the design can be found [1]: <table align="center" cellpadding="15"> <tr> <td><math>B^2 = a^2_1 - 2a_2</math></td> <td><math>a_2^2 + 2 = 2a_1a_3</math></td> <td><math>a_3 = \sqrt{2a_2}</math></td> <td><math>a_2 > 2 + \sqrt{2}</math></td> </tr> </table> ==Chebyshev Alignment== The Chebyshev algorithm is an alternative to the Butterworth algorithm. For the Chebyshev response, the maximally-flat passband restriction is abandoned. Now, a ''ripple'', or fluctuation is allowed in the pass band. This allows a steeper transition or roll-off to occur. In this type of application, the low-frequency response of the loudspeaker can be extended beyond what can be achieved by Butterworth-type filters. An example plot of a Chebyshev high-pass response with 0.5&nbsp;dB of ripple against a Butterworth high-pass response for the same <math>\omega_{3dB}</math> is shown below. <div style="text-align: center;"> [[Image:Butt_vs_Cheb_HP.gif]]<br> ''Figure 6: Chebyshev vs. Butterworth High-Pass Response.'' </div> The Chebyshev response is defined by [4]: <div style="text-align: center;"> <math>|\hat{H}(j\Omega)|^2 = 1 + \epsilon^2C^2_n(\Omega)</math><br> </div> <math>C_n(\Omega)</math> is called the ''Chebyshev polynomial'' and is defined by [4]: <table align="center"> <tr> <td valign="center" rowspan="2"><math>C_n(\Omega) = \big\lbrace</math></td> <td><math>\rm{cos}[\it{n}\rm{cos}^{-1}(\Omega)]</math></td> <td><math>|\Omega| < 1</math></td> </tr> <tr> <td><math>\rm{cosh}[\it{n}\rm{cosh}^{-1}(\Omega)]</math></td> <td><math>|\Omega| > 1</math></td> </tr> </table> Fortunately, Chebyshev polynomials satisfy a simple recursion formula [4]: <table align="center" cellpadding="15"> <td><math>C_0(x) = 1</math></td> <td><math>C_1(x) = x</math></td> <td><math>C_n(x) = 2xC_{n-1} - C_{n-2}</math></td> </table> For more information on Chebyshev polynomials, see the [http://mathworld.wolfram.com/ChebyshevPolynomialoftheFirstKind.html Wolfram Mathworld: Chebyshev Polynomials] page. When applying the high-pass transformation to the 4th order form of <math>|\hat{H}(j\Omega)|^2</math>, the desired response has the form [1]: <div style="text-align: center;"> <math>|H(j\Omega)|^2 = \frac{1+\epsilon^2}{1+\epsilon^2C^2_4(1/\Omega)}</math> </div> The parameter <math>\epsilon</math> determines the ripple. In particular, the magnitude of the ripple is <math>10\rm{log}[1+\epsilon^2]</math> dB and can be chosen by the designer, similar to ''B'' in the quasi-Butterworth case. Using the recursion formula for <math>C_n(x)</math>, <div style="text-align: center;"> <math>C_4\left(\frac{1}{\Omega}\right) = 8\left(\frac{1}{\Omega}\right)^4 - 8\left(\frac{1}{\Omega}\right)^2 + 1</math><br> </div> Applying this equation to <math>|H(j\Omega)|^2</math> [1], <table align="center" cellpadding="15"> <tr> <td colspan="2"><math>\Rightarrow |H(\Omega)|^2 = \frac{\frac{1 + \epsilon^2}{64\epsilon^2}\Omega^8}{\frac{1 + \epsilon^2}{64\epsilon^2}\Omega^8 + \frac{1}{4}\Omega^6 + \frac{5}{4}\Omega^4 - 2\Omega^2 + 1}</math></td> </tr> <tr> <td><math>\Omega = \frac{\omega}{\omega_n}</math></td> <td><math>\omega_n = \frac{\omega_{3dB}}{2}\sqrt{2 + \sqrt{2 + 2\sqrt{2+\frac{1}{\epsilon^2}}}}</math></td> </tr> </table> Thus, the design equations become [1]: <table align="center" cellpadding="15"> <tr> <td><math>\omega_0 = \omega_n\sqrt[8]{\frac{64\epsilon^2}{1+\epsilon^2}}</math></td> <td><math>k = \rm{tanh}\left[\frac{1}{4}\rm{sinh}^{-1}\left(\frac{1}{\epsilon}\right)\right]</math> <td><math>D = \frac{k^4 + 6k^2 + 1}{8}</math></td> </tr> <tr> <td><math>a_1 = \frac{k\sqrt{4 + 2\sqrt{2}}}{\sqrt[4]{D}},</math></td> <td><math>a_2 = \frac{1 + k^2(1+\sqrt{2})}{\sqrt{D}}</math></td> <td><math>a_3 = \frac{a_1}{\sqrt{D}}\left[1 - \frac{1 - k^2}{2\sqrt{2}}\right]</math></td> </tr> </table> == Choosing the Correct Alignment == With all the equations that have already been presented, the question naturally arises, “Which one should I choose?” Notice that the coefficients <math>a_1</math>, <math>a_2</math>, and <math>a_3</math> are not simply related to the parameters of the system response. Certain combinations of parameters may indeed invalidate one or more of the alignments because they cannot realize the necessary coefficients. With this in mind, general guidelines have been developed to guide the selection of the appropriate alignment. This is very useful if one is designing an enclosure to suit a particular transducer that cannot be changed. The general guideline for the Butterworth alignment focuses on <math>Q_L</math> and <math>Q_{TS}</math>. Since the three coefficients <math>a_1</math>, <math>a_2</math>, and <math>a_3</math> are a function of <math>Q_L</math>, <math>Q_{TS}</math>, ''h'', and <math>\alpha</math>, fixing one of these parameters yields three equations that uniquely determine the other three. In the case where a particular transducer is already given, <math>Q_{TS}</math> is essentially fixed. If the desired parameters of the enclosure are already known, then <math>Q_L</math> is a better starting point. In the case that the rigid requirements of the Butterworth alignment cannot be satisfied, the quasi-Butterworth alignment is often applied when <math>Q_{TS}</math> is not large enough.. The addition of another parameter, ''B'', allows more flexibility in the design. For <math>Q_{TS}</math> values that are too large for the Butterworth alignment, the Chebyshev alignment is typically chosen. However, the steep transition of the Chebyshev alignment may also be utilized to attempt to extend the bass response of the loudspeaker in the case where the transducer properties can be changed. In addition to these three popular alignments, research continues in the area of developing new algorithms that can manipulate the low-frequency response of the bass-reflex enclosure. For example, a 5th order quasi-Butterworth alignment has been developed [6]; its advantages include improved low frequency extension, and much reduced driver excursion at low frequencies and typically bi-amping or tri-amping, while its disadvatages include somewhat difficult mathematics and electronic complication (electronic crossovers are typically required). Another example [7] applies root-locus techniques to achieve results. In the modern age of high-powered computing, other researchers have focused their efforts in creating computerized optimization algorithms that can be modified to achieve a flatter response with sharp roll-off or introduce quasi-ripples which provide a boost in sub-bass frequencies [8]. [[Engineering Acoustics|Back to Engineering Acoustics]] ==References== [1] Leach, W. Marshall, Jr. ''Introduction to Electroacoustics and Audio Amplifier Design''. 2nd ed. Kendall/Hunt, Dubuque, IA. 2001. [2] Beranek, L. L. ''Acoustics''. 2nd ed. Acoustical Society of America, Woodbridge, NY. 1993. [3] DeCarlo, Raymond A. “The Butterworth Approximation.” Notes from ECE 445. Purdue University. 2004. [4] DeCarlo, Raymond A. “The Chebyshev Approximation.” Notes from ECE 445. Purdue University. 2004. [5] VanValkenburg, M. E. ''Analog Filter Design''. Holt, Rinehart and Winston, Inc. Chicago, IL. 1982. [6] Kreutz, Joseph and Panzer, Joerg. "Derivation of the Quasi-Butterworth 5 Alignments." ''Journal of the Audio Engineering Society''. Vol. 42, No. 5, May 1994. [7] Rutt, Thomas E. "Root-Locus Technique for Vented-Box Loudspeaker Design." ''Journal of the Audio Engineering Society''. Vol. 33, No. 9, September 1985. [8] Simeonov, Lubomir B. and Shopova-Simeonova, Elena. "Passive-Radiator Loudspeaker System Design Software Including Optimization Algorithm." ''Journal of the Audio Engineering Society''. Vol. 47, No. 4, April 1999. == Appendix A: Equivalent Circuit Parameters == <table align="center" border="2"> <tr align="center"> <th>Name</th> <th>Electrical Equivalent</th> <th>Mechanical Equivalent</th> <th>Acoustical Equivalent</th> </tr> <tr align="center"> <th>Voice-Coil Resistance</th> <td><math>R_E</math></td> <td><math>R_{ME} = \frac{(Bl)^2}{R_E}</math></td> <td><math>R_{AE} = \frac{(Bl)^2}{R_ES^2_D}</math></td> </tr> <tr align="center"> <th>Driver (Speaker) Mass</th> <td>See <math>C_{MEC}</math></td> <td><math>M_{MD}</math></td> <td><math>M_{AD} = \frac{M_{MD}}{S^2_D}</math></td> </tr> <tr align="center"> <th>Driver (Speaker) Suspension Compliance</th> <td><math>L_{CES} = (Bl)^2C_{MS}</math></td> <td><math>C_{MS}</math></td> <td><math>C_{AS} = S^2_DC_{MS}</math></td> </tr> <tr align="center"> <th>Driver (Speaker) Suspension Resistance</th> <td><math>R_{ES} = \frac{(Bl)^2}{R_{MS}}</math></td> <td><math>R_{MS}</math></td> <td><math>R_{AS} = \frac{R_{MS}}{S^2_D}</math></td> </tr> <tr align="center"> <th>Enclosure Compliance</th> <td><math>L_{CEB} = \frac{(Bl)^2C_{AB}}{S^2_D}</math></td> <td><math>C_{MB} = \frac{C_{AB}}{S^2_D}</math></td> <td><math>C_{AB}</math></td> </tr> <tr align="center"> <th>Enclosure Air-Leak Losses</th> <td><math>R_{EL} = \frac{(Bl)^2}{S^2_DR_{AL}}</math></td> <td><math>R_{ML} = S^2_DR_{AL}</math></td> <td><math>R_{AL}</math></td> </tr> <tr align="center"> <th>Acoustic Mass of Port</th> <td><math>C_{MEP} = \frac{S^2_DM_{AP}}{(Bl)^2}</math></td> <td><math>M_{MP} = S^2_DM_{AP}</math></td> <td><math>M_{AP}</math></td> </tr> <tr align="center"> <th>Enclosure Mass Load</th> <td>See <math>C_{MEC}</math></td> <td>See <math>M_{MC}</math></td> <td><math>M_{AB}</math></td> </tr> <tr align="center"> <th>Low-Frequency Radiation Mass Load</th> <td>See <math>C_{MEC}</math></td> <td>See <math>M_{MC}</math></td> <td><math>M_{A1}</math></td> </tr> <tr align="center"> <th>Combination Mass Load</th> <td><math>C_{MEC} = \frac{S^2_DM_{AC}}{(Bl)^2}</math><br><math> = \frac{S^2_D(M_{AB} + M_{A1}) + M_{MD}}{(Bl)^2}</math></td> <td><math>M_{MC} = S^2_D(M_{AB} + M_{A1}) + M_{MD}</math></td> <td><math>M_{AC} = M_{AD} + M_{AB} + M_{A1}</math><br><math> = \frac{M_{MD}}{S^2_D} + M_{AB} + M_{A1}</math></td> </tr> </table> == Appendix B: Enclosure Parameter Formulas == <div style="text-align: center;"> [[Image: Vented_enclosure.gif]]<br> ''Figure 7: Important dimensions of bass-reflex enclosure.'' </div> Based on these dimensions [1], <table align="center" cellpadding="5"> <tr align="center"> <td><math>C_{AB} = \frac{V_{AB}}{\rho_0c^2_0}</math></td> <td><math>M_{AB} = \frac{B\rho_{eff}}{\pi a}</math></td> </tr> <tr align="center"> <td><math>B = \frac{d}{3}\left(\frac{S_D}{S_B}\right)^2\sqrt{\frac{\pi}{S_D}} + \frac{8}{3\pi}\left[1 - \frac{S_D}{S_B}\right]</math></td> <td><math>\rho_0 \leq \rho_{eff} \leq \rho_0\left(1 - \frac{V_{fill}}{V_B}\right) + \rho_{fill}\frac{V_{fill}}{V_B}</math></td> </tr> <tr align="center"> <td colspan="2"><math>V_{AB} = V_B\left[1-\frac{V_{fill}}{V_B}\right]\left[1 + \frac{\gamma - 1}{1 + \gamma\left(\frac{V_B}{V_{fill}} - 1\right)\frac{\rho_0c_{air}}{\rho_{fill}c_{fill}}}\right]</math></td> </tr> <tr align="center"> <td><math>V_B= hwd</math> (inside enclosure gross volume)</td> <td><math>S_B = wh</math> (baffle area of the side the speaker is mounted on) </td> </tr> <tr align="center"> <td><math>c_{air} = </math>specific heat of air at constant isovolumetric process (about <math> 0.718 \frac{\rm kJ}{\rm kg.K}</math> at 300 K) </td> <td><math>c_{fill} = </math>specific heat of filling at constant volume (<math>V_{filling}</math>)</td> </tr> <tr align="center"> <td><math>\rho_0 = </math>mean density of air (about <math>1.3 \frac{\rm kg}{\rm m^3}</math> at 300 K) <td><math>\rho_{fill} = </math> density of filling</td> </tr> <tr align="center"> <td><math>\gamma = </math> ratio of specific heats (Isobaric/Isovolumetric processes) for air (about 1.4 at 300 K)</td> <td><math>c_0 = </math> speed of sound in air (about 344&nbsp;m/s) </tr> <tr align="center"> <td colspan="2"><math>\rho_{eff}</math> = effective density of enclosure. If little or no filling (acceptable assumption in a bass-reflex system but not for sealed enclosures), <math>\rho_{eff} \approx \rho_0</math></td> </tr> </table> 11tnsd7jcs1313ns7sxdis6xw6wu1e1 Talk:Guide to Unix 1 48608 4656839 4653996 2026-08-09T21:49:45Z ShakespeareFan00 46022 4656839 wikitext text/x-wiki {{WikiProject Unix/Project}} * {{todolink|Guide to Unix|todo-list of Guide to Unix}} === Origins === I had maintained this list at [[User:Kernigh]], but I am moving it here. I have been contributing to [[Guide to UNIX]] from early October to middle November. It has grown to 34 modules partly because I merged several Wikibooks modules together to form this book. These were: *[http://en.wikibooks.org/w/index.php?title=Guide_to_UNIX&oldid=200060 Guide to UNIX (30 July 2005 revision)] * [[BSD]], a small stub * [[Linux]], mostly a list of other Wikibooks and external links * [[File Compression]], a module abandoned by [[Linux Guide]] * possibly [[Linux commands]] Note that [[Linux]] no longer redirects to [[Guide to UNIX/Linux]]; it now points to [[Wikibooks:Computing bookshelf]]. You can look at [http://en.wikibooks.org/w/index.php?title=Guide_to_UNIX/Linux&oldid=238901 Linux (22 September 2005 revision)] to see that page before I changed it. --[[User:Kernigh|Kernigh]] 04:19, 14 November 2005 (UTC) === Redirects === I moved several of the [[Guide to UNIX]] chapters. For reference, here is a list of redirects which I created because of page renames. In many cases, this is the only page to link to the redirects. --[[User:Kernigh|Kernigh]] 04:19, 14 November 2005 (UTC) * [[BSD]] * [[BSD bookshelf]] * [[File Compression]] (see [[Talk:Linux Guide]]) * moved to Explanations tree ** [[Guide to UNIX/Becoming Root]] ** [[Guide to UNIX/Connecting to Remote Unix]] ** [[Guide to UNIX/Environment]] ** [[Guide to UNIX/Filesystems and Swap]] ** [[Guide to UNIX/Finding Additional Help]] ** [[Guide to UNIX/Installing Packages]] ** [[Guide to UNIX/Shell Prompt]] * changed to slash convention ** [[Guide to UNIX commands]] ** [[Guide to UNIX commands: Devices]] ** [[Guide to UNIX commands: File analysing]] ** [[Guide to UNIX commands: File system utilities]] ** [[Guide to UNIX commands: File viewing]] ** [[Guide to UNIX commands: Finding files]] ** [[Guide to UNIX commands: Getting Help]] ** [[Guide to UNIX commands: Kernel commands]] ** [[Guide to UNIX commands: Multi-user commands]] ** [[Guide to UNIX commands: Process management]] ** [[Guide to UNIX commands: Self information]] ** [[Guide to UNIX commands: System Information]] ** [[Guide to UNIX files]] * merged into one page ** [[Guide to UNIX/Commands/Information]] ** [[Guide to UNIX/Commands/Utilities]] ** [[Guide to UNIX commands: Information]] ** [[Guide to UNIX commands: Misc]] ** [[Guide to UNIX commands: Utilities]] == comparison between Unix, Unix, and non-Unix == ''comparison between '''Unix, Unix''', and non-Unix'' does not really make sense.<br> What is meant by that? ''comparison between Unix, Linux & BSD, and non-Unix'' or ''comparison between Unix, Unix-like, and non-Unix''? --[[User:Dietmar Lettau|Dietmar Lettau]] 03:33, 16 November 2007 (UTC) ==Guide to Unix Navigation Template== I propose changing the current template to the one that I made: <div class="noprint" style="background-color: LightYellow; border:solid PowderBlue 2px; margin: 1px;"> {|style="width: 100%; background-color: LightYellow; margin: auto;" |style="width: 20%; text-align: left;"| <tt style="background-color: #ffff95;">$_</tt> |style="width: 60%; text-align: center; border:solid PowderBlue 1px; margin: 1px;"| ''[[Guide to Unix|Wikibooks Guide to Unix Computing]]'' |style="width: 20%; text-align: right; font-size: 5pt;"| <span class="plainlinks">[http://en.wikibooks.org/w/index.php?title=Template:Guide_to_UNIX:toc&action=edit Edit template]</span> |} <div class="NavFrame" style="padding: 0; border-style: none;"> <div class="NavFrame" style="border-style: none; padding: 0;"> <div class="NavHead" style="background: LightYellow; text-align: left; text-style: normal;"> <br></div><div class="NavContent" style="display: none;"> <blockquote> <div align="center" style="background-color: LightYellow; text-align: left;"> <span style="font-size: 9pt;">'''General''':</span> [[Guide to Unix/Introduction|Introduction]] | [[Guide to Unix/Explanations|Explanations]] | [[Guide to Unix/Why Unix-like|Why Unix-like]]<br> <span style="font-size: 9pt;">'''Platforms''':</span> [[Guide to Unix/Linux|Linux]] | [[Guide to Unix/BSD|BSD]]<br> <span style="font-size: 9pt;">'''Quick Reference''':</span> [[Guide to Unix/Commands|Commands]] | [[Guide to Unix/Environment Variables|Environment Variables]] | [[Guide to Unix/Files|Files]] | [[Guide to Unix/GNU Free Documentation License|License]] </div> </blockquote> </div></div></div></div> :Or with out the javascript: <div class="noprint" style="background-color: LightYellow; border:solid PowderBlue 2px; margin: 1px;"> {|style="width: 100%; background-color: LightYellow; margin:0 auto;" |style="width: 20%; text-align: left;"| <tt style="background-color: #ffff95;">$_</tt> |style="width: 60%; text-align: center; border:solid PowderBlue 1px; margin: 1px;"| ''[[Guide to Unix|Wikibooks Guide to Unix Computing]]'' |style="width: 20%; text-align: right; font-size: 5pt;"| <span class="plainlinks">[http://en.wikibooks.org/w/index.php?title=Template:Guide_to_UNIX:toc&action=edit Edit template]</span> |} <blockquote> <div align="center" style="background-color: LightYellow; text-align: left;"> <span style="font-size: 9pt;">'''General''':</span> [[Guide to Unix/Introduction|Introduction]] | [[Guide to Unix/Explanations|Explanations]] | [[Guide to Unix/Why Unix-like|Why Unix-like]]<br> <span style="font-size: 9pt;">'''Platforms''':</span> [[Guide to Unix/Linux|Linux]] | [[Guide to Unix/BSD|BSD]]<br> <span style="font-size: 9pt;">'''Quick Reference''':</span> [[Guide to Unix/Commands|Commands]] | [[Guide to Unix/Environment Variables|Environment Variables]] | [[Guide to Unix/Files|Files]] | [[Guide to Unix/GNU Free Documentation License|License]] </div> </blockquote> </div> --[[User:CFeyecare|<span style="font-family: Kristen ITC; font-size: medium;.5" color: crimson;">''''' CFeyecare '''''</span>]]<span style="color = "black""><sup>'''''[[User talk:CFeyecare| Talk!]]'''''</sup></span>[[User:CFeyecare/templates/signature-tracker| ]] 01:25, 16 November 2008 (UTC) brn08pid8toa1vmtgx66w5gonivrkbf User talk:Piotrus 3 49160 4656999 1327753 2026-08-10T08:39:51Z ShakespeareFan00 46022 4656999 wikitext text/x-wiki {{center/top}} {| id="toc" style="margin: 0 2em 0 2em;" ! align="left" style="background:#ccccff" width="100%" | It is possible I will not log in to this account for weeks. Please [http://en.wikipedia.org/w/wiki.phtml?title=User_talk:Piotrus&action=edit&section=new leave me a message on en-Wikipedia] - I log there everyday. |} {{center/end}} ==[[:Introduction to Sociology/Famous Sociologists]]== {{mbox|type=notice|msg= [[:Introduction to Sociology/Famous Sociologists|This page]] appears to have been created in error (due to a test, or some kind of [[Help:Editing|misplaced edit]]). It might be a [[Help:Stub|stub]], if so, please use [[Talk:Introduction to Sociology/Famous Sociologists|the discussion page]] as to explain what this page is about. If it evolves into a [[WB:WIW|legitimate Wikibooks module]], you may remove the tag. If not fixed, explained, or improved, it will automatically be considered a candidate for [[Wikibooks:Deletion policy#Speedy deletions|speedy deletion]] in 7 days. &nbsp;'''&mdash;&nbsp;[[User:Mike.lifeguard|<b style="color:#309;">Mike.lifeguard</b>]]'''&nbsp;&#124;&nbsp;<sup>[[User talk:Mike.lifeguard|<span style="color:#309;">talk</span>]]</sup> 22:59, 8 November 2008 (UTC) }} hf8sj5w7xccm05g7rl5qss6fzlhxvsa Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6 0 53615 4656824 4637548 2026-08-09T18:50:13Z JCrue 2226064 /* 4...g6 · Accelerated Dragon */ 4656824 wikitext text/x-wiki {{Chess Opening Theory/Position |Accelerated Dragon |parent=[[../|Open Sicilian with Nc6]] |eco=[[Chess/ECOB|B32]] }} == 4...g6 · Accelerated Dragon == Black wants to play a Dragon Sicilian set-up, with ...Bg7, ...Nf6, and ...O-O. This is "accelerated" over the conventional Dragon because Black has not played ...d6. They have prioritised developing their pieces and will have saved a tempo if they play ...d5 in one move. This system specifically defangs the Yugoslav attack, the most punishing attack against the Dragon Sicilian. (Briefly, because it allows Black to play ...d5 one move earlier, opening the position before White has had a chance to long-castle and form a battery on the d-file.) The trade off is it allows White 5. c4, a line the conventional Dragon move order avoids. [[/5. Nc3|'''5. Nc3''']] is the '''modern variation'''. As the immediate Yugoslav-style attack (5...Bg7 6. Be3 Nf6 7. f3!?) is less dangerous in the Accelerated Dragon than the Dragon (7...O-O 8. Qd2 d5! {{Chess/not|}}), the modern main line is 7. Bc4 first. [[/5. c4|'''5. c4''']], the '''Maróczy bind''', is the most testing line. White's two pawns clamp down on d5, making the ...d5 pawn break difficult or impossible and leading to a more manoeuvring, positional game. [[/5. Nxc6|'''5. Nxc6''']] is the '''exchange variation'''. White trades off Black's piece controlling d4 and e5 so that they may play 5...bxc6 6. Qd4! (attacking the rook) Nf6 7. e5. Though it looks flashy, this allows Black to equalise. ...bxc6 helps the light square bishop to develop and supports ...d5. === History === An early appearance of the Accelerated Dragon was in 1851, where it was played between Hugh Kennedy and Marmaduke Wyvill.<ref>[https://www.chessgames.com/perl/chessgame?gid=1001404 Kennedy v Wyvill, 1851 - Chessgames.com]</ref> When [[Wikipedia:John Cochrane (chess player)|John Cochrane]] (1798―1878) played in Calcutta, he encountered many fianchetto openings and faced this opening against Indian chess master Saumchurn Guttack.<ref>e.g. [https://www.chessgames.com/perl/chessgame?gid=1547568 Cochrane v Saumchurn, 1855 - Chessgames.com]</ref> It became popular in the 20th century as a way to play the Dragon Sicilian but avoid its "ultimate test", the Yugoslav attack. The Yugoslav is a dangerous race-to-mate pawn storm attack where White's play is straightforward but lethal: Bobby Fischer described it as, <blockquote>White's attack almost plays itself ... weak players even beat Grandmasters with it. I once thumbed through several issues of Shakhmatny Bulletin, when the Yugoslav attack was making its debut, and found the ratio was something like nine wins out of ten in White's favor.<br>―[[Wikipedia:Bobby Fischer|Bobby Fischer]], ''My 60 Memorable Games''<ref>{{cite book |last1=Fischer |first1=Bobby |title=My 60 Memorable Games |date=2008 |publisher=B T Batsford |location=London |isbn=978-1-9063-8830-0 |url=https://archive.org/details/01.My60MemorableGamesBobbyFischer2008/ |language=English}}</ref></blockquote> By avoiding 2...d6, Black has saved a a tempo that can be used in the attack. However, they must be prepared to face 5. c4, the Maróczy Bind, instead. This isn't a coincidence: 5. c4 is an option in the Accelerated Dragon ''because'' Black has avoided ...d6. In the regular Dragon, White must play Nc3 to defend their e4 pawn: 1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 (Black is attacking e4) 5. Nc3 (defends e4) g6. Because the d6 pawn controls the e5 square, White can't get away with playing pawn to e5.<ref>5. f3?! is possible, the '''Prins variation'''. 5...e5 6. Nb3.</ref> They must play 5. Nc3 and this prevents c4. In the Accelerated Dragon, 1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 and White can play 5. c4 before Nc3. If Black wants to induce Nc3 they might try to insert ...Nf6 before ...g6, but without ...d6 their lack of control of e5 leads to a worse position: 1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6? White can trade off the knights and play e5. 6. Nxc5 bxc6 7. e5!{{Chess/not|++}}. Therefore if Black wishes to play the Dragon in a move order that avoids the Yugoslav attack, they ''must'' also allow the Maróczy bind. Today the Accelerated Dragon is one of the most popular Sicilians, considered a good variation for people new to the Sicilian to study that offers the flexibility of the Najdorf without the huge amounts of theory. ==Theory table== '''1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4. Nxd4 g6''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">5</th> <th align="left">6</th> <th align="left">7</th> </tr> <tr> <th align="right"></th> <td>[[/5. c4|c4]]<br>Nf6</td> <td>Nc3<br>d6</td> <td>Be3<br>Ng4</td> <td>=</td> </tr> <tr> <th align="right"></th> <td>[[/5. Nc3|Nc3]]<br>Bg7</td> <td>Be3<br>Nf6</td> <td>Bc4<br>O-O</td> <td>=</td> </tr> <tr> <th align="right"></th> <td>[[/5. Nxc6|Nxc6]]<br>bxc6</td> <td>Qd4<br>Nf6</td> <td>e5<br>Nd5</td> <td>=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} ===See also=== {{Wikipedia|Sicilian Defence, Accelerated Dragon}} * {{cite book |last=Greet |first=Andrew |title=Starting Out: The Accelerated Dragon |year=2008 |publisher=Everyman Chess |location=London |isbn=978-1-85744-530-5}} * {{cite book| last=Lalić |first=Peter |title=Play the accelerated dragon |year=2014 | publisher=Everyman Chess |location=London |isbn= 978-1-78194-012-9}} * {{cite book |last=Davies |first=Nigel |title=The Accelerated Dragon |year=2024 |publisher=Popular Chess |location=Glasgow |isbn=978-1-83684-015-2}} {{Chess Opening Theory/Footer}} clkjlyowlauoucd1u5yu0s27sl7zwfu User:Karl Wick/Test/Main Page Nav 2 66282 4656984 1993071 2026-08-10T08:25:04Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656984 wikitext text/x-wiki {{center/top}} {|width="100%" cellspacing="0" cellpadding="0" style="margin-top:0.8em;margin-bottom:0.8em" |width="50%" style="border:1px solid LightSteelBlue4;background:LightSteelBlue1"| {|width="100%" cellspacing="0" cellpadding="5" style="background:LightSteelBlue1" <!-----------Search and Browse -----------------> |[[File:Nuvola apps xmag.png|40x40px|link=Wikibooks:Browse|Browse]] |style="font-size:95%"|'''[[Special:Search|Search]]'''<br /> [[All bookshelves]]&nbsp;&ndash; [[Wikibooks:All Books|All Books]]&nbsp;&ndash; [[:Category:Main page|By Category]]&nbsp;&ndash; [[Bookshelves/test|By Dewey Decimal Classification]]&nbsp;&ndash; [[Wikibooks:Quick index|By Alphabetical Index]]&nbsp;&ndash; <!----------------------------------------------> |} |&nbsp;&nbsp; |style="border:1px solid gold;background:cornsilk"| {|width="100%" cellspacing="0" cellpadding="5" style="background:cornsilk" <!-----------Contributing & Community ----------> |[[File:Nuvola apps hwinfo.png|40x40px|link=Wikibooks:Community Portal]] |style="font-size:95%"|'''[[Wikibooks:Contributing FAQ|Contributing]] &amp; [[Wikibooks:Community Portal|Community]]'''<br /> <!----------------------------------------------> |} |} {|width="100%" cellspacing="0" cellpadding="0" |width="50%"| {|width="100%" cellspacing="0" cellpadding="5" <!----------- Natural Sciences ------------------> |[[File:Nuvola_apps_kalzium.png|40x40px|link=Natural Science department]] |style="font-size:95%"|'''[[Natural Science department|Natural Sciences]]'''<br /> [[Wikibooks:Computer science bookshelf|Computer Science]]&nbsp;&ndash; [[Wikibooks:Engineering bookshelf|Engineering]]&nbsp;&ndash; [[Wikibooks:Health science bookshelf|Health science]]&nbsp;&ndash; [[Wikibooks:Mathematics bookshelf|Mathematics]]&nbsp;&ndash; [[Wikibooks:Science bookshelf|Natural Science]]&nbsp;&mdash; [[FHSST_Physics| The Free High School Science Texts: Physics]]&nbsp;{{stage short|75%|Jan 1, 2000}}&nbsp;{{Botm Winner Short|June 2005}} <!----------------------------------------------> |- <!----------- Social Sciences --------------------> |[[File:Nuvola_apps_kdmconfig.png|40x40px|link=Wikibooks:Social Science department]] |style="font-size:95%;border-top:1px dashed #AAAAAA"|'''[[Wikibooks:Social Science department|Social Sciences]]'''<br /> [[Wikibooks:Business bookshelf|Business]]&nbsp;&ndash; [[Wikibooks:Economics bookshelf|Economics]]&nbsp;&ndash; [[Wikibooks:Humanities bookshelf|Humanities]]&nbsp;&ndash; [[Wikibooks:Languages bookshelf|Languages]]&nbsp;&ndash; [[Wikibooks:Law bookshelf|Law]]&nbsp;&ndash; [[Wikibooks:Social science bookshelf|Social science]]&nbsp;&mdash; [[Chinese: Contents|Chinese (Mandarin)]]&nbsp;{{stage short|50%|Jan 24, 2005}}&nbsp;{{Botm Winner Short|October|2005}}&nbsp;&mdash; [[Consciousness studies|Consciousness Studies]]&nbsp;{{Botm Winner Short|November|2005}}&nbsp;&ndash; [[Japanese]]&nbsp;{{stage short|50%|December 2005}}&nbsp;{{Botm Winner Short|December|2005}} <!----------------------------------------------> |- <!----------- Miscellaneous --------------------> |[[File:Nuvola apps colors.png|40x40px|link=Wikibooks:Miscellaneous department]] |style="font-size:95%;border-top:1px dashed #AAAAAA"|'''[[Wikibooks:Miscellaneous department|Miscellaneous]]'''<br /> [[Wikibooks:Education bookshelf|Education]]&nbsp;&ndash; [[Wikibooks:How-tos bookshelf|How-to]]&nbsp;&ndash; [[Wikibooks:Study guide bookshelf|Study Guides]]&nbsp;&ndash; [[Wikibooks:Miscellaneous bookshelf|Misc.]]&nbsp;&mdash; [[Cookbook]]&nbsp;{{stage short|75%|March 2006}}&nbsp;{{Botm Winner Short|March|2006}}&nbsp;&ndash; [[How To Build A Computer]]&nbsp;{{stage short|50%|Jan 23, 2005}}&nbsp;{{Botm Winner Short|May|2005}}&nbsp;&ndash; [[Lucid Dreaming]]&nbsp;{{stage short|100%|Oct 9th, 2005}}&nbsp;{{Botm Winner Short|February|2005}} |} <!----------------------------------------------> |&nbsp;&nbsp; {|width="100%" cellspacing="0" cellpadding="5" <!---------- Computing -------------------------> ||[[File:Nuvola apps display.png|40x40px|link=Wikibooks:Computer department]] |style="font-size:95%"|'''[[Wikibooks:Computing department|Computing]]'''<br /> [[Wikibooks:Computer and video games bookshelf|Computer and Video Games]]&nbsp;&ndash; [[Wikibooks:Computer software bookshelf|Computer software]]&nbsp;&ndash; [[Wikibooks:Computer science bookshelf|Computer Science]]&nbsp;&ndash; [[Wikibooks:Information technology bookshelf|Information technology]]&nbsp;&ndash; [[Wikibooks:Programming languages bookshelf|Programming languages]]&nbsp;&ndash; [[Wikibooks:Domain-specific languages bookshelf|Domain-specific languages]]&nbsp; &mdash; [[Ada Programming]]&nbsp;{{stage short|75%|Jul 27, 2005}}&nbsp;{{Botm Winner Short|September|2005}} <!----------------------------------------------> |- <!----------- Arts -----------------------------> |[[File:Nuvola_apps_kcoloredit.png|40x40px|link=Wikibooks:Arts department]] |style="font-size:95%;border-top:1px dashed #AAAAAA"|'''[[Wikibooks:Arts department|Arts]]'''<br /> [[Wikibooks:Annotated texts bookshelf|Annotated texts]]&nbsp;&ndash; [[Wikibooks:Art bookshelf|Art]]&nbsp;&ndash; [[Wikibooks:Games bookshelf|Games]]&nbsp;&mdash; [[Blender 3D: Noob to Pro]]&nbsp;{{Botm Winner Short|July|2005}}&nbsp;&mdash; [[Chess]]&nbsp;{{stage short|75%|May 3, 2005}}&nbsp;{{Botm Winner Short|January|2006}} <!----------------------------------------------> |- <!----------- Special Groups -------------------> |[[File:Nuvola_filesystems_www.png|40x40px|link=Wikibooks:Special groups department]] |style="font-size:95%;border-top:1px dashed #AAAAAA"|'''[[Wikibooks:Special Groups department|Special Groups]]'''<br /> [[Wikiversity]]&nbsp;&ndash; [[Wikijunior]]&nbsp;&mdash; [[Wikijunior Big Cats]]&nbsp;{{Botm Winner Short|February|2006}}&nbsp;&ndash; [[Wikijunior Solar System]]&nbsp;{{Botm Winner Short|August|2005}}&nbsp;&ndash; |} |} {|width="100%" cellspacing="0" cellpadding="0" style="margin-top:0.8em;margin-bottom:0.8em" style="border:1px solid salmon;background:LavenderBlush" <!---------- Printable -------------------------> |[[File:Nuvola devices printer.png|40x40px|link=Help:Print versions]] |style="font-size:95%" |'''[[Help:Print versions|Printable Books]]''' (PDF versions)<br /> [[Media:Ada Programming.pdf|Ada Programming]]&nbsp;<small>(3 volumes, 271p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/b/bb/Consciousness_studies.pdf Consciousness studies]&nbsp;<small>(229p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/1/17/Cell_Biology.pdf Cell biology]&nbsp;<small>(35p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/7/7b/How_To_Build_A_Computer.pdf How to build a computer]&nbsp;<small>(52p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/c/ca/Introduction_to_Paleoanthropology.pdf Introduction to Paleoanthropology]&nbsp;<small>(126p)</small>&nbsp;&ndash; [http://en.wikibooks.org/wiki/Introduction_to_Sociology/Print_version Introduction to sociology]&nbsp;<small>(~240p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/a/ab/Fhsstphysics.pdf Physics (Free High School Science Text)]&nbsp;<small>(396p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/3/3b/Special_relativity.pdf Special Relativity]&nbsp;<small>(89p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/1/19/UK_Constitution_and_Government.pdf UK Constitution and Government]&nbsp;<small>(59p)</small>&nbsp;&ndash; [http://upload.wikimedia.org/wikibooks/en/7/7c/US_History.pdf US History]&nbsp;<small>(158p) </small>[[Wikibooks:PDF Versions|All printable WikiBooks PDFs>>]] <!----------------------------------------------> |} {{center/end}} 6c35zkcbs52bb9cmisx3yo4ipk4a244 User talk:DarkNShadow 3 67053 4656993 4642659 2026-08-10T08:36:01Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656993 wikitext text/x-wiki {{center/top}} {| |'''<span style="color: GREEN;">St. Patrick's Day</span> Luck of the Irish & don't forget wear <span style="color: GREEN;">GREEN!!!</span>''' |} {| class="wikitable" width="99%" |<span style="color: RED;">'''WARNINGS'''</span> |<span style="color: RED;">'''PLEASE post any new message at the very bottom of the page!!! and anything about MapleStory Monsters place under "All about MapleStory Monsters" or I won't read it.<br>Thank You'''</span> [[User:DarkNShadow|DarkNShadow]] 21:09, 19 March 2006 (UTC) |} {{center/end}} =All about MapleStory Monsters= bone fish can hit 14k dmg ++ if u go near it u will die straiht away so becarfule The to Orbis/Ellinia is rigged so dark sight and haste won't do anything, this means Crimson Barlogs will hit you even with darksight on. If you try hitting a C rog and survive the physical damage (2000+) the almost unavoidable lightning attack will kill you(4000+ damage).~ [[User:Gamefreak|Gamefreak]] == [[Ghost Online/Monster]] == Hi -could you give me some more information about the graphics on this page - I realise they have an apparent license however checking it out the original site is not in english. Equally Wikibooks does not usually have any form of game guide on it - could you give me an idea of where the article is going - as it stands it is not any form of "text book" I have seen and so its overall status is questionable. Thanks --[[User:Herbythyme|<span style="color: green;">Herby</span>]] <b><sup><small><span style="color:#90F">[[User talk:Herbythyme|talk thyme]]</span></small></sup></b> 19:22, 5 January 2007 (UTC) 35b3z1jvd05ql27pyi3uykdvp4yncu0 C++ Programming/Examples 0 91903 4656867 4059450 2026-08-09T22:28:39Z ShakespeareFan00 46022 4656867 wikitext text/x-wiki <!-- __NOEDITSECTION__ --> <div align="center" style="font-size: 400%;">''C++ Programming''<br><sup>'''by examples'''</sup></div><br> <div style="text-align: center;">'''Appendix Purpose and Scope'''</div> This Appendix to the '''C++ Programming''' book will attempt to provide users a complementary practical understanding of the [[w:C++|C++ programming language]]. It will be an aggregation dependent on the lessons and theoretical content already presented on the '''C++ Programming''' book, so to consistently list all '''compilable example programs''' that are used in the main book, this appendix will be useful to refresh your knowledge in a hands-on approach, guarantee performance and permit easier maintenance of the used code and test derivations of the examples used.<br><br> This is an open work, if you find any problems with terms or concepts '''you can help by contribute to it''', '''your participation is needed and welcomed!''' You are also welcome to state any preference, shortcomings or vision for the actual book content, structure or other conceptual matters, see [[Talk:C++ Programming|this Wikibook's discussion page for the right forum for participating]]. <table style="width: 60%; background: AntiqueWhite; border: 1px solid #aaa; padding: 0.5em; margin:0 auto;" class="metadata"><tr> <td style="width: 100px;">[[Image:Baustelle.svg|80px]]</td> <td>'''This page of the [[C++ Programming|C++ Programming Wikibook]] is under construction.'''<br /><small>It may be incomplete or contain errors. See [[Talk:C++ Programming/Content]] for discussion.</small></td> </tr></table> == [[C++ Programming/About the Book|About the book]] == <div style="text-align: center;">'''Referencing the [[C++ Programming/Chapters|learning chapters]]'''</div> {{SideBox|1=If you have questions related to C++ that are not addressed on the book, ask at the [[Talk:C++ Programming/Q&A|Q&A]] or check<br>[[Subject:C++ programming language]]}} == Preamble == '''C++ Programming by examples''' can be used as an alternative approach to learn the language, by putting practice over theory. In any case this will require you to have greater level of expertise. You will need to understand how C++ files are organized, have and know how to operate a compiler and understand some nuances that will not be visible in code. Do understand that you will be able to read and program in C++, to some degree but to get to really understand the language, theory, not only practice, is required. Use the primary book as a reference anytime you have a doubt. In the book we cover [[C++ Programming/Programming Languages/C++/Code/Compiler#Where to get a compiler|where to get a compiler]] (see the [[C++ Programming/Programming Languages/C++/Code/Compiler|Compiler Section]]), this will provide you the tool needed to proceed. If you don't have, want or need a compiler installed on you machine you can use a WEB free compiler available at http://ideone.com (or http://codepad.org but you will have to change the code not to require interactive input). == '''Chapter 1:''' ''C++ a multi-paradigm language'' == ---- ::This is the initial chapter of the book, it attempts to introduce the C++ language to the reader, speak of the language history and its evolution. providing an overview in an attempt to convey the reasons why one should come to know the language. ::To understand C++, first one must establish what a programming language is, how they relate with each other (Low-level/High-level), the different programming paradigms, the Procedural programming and Object-oriented programming (Objects and Classes, Encapsulation, Inheritance, Multiple inheritance, Polymorphism), Generic programming, etc. As a way to permit to, not only to provide some useful background, but for readers with experience in other languages to understand how particular C++ is as compared to the other languages that are closely related, C (the origin of C++), Java, C#, (C++/CLI) and D. ;:In this chapter readers are asked to examine the first C++ source code, the common [[C++ Programming/Examples/Hello World|Hello World]] and provided the resources to understand it in step-by-step way. ---- {{:C++ Programming/Examples/Hello world|'''Hello World: Writing, Compiling and Running a C++ Program'''}} === Chapter 1: Compilable examples === <small>[[C++ Programming/Examples/Hello World|Hello World]] - [[C++ Programming/Examples/Displays a string|Displays a string]] - [[C++ Programming/Examples/Displays a string1|Displays a string1]] - [[C++ Programming/Examples/Displays a string2|Displays a string2]]</small> == '''Chapter 2:''' ''Fundamentals for getting started'' == ---- ---- [[C++ Programming/Examples/Data and Variables‎|Data and Variables]] {{:C++ Programming/Code/Variables/Examples}}One of the concepts for novice programmers is understanding how to write a program that sorts three integers. This comes in handy if you want to apply this to a program that you will later want to incorporate in a real-life situation. I am using this code to show how this can be applied for the purposes of using this code at work. One example that comes to mind is if you were counting people such as (1) population density of a region or (2) the number of employees to get the demographics. For example, if you worked at the Census Bureau, and you wanted to measure how much of the population had moved from the Country to the City, you may way to sort the numbers. If you want to know if more women than men applied for a certain job, you will want to sort these the integers. Sometimes these types of Sorting functions can be seen on websites that filter and give the view with the largest integer descending down to the smallest of integers. Behind this User-interface (UI) is a Sorting function that is called when the User clicks a Submit button on a website. This example takes 3 integers (from the User's Input) and sorts it. The main purpose of this section is to show how simple code can be used in real-life situations. <syntaxhighlight lang=cpp> #include <iostream> #include <cmath> using namespace std; void sortNums(int& input1, int& input2, int& input3); int main() { int x, y, z; // create variables // Get numbers using cout and cin cout << "Please enter 3 numbers." << endl; cin >> x; cin >> y; cin >> z; // Sort numbers: x, y, and z sortNums(x, y, z); // calls the function titled sortNums cout << x << ", " << y << ", " << z << endl; // outputs the numbers return 0; } void sortNums(int &myNumA, int &myNumB, int &myNumC) // sort numbers { int temp; // create temp variable if (myNumA > myNumB) { temp = myNumA; myNumA = myNumB; myNumB = temp; } if (myNumB > myNumC) { temp = myNumB; myNumB = myNumC; myNumC = temp; } if (myNumA > myNumB) { temp = myNumA; myNumA = myNumB; myNumB = temp; } } </syntaxhighlight> == '''Chapter 3:''' ''Object-Oriented Programming'' == ---- ---- == '''Chapter 4:''' ''Advanced Features'' == ---- ---- == '''Chapter 5:''' ''Beyond the Standard'' == ---- ---- *[[C++ Programming/Scope/Examples/Program Average|Average]] ( [[C++ Programming/Scope/Examples/Program Average1|same program rewritten using a class]] ) *Complicated Scope ([[../Scope/Examples/Complicated Scope Program|v1]] - [[C++ Programming/Scope/Examples/Complicated Scope Program1|v2]] - [[C++ Programming/Scope/Examples/Complicated Scope Program2|v3]]) *[[C++ Programming/Scope/Examples/Program Namespaces|Namespaces]] *Storing two values in integer variables ([[C++ Programming/Code/Variables/Examples/Adds two numbers and prints their sum|v1]] - [[C++ Programming/Code/Variables/Examples/Adds two numbers and prints their sum1|v2]]) *[[C++ Programming/Examples/Using A Class|Using a Class]] *Displays a string ([[../Examples/Displays a string|v1]] - [[C++ Programming/Examples/Displays a string1|v2]] - [[C++ Programming/Examples/Displays a string2|v3]]) == Using a Class == {{:C++ Programming/Examples/Using A Class}} == I/O Streams == {{:C++ Programming/Examples/Displays a string}} ---- {{:C++ Programming/Examples/Displays a string1}} ---- {{:C++ Programming/Examples/Displays a string2}} [[{{BOOKCATEGORY}}|6]] <noinclude>{{displaytitle|title=Appendix C}}</noinclude> 2hc58we3bg6sdjyw58737fw0oac3yim User:Xania/Message 2 104572 4656975 691977 2026-08-10T08:20:06Z ShakespeareFan00 46022 4656975 wikitext text/x-wiki {{ #if: {{{1|}}} | <table width=99% cellspacing=5px style="border: 1px solid #CCCCCC; float:center; clear: both; margin: 4px; padding: 4px;"> <tr> <td style="border: solid 1px #CCCCCC; margin-right:4px; vertical-align: center;">{{center|1={{{1}}}}}</td></tr></table> | }} an9k7ql5judysognl8spcax0ksb8l9o User:Celestianpower/Spanish 2 104645 4656981 692821 2026-08-10T08:23:57Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656981 wikitext text/x-wiki <!-- {{bi}} --> {{center/top}} [[Image:Aprovechalo.png|center]] <big><big><big><big>[[/Contents|Continue to the Main Contents Page]]</big></big></big></big> {| align="center" |{{InterWiki|code=es|edition=Spanish}} |{{wikipedia|Spanish language}} |} {{center/end}} <!-- [[Category:Languages]] --> 82ui54p8noa63ew066f69sdbc9jzsmo User:Herbythyme/temp 2 105057 4656851 4650059 2026-08-09T22:08:18Z ShakespeareFan00 46022 4656851 wikitext text/x-wiki {| align="center" cellpadding="10" cellspacing="10" style="background: none;" |style="color: white; -moz-border-radius-topright: 20px; -moz-border-radius-topleft: 20px;" width="1000px" align="left" bgcolor="steelblue" |'''<span style="font-size: x-small;">Among my passions is growing and cooking with herbs - hence the name - <big>so</big></span>''' |- |align="left" style="border:2px solid steelblue; font-size: 85%; -moz-border-radius-bottomright: 20px; -moz-border-radius-bottomleft: 20px;"| <div id="EnWpMpBook" style="padding:1em 0 0; background-repeat:no-repeat; background-position:0% 0%; text-align:center;"> <div style="font-size:175%;">Welcome to '''[[User:Herbythyme|<span style="font-family:'Verdana'><span style="color: green;">Herby</span><span style="color: #90F;">thyme</span></span>]]'''<span style="font-family:'Verdana'>'''{{'}}s''' User Page</span></div> <div style="position:relative; top:-.1em; font-size:80%; text-align:left;"><br> </div></div> |} <div style="float: left; border:solid steelblue 1px; margin: 1px;"> {| cellspacing="0" style="width: 100%; background: lightsteelblue;" |style="color: white; -moz-border-radius-topright: 20px; -moz-border-radius-topleft: 20px;" width="700px" align="left" bgcolor="lightsteelblue" |'''<span style="font-size: medium;">About Me</span>''' |} <div id="EnWpMpSearchInner"> </div> I am an '''Admin''' - if you want '''help''' I'll do want I can, if you are a '''vandal''' you will may well be blocked without warning. I also tend to delete things quite quickly, if you disagree with me tell me - I will listen to you and try and reach a solution. As an Admin I take full responsibility for my actions. I have an interest in three other accounts on this Wiki. [[User:Herbys bot]] is my bot account for cleanup and maintainance task (ask me if you have a job to do). I am part of [[User:The Staff]] account. There is also another one that merely redirects here relating to a previous Wikipedia account. </div> end?? {| align="center" cellpadding="10" cellspacing="10" style="background: none;" |style="color: white; -moz-border-radius-topright: 20px; -moz-border-radius-topleft: 20px;" width="700px" align="left" bgcolor="steelblue" |'''<span style="font-size: small;">A worthwhile thought maybe - </span>''' |- |align="left" style="background: #FFFFF3; border:2px solid silver; font-size: 85%; -moz-border-radius-bottomright: 20px; -moz-border-radius-bottomleft: 20px;"| <div style="text-align: center;"><span style="font-size: small;">'''That we should strive not to be dependent, nor independent, but interdependent'''</span></div> |} <small>some of the ideas and styles here have been shamelessly and gratefully stolen from various others - thanks -HT</small> k1nw09dmbwdpe9nmv2etfbpy5778lwo User:TotalBalance/Message 2 106985 4656992 711227 2026-08-10T08:34:51Z ShakespeareFan00 46022 4656992 wikitext text/x-wiki {{ #if: {{{1|}}} | <table width=99% cellspacing=5px style="border: 1px solid #CCCCCC; float:center; clear: both; margin: 4px; padding: 4px;"> <tr> <td style="border: solid 1px #CCCCCC; margin-right:4px; vertical-align: center;">{{center/top}}{{{1}}}{{center/end}}</td></tr></table> | }} 5xkdtvt5heb9ajpixcr1cafyqsf9qo1 C++ Programming/Programming Languages/Comparisons/Java 0 116816 4656870 4624205 2026-08-09T22:32:11Z ShakespeareFan00 46022 4656870 wikitext text/x-wiki The [[Java Programming|Java programming language]] and C++ share many common traits. A comparison of the two languages follows here. For a more in-depth look at Java, see the [[Programming:Java|Java Programming WikiBook]]. ==== Java ==== Java was initially created to support [[w:network computing|network computing]] on [[w:embedded system|embedded system]]s. Java was designed to be extremely [[w:porting|portable]], [[w:computer security|secure]], [[w:thread (computer science)|multi-threaded]] and [[w:distributed computing|distributed]], none of which were design goals for C++. Java has a syntax familiar to C programmers, but direct compatibility with C was not maintained. Java was also specifically designed to be simpler than C++, but continues to evolve above that simplification. During the decade between 1999 and 2009, especially in the part of the programming industry dedicated to enterprise solutions, “Coffee-based” languages, which rely on "virtual machines" that are familiar in Smalltalk, grew in prominence. This was a trade between performance and productivity, something that made perfect sense at the time where computing power and the need for a simplified and more streamlined language that permitted not only easy adoption but a lower learning curve. There is enough similitude between the languages that the proficient C++ programmers can easily adapt to Java, that is still today in ways less complex and even in comparison more consistent in the adopted paradigms than C++. This shift in interest has however decreased, mostly due to the evolution of the languages. C++ and Java evolution has merged much of the gap about the problems and limitations of both languages, the software requirements today have also shifted and fragmented more. Now we have specific requirements for mobile, data-center and desktop computing this makes the programming language selection an even more central issue. {| class="wikitable" style="margin:0 auto;" ! !! '''C++''' !! '''Java''' |- |Compatibility || backwards compatible, including C ||| backwards compatibility with previous versions |- |Focus || execution efficiency ||| developer productivity |- |Freedom || trusts the programmer ||| imposes some constraints to the programmer |- |Memory Management || [[w:Pointer_(computer_programming)|arbitrary memory access possible]] ||| memory access only through objects |- |Code || concise expression ||| explicit operation |- |[[w:type safety|Type Safety]] || type casting is restricted greatly ||| only compatible types can be cast |- |[[w:programming paradigm|Programming Paradigm]] || [[w:Procedural_programming|procedural]] or [[w:object-oriented|object-oriented]]||| object-oriented |- |Operators || [[w:operator overloading|operator overloading]] ||| meaning of operators immutable |- |Preprocessor || yes ||| no |- |Main Advantage || powerful capabilities of language ||| feature-rich, easy to use standard library |} Differences between C++ and Java are: * C++ parsing is somewhat more complicated than with Java; for example, <code>Foo&lt;1&gt;(3);</code> is a sequence of comparisons if Foo is a variable, but it creates an object if Foo is the name of a class template. * C++ allows {{C++ Programming/kw|namespace}} level constants, variables, and functions. All such Java declarations must be inside a class or [[w:interface (Java)|interface]]. * <code>[[w:const|const]]</code> in C++ indicates data to be 'read-only,' and is applied to types. <code>final</code> in Java indicates that the variable is not to be reassigned. For basic types such as <code>const int</code> vs <code>final int</code> these are identical, but for complex classes, they are different. * C++ didn't support constructor delegation until the C++11 standard, and only very recent compilers support this. * C++ generates machine code that runs on the hardware, Java generates bytecode that runs on a virtual machine so with C++ you have greater power at the cost of portability. * C++, <tt>int main()</tt> is a function by itself, without a class. * C++ access specification ('''public''', '''private''') is done with labels and in groups. * C++ access to class members default to <tt>private</tt>, in Java it is package access. * C++ classes declarations end in a semicolon. * C++ lacks language level support for garbage collection while Java has built-in garbage collection to handle memory deallocation. * C++ supports {{C++ Programming/kw|goto}} statements; Java does not, but its [[w:labelled break|labeled break]] and [[w:labelled continue|labeled continue]] statements provide some structured {{C++ Programming/kw|goto}}-like functionality. In fact, Java enforces [[w:structured control flow|structured control flow]], with the goal of code being easier to understand. * C++ provides some low-level features that Java lacks. In C++, pointers can be used to manipulate specific memory locations, a task necessary for writing low-level [[w:operating system|operating system]] components. Similarly, many C++ compilers support [[w:inline assembler|inline assembler]]. In Java, assembly code can still be accessed as libraries, through the [[w:Java Native Interface|Java Native Interface]]. However, there is significant overhead for each call. * C++ allows a range of implicit conversions between native types, and also allows the programmer to define implicit conversions involving compound types. However, Java only permits widening conversions between native types to be implicit; any other conversions require explicit cast syntax. C++11 disallows narrowing conversions from initializer lists. ** A consequence of this is that although loop conditions (<code>if</code>, <code>while</code> and the exit condition in {{C++ Programming/kw|for}}) in Java and C++ both expect a boolean expression, code such as <code>if(a = 5)</code> will cause a compile error in Java because there is no implicit narrowing conversion from int to boolean. This is handy if the code were a typo for <code>if(a == 5)</code>, but the need for an explicit cast can add verbosity when statements such as <code>if (x)</code> are translated from Java to C++. * For passing parameters to functions, C++ supports both true [[w:pass-by-reference|pass-by-reference]] and [[w:pass-by-value|pass-by-value]]. As in C, the programmer can simulate by-reference parameters with by-value parameters and [[w:indirection|indirection]]. In Java, all parameters are passed by value, but object (non-primitive) parameters are [[w:reference (computer science)|reference]] values, meaning [[w:indirection|indirection]] is built-in. * Generally, Java built-in types are of a specified size and range; whereas C++ types have a variety of possible sizes, ranges and representations, which may even change between different versions of the same compiler, or be configurable via compiler switches. ** In particular, Java characters are 16-bit [[w:Unicode|Unicode]] characters, and strings are composed of a sequence of such characters. C++ offers both narrow and wide characters, but the actual size of each is platform dependent, as is the character set used. Strings can be formed from either type. * The rounding and precision of floating point values and operations in C++ is platform dependent. Java provides a [[w:strictfp|strict floating-point model]] that guarantees consistent results across platforms, though normally a more lenient mode of operation is used to allow optimal floating-point performance. * In C++, [[w:pointers|pointers]] can be manipulated directly as memory address values. Java does not have pointers&mdash;it only has object references and array references, neither of which allow direct access to memory addresses. In C++ one can construct pointers to pointers, while Java references only access objects. * In C++ pointers can point to functions or member functions ([[w:function pointer|function pointer]]s or [[w:functor|functor]]s). The equivalent mechanism in Java uses object or interface references. C++11 has library support for function objects. * C++ features programmer-defined [[w:operator overloading|operator overloading]]. The only overloaded operators in Java are the "<code>+</code>" and "<code>+=</code>" operators, which concatenate strings as well as performing addition. * Java features standard [[w:Application programming interface|API]] support for [[w:Reflection (computer science)|reflection]] and [[w:dynamic loading|dynamic loading]] of arbitrary new code. * Java has generics. C++ has templates. * Both Java and C++ distinguish between native types (these are also known as "fundamental" or "built-in" types) and user-defined types (these are also known as "compound" types). In Java, native types have value semantics only, and compound types have reference semantics only. In C++ all types have value semantics, but a reference can be created to any object, which will allow the object to be manipulated via reference semantics. * C++ supports [[w:multiple inheritance|multiple inheritance]] of arbitrary classes. Java supports multiple inheritance of types, but only single inheritance of implementation. In Java, a class can derive from only one class, but a class can implement multiple [[w:Interface (Java)|interface]]s. * Java explicitly distinguishes between interfaces and classes. In C++ multiple inheritance and pure virtual functions makes it possible to define classes that function just as Java interfaces do. * Java has both language and standard library support for [[w:multi-threading|multi-threading]]. The <code>synchronized</code> [[w:Java keywords|keyword in Java]] provides simple and secure [[w:Mutual exclusion|mutex lock]]s to support multi-threaded applications. C++11 provides similar capabilities. While mutex lock mechanisms are available through libraries in previous versions of C++, the lack of language semantics makes writing [[w:thread safe|thread safe]] code more difficult and error prone. ===== Memory management ===== * Java requires automatic [[w:Garbage collection (computer science)|garbage collection]]. Memory management in C++ is usually done by hand, or through [[w:smart pointer|smart pointer]]s. The C++ standard permits garbage collection, but does not require it; garbage collection is rarely used in practice. When permitted to relocate objects, modern garbage collectors can improve overall application space and time efficiency over using explicit deallocation. * C++ can allocate arbitrary blocks of memory. Java only allocates memory through object instantiation. (Note that in Java, the programmer can simulate allocation of arbitrary memory blocks by creating an array of bytes. Still, Java [[w:array|array]]s are objects.) * Java and C++ use different idioms for resource management. Java relies mainly on garbage collection, while C++ relies mainly on the [[w:Resource Acquisition Is Initialization|RAII (Resource Acquisition Is Initialization)]] idiom. This is reflected in several differences between the two languages: ** In C++ it is common to allocate objects of compound types as local stack-bound variables that are destructed when they go '''''[[C++ Programming/Programming Languages/C++/Code/Statements/Scope|out of scope]]'''''. In Java compound types are always allocated on the heap and collected by the garbage collector (except in virtual machines that use [[w:escape analysis|escape analysis]] to convert heap allocations to stack allocations). ** C++ has destructors, while Java has [[w:finalizer|finalizer]]s. Both are invoked prior to an object's deallocation, but they differ significantly. A C++ object's destructor must be implicitly (in the case of stack-bound variables) or explicitly invoked to deallocate the object. The destructor executes [[w:Synchronization|synchronously]] at the point in the program at which the object is deallocated. Synchronous, coordinated uninitialization and deallocation in C++ thus satisfy the RAII idiom. In Java, object deallocation is implicitly handled by the garbage collector. A Java object's finalizer is invoked [[w:Asynchrony|asynchronously]] some time after it has been accessed for the last time and before it is actually deallocated, which may never happen. Very few objects require finalizers; a finalizer is only required by objects that must guarantee some clean up of the object state prior to deallocation&mdash;typically releasing resources external to the JVM. In Java safe synchronous deallocation of resources is performed using the try/finally construct. ** In C++ it is possible to have a [[w:dangling pointer|dangling pointer]] &ndash; a [[w:reference (computer science)|reference]] to an object that has been destructed; attempting to use a dangling pointer typically results in program failure. In Java, the garbage collector won't destruct a referenced object. ** In C++ it is possible to have an object that is allocated, but unreachable. An [[w:unreachable object|unreachable object]] is one that has no reachable references to it. An unreachable object cannot be destructed (deallocated), and results in a [[w:memory leak|memory leak]]. By contrast, in Java an object will not be deallocated by the garbage collector ''until'' it becomes unreachable (by the user program). (Note: ''[[w:weak reference|weak reference]]s'' are supported, that work with the Java garbage collector to allow for different ''strengths'' of reachability.) Garbage collection in Java prevents many memory leaks, but leaks are still possible under some circumstances. ===== Libraries ===== * [[C++ Programming/STL|C++ standard library]] provides a limited set of basic and relatively general purpose components. Java has a considerably larger standard library. This additional functionality is available for C++ by (often free) third party libraries, but third party libraries do not provide the same ubiquitous cross-platform functionality as standard libraries. * C++ is mostly [[w:backward compatible|backward compatible]] with C, and C libraries (such as the [[w:Application programming interface|API]]s of most [[w:operating system|operating system]]s) are directly accessible from C++. In Java, the richer functionality of its standard library provides [[w:cross-platform|cross-platform]] access to many features typically only available in platform-specific libraries. Direct access from Java to native operating system and hardware functions requires the use of the [[w:Java Native Interface|Java Native Interface]]. ===== Runtime ===== * C++ is normally compiled directly to [[w:machine code|machine code]] that is then executed directly by the [[w:operating system|operating system]]. Java is normally compiled to [[w:byte-code|byte-code]] that the [[w:Java virtual machine|Java virtual machine]] (JVM) then either [[w:Interpreter (computing)|interprets]] or [[w:Just-in-time compilation|JIT]] compiles to machine code and then executes. * Due to the lack of constraints in the use of some C++ language features (e.g. unchecked array access, raw pointers), programming errors can lead to low-level [[w:buffer overflow|buffer overflow]]s, [[w:page fault|page fault]]s, and [[w:segmentation fault|segmentation fault]]s. The [[C++ Programming/STL|Standard Template Library]], however, provides higher-level abstractions (like vector, list and map) to help avoid such errors. In Java, such errors either simply cannot occur or are detected by the [[w:Java virtual machine|JVM]] and reported to the application in the form of an [[w:exception handling|exception]]. * In Java, [[w:bounds checking|bounds checking]] is implicitly performed for all array access operations. In C++, array access operations on native arrays are not bounds-checked, and bounds checking for random-access element access on standard library collections like std::vector and std::deque is optional. ===== Miscellaneous ===== * Java and C++ use different techniques for splitting up code in multiple source files. Java uses a package system that dictates the file name and path for all program definitions. In Java, the compiler imports the executable [[w:class (file format)|class files]]. C++ uses a [[w:header file|header file]] [[w:source code|source code]] inclusion system for sharing declarations between source files. * Templates and macros in C++, including those in the standard library, can result in duplication of similar code after compilation. Second, [[w:library (computer science)#Dynamic linking|dynamic linking]] with standard libraries eliminates binding the libraries at compile time. * C++ compilation features a textual [[C++ Programming/Programming Languages/C++/Code/Compiler/Preprocessor|preprocessing]] phase, while Java does not. Java supports many optimizations that mitigate the need for a preprocessor, but some users add a preprocessing phase to their build process for better support of conditional compilation. * In Java, arrays are container objects that you can inspect the length of at any time. In both languages, arrays have a fixed size. Further, C++ programmers often refer to an array only by a pointer to its first element, from which they cannot retrieve the array size. However, C++ and Java both provide container classes ('''std::vector''' and '''java.util.ArrayList''' respectively) that are re-sizable and store their size. C++11's '''std::array''' provides fixed-size arrays with a similar efficiency to classic arrays, functions to return the size, and optional bounds-checking. * Java's division and modulus operators are well defined to truncate to zero. C++ does not specify whether or not these operators truncate to zero or "truncate to -infinity". -3/2 will always be -1 in Java, but a C++ compiler may {{C++ Programming/kw|return}} either -1 or -2, depending on the platform. [[w:C99|C99]] defines division in the same fashion as Java. Both languages guarantee that <code>(a/b)*b + (a%b) == a</code> for all a and b (b != 0). The C++ version will sometimes be faster, as it is allowed to pick whichever truncation mode is native to the processor. * The sizes of integer types is defined in Java (int is 32-bit, long is 64-bit), while in C++ the size of integers and pointers is compiler-dependent. Thus, carefully-written C++ code can take advantage of the 64-bit processor's capabilities while still functioning properly on 32-bit processors. However, C++ programs written without concern for a processor's word size may fail to function properly with some compilers. In contrast, Java's fixed integer sizes mean that programmers need not concern themselves with varying integer sizes, and programs will run exactly the same. This may incur a performance penalty since Java code cannot run using an arbitrary processor's word size. C++11 offers types such as uint32_t with guaranteed sizes, but compilers are not forced to provide them on hardware which has no native support for the size. ===== Performance ===== Computing performance is a measure of resource consumption when a system of hardware and software performs a piece of computing work such as an algorithm or a transaction. Higher performance is defined to be 'using fewer resources'. Resources of interest include memory, bandwidth, persistent storage and CPU cycles. Because of the high availability of all but the latter on modern desktop and server systems, performance is colloquially taken to mean the least CPU cycles; which often converts directly into the least wall clock time. Comparing the performance of two software languages requires a fixed hardware platform and (often relative) measurements of two or more software subsystems. This section compares the relative computing performance of C++ and Java on common operating systems such as Windows and Linux. Early versions of Java were significantly outperformed by statically compiled languages such as C++. This is because the program statements of these two closely related languages may compile to a small number of machine instructions with C++, while compiling into a larger number of byte codes involving several machine instructions each when interpreted by a Java [[w:JVM|JVM]]. For example: {| class="wikitable" ! Java/C++ statement ! C++ generated code ! Java generated byte code |- | vector[i]++; | mov edx,[ebp+4h]<br/> mov eax,[ebp+1Ch]<br/> inc dword ptr [edx+eax*4] | aload_1<br/> iload_2<br/> dup2<br/> iaload<br/> iconst_1<br/> iadd<br/> iastore |- |} While this may still be the case for [[w:embedded systems|embedded systems]] because of the requirement for a small footprint, advances in [[w:Just-in-time compilation|just in time (JIT)]] compiler technology for long-running server and desktop Java processes has closed the performance gap and in some cases given the performance advantage to Java. In effect, Java byte code is compiled into machine instructions at run time, in a similar manner to C++ static compilation, resulting in similar instruction sequences. C++ is still faster in most operations than Java at the moment, even at low-level and numeric computation. For in-depth information you could check [http://www.idiom.com/~zilla/Computer/javaCbenchmark.html Performance of Java versus C++]. It's a bit pro-Java but very detailed. ===== Comparing Imports vs Includes ===== There can be some confusion among C and C++ programmers about how imports work, and conversely among Java programmers, for example, about the proper use of include files. In a comparison between Symbol-table '''imports''' in modern Programming languages with the use of '''#includes''', like in C and C++. Although, both of these techniques are solutions to the same problem, namely compiling across multiple source files, they are vastly different techniques. Since nearly all modern Compilers consist of essentially the same stages of compilation, the biggest difference can be explained by the fact that includes occur in the Lexical-analysis stage of compilation, whereas imports are not done until the semantic analysis stage. '''Advantages of imports'''<br> * Imports do not duplicate any lexical analysis effort, which generally results in faster compilation for larger projects. * Imports do not require splitting code into separate files for declaration/implementation. * Imports better facilitate distribution of Object code, rather than Source code. * Imports can allow circular dependencies between source files. * Imports implicitly carry a mechanism for resolving symbol collisions when more than one symbol table defines the same symbol. '''Disadvantages of imports'''<br> * When an importable module is altered, since there is no separation of definition and implementation, all dependent modules must be recompiled, which can entail significant compilation times in large projects. * Imports require a standard mechanism for defining a symbol table in object code. Whether this limitation is truly a weakness is debatable, as a standard symbol table is useful for a number of other reasons. * Imports require a method for discovering symbol tables at compile time (such as the classpath in Java). When, however, there exists a standard method for doing this, this is not necessarily any more complicated than specifying the locations of include files. * When circular dependencies are allowed, semantic analysis of several interdependent source files may need to be interleaved. * Unless the language includes support for Partial types, languages with imports instead of includes require all source code for a class to be in a single source file. '''Advantages of includes'''<br> * With includes, there is no interdependence between source files at the semantic analysis stage. This means that at this stage, each source file can be compiled as an independent unit. * Separating definition and implementation into header and source files reduce dependencies and allows recompilation of only the affected source file, and no other files, when implementation details are altered. * Include files, used in combination with other Preprocessor features, allow for nearly arbitrary lexical processing. * Although the practice is not widespread, includes can provide rudimentary support for several modern language features (such as Mixins and aspects) if the language itself does not support them. * Includes are not part of the syntax of the underlying language, but rather part of a preprocessor syntax. There are disadvantages to this (another language to learn), but there are also advantages. The preprocessor syntax, and in some cases include files themselves, may be shared among several different languages. '''Disadvantages of includes'''<br> * Includes and the requisite preprocessor can require more passes in the lexical-analysis stage of compilation. * Repeated compilation of header files included multiple times in a large project can be notoriously slow. This can be mitigated, however, through the use of Pre-compiled headers. * Proper use of header files, particularly declarations of global variables, can be tricky for beginners. * Because includes generally require the location of the included file to be specified in the source code, environment variables are often needed to provide part of the include file path. Even worse, this functionality is not supported in a standard way across all compilers. A comparing example that compares [[C++_Programming/Code/IO#.E2.80.8ERounding_number_example|C++]] with Java exists [[Java_Programming/Mathematical_functions#Rounding_number_example|here]]. {{BookCat}} <noinclude>{{displaytitle|title=C++ Programming: Java comparison with C++}}</noinclude> qxk21zfss1ypozyiddwfxjx8u9zuwxq General Chemistry/Predicting Chemical Reactions 0 122207 4656860 4646979 2026-08-09T22:19:33Z ShakespeareFan00 46022 4656860 wikitext text/x-wiki {{msg:GeneralChemTOC|prev=Energy changes in chemical reactions|next=Redox Reactions/Oxidation state}} == Types of Reactions == There are several guidelines that can help you predict what kind of chemical reaction will occur between a mixture of chemicals. {{TextBox|1= * Several pure elements mixed together may undergo a [[General Chemistry/Types of chemical reactions#Synthesis Reactions|synthesis reaction]]. * A single compound may undergo a [[General Chemistry/Types of chemical reactions#Decomposition Reactions|decomposition reaction]]. It often forms water or hydrogen gas. * A pure element mixed with an ionic compound may undergo a [[General Chemistry/Types of chemical reactions#Single Replacement Reactions|single replacement reaction]]. * Two different ionic compounds are very likely to undergo a [[General Chemistry/Types of chemical reactions#Double Replacement Reactions|double replacement reaction]]. * An organic compound (containing carbon and hydrogen) can usually react with oxygen in a [[General Chemistry/Types of chemical reactions#Combustion|combustion reaction]]. }} However, not all elements will react with each other. To better predict a chemical reaction, knowledge of the ''reactivity series'' is needed. ==Reactivity== When combining two chemicals, a single- or double-replacement reaction doesn't always happen. This can be explained by a list known as the '''reactivity series''', which lists elements in order of reactivity. The higher on the list an element is, the more elements it can replace in a single- or double-replacement reaction. When deciding if a replacement reaction will occur, look up the two elements in question. The higher one will replace the lower one. Elements at the very top of the series are so reactive that they can replace hydrogen from water. This explains the explosive reaction between sodium and water: <div style="text-align: center;"><math>2\hbox{Na}_{(s)} + 2\hbox{H}_2\hbox{O}_{(l)} \to 2\hbox{NaOH}_{(aq)} + \hbox{H}_{2(g)}</math></div> Elements in the middle of the list will react with acids (but not water) to produce a salt and hydrogen gas. Elements at the bottom of the list are mostly nonreactive. Elements near the top of the list will corrode (rust, tarnish, etc.) in oxygen much faster than those at the bottom of the list. ===The Reactivity Series=== {{Wikipedia|Reactivity series}} {{RightHalf| * Red: elements that react with water and acids to form hydrogen gas, and with oxygen. * Orange: elements that react very slowly with water but strongly with acids. * Yellow: elements that react with acid to form hydrogen gas, and with oxygen. * Grey: elements that react with oxygen (tarnish). * White: elements that are often found pure; relatively nonreactive.}} {{center/top}} '''Most Reactive''' {| class="wikitable" border=1px |- | style="background:red" | Cs |- | style="background:red" | K |- | style="background:red" | Na |- | style="background:red" | Li |- | style="background:red" | Sr |- | style="background:red" | Ca |- | style="background:red" | Rb |- | style="background:red" | Ba |- | style="background:orange" | Mg |- | style="background:yellow" | Al |- | <i>(C)</i> |- | style="background:yellow" | Mn |- | style="background:yellow" | Zn |- | style="background:yellow" | Cr |- | style="background:yellow" | Fe |- | style="background:yellow" | Cd |- | style="background:yellow" | Co |- | style="background:yellow" | Ni |- | style="background:yellow" | Sn |- | style="background:yellow" | Pb |- | <i>(H<sub>2</sub>)</i> |- | style="background:silver" | Sb |- | style="background:silver" | Bi |- | style="background:silver" | Cu |- | style="background:white" | Hg |- | style="background:white" | Ag |- | style="background:white" | Pt |- | style="background:white" | Au |} '''Least Reactive''' {{center/end}} {{BookCat}} pvtdqellywhxkzddj8ubgeqt3gwly9k Ohio 7th Grade World History/Introduction to the Middle Ages 0 124249 4656886 2483256 2026-08-10T03:35:42Z ~2026-44020-23 3620384 One woerd 4656886 wikitext text/x-wiki Imagine living where disease was common, and fighting was of great significance? This time was called Feudalism, the system of obligations that governed the relationships between lords and vassals in medieval Europe, was a main idea then. The following is about the Renaissance, the period of “rebirth” and creativity that followed Europe’s Middle Ages, and the Middle Ages, which is a period that lasted from about 500-1500 AD in Europe. {{BookCat}} 2azhnwu6e41wb86bp11baatu83ictf7 Chess Opening Theory/1. e4/1...b6 0 124644 4657017 4656032 2026-08-10T10:49:39Z JCrue 2226064 4657017 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Owen's defence |eco=[[Chess/ECOB|B00]] |parent=[[../|King's pawn opening]] }} == 1...b6 · Owen's defence == A very rare and uncommon response to the King's pawn game It may transpose to an English opening or other lines. It is offbeat in that Black allows White to play '''2. d4''' and easily control the centre. Black usually fianchettos the light-squared bishop to b7, and may plan to assault White's big centre with ...c5. === History === 1...b6 is named after [[w:John Owen (chess player)|John Owen]] (1827―1901), an English vicar and chess master, who scored a surprise victory with it over [[w:Paul Morphy|Paul Morphy]] in 1858.<ref>[https://www.chessgames.com/perl/chessgame?gid=1266597 Morphy v Owen, 1858. Chessgames.com]</ref> [[w:Gioachino Greco|Gioachino Greco]], 17th century chess author, published the earliest games in this line. He published two miniatures, one that gave a refutation to 1. e4 b6 2. d4 Bb7 3. Bd3 f5? and another where Black fianchettos both bishops.<ref>[https://www.chessgames.com/perl/chessgame?gid=1243022 Greco v NN, 1623. Chessgames.com]</ref><ref>[https://www.chessgames.com/perl/chessgame?gid=1271590 Greco v NN, 1623. Chessgames.com]</ref> Owen's defence is sometimes seen among club players. ==Theory table== {{ChessTable}} {{Chess/theory table |line1=2. d4 Bb7 3. Bd3 e6 4. Nf3 c5 |name1=Owen's defence }} {{ChessMid}} ==References== {{reflist}} === See also === {{Wikipedia|Owen's Defence}} {{NCO}} {{MCO14}} {{BCO2}} {{Chess Opening Theory/Footer}} pozzyhxstt45ajjr6olztvn9mruzjbl 4657019 4657017 2026-08-10T11:00:07Z JCrue 2226064 /* 1...b6 · Owen's defence */ 4657019 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Owen's defence |eco=[[Chess/ECOB|B00]] |parent=[[../|King's pawn opening]] }} == 1...b6 · Owen's defence == A very rare and uncommon response to the King's pawn game It may transpose to an English opening or other lines. It is offbeat in that Black allows White to play [[/2. d4|'''2. d4''']] and easily control the centre. Black usually fianchettos the light-squared bishop to b7, and may plan to assault White's big centre with ...c5. === History === 1...b6 is named after [[w:John Owen (chess player)|John Owen]] (1827―1901), an English vicar and chess master, who scored a surprise victory with it over [[w:Paul Morphy|Paul Morphy]] in 1858.<ref>[https://www.chessgames.com/perl/chessgame?gid=1266597 Morphy v Owen, 1858. Chessgames.com]</ref> [[w:Gioachino Greco|Gioachino Greco]], 17th century chess author, published the earliest games in this line. He published two miniatures, one that gave a refutation to 1. e4 b6 2. d4 Bb7 3. Bd3 f5? and another where Black fianchettos both bishops.<ref>[https://www.chessgames.com/perl/chessgame?gid=1243022 Greco v NN, 1623. Chessgames.com]</ref><ref>[https://www.chessgames.com/perl/chessgame?gid=1271590 Greco v NN, 1623. Chessgames.com]</ref> Owen's defence is sometimes seen among club players. ==Theory table== {{ChessTable}} {{Chess/theory table |line1=2. d4 Bb7 3. Bd3 e6 4. Nf3 c5 |name1=Owen's defence }} {{ChessMid}} ==References== {{reflist}} === See also === {{Wikipedia|Owen's Defence}} {{NCO}} {{MCO14}} {{BCO2}} {{Chess Opening Theory/Footer}} ok84h35fxwkmmi2jp37uofdcgkw0ney Classroom Management Theorists and Theories/William Glasser 0 125291 4656868 4583748 2026-08-09T22:30:30Z ShakespeareFan00 46022 4656868 wikitext text/x-wiki ==Theory Overview== ===Who is Glasser?=== Dr. William Glasser is an American psychiatrist and the developer of Reality Therapy and Choice Theory. Born in Cleveland, Ohio in 1925, he was educated at Case Western Reserve University, where he received a B.S. and M.A. in clinical psychiatry. In 1953, he received his M. D. and completed his residency at UCLA and the Veterans Administration Hospital of Los Angeles. He received numerous awards for his outstanding work. These awards include an honorary degree from the University of San Francisco in 1990. He also received the American Counseling Association’s Professional Development Award in 2003 and the ACA’s “A Legend in Counseling Award” in 2004. Dr. Glasser founded The Institute for Reality Therapy in 1967, which was later renamed The Institute for Control Theory, Reality Therapy and Quality Management in 1994. The name changed again in 1996 when it was renamed The William Glasser Institute. Dr. Glasser’s ideas are considered controversial by mainstream psychiatrists. Glasser’s ideas focus on personal choice, personal responsibility, and personal transformation, whereas his critics focus instead on classifying psychiatric syndromes and often prescribing psychotropic medications to treat mental disorders. Glasser is noted for applying his theories to broader social issues, including education, management, and marriage. He also advocated the consideration of mental health as a public health issue. By 1996, Glasser’s body of work, known as Control Theory, was renamed Choice Theory. The Control Theory, later named Choice Theory, states that a person’s behavior is inspired by what that person wants or needs at that particular time, not an outside stimulus. Glasser states that all living creatures control their behavior to fulfill their need for satisfaction in one or more of these five areas: survival, to belong and be loved by others, to have power and importance, freedom and independence, and to have fun.<ref>Retrieved from http://www.funderstanding.com/control_theory.cfm</ref> Every individual has the power to change their lives for the better based on the choices they make. A person can make the proper choices and take greater responsibility for their actions by asking themselves the following questions: * What do you want? * What are you doing to achieve what you want? * Is it working? * What are your plans or options?<ref>Quoted from(http://wik.ed.uiuc.edu/index.php/Control_Theory)</ref> ===Choice Theory At A Glance=== The Choice Theory - Found at the William Glasser Institute website: Reflective Journal Entry No. 1 1. Identify at least three indicators of consistent classroom management used by the teacher and how well was the teacher able to facilitate learning? To provide an answer to this question would fall next to impossible if Classroom Management and Classroom Management Indicator hang undefined. Classroom management is the process of managing and controlling the classroom environment. To ensure that teachers are able to get through to students in an effective and productive manner, without distractions or disruptive behavior, they use specific techniques. Classroom Management Indicators are used to measure the success that teachers have in managing their classroom and activities (Martin, 2005). Assuming what the source has presented comes with accuracy, classroom management indicators are somewhat like barometers made use of by the teachers to determine whether their strategy or two of keeping the students under a particular management are consistently operative or merely nominal. Overlooking the class from the backmost part of the classroom during the first day of classroom observation, it was virtually noticeable how the teacher underlined strategies to keep the students under an effective classroom management. Utter positive reinforcements were present. Frequent use of verbal reprimands was in the picture. Reward system, proper arrangement of chairs, individualized praises, oral recognition of misbehaviors and other common strategies were also observed. As you may have noticed, the list of strategies I detailed tends to come with quite of a length. But the number of strategies applied isn’t really a matter. What matters most is the efficiency and consistency of the technique being reinforced. To note, it has been said that “effective management is the key factor to a positive classroom environment” (Hue & Li, 2008). Consistency in reinforcing techniques of classroom management can be determined, I can tell, by at least three indicators. First, when students that constitute a class maximally involve themselves to work despite the variation of their interests, backgrounds, cultures and ideas, consistent classroom management is observably present. According to Oliver Clinton Moles (1990), classrooms are crowded and busy places in which group of students who vary in interests and abilities must be organized and directed in ways that maximize work involvement and minimize disruptions. Second, when misbehaving students of a class tend to conform their actions more often to rules and instructions set by the teacher and thus no longer misbehaving, consistent classroom management is keenly used. As any experienced teacher would say, one common fruit of effective management is the shift of students’ behavior. Third and last, when the entirety of classroom atmosphere seems to no longer need further management from the teacher, consistent classroom management is obviously present. Classroom management is basically a necessary conditioning practice done to keep the students moderated, properly propped and enabled to effectively learn. So simple logic will say when one classroom management exercise has truly been consistent and effective, all the moderation, proper propping and enabling no longer have to be done repeatedly. Using 2. What constitute a conducive learning physical learning environment? How can a teacher come up with a physical environment that is supportive of learning? 3. Why is establishing routines considered an effective practice in classroom management? 4. What routines can be established for an efficient and effective teaching-learning process? 5. To what extent does knowledge on the stages of development help the teacher in managing the class to have an effective teaching-learning? Journal 1- p.&nbsp;14 Journal 2 – p.&nbsp;8 Journal 3 – p.&nbsp;9 Journal 4 – p.&nbsp;16 Choice Theory® is the basis for all programs taught by the Institute. It states that all we do is behave, that almost all behavior is chosen, and that we are driven by our genes to satisfy five basic needs: survival, love and belonging, power, freedom and fun. In practice, the most important need is love and belonging, as closeness and connectedness with the people we care about is a requisite for satisfying all of the needs. Choice Theory (and the Seven Caring Habits) is offered to replace external control psychology (and the Seven Deadly Habits), the present psychology of almost all the people in the world. Unfortunately, this forcing, punishing psychology is destructive to relationships. When used in a relationship it will always destroy the ability of one or both to find satisfaction in that relationship, and will result in people becoming disconnected from those with whom they want to be connected. Disconnectedness is the source of almost all human problems, such as what is called mental illness, drug addiction, violence, crime, school failure, spousal and child abuse, to mention a few. The 1998 book, Choice Theory: A New Psychology of Personal Freedom, is the primary text for all that is taught by the Institute.<br> <br> <br> {{center/top}} '''Relationships and Our Habits''' <br> {| border="1" cellspacing="0" cellpadding="5" style="margin:0 auto;" ! '''Seven Caring Habits''' ! '''Seven Deadly habits''' |- |Supporting<br>Encouraging<br>Listening<br>Accepting<br>Trusting<br>Respecting<br>Negotiating differences | Criticizing<br>Blaming<br>Complaining<br>Nagging<br>Threatening<br>Punishing<br>Bribing or rewarding to control |} <br> <br> {{center/end}} '''The Ten Axioms of Choice Theory''' # The only person whose behavior we can control is our own. # All we can give another person is information. # All long-lasting psychological problems are relationship problems. # The problem relationship is always part of our present life. # What happened in the past has everything to do with what we are today, but we can only satisfy our basic needs right now and plan to continue satisfying them in the future. # We can only satisfy our needs by satisfying the pictures in our Quality World. # All we do is behave. # All behavior is Total Behavior and is made up of four components: acting, thinking, feeling and physiology. # All Total Behavior is chosen, but we only have direct control over the acting and thinking components. We can only control our feeling and physiology indirectly through how we choose to act and think. # All Total Behavior is designated by verbs and named by the part that is the most recognizable.<ref>Quoted and Retrieved from(http://www.wglasser.com/whatisct.htm.)</ref> ==Implementation== After looking through the Glasser's theory and models, what is the most effective way to learn about choice theory? What practical ways can we implement the Glasser’s Choice (Control) Theory (behavior results from one of five basic needs needing to be met) into a classroom? Here are a few examples for both Elementary and Secondary Levels. ===Elementary=== When deciding to use Choice Theory in an elementary classroom, teachers must share with their students that they have a say in what they learn and how they learn it. In order to have their “say” students must learn to make choices. In order to convey the message, a suggested way to teach the theory concept is by teaching through the use of skits or role-playing. William and Carleen Glasser have created a series of skits to assist teachers (although written for use basically in secondary schools) in teaching the theory. The skits help in teaching students about such concepts as building trust, making connections and responsible choices, making decisions, talking together, acquiring knowledge to using knowledge, authentic assessment, competency, getting along, caring and respecting, moving from external control to internal control, teaching Choice Theory to others and every student can succeed. Can these skits be adapted to teach younger, elementary aged students? It has been accomplished. As stated by Angela Ward, her suggestion for teaching the concepts in her second grade class would be to use the series by, “restructuring the skits by changing the amount of characters from five to four to account for her teams in her classroom.” In addition, she suggests, “by keeping the names consistent throughout, the students were able to each do a different skit and the audience could follow the story line.”<ref>Retrieved from http://www.wglasser.com/Teaching%20Choice%20Theory%20Through%20Skits.pdf</ref> In addition, Glasser shares what he believes are the Seven Caring Habits which includes: Supporting, Encouraging, Listening, Accepting, Trusting, Respecting, and Negotiating Differences and he shares his belief of the Seven Deadly Habits – Criticizing, Blaming, Complaining, Nagging, Threatening, Punishing, and Bribing or rewarding to control. To teach this in elementary schools a teacher could possibly borrow the ideas from Gail Edelman Small a teacher from Conejo Elementary School near Thousand Oaks, California. Students made creative representations to show the importance of choices. Three examples were: creating a “choice flower” – the petals on the flower were used to describe the things and people the student loved and what things or events made her feel “powerful and free.” A second example: a student created a book about her thoughts and feelings surrounding her choices. And a third example was a student who created posters of magazine cutouts about Glasser's idea of how seven caring and deadly habits make or break relationships.<ref>Retrieved from http://www.toacorn.com/news/2007/0531/Community/021.html</ref> ===Secondary (Middle and High School)=== Implementation of choice theory into secondary education would basically allow students the freedom of choice. Educators would only be supportive entities only to help the students make a better choice. Reaffirming that one can only control oneself would be the focus of teachers in this particular environment. Educators and students will recognize everyone’s basic needs and the necessity in fulfilling those needs in an environment that fosters caring and respect for all. Ensuring the students attain self-awareness and esteem to make better choices for themselves develops as a secondary goal. The primary goal of an educator is to prepare students for the “real world”. Real world skills that are needed are interpersonal skills and group problem solving. Secondary education would emphasize not blatant memorization but more on critical thinking skills and a problem-based learning. As in the real world, students are encouraged to seek help and help one another as necessary. Students will use all resources available, including parents, each other, texts, to demonstrate understanding. The grading system is based on competence and credit will be given only if competence is demonstrated (B). Student with an understanding above the competence level along with willingness to help others would earn an exemplary grade (A). The following Glasser skit can be modified for elementary level students. [[Classroom Management Theorist and Theories/William Glasser/Skits to Help High School Student Learn Choice Theory|Skits to Help High School Student Learn Choice Theory]] ==Critique== ===Support=== There are over twenty “Quality Schools” that have implemented William Glasser’s Choice Theory in their schools (William Glasser Institute, 2006). Many of the supporters of Glasser’s theory believe his ideas are revolutionary and at the same time contain a basic common sense philosophy. In Corning New York they have implemented "the Choice Community Project." Many different segments of this community are involved in this project: the senior center has a support group for women; the county jail has workshops for the inmates; one pastor has couples in pre-marriage counseling read about Glasser's philosophy; and workshops have been offered to community citizens, promoting their participation the project. Supporters of the community project have stated, ..."there are signs that Corning -- person by person, household by household -- is gradually becoming a kinder, gentler place" (Foderaro, 2002, 5). One superintendent involved with the “Quality Schools” in Corning indicated that his schools have had fewer suspensions since the project began (Foderaro, 2002). Additionally, despite the claim Glasser's Choice Theory is not supported by research, educator's research using Glasser's Choice theory with students has found student's learning and retention is increased as well as overall student satisfaction in the classroom. (Cooke, 1995; Martin, 1988). ===Disagreements=== William Glasser has written numerous books of which two are entitled, Defining mental Health as a Public Health Problem and Warning, Psychiatry Can be Hazardous to Your Health. These titles seem to directly challenge psychological and mental health professions. Some of these professionals have countered that Glasser's work has been an attempt to reinvent theories of other theorists such as “… Erich Fromm, the psychologist Abraham Maslow and the psychotherapist Carl Rogers“ (Foderaro, 2002, p.&nbsp;2). Dr. W. Thomas Bourbon, a Perceptual Control Theorist from Rochelle, Texas wrote a review of Edward E. Ford’s book, Discipline for Home and School, Book Two: Practical Standards for Schools (revised and expanded edition). In this review, Bourbon describes a chronological history comparing the work of Ford alongside the work of Glasser. Throughout his comparison of these theorists Bourbon challenges the credibility of Glasser's work. At one point in the review Bourbon states, "Does the material I have quoted from Glasser's web site seem to indicate that he (Glasser) has modified his personal beliefs in cause-effect to make them more compatible with PCT science? Are Glasser's assertions the same as PCT? You tell me" (Bourbon, n.d., 98 section, 2). Bourbon then refers to a lack of research supporting Glasser’s work, ... "it is a serious mistake to believe that a particular set of needs has been "scientifically proved" to be real" (Bourbon, n.d., 98 section, 10). ===Personal Reflections=== Dee's Reflection: <br> As I look through the information provided for Choice Theory and the five basic needs each person has and how this reflects in our behavior, I think of these things how they relate in my private life before I put this in context with students. I agree with the theory that Glasser has shared. I have always believed that each person has choices, and each choice has some sort of outcome or consequence that results from that particular choice. When I think about using the theory in my classroom, I believe it is something that I already stress to some degree. I often convey the message to my students that most everything that we do in class leaves room for choices. For example, they can choose to behave one way or another; they have a choice whether to complete classwork; they have a choice to ask for assistance when they’re struggling with something. In addition, I agree with the aspect of the theory that one behaves one way when a basic need is not met. For example, I had situations in my classroom where a behavior stemmed from a child wanting attention because there was a situation at home, which resulted in them possibly not feeling loved. Another example could be a student’s inappropriate behavior resulted from their need for “survival” when a skill was being introduced or reviewed because they “didn’t get it” and they were trying to downplay the lack of knowledge. On a personal standpoint, I know, myself, if my needs aren’t being met in some way, my reactions and “behavior” is not the norm. For example, if I don’t receive a hug from my son in the morning or after school, I tend to be a little grumpy. Another example, is if I don’t have my one cup of coffee in the morning, I am very lethargic in my mood and actions. I am in agreement with Glasser’s theory people always have control over their behavior and how the outcome for such choices or behavior will result. Randi's Reflection:<br> The Choice Theory reveals a manner of observing behavior and examining the needs of individuals that appeals to me. Through an examination of the criticisms of William Glasser’s Choice Theory there was a discovery of, and an interest found for, the Perceptual Control Theory. This new interest does not change the appeal of Glasser’s work, for me, it adds an extra added dimension to understanding “the why” of needs. Why do we have the needs we do? After reading Dr. Bourbon’s opinions and perceptions I was left wondering what got him so invested in his stance, seemingly against anything to do with Glasser. Personally I see both of these theories working hand in hand, I also believe there is room for both theories. Through my observations in life I have come to believe that … Everyone has choices everyday. Sometimes we are unaware we have or make these choices … by becoming aware … we become responsible not only for our choices but also to make these choices … consciously. We ALL have the choice about … how we feel … how we react … how we think … I believe that we ALWAYS have a choice … with everything … AND because of this choice we choose/create our reality. For do we not define reality through our thoughts and what we chose to believe. Tammy’s Reflection:<br> When researching Glasser’s theory of Choice Theory, at first it sounded a bit too abstract. Although we all seek to have our needs met, I had not considered that those needs drove our every decision. I had felt that when students acted out it was because of an outstanding source or for a need for attention, but now I see that there are other motives that drive our behavior. I found the ten axioms to be fairly solid for me. There is one that I have used many times but did not know where it came from, “You cannot control another person’s behavior just your response to that behavior.” I find that to be very true. Having learned the ideas from Glasser’s Choice Theory, I can now better evaluate why a student might be acting out and determine which of his needs are not being met. Val's Reflection:<br> After reviewing Glasser’s theory, I believe that many of my own personal beliefs mesh with his Choice Theory. I often tell my students that we cannot control what happens to us but we control how we choose to react. There are many hardships facing our students today, do we really want them to sit around and belly ache about how bad it is or do we want to help them take steps to improve their own situations. Choice theory does not allow ones environment to be an excuse but instead treats it as a learning opportunity. The path to becoming a responsible person is a tough one and it comes with facing problems and choosing the best way to learn from those problems. There is a need to feel we deserve better, the empowerment that develops with making one’s own decisions can only increase self-esteem. There will be mistakes but that is how problems are solved, by finding a solution. Ultimately the student’s choices determine what and how successful they will be. A personal area of improvement would be to have higher expectations for my students. I have high expectations for younger family members. In the current grading systems, I do not allow them to settle for a C. I have a friend who has observed this and asked me “Why is it okay for your students to have a C and not your nephew?” I didn’t have an answer. I feel this expectation should be relevant for everyone I care about and I have resolved to hold my students to this expectation as well. Although I might not be able to support my students as much as my own family but I feel this is an attainable goal and will strive to push my students toward it. Another expectation I would like to implement is that of helping one another, an exemplary grade can only be earned if the student chooses to help others. I believe this a very important life skill and plan to integrate it into future classes. ==References== Bibliography: <references/> <br> References:<br> Bourbon, T. W. (no date). ''Chapter 19 perceptual control theory, reality therapy, and the responsible thinking process.'' [Review of Chapter 19 of the book Discipline for home and school, book two: Practical standards for schools (revised and expanded edition)]. Responsible Thinking Process Retrieved June 15, 2007 from: http://www.responsiblethinking.com/PCT-Reality-Therapy-Book-Two-Chapter-19.htm.<br> <br> Cooke, B. (1995). A quality classroom: Quality teaching tools that facilitate student success. Paper presented at the Annual Meeting of the NISOD International Conference on Teaching Excellence (Austin, TX, May 23, 1995). <br> Foderaro, L.W. (2002). ''Corning by the book Utopian or Orwellian?'' The New York Times, Retrieved June 15, 2007 from:<br> http://query.nytimes.com/gst/fullpage.html?sec=health&res=9B0CE1DB1030F931A25754C0A9649C8B63 <br> International Association of Applied Control Theory (IAACT) ---http://www.iaact.com/<br> <br> Martin, W. (1988). ''Control theory: Applications to middle-level school environments.'' Paper presented at the Annual Meeting of the American educational research association (New Orleans, LA, 1998).<br> <br> Nelson, T. G. (2002). ''An Interview with William Glasser.'' Teacher Education Quarterly, Summer 2002, 93-98.<br> <br> Toso, R. B. (2000). ''Control Theory'', Principal Leadership (High School Ed.), 40-3. <br> William Glasser Institute. (2006). Quality schools. Retrieved June 15, 2007:<br> http://www.wglasser.com/quality.htm. ==Questions== What are the benefits of embracing Choice Theory by some schools, known as Quality Schools? How would you demonstrate a situation using Glasser's Choice Theory? {{BookCat}} sh9zjvh302jziysqh7h067oebzpncqo History of Mathematics/Early Math 0 128071 4656913 4652498 2026-08-10T06:53:35Z ShakespeareFan00 46022 4656913 wikitext text/x-wiki == Ancient Egypt == The Egyptian system employed hieroglyphs, shown in figure 1, in a manner similar to the later Roman numerals, that also allowed the Egyptians to describe fractions. While each symbol represents a power of 10, the Egyptian system did not have a base like modern number systems because the position of a digit within an Egyptian number didn't give you information about its value. The Egyptians would express numbers by drawing a given symbol as many times as was needed to describe the multiple it represented. Thus the number 2369 could be written as shown in figure 2. {|- |align="center" valign="bottom"| {| align="center" style="border: 1px solid #aaaaaa;" |<hiero>D21:Z1*Z1*Z1</hiero> |<math>= \frac{1}{3}</math> |- |<hiero>D21:V1*V1*V1-V20*V20:V20*Z1</hiero> |<math>= \frac{1}{331}</math> |- |<hiero>Aa13</hiero> |<math>= \frac{1}{2}</math> |- |<hiero>D22</hiero> |<math>= \frac{2}{3}</math> |- |<hiero>D23</hiero> |<math>= \frac{3}{4}</math> |} ''Figure 3: Fractions'' | {| width="100%" style="margin:0 auto;" |align="center"| {| style="border: 1px solid #aaaaaa;" width="100%" |- |align="center"|1 |align="center"|10 |align="center"|100 |align="center"|1,000 |align="center"|10,000 |align="center"|100,000 |align="center"|1 million, or<br>infinity |- |align="center"|<hiero>Z1</hiero> |align="center"|<hiero>V20</hiero> |align="center"|<hiero>V1</hiero> |align="center"|<hiero>M12</hiero> |align="center"|<hiero>D50</hiero> |align="center"|<hiero>I8</hiero> or <hiero>I7</hiero> |align="center"|<hiero>C11</hiero> |} ''Figure 1: Numeric Hieroglyphs'' |align="center"| {|style="border: 1px solid #aaaaaa;" |<hiero>Z1-Z1-Z1-V20-V20-V1-M12-!-Z1-Z1-Z1-V20-V20-V1-M12-!-Z1-Z1-Z1-V20-V20-V1</hiero> |} ''Figure 2: 2369'' |} Fractions were described using a symbol that looks somewhat like a mouth. This symbol would be placed over a set of glyphs that described a whole number, and thus obtain a unit fraction. Other rational numbers would be described using a sum of unit fractions, however, egyptians would "round-off" rational numbers by not considering more than 6 unit fractions. There were special glyphs for ½, ⅔, and ¾, and numbers could be written phonetically, much as we can write nine instead of 9, but rarely did this occur for numbers other than 1 or 2. Some examples are given in figure 3. The Egyptians used glyphs that looked like a pair of legs to show addition and subtraction. Depending on the direction of the "feet" and the flow of the text, the symbols showed which operation was being performed; flowing into the text meant addition, otherwise subtraction. {|width="80%" style="margin: auto;" |align="center" style="border: 1px solid #aaaaaa;"|<hiero>D54-and-D55</hiero> |align="center" style="border: 1px solid #aaaaaa;"|<hiero>Z1-Z1-V1-!-Z1-Z1-V20</hiero> <hiero>D54</hiero> <hiero>Z1-Z1-Z1-V20-!-Z1-Z1- -V20</hiero> |align="center" style="border: 1px solid #aaaaaa;"|<hiero>D21:Z1*Z1*V20</hiero> <hiero>D55</hiero> <hiero>Aa13</hiero> |- |align="center"|''Figure 4: Add & Subtract'' |align="center"|''Figure 5: 114 - 25'' |align="center"|''Figure 6: 7/12ths'' |} |} Multiplication was done by employing a form of what we now call binary arithmetic. The multiplicand would be written next to the glyph 1, then the multiplicand would be doubled and written next to the glyph 2. Then both numbers would be doubled and this process would be continued until the glyph was at or greater half the value of the multiplier. Finally, the glyphs would be subtracted from the multiplier, while the corresponding multiplicands would be added together. Thus, an example of multiplying <math>12 \times 13</math>: <center> {|style="border: 1px solid #aaaaaa;" width="80%" |- |align="center"| {|cellpadding=5| |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1</hiero> |12 - 1 |- |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-V20-!-Z1-Z1-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1</hiero> |24 - 2 |- |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-Z1-Z1-V20-V20-!-Z1-Z1-Z1-Z1-V20-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-!-Z1-Z1</hiero> |48 - 4 |- |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-Z1-V20-V20-V20-!-Z1-Z1-Z1-V20-V20-V20-!-V20-V20-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-Z1-!-Z1-Z1-Z1-!-Z1-Z1</hiero> |96 - 8 |} |align="center"| {| | &nbsp; | &nbsp; |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-V20-V20-V20-!-Z1-Z1-Z1-V20-V20-V20-!-V20-V20-V20</hiero> 96 |align="center" valign="bottom"|<hiero>D55</hiero> + |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-Z1-V20-V20-!-Z1-Z1-Z1-Z1-V20-V20</hiero> 48 |align="center" valign="bottom"|<hiero>D55</hiero> + |align="center" valign="bottom"|<hiero>Z1-Z1-V20</hiero> 12 |align="center" valign="bottom"|<math> = </math> <hiero>Z1-Z1-V20-V20-V1-!-Z1-Z1-V20-V20</hiero> 156 |- |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-V20-</hiero> 13 |align="center" valign="bottom"|<hiero>D54</hiero> - |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-!-Z1-Z1-Z1-!-Z1-Z1</hiero> 8 |align="center" valign="bottom"|<hiero>D54</hiero> - |align="center" valign="bottom"|<hiero>Z1-Z1-!-Z1-Z1</hiero> 4 |align="center" valign="bottom"|<hiero>D54</hiero> - |align="center" valign="bottom"|<hiero>Z1</hiero> 1 | &nbsp; |} |} ''Figure 7: Egyptian Multiplication of 12 by 13'' </center> === Rhind papyrus === [[Image:Egyptian A'h-mosè or Rhind Papyrus (1065x1330).png|right|thumb|200px|A portion of the Rhind Papyrus]] Much of our understanding of Egyptian mathematics comes from the deciphering of a few papyri that were actually written in hieratic script. The most famous such papyrus is the Rhind Mathematical Papyrus, which dates from about 1650 BC, but its author, Ahmes, identifies it as a copy of an older Middle Kingdom papyrus. The Rhind papyrus contains 84 word problems, and a table of 101 Egyptian fraction expansions for numbers of the form 2/n. It also includes formulas and methods for the addition, subtraction, multiplication and division of sums of unit fractions, and contains evidence of other mathematical knowledge, including arithmetic, geometric and harmonic means; composite and prime numbers; and simplistic understandings of both the Sieve of Eratosthenes and perfect number theory. It also shows how to solve first order linear equations as well as summing arithmetic and geometric series. An example of these word problems, asks the reader to find x and a fraction of x such that the sum of x and its fraction equals a given integer. Problem #24 from the papyrus asks the reader "A quantity added to a quarter of that quantity become 15. What is the quantity?" In modern notation the problem is to solve x + x/4 = 15. The problem is worked out by guessing that x = 4, which will remove the fraction from the problem. With x = 4, x + x/4 = 5, which is not the correct answer, however 5 x 3 = 15, so, 4 x 3 = 12 = x, which is correct. Some historians believe that the method was to divide x into 4 equal pieces, ie x = 4y, so that the solver could find the number of these pieces required to equal 15, being 5, or 4y + 4y/4 = 4y + y = 5y = 15. Thus the size of each piece is 3, being 4 of them to make x, x = 12. === Moscow papyrus === The Moscow Mathematical Papyrus is an ancient Egyptian mathematical papyrus, also called the Golenishchev Mathematical Papyrus, after its first owner, Egyptologist Vladimir Golenishchev. Golenishchev bought the papyrus in 1892 or 1893 in Thebes. It later entered the collection of the Pushkin State Museum of Fine Arts in Moscow, where it remains today. Based on the palaeography and orthography of the hieratic text, the text was most likely written down in the 13th dynasty and based on older material probably dating to the Twelfth dynasty of Egypt, roughly 1850 BC. Approximately 18 feet long and varying between 1½ and 3 inches wide, its format was divided into 25 problems with solutions by the Soviet Orientalist Vasily Vasilievich Struve in 1930. It is a well-known mathematical papyrus along with the Rhind Mathematical Papyrus. The Moscow Mathematical Papyrus is older than the Rhind Mathematical Papyrus, while the latter is the larger of the two. === Berlin papyrus === The Berlin papyrus, written around 1300 BC, shows that ancient Egyptians had solved two second-order, one unknown, equations that some have called Diophantine equations. The Berlin method for solving x2 + y2 = 100 has not been confirmed in a second hieratic text, though it has been confirmed by a second Berlin Papyrus problem. == Mesopotamia == Another ancient people with respectable mathematics were the peoples of Mesopotamia. From the time of the Sumerians until the fall of Babylon, the mathematics used by these people is referred to as Babylonian mathematics. We know much about these peoples capabilities from several hundred clay tablets that have been uncovered since the mid-nineteenth century. === Arithmetic === [[Image:Babylonian_numerals.jpg|right|thumb|300px|Figure 1: Babylonian Numerals]]Babylonian mathematics was based on a sexagesimal numeral system, and unlike the Egyptians, they employed a place value system to describe numbers larger than 59. Individual digits were described using a sub-base-ten system, where a "<" would be used to describe the value of what we would call the "tens" place, and a "Y" would describe the "ones" place. So the number 12 could be written <YY and the number 31 would be <<<Y, see figure 1. Also, a number such as 82 would be written Y<<YY; Y or 1 for the high order digit, <<YY or 22 in the lower order digit. The Babylonians did not initially have a figure to represent the number 0, and simply assumed the idea of zero to simply be the lack of a number. Thus, a number like 364, which would be 1,0,4 in sexagesimal, would be Y YYYY. Note the space, which later would be replaced by a place holder and would be the only approximation to zero the Babylonians ever bothered to use. To simplify writing sexagesimal numbers using modern Arabic numerals, places are often separated by a comma, and a decimal place described by a semicolon, thus the number 398.44 would be written 6,38;44. To convert from decimal to sexagesimal, divide the number by the highest sexagesimal place value that will go into the number, then repeat with the remainder. (7299 → 20 × 360 + 99 → 20 × 360 + 1 × 60 + 39 → 7299 = 20,1,39) For multiplication, the Babylonians used tables of squares and the equation <math>ab = \frac{(a + b)^2 - a^2 - b^2}{2}</math> or <math>ab = \frac{(a + b)^2 - (a - b)^2}{4}</math> Thus, to find 9 x 3, a babylonian could find the squares of 9 + 3 (12) and 9 - 3 (6), or 144 and 36, respectively, subtract the smaller from the larger 144 - 36, or 108, and take a fourth of this number, 27. To perform division, a table of reciprocals was used, basing the method on the fact that <math>a/b = a\times1/b</math>. An example of 144/6, using sexagesimal notation (1,14/6): <math>\frac{2,14}{6} = 2,14\times;6 = \frac{(2,14 + ;6)}{hi}</math> === Algebra === === Geometry === ==== Pythagrean Theorem ==== == Ancient India == In India lot of Jain granth (Scriptures) contain complicated mathematics. Those books are very old and contains all forms of mathematics. It will be a great help to world of Mathematics if some body do the proper study of Jain Books which contains mathematics. == Review == == Questions == {{TOCThe_history_of_mathematics}} {{BookCat}} kwlpm3678nnu8s3atzszh1vs0c2pdnd 4656914 4656913 2026-08-10T06:54:08Z ShakespeareFan00 46022 4656914 wikitext text/x-wiki == Ancient Egypt == The Egyptian system employed hieroglyphs, shown in figure 1, in a manner similar to the later Roman numerals, that also allowed the Egyptians to describe fractions. While each symbol represents a power of 10, the Egyptian system did not have a base like modern number systems because the position of a digit within an Egyptian number didn't give you information about its value. The Egyptians would express numbers by drawing a given symbol as many times as was needed to describe the multiple it represented. Thus the number 2369 could be written as shown in figure 2. {|- |align="center" valign="bottom"| {| align="center" style="border: 1px solid #aaaaaa;" |<hiero>D21:Z1*Z1*Z1</hiero> |<math>= \frac{1}{3}</math> |- |<hiero>D21:V1*V1*V1-V20*V20:V20*Z1</hiero> |<math>= \frac{1}{331}</math> |- |<hiero>Aa13</hiero> |<math>= \frac{1}{2}</math> |- |<hiero>D22</hiero> |<math>= \frac{2}{3}</math> |- |<hiero>D23</hiero> |<math>= \frac{3}{4}</math> |} ''Figure 3: Fractions'' | {| width="100%" style="margin:0 auto;" |align="center"| {| style="border: 1px solid #aaaaaa;" width="100%" |- |align="center"|1 |align="center"|10 |align="center"|100 |align="center"|1,000 |align="center"|10,000 |align="center"|100,000 |align="center"|1 million, or<br>infinity |- |align="center"|<hiero>Z1</hiero> |align="center"|<hiero>V20</hiero> |align="center"|<hiero>V1</hiero> |align="center"|<hiero>M12</hiero> |align="center"|<hiero>D50</hiero> |align="center"|<hiero>I8</hiero> or <hiero>I7</hiero> |align="center"|<hiero>C11</hiero> |} ''Figure 1: Numeric Hieroglyphs'' |align="center"| {|style="border: 1px solid #aaaaaa;" |<hiero>Z1-Z1-Z1-V20-V20-V1-M12-!-Z1-Z1-Z1-V20-V20-V1-M12-!-Z1-Z1-Z1-V20-V20-V1</hiero> |} ''Figure 2: 2369'' |} Fractions were described using a symbol that looks somewhat like a mouth. This symbol would be placed over a set of glyphs that described a whole number, and thus obtain a unit fraction. Other rational numbers would be described using a sum of unit fractions, however, egyptians would "round-off" rational numbers by not considering more than 6 unit fractions. There were special glyphs for ½, ⅔, and ¾, and numbers could be written phonetically, much as we can write nine instead of 9, but rarely did this occur for numbers other than 1 or 2. Some examples are given in figure 3. The Egyptians used glyphs that looked like a pair of legs to show addition and subtraction. Depending on the direction of the "feet" and the flow of the text, the symbols showed which operation was being performed; flowing into the text meant addition, otherwise subtraction. {|width="80%" style="margin: auto;" |align="center" style="border: 1px solid #aaaaaa;"|<hiero>D54-and-D55</hiero> |align="center" style="border: 1px solid #aaaaaa;"|<hiero>Z1-Z1-V1-!-Z1-Z1-V20</hiero> <hiero>D54</hiero> <hiero>Z1-Z1-Z1-V20-!-Z1-Z1- -V20</hiero> |align="center" style="border: 1px solid #aaaaaa;"|<hiero>D21:Z1*Z1*V20</hiero> <hiero>D55</hiero> <hiero>Aa13</hiero> |- |align="center"|''Figure 4: Add & Subtract'' |align="center"|''Figure 5: 114 - 25'' |align="center"|''Figure 6: 7/12ths'' |} |} Multiplication was done by employing a form of what we now call binary arithmetic. The multiplicand would be written next to the glyph 1, then the multiplicand would be doubled and written next to the glyph 2. Then both numbers would be doubled and this process would be continued until the glyph was at or greater half the value of the multiplier. Finally, the glyphs would be subtracted from the multiplier, while the corresponding multiplicands would be added together. Thus, an example of multiplying <math>12 \times 13</math>: {{center/top}} {|style="border: 1px solid #aaaaaa;" width="80%" |- |align="center"| {|cellpadding=5| |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1</hiero> |12 - 1 |- |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-V20-!-Z1-Z1-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1</hiero> |24 - 2 |- |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-Z1-Z1-V20-V20-!-Z1-Z1-Z1-Z1-V20-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-!-Z1-Z1</hiero> |48 - 4 |- |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-Z1-V20-V20-V20-!-Z1-Z1-Z1-V20-V20-V20-!-V20-V20-V20</hiero> |style="border: 1px solid #cccccc;"|<hiero>Z1-Z1-Z1-!-Z1-Z1-Z1-!-Z1-Z1</hiero> |96 - 8 |} |align="center"| {| | &nbsp; | &nbsp; |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-V20-V20-V20-!-Z1-Z1-Z1-V20-V20-V20-!-V20-V20-V20</hiero> 96 |align="center" valign="bottom"|<hiero>D55</hiero> + |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-Z1-V20-V20-!-Z1-Z1-Z1-Z1-V20-V20</hiero> 48 |align="center" valign="bottom"|<hiero>D55</hiero> + |align="center" valign="bottom"|<hiero>Z1-Z1-V20</hiero> 12 |align="center" valign="bottom"|<math> = </math> <hiero>Z1-Z1-V20-V20-V1-!-Z1-Z1-V20-V20</hiero> 156 |- |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-V20-</hiero> 13 |align="center" valign="bottom"|<hiero>D54</hiero> - |align="center" valign="bottom"|<hiero>Z1-Z1-Z1-!-Z1-Z1-Z1-!-Z1-Z1</hiero> 8 |align="center" valign="bottom"|<hiero>D54</hiero> - |align="center" valign="bottom"|<hiero>Z1-Z1-!-Z1-Z1</hiero> 4 |align="center" valign="bottom"|<hiero>D54</hiero> - |align="center" valign="bottom"|<hiero>Z1</hiero> 1 | &nbsp; |} |} ''Figure 7: Egyptian Multiplication of 12 by 13'' {{center/end}} === Rhind papyrus === [[Image:Egyptian A'h-mosè or Rhind Papyrus (1065x1330).png|right|thumb|200px|A portion of the Rhind Papyrus]] Much of our understanding of Egyptian mathematics comes from the deciphering of a few papyri that were actually written in hieratic script. The most famous such papyrus is the Rhind Mathematical Papyrus, which dates from about 1650 BC, but its author, Ahmes, identifies it as a copy of an older Middle Kingdom papyrus. The Rhind papyrus contains 84 word problems, and a table of 101 Egyptian fraction expansions for numbers of the form 2/n. It also includes formulas and methods for the addition, subtraction, multiplication and division of sums of unit fractions, and contains evidence of other mathematical knowledge, including arithmetic, geometric and harmonic means; composite and prime numbers; and simplistic understandings of both the Sieve of Eratosthenes and perfect number theory. It also shows how to solve first order linear equations as well as summing arithmetic and geometric series. An example of these word problems, asks the reader to find x and a fraction of x such that the sum of x and its fraction equals a given integer. Problem #24 from the papyrus asks the reader "A quantity added to a quarter of that quantity become 15. What is the quantity?" In modern notation the problem is to solve x + x/4 = 15. The problem is worked out by guessing that x = 4, which will remove the fraction from the problem. With x = 4, x + x/4 = 5, which is not the correct answer, however 5 x 3 = 15, so, 4 x 3 = 12 = x, which is correct. Some historians believe that the method was to divide x into 4 equal pieces, ie x = 4y, so that the solver could find the number of these pieces required to equal 15, being 5, or 4y + 4y/4 = 4y + y = 5y = 15. Thus the size of each piece is 3, being 4 of them to make x, x = 12. === Moscow papyrus === The Moscow Mathematical Papyrus is an ancient Egyptian mathematical papyrus, also called the Golenishchev Mathematical Papyrus, after its first owner, Egyptologist Vladimir Golenishchev. Golenishchev bought the papyrus in 1892 or 1893 in Thebes. It later entered the collection of the Pushkin State Museum of Fine Arts in Moscow, where it remains today. Based on the palaeography and orthography of the hieratic text, the text was most likely written down in the 13th dynasty and based on older material probably dating to the Twelfth dynasty of Egypt, roughly 1850 BC. Approximately 18 feet long and varying between 1½ and 3 inches wide, its format was divided into 25 problems with solutions by the Soviet Orientalist Vasily Vasilievich Struve in 1930. It is a well-known mathematical papyrus along with the Rhind Mathematical Papyrus. The Moscow Mathematical Papyrus is older than the Rhind Mathematical Papyrus, while the latter is the larger of the two. === Berlin papyrus === The Berlin papyrus, written around 1300 BC, shows that ancient Egyptians had solved two second-order, one unknown, equations that some have called Diophantine equations. The Berlin method for solving x2 + y2 = 100 has not been confirmed in a second hieratic text, though it has been confirmed by a second Berlin Papyrus problem. == Mesopotamia == Another ancient people with respectable mathematics were the peoples of Mesopotamia. From the time of the Sumerians until the fall of Babylon, the mathematics used by these people is referred to as Babylonian mathematics. We know much about these peoples capabilities from several hundred clay tablets that have been uncovered since the mid-nineteenth century. === Arithmetic === [[Image:Babylonian_numerals.jpg|right|thumb|300px|Figure 1: Babylonian Numerals]]Babylonian mathematics was based on a sexagesimal numeral system, and unlike the Egyptians, they employed a place value system to describe numbers larger than 59. Individual digits were described using a sub-base-ten system, where a "<" would be used to describe the value of what we would call the "tens" place, and a "Y" would describe the "ones" place. So the number 12 could be written <YY and the number 31 would be <<<Y, see figure 1. Also, a number such as 82 would be written Y<<YY; Y or 1 for the high order digit, <<YY or 22 in the lower order digit. The Babylonians did not initially have a figure to represent the number 0, and simply assumed the idea of zero to simply be the lack of a number. Thus, a number like 364, which would be 1,0,4 in sexagesimal, would be Y YYYY. Note the space, which later would be replaced by a place holder and would be the only approximation to zero the Babylonians ever bothered to use. To simplify writing sexagesimal numbers using modern Arabic numerals, places are often separated by a comma, and a decimal place described by a semicolon, thus the number 398.44 would be written 6,38;44. To convert from decimal to sexagesimal, divide the number by the highest sexagesimal place value that will go into the number, then repeat with the remainder. (7299 → 20 × 360 + 99 → 20 × 360 + 1 × 60 + 39 → 7299 = 20,1,39) For multiplication, the Babylonians used tables of squares and the equation <math>ab = \frac{(a + b)^2 - a^2 - b^2}{2}</math> or <math>ab = \frac{(a + b)^2 - (a - b)^2}{4}</math> Thus, to find 9 x 3, a babylonian could find the squares of 9 + 3 (12) and 9 - 3 (6), or 144 and 36, respectively, subtract the smaller from the larger 144 - 36, or 108, and take a fourth of this number, 27. To perform division, a table of reciprocals was used, basing the method on the fact that <math>a/b = a\times1/b</math>. An example of 144/6, using sexagesimal notation (1,14/6): <math>\frac{2,14}{6} = 2,14\times;6 = \frac{(2,14 + ;6)}{hi}</math> === Algebra === === Geometry === ==== Pythagrean Theorem ==== == Ancient India == In India lot of Jain granth (Scriptures) contain complicated mathematics. Those books are very old and contains all forms of mathematics. It will be a great help to world of Mathematics if some body do the proper study of Jain Books which contains mathematics. == Review == == Questions == {{TOCThe_history_of_mathematics}} {{BookCat}} g0da66nrjstahhsxli5hdlr4xxaf36i User:Damërung 2 129555 4656836 4652513 2026-08-09T21:20:46Z ShakespeareFan00 46022 4656836 wikitext text/x-wiki {| style="border: solid 13px #60D1F4; background-color: none; margin:0 auto;" | width="800px" | {| style="border: solid 4px #0E89AE; color: #CFED7F; background-color: none; font-size:120%;font-family:Verdana; margin: auto;" | [[Image:Wikibooks-logo.svg|60px]] || '''Main Information''' |} {| style="border: solid 4px #0E89AE; color: #C58F9F; background-color: #B3B6B7; font-size:12pt;margin:0 auto;" | width="512px" align="center" |'''Fundation''' {{User Wikipedia}} <div style="clear:both;"></div> |- | width="512px" align="center" |'''Babel''' {{user language|es|N}} {{user language|en|3}} {{user language|ru|1}} |} |} [[es:User:Damërung]] h2vvzv7ms815q0bzx4xx83qfnwkvub1 User:Reece/Main Page 2 129615 4656979 4591544 2026-08-10T08:22:55Z ShakespeareFan00 46022 4656979 wikitext text/x-wiki {{center/top}} {| border="0" width="98%" style="border:3px solid #aaa; background:#fcfcfc; margin-bottom:10px" | <div style="margin-bottom: 0.4em;text-align: center; font-size: 19px;"><br>'''Welcome to [[Wikibooks]] &ndash; the collection of free textbooks that anyone can edit.'''</div><div style="margin-bottom: 1.8em; 3%;text-align:center; font-size:98%"> Wikibooks has [[Special:Statistics|{{NUMBEROFARTICLES}}]] pages of content in a multitude of books.</div> |} {{center/end}} <div style="clear:both;"> <p style="font-variant: small-caps; text-align: center; margin-top: 0; margin-bottom:.2em; font-size: 105%;"> [[Wikibooks:Bulletin board|Bulletin Board]] · [[Wikibooks:Staff lounge|Staff lounge]] · [[Wikibooks:Community Portal|Community Portal]] · [[Special:CategoryTree|Categories]] · [[Help:Contents|Help]]<br>If you're an instructor planning on using Wikibooks for a class project, please read our [[Wikibooks:Guidelines for class projects|guidelines for class projects]].</p> {| style="border: 0; background-color: #ffffff" cellpadding="0" cellspacing="10" | style="width: 50%; vertical-align: top; border:1px solid #8898BF; background-color: #F0F5FF" |<div style="background-color:#A8D3FF; font-size:1px; height:8px; border-bottom:1px solid #8898BF;"></div> {{/Introduction}} | style="width: 50%; vertical-align: top; border:1px solid #D8BC6C; background-color: #fff4d5" | <div style="background-color:#FAD97D; font-size:1px; height:8px; border-bottom:1px solid #D8BC6C;"></div> {{/Featured}} |- | colspan="2" style="border:1px solid #97BF87; background-color: #F0FFF3" | <div style="background-color:#AADDAA; font-size:1px; height:8px; border-bottom:1px solid #97BF87;"></div> {{/Bookshelves}} |- | colspan="2" style="border:1px solid #aaa; background-color: #F5F5F5;" | <div style="background-color:#E0E0E0; font-size:1px; height:8px; border-bottom:1px solid #aaa;"></div> {{/Sister projects}} |} </div> qymes4acia9wrlst5rxsqpt48o805vc User:Phoenix-wiki 2 138090 4656855 4650796 2026-08-09T22:11:12Z ShakespeareFan00 46022 4656855 wikitext text/x-wiki {|width="100%" border="0" cellspacing="4" cellpadding="1" style="border:2px solid Silver;margin-bottom:4px;" <!-- -------------------------------------------------------------------------------- --> <!-- BEGIN LEVEL 1 <!-- -------------------------------------------------------------------------------- --> |- |width="50%" bgcolor="Silver"| {|width="100%" border="0" cellspacing="2" cellpadding="0" style="background:transparent;" style="background:transparent;" |- !width="100%"| '''About me''' |} |width="50%" bgcolor="Silver"| {|width="100%" border="0" cellspacing="2" cellpadding="0" style="background:transparent;" |- !width="100%"| '''Contact information''' |} |- |valign="top" bgcolor="#FFFFFF"| <div style="padding:1em;text-align:left;text-align:left;font-weight:normal;font-size:95%;color:#000000;"> My username is '''Phoenix-wiki'''. I live in <span class="plainlinks">[[Wikipedia:County Mayo|<span style="color: #002bb8;">County Mayo</span>]]</span>, <span class="plainlinks">[[Wikipedia:Ireland|<span style="color: #002bb8;">Ireland</span>]]</span> and I discovered wikipedia in early 2007. I decided to create an acount and get involved on 27<sup>th</sup> July 2007 and since then I've created accounts on other wikimedia projects. </div> |valign="center" bgcolor="#FFFFFF"| <div style="padding:1em;text-align:left;text-align:left;font-weight:normal;font-size:95%;color:#000000;"> You can contact me via: *[[User talk:Phoenix-wiki|My talk page]] *[[Special:Emailuser/Phoenix-wiki|Email]] *<span class="plainlinks">[irc://irc.freenode.net/wikimedia <span style="color: #002bb8;">Wikimedia IRC channel</span>]</span> </div> <!-- --------------------------------------------------------------------------- --> <!-- BEGIN LEVEL 3 <!-- --------------------------------------------------------------------------- --> |- |width="100%" colspan="2" bgcolor="Silver"| |- |width="100%" colspan="2" bgcolor="Silver"| {|width="100%" border="0" cellspacing="2" cellpadding="0" style="background:transparent;" style="background:transparent;" |- !width="100%"| '''Other accounts''' |} |- |valign="top" colspan="2" bgcolor="#FFFFFF"| <div style="padding:1em;text-align:left;text-align:left;font-weight:normal;font-size:95%;color:#000000;"> <div style="margin-top:-3px; margin-bottom:0.5em; text-align:center; font-size:98%; vertical-align:bottom;"><span class="plainlinks"><span style="color: #002bb8;"> [http://meta.wikimedia.org/wiki/User:Phoenix-wiki Meta]&nbsp;· [http://en.wikipedia.org/wiki/User:Phoenix_15 Wikipedia]&nbsp;· [http://commons.wikimedia.org/wiki/User:Phoenix-wiki Commons]&nbsp;· [http://en.wikibooks.org/wiki/User:Phoenix-wiki Wikibooks]&nbsp;· [http://en.wiktionary.org/wiki/User:Phoenix-wiki Wiktionary]&nbsp;· [http://en.wikisource.org/wiki/User:Phoenix-wiki Wikisource]&nbsp;· [http://en.wikiquote.org/wiki/User:Phoenix-wiki Wikiquote]&nbsp;· [http://en.wikiversity.org/wiki/User:Phoenix-wiki Wikiversity]&nbsp;· [http://en.wikinews.org/wiki/User:Phoenix-wiki Wikinews]&nbsp;· [http://species.wikimedia.org/wiki/User:Phoenix-wiki Wikispecies] </span></span></div> </div> |} 1fh879symxyb4ubudhrl4pedphdlxc6 User talk:Pan1987 3 139315 4656998 3099269 2026-08-10T08:39:19Z ShakespeareFan00 46022 4656998 wikitext text/x-wiki {{center/top}} {|cellpadding="3" cellspacing="0" style="margin:5px; border:1px solid; background:#efefef; {{Text default color}};" width="750" |- |style="background:Yellow;" align=center| <big><span style="color: Black;"> 我甚少會檢查這個頁面,請移至[[w:zh:User talk:Pan1987]]留言。<br> I seldem check this page, please move to [[w:zh:User talk:Pan1987]]. </span></big> |} {{center/end}} kvdgx70s7ze7yf60tz4m9yzt9osd5ed Wikibooks:Reading room/Administrative Assistance 4 140081 4656968 4656670 2026-08-10T08:10:27Z ArchiverBot 1227662 Bot: Archiving 1 thread (older than 14 days) to [[Wikibooks:Reading room/Administrative Assistance/Archives/2026/July]] 4656968 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Elearningandearning reported by MathXplore == * {{userlinks|Elearningandearning}} Spam <!-- USERREPORTED:/Elearningandearning/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:06, 29 July 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:49, 29 July 2026 (UTC) == Starlium reported by MathXplore == * {{userlinks|Starlium}} Long-term abuse. Cross-wiki abuse. [[Special:CentralAuth/Wahyu_Saputraa]], [[:w:id:Wikipedia:Investigasi pengguna siluman/Wahyu Saputraa]] <!-- USERREPORTED:/Starlium/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 29 July 2026 (UTC) : Globally locked by a steward. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:48, 29 July 2026 (UTC) == Aranyaresidency reported by MathXplore == * {{userlinks|Aranyaresidency}} Link spam, [[Special:AbuseLog/314920]] <!-- USERREPORTED:/Aranyaresidency/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:25, 31 July 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:33, 31 July 2026 (UTC) == Permata55 reported by MathXplore == * {{userlinks|Permata55}} Spam <!-- USERREPORTED:/Permata55/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 07:33, 1 August 2026 (UTC) : Already globally locked by a steward. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:23, 2 August 2026 (UTC) == Birdsjungle reported by MathXplore == * {{userlinks|Birdsjungle}} Link spam, [[Special:AbuseLog/314940]] <!-- USERREPORTED:/Birdsjungle/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:21, 3 August 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:02, 3 August 2026 (UTC) == Uniquehairgro reported by MathXplore == * {{userlinks|Uniquehairgro}} Spam <!-- USERREPORTED:/Uniquehairgro/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 4 August 2026 (UTC) :{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:46, 4 August 2026 (UTC) == Jerinjebin reported by MathXplore == * {{userlinks|Jerinjebin}} Link spam, [[Special:AbuseLog/314965]] <!-- USERREPORTED:/Jerinjebin/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:38, 5 August 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:39, 5 August 2026 (UTC) == Nokiya23 reported by MathXplore == * {{userlinks|Nokiya23}} Link spam, [[Special:AbuseLog/315040]] <!-- USERREPORTED:/Nokiya23/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:36, 7 August 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:51, 7 August 2026 (UTC) 7prpcm0b15iswlzwg84dkum1yii20d4 The World of Peer-to-Peer (P2P)/What is Peer-to-Peer (P2P)/Legal Perspective 0 141120 4656897 4646236 2026-08-10T06:40:57Z ShakespeareFan00 46022 4656897 wikitext text/x-wiki == From a Legal Perspective == <noinclude>{{TOC right}}</noinclude> The most commonly shared files on such networks are mp3 files of popular music and DivX movie files. This has led many observers, including most media companies and some peer-to-peer advocates, to conclude that these networks pose grave threats to the business models of established media companies. Consequently, peer-to-peer networks have been targeted by industry trade organizations such as the RIAA and MPAA as a potential threat. The Napster service was shut down by an RIAA lawsuit; both groups the RIAA and MPAA spend large amounts of money attempting to lobby lawmakers for legal restrictions. The most extreme manifestation of these efforts to date (as of January, 2003) has been a bill introduced by California Representative Berman, which would grant copyright holders the legal right to break into computer systems believed to be illegally distributing copyrighted material, and to subvert the operation of peer-to-peer networks. The bill was defeated in committee in 2002, but Rep. Berman has indicated that he will reintroduce it during the 2003 sessions. As attacks from Media companies expand the networks have seemed to adapt at a quick pace and have become technologically more difficult to dismantle. This has caused the users of such systems to become targets . Some have predicted that open networks may give way to closed, encrypted ones where the identity of the sharing party is not known by the requesting party. Other trends towards immunity from media companies seem to be in wireless ad hoc networks where each device is connected in a true peer-to-peer sense to those in the immediate vicinity. While historically P2P file sharing has been used to illegally distribute copyrighted materials (like music, movies, and software), future P2P technologies will certainly evolve and be used to improve the legal distribution of materials. {{TODO|..."IP addresses are an identifier used to locate a particular network interface on the Internet. Be this a router, a PC, Mac, PDA, mobile phone or otherwise (with modules capable of utilizing one ranging to the size of a finger nail). IP addresses are not proof that a particular TYPE (PC running Windows, Linux or other free software, PDA, mobile phone, etc.) of computer hardware was used in the transmission. Nothing about this hardware can be *assumed*, and also nothing about the users IF ANY, of this hardware. So, I define my second point, which is that these electronic devices (of the types I listed above) may be operated without regard to physical location or the actual OWNER of the IP address." in [http://recordingindustryvspeople.blogspot.pt/2005/12/patricia-santangelo-files-answer.html "Patricia Santangelo files Answer, Demands Trial by Jury"]... }} As it should be obvious by now the problem P2P technologies create to the owner of the content, to the control of the distribution channels and to the limitation of users (consumers) rights is huge, the technology is making holes in the standard ideology that controls the relations between producers and consumers some new models have been proposed (see for example Towards solutions to “the p2p problem” - http://groups.sims.berkeley.edu/pam-p2p/ ). In 2007 a handful of the wealthiest countries (United States, the European Commission, Japan, Switzerland, Australia, New Zealand, South Korea, Canada, and Mexico) started secretive negotiations toward a treaty-making process to create a new global standard for intellectual property rights enforcement, the [[w:Anti-Counterfeiting Trade Agreement|Anti-Counterfeiting Trade Agreement (ACTA)]] initially due to be adopted at the 34th G8 summit in July 2008, has now hoped to be concluded in 2010. It has been argued that the main purpose of the treaty is to provide safe harbor for service providers so that they may not hesitate to provide information about infringers; this may be used, for instance, to quickly identify and stop infringers once their identities are confirmed by their providers. Similarly, it provides for criminalization of copyright infringement, granting law enforcement the powers to perform criminal investigation, arrests and pursue criminal citations or prosecution of suspects who may have infringed on copyright. More pressingly, being an international treaty, it allows for these provisions—usually administered through public legislation and subject to judiciary oversight—to be pushed through via closed negotiations among members of the executive bodies of the signatories, and once it is ratified, using trade incentives and the like to persuade other nations to adopt its terms without much scope for negotiation. === Is it Illegal? === Peer-to-Peer in itself in nothing particularly new. We can say that an FTP transfer or any other one on one transfer is P2P, like an IRC user sending a DCC file to another, or even email, the only thing that can be illegal is the use one can give to a particular tool. {{SAMPLE|sampletext= "There's no way to rule innocent men. The only power government has is the power to crack down on criminals. When there aren't enough criminals, one makes them. One declares so many things to be a crime that it becomes impossible for men to live without breaking laws."|caption=—[[w:Ayn Rand|Ayn Rand]]}} Legal uses of P2P include distributing open or public content, like movies, software distributions (Linux, updates) and even [http://en.wikinews.org/wiki/Special:Search?search=p2p&go=Go Wikipedia DVDs are found on P2P Networks]. It can also be used to bypass censorship, like for instance the way [http://en.wikinews.org/wiki/Michael_Moore%27s_new_film_%27Sicko%27_leaked_via_P2P Michael Moore's film 'Sicko' leaked via P2P] or as publicity machine to promote products and ideas or even used as a market annalists tool. However trading copyrighted information without permission is illegal in most countries. You are free to distribute your favorite Linux distribution, videos or pictures you have taken yourself, MP3 files of a local band that gave you permission to post their songs online, maybe even a copy an open source software or book. The view of legality lies foremost on cultural and moral ground and in a globally networked world there is no fixed line you should avoid crossing, one thing is certain most people don't produce restricted content, most view their creations as giving to the global community, so it's mathematically evident that a minority is "protected" by the restrictions imposed on the use and free flow of ideas, concepts and culture in general. P2P as we will see is not only about files sharing, it is more generally about content/services distribution. [[Image:Piratey.svg|200px|center|Sharing is not theft and theft is not the same as piracy, this is true under any law.]] <div style="text-align: center;">'''is sharing theft? and is theft piracy? surly not...'''</div> Sharing contents that you have no right to is not theft. It has never been theft anywhere in the world. Anyone who says it is theft is wrong. Sharing content that you do not own (or have the rights to distribute) is copyright infringement. Duplicating a digital good does not reduce the value of the original good, nor does it signify a subtraction of the same from the owner. On the other hand, making that same digital good available to others without a license may have a well understood effect of augmenting the visibility of said product, resulting in free advertisement and discussion about the product, this generally results in the increase of the demand for it, this has been validated in tests done with digital books, music and video releases. Using the term "piracy" to describe the copyright infringement is a metaphoric heuristic, a public relations stunt from lobbies of big corporations that represent copyright holders or hold the copyright over commercializable cultural goods, as a way to mislead the public and legislators. Leading to practices that directly damage society and culture (see [[w:Copyright Term Extension Act|Sonny Bono Copyright Term Extension Act or the Mickey Mouse Protection Act]]). The legal battles we are now accustomed to hear about, deal mostly on control and to a lesser degree in rights preservation. Control over the way distribution is archived (who gets what in what way) results in creating artificial scarcity. This deals with money, as there is added value to controlling and restricting access due to format and limitations in time and space. [[Image:Piracy cartoon.gif|600px|center|Cartoon about free culture, intellectual property and Internet Piracy. Found on The Pirate Bay in late February / early March '09.]] ==== Content and Indexers ==== One other distinction that needs to be made is in content distribution (especially one in violation of copyrights) and indexing said content. On how it is indexed and to what goals seems to be important, if for nothing else because copyright holders will prefer to persecute services that can pay for infringing on their rights. But indexing may not constitute an illegal activity at all since no rights are directly affected in some jurisdictions the issue seems to be how open does it promote said infringement and if it constitutes an illegal action by itself, and that can be a point that is extremely hard to make. In any case by 2015 most public bittorrent trackers for instance would openly comply with DMCA requests and implement takedown procedures, even if often complaining that requests at times are too broad going so far as to cover works that the requester has no rights over. {{TODO| :*Encryption :*paedophiles and terrorists}} === World Intellectual Property Organization (WIPO) === The [[w:WIPO|World Intellectual Property Organization]] is one of the specialized agencies of the United Nations. WIPO was created in 1967 with the stated purpose "to encourage creative activity, [and] to promote the protection of intellectual property throughout the world". The [[w:Convention Establishing the World Intellectual Property Organization|convention establishing the World Intellectual Property Organization]], was signed at Stockholm on July 14, 1967. {{TODO|Add more info on the WIPO and relevant treaties.}} === [[w:European Union|European Union]] === [[Image:IB ScambioEtico P2P manifest.jpg|150px|left|An Italian manifest saying "to share is not steal", referring to P2P legal status in Italy.]] In August 2007, the Music industry was rebuffed in Europe on file-sharing identifications, as a court in Offenburg, Germany refused to order ISPs to identify subscribers when asked to by Music Industry who suspected specified accounts were being used for copyright-infringing file-sharing, the refusal was based in the courts understanding that ordering the ISPs to handover the details would be "disproportionate", since the Music Industry representatives had not adequately explained how the actions of the subscribers would constitute "criminally relevant damage" that could be a basis to request access to the data. This was not an insulate incident in Germany, as also in 2007, Celle chief prosecutor's office used the justification that substantial damage had not been shown to refuse the data request, and does follows the opinion of a European Court of Justice (ECJ) Advocate-General, Juliane Kokott who had published an advice two weeks earlier, backing this stance, as it states that countries whose law restricted the handing over of identifying data to criminal cases were compliant with EU Directives. The produced advice was directed to a Spanish case in which a copyright holders' group wanted subscriber details from ISP Telefónica. The ECJ isn't obliged to follow an Advocate-General's advice, but does so in over three-quarters of cases. In most European countries, copyright infringement is only a criminal offense when conducted on a commercial scale. This distinction is important because public funds are not directed into investigating and persecuting personal and most often private copyright violations with limited economic impact. {{TODO| :*[http://www.europarl.europa.eu/news/expert/infopress_page/057-5723-113-04-17-909-20070420IPR05539-23-04-2007-2007-false/default_en.htm '''EU Proposing to Make P2P Piracy A Criminal Offense''']<br>"The EP excluded patent rights from the scope of the directive, and decided that criminal sanctions should apply only to infringements deliberately carried out to obtain a commercial advantage. Piracy committed by private users for personal, non-profit purposes is therefore also excluded." :*[http://yro.slashdot.org/story/05/08/05/145230/eu-proposing-to-make-p2p-piracy-a-criminal-offense EU Proposing to Make P2P Piracy A Criminal Offense] :*[http://thepiratebay.org/legal - The Pirate Bay legal threats and funny replies...] }} ==== [[w:France|France]] ==== On June 12 2007 the Société des Producteurs de Phonogrammes en France (SPPF - http://www.sppf.com/ ), an entity that represents the legal interests and collects copyright revenue in behalf of independent French audio creations, have publicly announced that they had launched a civil action on the Paris Court of First Instance requesting a court order to terminate the distribution and function of Morpheus (published by Streamcast), Azureus and demanding compensation for monetary losses. On 18 September 2007 a similar action was made against Shareaza and on 20 December 2007 the SPPF announced a new [http://www.sppf.com/telecharger/CP%20SPPF-%20Limewire%20201207.pdf action this time against Limewire]. All of this legal actions seem to have as a base an amendment done to the national copyright law that stipulates that civil action can taken against software creators/publishers that do not take steps in preventing users from accessing illegal content. {{TODO|Also mention ALPA (Association against audiovisual piracy)}} ==== [[w:United Kingdom|United Kingdom]] ==== {{TODO|[[w:Digital Economy Bill|Digital Economy Bill]]}} ===== Federation Against Copyright Theft (FACT) ===== The [[w:Federation Against Copyright Theft|FACT]] is a trade organization in the United Kingdom established to represent the interests of the its members in the film and broadcasting business on copyright and trademark issues. Established in 1983, FACT works with law enforcement agencies on copyright-infringement issues. FACT has produced several adverts which have appeared at the beginning of videos and DVDs released in the UK, as well as trailers shown before films in cinemas. While operating with the same function that the [[The_World_of_Peer-to-Peer_(P2P)/What_is_Peer-to-Peer_(P2P)/Legal_Perspective#Motion_Picture_Association_of_America_.28MPAA.29|Motion Picture Association of America (MPAA)]], FACT has avoided public outcry by focusing most o its actions in targeting serious and organized crime involving copyright-infringement. In an interesting demonstration of cross-border mutual support between similar business organizations, in 2008, FACT helped the MPAA in a sting operation against streaming links site SurfTheChannel. The MPAA not only participated in the questioning by bringing their own investigators it was allowed to examine the apprehended equipment and managed to find a United States programmer that worked for the site to testify in the legal proceedings. The programmer was not persecuted in the US, but agreed to pay the MPAA the amount he made for working at SurfTheChannel (see [http://torrentfreak.com/undercover-mpaa-agents-expose-alleged-movie-pirates-120521/|Undercover MPAA Agents Expose Alleged Movie Pirates] for details). ==== [[w:Spain|Spain]] ==== In July 2009 in Barcelona, Spain. Judge Raul N. García Orejudo declared that “P2P networks, as a mere transmission of data between Internet users, do not violate, in principle, any right protected by Intellectual Property Law,” when dismissing the Sociedad General de Autores y Editores ([[w:SGAE|SGAE]]) legal action for the closing of the eD2K link site elrincondejesus.com.. ==== [[w:Portugal|Portugal]] ==== In August 2009, the Inspecção-Geral das Actividades Culturais ([[w:Inspecção Geral das Actividades Culturais|IGAC]]) sent a notification to the biggest ISP in Portugal, [[w:Portugal Telecom|Portugal Telecom]] (PT), to remove pages that hosted links to freely by unlicensed downloadable copyrighted material from external pages. This notification came into being after the situation was reported by the Internet Anti-piracy Civic Movement (Movimento Cívico Antipirataria na Internet, MAPINET), this association most prominent members are the Association for the Audiovisual Commerce of Portugal (Associação de Comércio Audiovisual de Portugal, ACAPOR), Portuguese Phonographic Association (Associação Fonográfica Portuguesa, AFP), the Association for the Management and Distribution of Rights (Associação para a Gestão e Distribuição de Direitos, AUDIOGEST), the Federation of Video Editors (Federação de Editores de Videogramas, FEVIP), the Cooperative for the Management of the Artists Rights (Cooperativa de Gestão dos Direitos dos Artistas, GDA), the Association for the Management of Author's Rights(Associação para a Gestão de Direitos de Autor, GEDIPE, part of [[w:Association of International Collective Management of Audiovisual Works|The AGICOA Alliance]]), the Portuguese Society of Authors (Sociedade Portuguesa de Autores, SPA) and some other producers and editors as well as some translators. Since no real illegal content is hosted on servers under the Portugal Telecom control it seems the links aren't a violation on the users terms of use at the identified Blog portal service, and no action has been taken so far. [http://economico.sapo.pt/noticias/pt-notificada-para-remover-sites-piratas-do-sapo_67408.html List of the offending 28 pages available in an article in Portuguese]. === [[w:Norway|Norway]] === The Norway’s Personal Data Act (PDA) makes it mandatory for ISPs in the country to delete all IP address logs on their customers more than three weeks old as it is considered personal information. This is a huge step forward in personal data protection laws but it also will make the work of "pirate-hunters" more difficult. The Simonsen law firm, is an example since it is known by the lawyer Espen Tøndel, figure head on this matters, and for having since 2006 (now terminated), a temporary license from Norway’s data protection office to monitor suspected IP addresses without legal supervision. ===USA=== Under US law "the Betamax decision" ([[w:Sony Corp. of America v. Universal City Studios, Inc.|Sony Corp. of America v. Universal City Studios, Inc.]]), case holds that copying "technologies" are not ''inherently'' illegal, if substantial non-infringing use can be made of them. This decision, predating the widespread use of the [[w:Internet|Internet]] applies to most data networks, including peer-to-peer networks, since legal distribution of some files can be performed. These non-infringing uses include sending [[w:open source|open source]] software, [[w:creative commons|creative commons]] works and works in the [[w:public domain|public domain]]. Other jurisdictions tend to view the situation in somewhat similar ways. {{SAMPLE|sampletext="With the law books filled with a great assortment of crimes, a prosecutor stands a fair chance of finding at least a technical violation of some act on the part of almost anyone. In such a case, it is not a question of discovering the commission of a crime and then looking for the man who has committed it, it is a question of picking the man and then searching the law books, or putting investigators to work, to pin some offense on him."|caption=—[[w:Robert H. Jackson|Robert H. Jackson]], 1940}} The US is also a signatory of the WIPO treaties, treaties that were partially responsible for the creation and adoption of the Digital Millennium Copyright Act (DMCA). As stated in [[:US Copyright Law]], one must be keep in mind the provisions for fair use, licensing, copyright misuses and the statute of limitations. '''MGM v. Grokster''' {{TODO|http://www.eff.org/IP/P2P/MGM_v_Grokster/}} ==== Recording Industry Association of America (RIAA) ==== {{center/top}} {| width=90% style="float: center; clear: both; background-color: #F9F9F9; border: 1px solid #EEEEEE; margin:5px; padding: 5px;" |- | The RIAA and the labels took an aggressive stance as soon as online music file sharing became popular. They won an early victory in 2001 by shutting down the seminal music-sharing service Napster. The site was an easy target because Napster physically maintained the computer servers where illegal music files, typically in high-fidelity, compressed, download-friendly MP3 format, were stored. [With P2P networks, the files are stored on individual user computers; special software lets consumers "see" the files and download them onto their own hard drives.]<br> —Daphne Eviatar, "Record industry, music fans out of tune," The Recorder, August 20, 2003 |} {{center/end}} The Recording Industry Association of America (RIAA) ( http://www.riaa.com/ ) is the trade group that represents the U.S. recording industry. The RIAA receives funding from the four of the major music groups EMI, Warner, Sony BMG and Universal and hundreds of small independent labels. ==== Motion Picture Association of America (MPAA) ==== The [[w:Motion Picture Association of America|MPAA]] is an American trade association that represents six biggest Hollywood studios. It was founded in 1922 as the Motion Picture Producers and Distributors of America (MPPDA). It focus in advancing the business interests of its members and administers the MPAA film rating system. In the early 1980s, the Association opposed the videocassette recorder (VCR) on copyright grounds. In a 1982 congressional hearing, Valenti decried the "savagery and the ravages of this machine" and compared its effect on the film industry and the American public to the Boston Strangler. The MPAA acts as a lobbies for stricter legislation in regards to copyright safeguards, protection extensions and sanctions, and actively pursues [[w:copyright infringement|copyright infringement]], including fighting against sharing copyrighted works via peer-to-peer file-sharing networks, legally and in technologically disruptive ways. The MPAA has promoted a variety of publicity campaigns designed to increase public awareness about copyright infringement, including ''[[w:Who Makes Movies?|Who Makes Movies?]]''; ''[[w:You can click, but you can't hide|You can click, but you can't hide]]''; and ''You Wouldn't Steal a Car'', a 2004 advertisement appearing before program content on many [[w:DVD|DVD]]s. The MPAA British counterpart is the [[The_World_of_Peer-to-Peer_(P2P)/What_is_Peer-to-Peer_(P2P)/Legal_Perspective#Federation_Against_Copyright_Theft_.28FACT.29|Federation Against Copyright Theft (FACT)]]. {{TODO|[http://news.slashdot.org/story/06/01/30/1428224/warner-bros-to-try-file-sharing-in-germany Warner Bros. to Try File Sharing in Germany]<br> [http://news.zdnet.com/2100-9588_22-6042739.html MPAA sues newsgroup, P2P search sites] By John Borland, Published on ZDNet News, February 23, 2006 }} === Canada === Canada has a levy on blank audio recording media, created on March 19, 1998, by the adoption of the new federal copyright legislation. Canada introduced this levy regarding the private copying of sound recordings, other states that share a similar copyright regime include most of the G-7 and European Union members. In depth information regarding the levy may be found in the Canadian copyright levy on blank audio recording media FAQ ( http://neil.eton.ca/copylevy.shtml ). With borders and close ties to it neighbor, Canada as historically been less prone to serve corporations interests and has a policy that contrasts in its social aspects with any other country in the American Continent. The reality is that Canada has been highly influenced and even pressured (economically and politically) by its strongest neighbor, the USA, to comply with its legal, social and economic evolution. In recent time (November 2007) the government of Canada has attempted to push for the adoption of a DMCA-modeled copyright law, so as to comply with the WIPO treaties the country signed in 1997 in a similar move to the USA, this has resulted in a popular outcry against the legislation and will probably result in it's alteration. The visibility of this last attempt was due to efforts of Dr. [[w:Michael Geist|Michael Geist]], a law professor at the University of Ottawa considered an expert in copyright and the Internet, that was afraid that law would copy the worst aspects of the U.S. Digital Millennium Copyright Act. === Darknets vs Brightnets === Due the refusal to legislate in accordance with the public needs and wants. By adding extensions of copyrights (US, UK) and by actively promoting the promulgating laws similar to the DMCA in other countries a monoculture is created where a virtual monopoly on cultural goods is created, generating something of a cultural imperialism. This reality promotes the population to move its support for transparent distribution systems (brightnets) to more closed system (darknets), that will increasingly depend on social connections to get into, like the hold speakeasy bars that popped up during the prohibition, legislating against the people once more will prove to be a failure. A P2P brightnet for content distribution,where no one breaks the law, so no one need hide in the dark, can only be feasible if built around owner-free media/system or by being as heavily controlled, owned media/system, as the old centralized system. This probably around a centralized entity that should guarantee control and manage the content, maybe even requiring the use of some DRM sheme, an overall failed system. This types of networks were already tested and failed, since content is also information, the need for privacy or lack of it on an open system will always create generate a more layered system that will ultimately degenerate in a darknet to survive legal actions. {{BookCat}} <noinclude>{{displaytitle|title=The World of P2P: What is P2P, a Legal Perspective}}</noinclude> dc48n8fdb077ajypj60bs5n9texffe2 Vehicle Identification Numbers (VIN codes)/World Manufacturer Identifier (WMI) 0 142006 4656825 4656769 2026-08-09T18:58:40Z Vard 57 3408170 4656825 wikitext text/x-wiki ==World Manufacturer Identifier== The first three characters uniquely identify the manufacturer of the vehicle using the '''World Manufacturer Identifier''' or '''WMI''' code. A manufacturer that builds fewer than 1000 vehicles per year uses a 9 as the third digit and the 12th, 13th and 14th position of the VIN for a second part of the identification. Some manufacturers use the third character as a code for a vehicle category (e.g., bus or truck), a division within a manufacturer, or both. For example, within 1G (assigned to General Motors in the United States), 1G1 represents Chevrolet passenger cars; 1G2, Pontiac passenger cars; and 1GC, Chevrolet trucks. ===WMI Regions=== The first character of the WMI is the region in which the manufacturer is located. In practice, each is assigned to a country of manufacture. Common auto-manufacturing countries are noted. <ref>{{cite web | url=https://standards.iso.org/iso/3780/ | title=ISO Standards Maintenance Portal: ISO 3780 | publisher=[[wikipedia:International Organization for Standardization]]}}</ref> {| class="wikitable" style="text-align:center" |- ! WMI ! Region ! Notes |- | A-C | Africa | AA-AH = South Africa<br />BF-BG = Kenya<br />BU = Uganda<br />CA-CB = Egypt<br />DF-DK = Morocco |- | E, H-R | Asia | E=Russia<br />H = China<br />J = Japan<br />KF-KH = Israel<br />KL-KR = South Korea<br />L = China<br />MA-ME = India<br />MF-MK = Indonesia<br />ML-MR = Thailand<br />MS = Myanmar<br />MX = Kazakhstan<br />MY-M0 = India<br />NF-NG = Pakistan<br />NL-NR = Turkey<br />NS-NT = Uzbekistan<br />PA-PC = Philippines<br />PF-PG = Singapore<br />PL-PR = Malaysia<br />PS-PT = Bangladesh<br />PV=Cambodia<br />RA-RB = United Arab Emirates<br />RF-RK = Taiwan<br />RL-RN = Vietnam<br />RS-RT = Saudi Arabia<br />RU-RW = Russia<br />R1-R7 = Hong Kong |- | S-Z | Europe | SA-SM = United Kingdom<br />SN-ST = Germany (formerly East Germany)<br />SU-SZ = Poland<br />TA-TH = Switzerland<br />TJ-TP = Czech Republic<br />TR-TV = Hungary<br />TW-T2 = Portugal<br />UH-UM = Denmark<br />UN-UR = Ireland<br />UU-UX = Romania<br />U1-U2 = North Macedonia<br />U5-U7 = Slovakia<br />VA-VE = Austria<br />VF-VR = France<br />VS-VW = Spain<br />VX-V2 = France (formerly Serbia/Yugoslavia)<br />V3-V5 = Croatia<br />V6-V8 = Estonia<br /> W = Germany (formerly West Germany)<br />XA-XC = Bulgaria<br />XF-XH = Greece<br />XL-XR = The Netherlands<br />XS-XW = Russia (formerly USSR)<br />XX-XY = Luxembourg<br />XZ-X0 = Russia<br />YA-YE = Belgium<br />YF-YK = Finland<br />YS-YW = Sweden<br />YX-Y2 = Norway<br />Y3-Y5 = Belarus<br />Y6-Y8 = Ukraine<br />ZA-ZU = Italy<br />ZX-ZZ = Slovenia<br />Z3-Z5 = Lithuania<br />Z6-Z0 = Russia |- | 1-5 | North America | 1, 4, 5 = United States<br />2 = Canada<br />3 = Mexico<br />7F-70 = United States |- | 6-7 | Oceania | 6A-6W = Australia<br />7A-7E = New Zealand<br />Revised: 6A-6X = Australia<br />6Y-61 = New Zealand |- | 8-9 | South America | 8A-8E = Argentina<br />8F-8G = Chile<br />8L-8N = Ecuador<br />8S-8T = Peru<br />8X-8Z = Venezuela<br />82 = Bolivia<br />84 = Costa Rica<br />9A-9E, 91-90 = Brazil<br />9F-9G = Colombia<br />9S-9V = Uruguay |} {| class="wikitable" style="text-align:center" |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''A''' || colspan="8" | South Africa || colspan="2" | Ivory Coast || colspan="2" | Lesotho || colspan="2" | Botswana || colspan="2" | Namibia || colspan="2" | Madagascar || colspan="2" | Mauritius || colspan="2" | Tunisia || colspan="2" | Cyprus || colspan="2" | Zimbabwe || colspan="2" | Mozambique || colspan="5" | ''Africa'' |- | '''B''' || colspan="2" | Angola || colspan="1" | Ethiopia || colspan="2" | ''Africa'' || colspan="2" | Kenya || colspan="1" | Rwanda || colspan="2" | ''Africa'' || colspan="1" | Nigeria || colspan="3" | ''Africa'' || colspan="1" | Algeria || colspan="1" | ''Africa'' || colspan="1" | Swaziland || colspan="1" | Uganda || colspan="7" | ''Africa''|| colspan="2" | Libya || colspan="6" | ''Africa'' |- | '''C''' || colspan="2" | Egypt || colspan="3" | ''Africa'' || colspan="2" | Morocco || colspan="3" | ''Africa'' || colspan="2" | Zambia || colspan="21" | ''Africa'' |- | '''D''' || colspan="33" rowspan="1" | |- | '''E''' || colspan="33" | Russia |- | '''F''' || colspan="33" rowspan="2" | |- | '''G''' |- | '''H''' || colspan="33" | China |- | '''J''' || colspan="33" | Japan |- | '''K''' || colspan="5" | ''Asia'' || colspan="3" | Israel || colspan="2" | ''Asia'' || colspan="5" | South Korea || colspan="2" | Jordan || colspan="6" | ''Asia'' || colspan="3" | South Korea || colspan="1" | ''Asia'' || colspan="1" | Kyrgyzstan || colspan="5" | ''Asia'' |- | '''L''' || colspan="33" | China |- | '''M''' || colspan="5" | India || colspan="5" | Indonesia || colspan="5" | Thailand || colspan="1" | Myanmar || colspan="1" | ''Asia'' || colspan="1" | Mongolia || colspan="2" | ''Asia'' || colspan="1" | Kazakhstan || colspan="12" | India |- | '''N''' || colspan="5" | Iran || colspan="2" | Pakistan || colspan="1" | ''Asia'' || colspan="1" | Iraq || colspan="1" | ''Asia'' || colspan="5" | Turkey || colspan="2" | Uzbekistan || colspan="1" | ''Asia'' || colspan="1" | Azerbaijan || colspan="1" | ''Asia'' || colspan="1" | Tajikistan || colspan="1" | Armenia || colspan="1" | ''Asia'' || colspan="5" | Iran || colspan="1" | ''Asia'' || colspan="2" | Turkey || colspan="2" | ''Asia'' |- | '''P''' || colspan="3" | Philippines || colspan="2" | ''Asia'' || colspan="2" | Singapore || colspan="3" | ''Asia'' || colspan="5" | Malaysia || colspan="2" | Bangladesh || colspan="10" | ''Asia'' || colspan="6" | India |- | '''R''' || colspan="2" | UAE || colspan="3" | ''Asia'' || colspan="5" | Taiwan || colspan="3" | Vietnam || colspan="1" | Laos || colspan="1" | ''Asia'' || colspan="2" | Saudi Arabia || colspan="3" | Russia || colspan="3" | ''Asia'' || colspan="7" | Hong Kong || colspan="3" | ''Asia'' |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''S''' || colspan="12" | United Kingdom || colspan="5" | Germany <small>(formerly East Germany)</small> || colspan="6" | Poland || colspan="2" | Latvia || colspan="1" | Georgia || colspan="1" | Iceland || colspan="6" | ''Europe'' |- | '''T''' || colspan="8" | Switzerland || colspan="6" | Czech Republic || colspan="5" | Hungary || colspan="6" | Portugal || colspan="3" | Serbia || colspan="1" | Andorra || colspan="2" | Netherlands || colspan="2" | ''Europe'' |- | '''U''' || colspan="3" | Spain || colspan="4" | ''Europe'' || colspan="5" | Denmark || colspan="3" | Ireland || colspan="2" | ''Europe'' || colspan="4" | Romania || colspan="2" | ''Europe'' || colspan="2" | North Macedonia || colspan="2" | ''Europe'' || colspan="3" | Slovakia || colspan="3" | Bosnia & Herzogovina |- | '''V''' || colspan="5" | Austria || colspan="10" | France || colspan="5" | Spain || colspan="5" | France <small>(formerly Yugoslavia & Serbia)</small> || colspan="3" | Croatia || colspan="3" | Estonia || colspan="2" | ''Europe'' |- | '''W''' || colspan="33" | Germany |- | '''X''' || colspan="3" | Bulgaria || colspan="2" | Russia || colspan="3" | Greece || colspan="2" | Russia || colspan="5" | Netherlands || colspan="5" | Russia <small>(formerly USSR)</small> || colspan="2" | Luxembourg || colspan="11" | Russia |- | '''Y''' || colspan="5" | Belgium || colspan="5" | Finland || colspan="2" | ''Europe'' || colspan="1" | Malta || colspan="2" | ''Europe'' || colspan="5" | Sweden || colspan="5" | Norway || colspan="3" | Belarus || colspan="3" | Ukraine || colspan="2" | ''Europe'' |- | '''Z''' || colspan="18" | Italy || colspan="2" | ''Europe'' || colspan="3" | Slovenia || colspan="1" | San Marino|| colspan="1" | ''Europe''|| colspan="3" | Lithuania || colspan="5" | Russia |- | '''1''' || colspan="33" | United States |- | '''2''' || colspan="28" | Canada || colspan="5" | ''North America'' |- | '''3''' || colspan="21" | Mexico || colspan="5" | ''North America'' || colspan="1" | Nicaragua || colspan="1" | Dom. Rep. || colspan="1" | Honduras || colspan="1" | Panama || colspan="2" | Puerto Rico || colspan="1" | ''North America'' |- | '''4''' || colspan="33" rowspan="2" | United States |- | '''5''' |- | '''6''' || colspan="21" | Australia || colspan="3" | New Zealand || colspan="9" | ''Oceania'' |- | '''7''' || colspan="5" | New Zealand || colspan="28" | United States |- | '''8''' || colspan="5" | Argentina || colspan=2 | Chile || colspan="3" | ''South America'' || colspan="3" | Ecuador || colspan="2" | ''South America'' || colspan="2" | Peru || colspan="3" | ''South America'' || colspan="3" | Venezuela || colspan="1" | ''SA'' || colspan="1" | Bolivia || colspan="1" | ''SA'' || colspan="1" | Costa Rica || colspan="6" | ''South America'' |- | '''9''' || colspan="5" | Brazil || colspan="2" | Colombia || colspan="8" | ''South America'' || colspan="4" | Uruguay || colspan="4" | ''South America'' || colspan="10" | Brazil |- | '''0''' || colspan="33" rowspan="1" | |} ===List of Many WMIs=== The [[w:Society of Automotive Engineers|Society of Automotive Engineers]] (SAE) in the US assigns WMIs to countries and manufacturers.<ref>{{cite web | url=https://www.iso.org/standard/45844.html | title=ISO 3780:2009 - Road vehicles — World manufacturer identifier (WMI) code | date=October 2009 | publisher=International Organization for Standardization}}</ref> The following table contains a list of mainly commonly used WMIs, although there are many others assigned. {| class="wikitable x" style="text-align:center" |- ! WMI !! Manufacturer |- | AAA|| Audi South Africa made by Volkswagen of South Africa |- | AAK|| FAW Vehicle Manufacturers SA (PTY) Ltd. |- | AAM|| MAN Automotive (South Africa) (Pty) Ltd. (includes VW Truck & Bus) |- |AAP || VIN restamped by South African Police Service (so-called SAPVIN or AAPV number) |- | AAV || Volkswagen South Africa |- | AAW || Challenger Trailer Pty Ltd. (South Africa) |- | AA9/CN1 || TR-Tec Pty Ltd. (South Africa) |- | ABJ || Mitsubishi Colt & Triton pickups made by Mercedes-Benz South Africa 1994–2011 |- | ABJ || Mitsubishi Fuso made by Daimler Trucks & Buses Southern Africa |- | ABM || BMW Southern Africa |- | ACV || Isuzu Motors South Africa 2018- |- | AC5 || [[../Hyundai/VIN Codes|Hyundai]] Automotive South Africa |- | AC9/BM1 || Beamish Beach Buggies (South Africa) |- | ADB || Mercedes-Benz South Africa car |- | ADD || UD Trucks Southern Africa (Pty) Ltd. |- | ADM || General Motors South Africa (includes Isuzu through 2018) |- | ADN || Nissan South Africa (Pty) Ltd. |- | ADR || Renault Sandero made by Nissan South Africa (Pty) Ltd. |- | ADX || Tata Automobile Corporation (SA) Ltd. |- | AE9/MT1 || Backdraft Racing (South Africa) |- | AFA || Ford Motor Company of Southern Africa & Samcor |- | AFB || Mazda BT-50 made by Ford Motor Company of Southern Africa |- | AFD || BAIC Automotive South Africa |- | AFZ || Fiat Auto South Africa |- | AHH || Hino South Africa |- | AHM || Honda Ballade made by Mercedes-Benz South Africa 1982–2000 |- | AHT || Toyota South Africa Motors (Pty.) Ltd. |- | BF9/|| KIBO Motorcycles, Kenya |- | BUK || Kiira Motors Corporation, Uganda |- | BR1 || Mercedes-Benz Algeria (SAFAV MB) |- | BRY || FIAT Algeria |- | CA3 || MCV bus (Egypt) |- | DDY || Geyushi Motors (bus) (Egypt) |- | DF9/|| Laraki (Morocco) |- | EAA || Aurus Motors (Russia) |- | EAN || Evolute (Russia) |- | EAU || Elektromobili Manufacturing Rus - EVM (Russia) |- | EBE || Sollers-Auto (Russia) |- | EBZ || Nizhekotrans bus (Russia) |- | ECE || XCITE (Russia) |- | ECW || Trans-Alfa bus (Russia) |- | HAC || GAC Motor (Aion) |- | HA0 || Wuxi Sundiro Electric Vehicle Co., Ltd. (Palla, Parray) |- | HA6 || Jiangsu Niu Electric Technology Co., Ltd. (Niu) |- | HA7 || Jinan Qingqi KR Motors Co., Ltd. |- | HES || smart Automobile Co., Ltd. (Mercedes-Geely joint venture) |- | HGL || Farizon Auto van (Geely) |- | HGX || Wuling Motors commercial vehicle (Geely) |- | HHZ || Huazi Automobile |- | HJN || Nio, Firefly |- | HJR || Chery Commercial Vehicle (Anhui) Co., Ltd. Jetour made by Chery Commercial Vehicle |- | HJZ || Juzhen Chengshi van |- | HJ4 || BAW car |- | HLX || Li Auto |- | HL4 || Zhejiang Morini Vehicle Co., Ltd. <br />(Moto Morini subsidiary of Taizhou Zhongneng Motorcycle Co., Ltd.) |- | HRV || Beijing Henrey Automobile Technology Co., Ltd. |- | HT5 || Zhejiang Jianying Locomotive Co., Ltd. (motorcycle) |- | HVW || Volkswagen Anhui |- | HWM || WM Motor Technology Co., Ltd. (Weltmeister) |- | HXM || Xiaomi |- | HZ2 || Taizhou Zhilong Technology Co., Ltd (motorcycle) |- | H0D || Taizhou Qianxin Vehicle Co., Ltd. (motorcycle) |- | H0G || Wisdom (Fujian) Motor Co., Ltd. (bus) |- | JAA || Isuzu truck, Holden Rodeo TF, Opel Campo, Bedford/Vauxhall Brava pickup made by Isuzu in Japan |- | JAB || Isuzu car |- | JAC || Isuzu SUV, Opel/Vauxhall Monterey & Holden Jackaroo/Monterey made by Isuzu in Japan |- | JAE || Acura SLX made by Isuzu |- | JAL || Isuzu commercial trucks & <br /> Chevrolet commercial trucks made by Isuzu 2016+ & <br /> Hino S-series truck made by Isuzu (Incomplete Vehicle - medium duty) |- | JAM || Isuzu commercial trucks (Incomplete Vehicle - light duty) |- | JA3 || Mitsubishi car (for North America) |- | JA4 || Mitsubishi MPV/SUV (for North America) & Nissan Rogue PHEV '26 |- | JA7 || Mitsubishi truck (for North America) |- | JB3 || Dodge car made by Mitsubishi Motors |- | JB4 || Dodge MPV/SUV made by Mitsubishi Motors |- | JB7 || Dodge truck made by Mitsubishi Motors |- | JC0 || Ford brand cars made by Mazda |- | JC1 || Fiat 124 Spider made by Mazda |- | JC2 || Ford Courier made by Mazda |- | JDA || Daihatsu, Subaru Justy made by Daihatsu |- | JD1 || Daihatsu car |- | JD2 || Daihatsu SUV |- | JD4 || Daihatsu truck |- | JE3 || Eagle car made by Mitsubishi Motors |- | JE4 || Mitsubishi Motors |- | JF1 || ([[../Subaru/VIN Codes|Subaru]]) car |- | JF2 || ([[../Subaru/VIN Codes|Subaru]]) SUV |- | JF3 || ([[../Subaru/VIN Codes|Subaru]]) truck |- | JF4 || Saab 9-2X made by Subaru |- | JG1 || Chevrolet/Geo car made by Suzuki |- | JG2 || Pontiac car made by Suzuki |- | JG7 || Pontiac/Asuna car made by Suzuki for GM Canada |- | JGC || Chevrolet/Geo SUV made by Suzuki (classified as a truck) |- | JGT || GMC SUV made by Suzuki for GM Canada (classified as a truck) |- | JHA || Hino truck |- | JHB || Hino incomplete vehicle |- | JHD || Hino |- | JHF || Hino |- | JHH || Hino incomplete vehicle |- | JHF-JHG, JHL-JHN, JHZ,<br/>JH1-JH5 || [[../Honda/VIN Codes|Honda]] |- | JHL || [[../Honda/VIN Codes|Honda]] MPV/SUV |- | JHM || [[../Honda/VIN Codes|Honda]] car |- | JH1 || [[../Honda/VIN Codes|Honda]] truck |- | JH2 || [[../Honda/VIN Codes|Honda]] motorcycle/ATV |- | JH3 || [[../Honda/VIN Codes|Honda]] ATV |- | JH4 || Acura car |- | JH6 || Hino incomplete vehicle |- | JJ3 || Chrysler brand car made by Mitsubishi Motors |- | JKA || Kawasaki (motorcycles) |- | JKB || Kawasaki (motorcycles) |- | JKM || Mitsuoka |- | JKS || Suzuki Marauder 1600/Boulevard M95 motorcycle made by Kawasaki |- | JK8 || Suzuki QUV620F UTV made by Kawasaki |- | JLB || Mitsubishi Fuso Truck & Bus Corp. |- | JLF || Mitsubishi Fuso Truck & Bus Corp. |- | JLS || Sterling Truck 360 made by Mitsubishi Fuso Truck & Bus Corp. |- | JL5 || Mitsubishi Fuso Truck & Bus Corp. |- | JL6 || Mitsubishi Fuso Truck & Bus Corp. |- | JL7 || Mitsubishi Fuso Truck & Bus Corp. |- | JMA || Mitsubishi Motors (right-hand drive) for Europe |- | JMB || Mitsubishi Motors (left-hand drive) for Europe |- | JMF || Mitsubishi Motors for Australia (including Mitsubishi Express made by Renault) |- | JMP || Mitsubishi Motors (left-hand drive) |- | JMR || Mitsubishi Motors (right-hand drive) |- | JMY || Mitsubishi Motors (left-hand drive) for South America & Middle East |- | JMZ || Mazda for Europe export & Mazda 2 made by Ford Spain & Mazda 2 Hybrid made by Toyota Motor Manufacturing France |- | JM0 || Mazda for Oceania export |- | JM1 || Mazda car |- | JM2 || Mazda truck |- | JM3 || Mazda MPV/SUV |- | JM4 || Mazda |- | JM6 || Mazda |- | JM7 || Mazda |- | JNA || Nissan Diesel/UD Trucks (incomplete vehicle) |- | JNC || Nissan Diesel/UD Trucks |- | JNE || Nissan Diesel/UD Trucks (truck) |- | JNK || Infiniti car |- | JNR || Infiniti SUV |- | JNX || Infiniti incomplete vehicle |- | JN1 || Nissan car & Infiniti car |- | JN3 || Nissan incomplete vehicle |- | JN6 || Nissan truck/van & Mitsubishi Fuso Canter Van |- | JN8 || Nissan MPV/SUV & Infiniti SUV |- | JPA || International Trucks made by Nissan Diesel (incomplete vehicle) |- | JPB || International Trucks made by Nissan Diesel (tractor truck) |- | JPC || Nissan Diesel/UD Trucks |- | JPE || International Trucks made by Nissan Diesel (truck) |- | JP3 || Plymouth car made by Mitsubishi Motors |- | JP4 || Plymouth MPV/SUV made by Mitsubishi Motors |- | JP7 || Plymouth truck made by Mitsubishi Motors |- | JR2 || Isuzu Oasis made by Honda |- | JSA || Suzuki ATV & '03 Kawasaki KFX400 ATV made by Suzuki, Suzuki car/SUV (outside N. America), Holden Cruze YG made by Suzuki |- | JSK || Kawasaki KLX125/KLX125L motorcycle made by Suzuki |- | JSL || '04-'06 Kawasaki KFX400 ATV made by Suzuki |- | JST || Suzuki Across SUV made by Toyota |- | JS1 || Suzuki motorcycle & Kawasaki KLX400S/KLX400SR motorcycle made by Suzuki |- | JS2 || Suzuki car |- | JS3 || Suzuki SUV |- | JS4 || Suzuki truck |- | JTB || Toyota bus |- | JTD || Toyota car |- | JTE || Toyota MPV/SUV |- | JTF || Toyota van/truck |- | JTG || Toyota MPV/bus |- | JTH || Lexus car |- | JTJ || Lexus SUV |- | JTK || Toyota car |- | JTL || Toyota SUV |- | JTM || Toyota SUV, Subaru Solterra made by Toyota |- | JTN || Toyota car |- | JTP || Toyota SUV |- | JT1 || [[../Toyota/VIN Codes|Toyota]] van |- | JT2 || Toyota car |- | JT3 || Toyota MPV/SUV |- | JT4 || Toyota truck/van |- | JT5 || Toyota incomplete vehicle |- | JT6 || Lexus SUV |- | JT7 || Toyota bus/van |- | JT8 || Lexus car |- | JW6 || Mitsubishi Fuso division of Mitsubishi Motors (through mid-2003) |- | JYA || Yamaha motorcycles |- | JYE || Yamaha snowmobile |- | JY3 || Yamaha 3-wheel ATV |- | JY4 || Yamaha 4-wheel ATV |- | J81 || Chevrolet/Geo car made by Isuzu |- | J87 || Pontiac/Asüna car made by Isuzu for GM Canada |- | J8B || Chevrolet commercial trucks made by Isuzu (incomplete vehicle - medium duty) |- | J8C || Chevrolet commercial trucks made by Isuzu (truck) |- | J8D || GMC commercial trucks made by Isuzu (incomplete vehicle - medium duty) |- | J8T || GMC commercial trucks made by Isuzu (truck) |- | J8Z || Chevrolet LUV pickup truck made by Isuzu (truck) |- | KF3 || Merkavim (Israel) |- | KF6 || Automotive Industries, Ltd. (Israel) |- | KF9/004 || Tomcar (Israel) |- | KG9/002 || Charash Ashdod (truck trailer) (Israel) |- | KG9/004 || H. Klein (truck trailer) (Israel) |- | KG9/007 || Agam Trailers (truck trailer) (Israel) |- | KG9/009 || Merkavey Noa (trailer) (Israel) |- | KG9/010 || Weingold Trailers (trailer) (Israel) |- | KG9/011 || Netzer Sereni (truck trailer) (Israel) |- | KG9/015 || Merkaz Hagrorim (trailer) (Israel) |- | KG9/035 || BEL Technologies (truck trailer) (Israel) |- | KG9/091 || Jansteel (truck trailer) (Israel) |- | KG9/101 || Bassamco (truck trailer) (Israel) |- | KG9/104 || Global Handasa (truck trailer) (Israel) |- | KL || Daewoo [[../GM/VIN Codes|General Motors]] South Korea |- | KLA || Daewoo/GM Daewoo/GM Korea (Chevrolet/Alpheon)<br /> from Bupyeong & Kunsan plants |- | KLP || CT&T United (battery electric low-speed vehicles) |- | KLT || Tata Daewoo |- | KLU || Tata Daewoo |- | KLY || Daewoo/GM Daewoo/GM Korea (Chevrolet) from Changwon plant (Tico/Matiz/Matiz Creative/Spark/Damas/Labo) |- | KL1 || GM Daewoo/GM Korea (Chevrolet car) |- | KL2 || Daewoo/GM Daewoo (Pontiac) |- | KL3 || GM Daewoo/GM Korea (Holden) |- | KL4 || GM Korea (Buick) |- | KL5 || GM Daewoo (Suzuki) |- | KL6 || GM Daewoo (GMC) |- | KL7 || Daewoo (GM Canada brands: Passport, Asuna (Pre-2000)) |- | KL7 || GM Daewoo/GM Korea (Chevrolet MPV/SUV (Post-2000)) |- | KL8 || GM Daewoo/GM Korea (Chevrolet car from Changwon plant (Spark)) |- | KM || [[../Hyundai/VIN Codes|Hyundai]] |- | KMC || Hyundai commercial truck |- | KME || Hyundai commercial truck (semi-tractor) |- | KMF || Hyundai van & commercial truck & Bering Truck |- | KMH || Hyundai car & Mexican market Dodges made by Hyundai |- | KMJ || Hyundai minibus/bus |- | KMT || Genesis Motor car |- | KMU || Genesis Motor SUV |- | KMX || Hyundai Galloper SUV |- | KMY || Daelim Motor Company, Ltd/DNA Motors Co., Ltd. (motorcycles) |- | KM1 || Hyosung Motors (motorcycles) |- | KM4 || Hyosung Motors/S&T Motors/KR Motors (motorcycles) |- | KM8 || Hyundai SUV |- | KNA || Kia car |- | KNC || Kia truck |- | KND || Kia MPV/SUV & Hyundai Entourage |- | KNE || Kia for Europe export |- | KNF || Kia, special vehicles |- | KNG || Kia minibus/bus |- | KNJ || Ford Festiva & Aspire made by Kia |- | KNL || Kia Elan/Vigato made by Kia Motech |- | KNM || Renault Samsung Motors, Nissan Rogue made by Renault Samsung, Nissan Sunny made by Renault Samsung |- | KNM || Renault Korea Co., Ltd. |- | KN1 || Asia Motors |- | KN2 || Asia Motors |- | KPA || SsangYong/KG Mobility (KGM) pickup |- | KPB || SsangYong car |- | KPD || SsangYong TransStar (bus) |- | KPH || Mitsubishi Precis |- | KPT || SsangYong/KG Mobility (KGM) SUV/MPV |- | LAA || Shanghai Jialing Vehicle Co., Ltd. (motorcycle) |- | LAE || Jinan Qingqi Motorcycle |- | LAL || Sundiro [[../Honda/VIN Codes|Honda]] Motorcycle |- | LAN || Changzhou Yamasaki Motorcycle |- | LAP || Chongqing Jianshe Motorcycle Co., Ltd. |- | LAP || Zhuzhou Nanfang Motorcycle Co., Ltd. |- | LAT || Luoyang Northern Ek Chor Motorcycle Co., Ltd. (Dayang) |- | LA6 || Xiamen King Long United Automotive Industry Co., Ltd. (bus) |- | LA7 || Radar Auto (Geely) |- | LA8 || Anhui Ankai |- | LA9/AYS || Jiangsu Alfa Bus Co., Ltd. (bus) |- | LA9/BFC || Beijing North Huade Neoplan Bus Co., Ltd. |- | LA9/FBC || Xiamen Fengtai Bus & Coach International Co., Ltd. (FTBCI) (bus) |- | LA9/HFF || Anhui Huaxia Vehicle Manufacturing Co., Ltd. (bus) |- | LA9/JXK || CHTC Bonluck Bus Co., Ltd. |- | LA9/LC0 || BYD |- | LA9/LFJ || Xinlongma Automobile |- | LA9/LM6 || SRM Shineray |- | LBB || Zhejiang Qianjiang Motorcycle (QJ Motor/Keeway/Benelli) |- | LBE || Beijing [[../Hyundai/VIN Codes|Hyundai]] (Hyundai, Shouwang) |- | LBM || Zongshen Piaggio |- | LBP || Chongqing Jianshe Yamaha Motor Co. Ltd. (motorcycles) |- | LBV || BMW Brilliance (BMW, Zinoro) |- | LBX || Jiangsu Kinroad Xintian Motorcycle Manufacture Co. Ltd. (motorcycles) |- | LBZ || Yantai Shuchi Vehicle Co., Ltd. (bus) |- | LB1 || Fujian Benz |- | LB2 || Geely Motorcycles |- | LB3 || Zhejiang Geely Holding Group (Geely, Galaxy, Geometry, Kandi) |- | LB4 || Chongqing Yinxiang Motorcycle Group Co., Ltd. |- | LB5 || Foshan City Fosti Motorcycle Co., Ltd. |- | LB7 || Tibet New Summit Motorcycle Co., Ltd. |- | LCE || Hangzhou Chunfeng Motorcycles (CFMOTO) |- | LCR || Gonow |- | LC0 || BYD Auto (BYD, Denza) |- | LC2 || Changzhou Kwang Yang Motor Co., Ltd. (Kymco) |- | LC6 || Changzhou Haojue Suzuki Motorcycle Co. Ltd. |- | LDB || Dadi Auto |- | LDC || Dongfeng Peugeot Citroen Automobile Co., Ltd. (DPCA), Dongfeng Fengshen (Aeolus) L60 |- | LDD || Dandong Huanghai Automobile |- | LDF || Dezhou Fulu Vehicle Co., Ltd. (motorcycles), BAW Yuanbao electric car (Ace P1 in Norway) |- | LDK || FAW Bus (Dalian) Co., Ltd. |- | LDN || Soueast (South East (Fujian) Motor Co., Ltd.) including Mitsubishi made by Soueast |- | LDP || Dongfeng, Dongfeng Fengshen (Aeolus), Voyah, Renault City K-ZE/Venucia e30 made by eGT New Energy Automotive |- | LDY || Zhongtong Bus Holding Co. Ltd. |- | LD3 || Guangdong Tayo Motorcycle Technology Co. (Zontes) (motorcycle) |- | LD5 || Benzhou Vehicle Industry Group Ltd. (motorcycle) |- | LD9/L3A || SiTech (FAW) |- | LEC || Tianjin Qingyuan Electric Vehicle Co., Ltd. |- | LEF || Jiangling Motors Corporation Ltd. (JMC) |- | LEH || Zhejiang Riya Motorcycle Co. Ltd. |- | LET || Jiangling-Isuzu Motors, China |- | LEW || Dongfeng commercial vehicle |- | LE4 || Beijing Benz & Beijing Benz-Daimler Chrysler Automotive Co. (Chrysler, Jeep, Mitsubishi, Mercedes-Benz) & Beijing Jeep Corp. |- | LE8 || Guangzhou Panyu Hua'Nan Motors Industry Co. Ltd. (motorcycles) |- | LFB || FAW Group (Bestune, Hongqi) & Mazda made under license by FAW (Mazda 8, CX-7) |- | LE8 || Zhejiang Senling Motorcycle Co. Ltd. |- | LFF || Zhejiang Taizhou Wangye Power Co., Ltd. |- | LFG || Taizhou Chuanl Motorcycle Manufacturing |- | LFJ || Fujian Motors Group (Keyton) |- | LFM || FAW Toyota Motor (Toyota, Ranz) |- | LFN || FAW Bus (Wuxi) Co., Ltd. (truck, bus) |- | LFP || FAW Car, Bestune, Hongqi (passenger vehicles) & Mazda made under license by FAW (Mazda 6, CX-4) |- | LFT || FAW (trailers) |- | LFU || Lifeng Group Co., Ltd. (motorcycles) |- | LFV || FAW-Volkswagen (VW, Audi, Jetta, Kaili) |- | LFW || FAW JieFang (truck) |- | LFX || Sany Heavy Industry (truck) |- | LFY || Changshu Light Motorcycle Factory |- | LFZ || Leapmotor |- | LF3 || Lifan Motorcycle |- | LGA || Dongfeng Commercial Vehicle Co., Ltd. trucks |- | LGB || Dongfeng Nissan (Nissan, Infiniti, Venucia) |- | LGB || Dongfeng Commercial Vehicle Co., Ltd. |- | LGC || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGD || Dongfeng Commercial Vehicle Co., Ltd. |- | LGF || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGG || Dongfeng Liuzhou Motor (Forthing/Fengxing) |- | LGJ || Dongfeng Fengshen (Aeolus) |- | LGL || Guilin Daewoo |- | LGV || Heshan Guoji Nanlian Motorcycle Industry Co., Ltd. |- | LGW || Great Wall Motor (GWM, Haval, Ora, Tank, Wey) |- | LGX || BYD Auto (BYD, Fangchengbao) |- | LGZ || Guangzhou Denway Bus |- | LG6 || Dayun Group |- | LHA || Shuanghuan Auto |- | LHB || Beijing Automotive Industry Holding |- | LHG || GAC Honda (Honda, Everus, Acura) |- | LHJ || Chongqing Astronautic Bashan Motorcycle Manufacturing Co., Ltd. |- | LHM || Dongfeng Renault Automobile Co. |- | LHW || CRRC Electric Vehicle Co., Ltd. (bus) |- | LH0 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LH1 || FAW-Haima, China |- | LJC || Jincheng Corporation |- | LJD || Yueda Kia (previously Dongfeng Yueda Kia) (Kia, Horki) & Human Horizons - HiPhi (made under contract by Yueda Kia) |- | LJM || Sunlong (bus) |- | LJN || Zhengzhou Nissan |- | LJR || CIMC Vehicles Group (truck trailer) |- | LJS || Yaxing Coach, Asiastar Bus |- | LJU || Shanghai Maple Automobile & Kandi & Zhidou |- | LJU || Lotus Technology (Wuhan Lotus Cars Co., Ltd.) |- | LJV || Sinotruk Chengdu Wangpai Commercial Vehicle Co., Ltd. |- | LJW || JMC Landwind |- | LJX || JMC Ford |- | LJ1 || JAC (JAC, Sehol) |- | LJ1 || Nio, Inc. |- | LJ4 || Shanghai Jmstar Motorcycle Co., Ltd. |- | LJ5 || Cixi Kingring Motorcycle Co., Ltd. (Jinlun) |- | LJ8 || Zotye Auto made by Jiangnan Automobile |- | LKC || BAIC commercial vehicles, previously Changhe |- | LKG || Youngman Lotus Automobile Co., Ltd. |- | LKH || Hafei Motor |- | LKL || Higer Bus |- | LKT || Yunnan Lifan Junma Vehicle Co., Ltd. commercial vehicles |- | LK2 || Anhui JAC Bus |- | LK6 || SAIC-GM-Wuling (Wuling, Baojun) microcars and other vehicles |- | LK8 || Zhejiang Yule New Energy Automobile Technology Co., Ltd. (ATV) |- | LLC || Loncin Motor Co., Ltd. (motorcycle) |- | LLJ || Jiangsu Xinling Motorcycle Fabricate Co., Ltd. |- | LLN || Qoros |- | LLP || Zhejiang Jiajue Motorcycle Manufacturing Co., Ltd. |- | LLU || Dongfeng Fengxing Jingyi |- | LLV || Lifan, Maple (owned by Geely), Livan Automotive |- | LLX || Yudo Auto |- | LL0 || Sanmen County Yongfu Machine Co., Ltd. (motorcycles) |- | LL2 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LL3 || Xiamen Golden Dragon Bus Co. Ltd. |- | LL6 || GAC Mitsubishi Motors Co., Ltd. (formerly Hunan Changfeng) |- | LL8 || Jiangsu Linhai Yamaha Motor Co., Ltd. |- | LMC || Suzuki Hong Kong (motorcycles) |- | LME || Skyworth (formerly Skywell), Elaris Beo |- | LMF || Jiangmen Zhongyu Motor Co., Ltd. |- | LMG || GAC Motor, Trumpchi, [[w:Dodge Attitude#Fourth generation (2025)|Dodge Attitude made by GAC]] |- | LMH || Jiangsu Guowei Motor Co., Ltd. (Motoleader) |- | LMP || Geely Sichuan Commercial Vehicle Co., Ltd. |- | LMV || Haima Car Co., Ltd. |- | LMV || XPeng Motors G3 (not G3i) made by Haima |- | LMW || GAC Group, [[w:Trumpchi GS5#Dodge Journey|Dodge Journey made by GAC]] |- | LMX || Forthing (Dongfeng Fengxing) |- | LM0 || Wangye Holdings Co., Ltd. (motorcycles) |- | LM6 || SWM (automobiles) |- | LM8 || Seres (formerly SF Motors), AITO |- | LNA || GAC Aion New Energy Automobile Co., Ltd., Hycan |- | LNB || BAIC Motor (Senova, Weiwang, Huansu) & Arcfox & Xiaomi SU7 built by BAIC |- | LND || JMEV (Jiangxi Jiangling Group New Energy Vehicle Co., Ltd.), Eveasy/Mobilize Limo |- | LNE || Zhejiang CRRC Electric Vehicle Co., Ltd. (bus) |- | LNP || NAC MG UK Limited & Nanjing Fiat Automobile |- | LNN || Chery Automobile, Omoda, Jaecoo |- | LNV || Naveco (Nanjing Iveco Automobile Co. Ltd.) |- | LNX || Dongfeng Liuzhou Motor (Chenglong trucks) |- | LNY || Yuejin |- | LPA || Changan PSA (DS Automobiles) |- | LPE || BYD Auto |- | LPS || Polestar |- | LP6 || Guangzhou Panyu Haojian Motorcycle Industry Co., Ltd. |- | LRB || SAIC-General Motors (Buick for export) |- | LRD || Beijing Foton Daimler Automotive Co., Ltd. Auman trucks |- | LRE || SAIC-General Motors (Cadillac for export) |- | LRP || Chongqing Rato Power Co. Ltd. (Asus) |- | LRR || Ningbo Longjia Power Technology Co., Ltd. (motorcycles) |- | LRW || Tesla, Inc. (Gigafactory Shanghai) |- | LR4 || Yadi Technology Group |- | LR6 || Guangzhou Dayun Vehicle Co., Ltd. |- | LSC || Changan Automobile (light truck) |- | LSF || SAIC Maxus or LDV pickup/SUV & Chevrolet S10 Max & Shanghai Sunwin Bus Corporation |- | LSG || SAIC-General Motors (For China: Chevrolet, Buick, Cadillac, Sail Springo, For export: Chevrolet) |- | LSH || SAIC Maxus van or LDV van & Chevrolet Express Max |- | LSJ || SAIC MG & SAIC Roewe & IM Motors & Rising Auto |- | LSK || SAIC Maxus or LDV van |- | LSV || SAIC-Volkswagen (VW, Skoda, Audi, Tantus) |- | LSY || Brilliance (Jinbei, Zhonghua) & Jinbei GM |- | LS3 || Hejia New Energy Vehicle Co., Ltd |- | LS4 || Changan Automobile (MPV/SUV) |- | LS5 || Changan Automobile (car) & Changan Suzuki |- | LS6 || Changan Automobile & Deepal Automobile & Avatr |- | LS7 || JMC Heavy Duty Truck Co., Ltd. |- | LS8 ||Henan Shaolin Auto Co., Ltd. (bus) |- | LTA || ZX Auto |- | LTN || Soueast-built Chrysler & Dodge vehicles |- | LTP || National Electric Vehicle Sweden AB (NEVS) |- | LTV || FAW [[../Toyota/VIN Codes|Toyota]] (Tianjin) |- | LTW || Zhejiang Dianka Automobile Technology Co. Ltd. (Enovate) |- | LT1 || Yangzhou Tonghua Semi-Trailer Co., Ltd. (truck trailer) |- | LUC || [[../Honda/VIN Codes|Honda]] Automobile (China) |- | LUD || Dongfeng Nissan Diesel Motor Co Ltd. |- | LUG || Qiantu Motor |- | LUJ || Zhejiang Shanqi Tianying Vehicle Industry Co., Ltd. (motorcycles) |- | LUR || Chery Automobile, iCar |- | LUX || Dongfeng Yulon Motor Co. Ltd. |- | LUZ || Hozon Auto New Energy Automobile Co., Ltd. (Neta) |- | LVA || Foton Motor |- | LVB || Foton Motor truck |- | LVC || Foton Motor bus |- | LVF || Changhe Suzuki |- | LVG || GAC Toyota (Toyota, Leahead) |- | LVH || Dongfeng Honda (Honda, Ciimo) |- | LVM || Chery Commercial Vehicle |- | LVP || Dongfeng Sokon Motor Company (DFSK) |- | LVR || Changan Mazda |- | LVS || Changan [[../Ford/VIN Codes|Ford]] (Ford, Lincoln) & Changan Ford Mazda & Volvo S40 and S80L made by Changan Ford Mazda |- | LVT || Chery Automobile, Exeed, Jetour, Soueast |- | LVU || Chery Automobile, Jetour |- | LVV || Chery Automobile, Omoda, Jaecoo |- | LVX || Landwind, JMC (discontinued in 2021) |- | LVX || Aiways Automobiles Company Ltd |- | LVY || Volvo Cars Daqing factory |- | LVZ || Dongfeng Sokon Motor Company (DFSK) |- | LV3 || Hengchi Automobile (Evergrande Group) |- | LV7 || Jinan Qingqi Motorcycle |- | LWB || Wuyang Honda Motorcycle (Guangzhou) Co., Ltd. |- | LWE || Yangtse Motor Group (bus) |- | LWG || Chongqing Huansong Industries (Group) Co., Ltd. |- | LWL || Qingling Isuzu |- | LWM || Chongqing Wonjan Motorcycle Co., Ltd. |- | LWV || GAC Fiat Chrysler Automobiles (Fiat, Jeep) |- | LWX || Shanghai Wanxiang Automobile Manufacturing Co., Ltd. (bus) |- | LW4 || Li Auto |- | LXA || Jiangmen Qipai Motorcycle Co., Ltd. |- | LXD || Ningbo Dongfang Lingyun Vehicle Made Co., Ltd. (motorcycle) |- | LXG || Xuzhou Construction Machinery Group Co., Ltd. (XCMG) |- | LXK || Shanghai Meitian Motorcycle Co., Ltd. |- | LXM || Xiamen Xiashing Motorcycle Co., Ltd. (SYM) |- | LXN || Link Tour |- | LXV || Beijing Borgward Automotive Co., Ltd. |- | LXW || JMC - Ford |- | LXY || Chongqing Shineray Motorcycle Co., Ltd. |- | LX6 || Jiangmen City Huari Group Co. Ltd. (motorcycle) |- | LX8 || Chongqing Xgjao (Xinganjue) Motorcycle Co Ltd. |- | LYB || Weichai (Yangzhou) Yaxing Automobile Co., Ltd. |- | LYD || Taizhou City Kaitong Motorcycle Co., Ltd. (motorcycle) |- | LYJ || Beijing ZhongdaYanjing Auto Co., Ltd. (bus) |- | LYM || Zhuzhou Jianshe Yamaha Motorcycle Co., Ltd. |- | LYS || Nanjing Vmoto Manufacturing Co. Ltd. (motorcycle) |- | LYU || Huansu (BAIC Motor & Yinxiang Group) |- | LYV || Volvo Cars Chengdu factory & Taizhou, Luqiao District factory |- | LY4 || Chongqing Yingang Science & Technology Group Co., Ltd. (motorcycle) |- | LZE || Isuzu Guangzhou, China |- | LZF || SAIC Iveco Hongyan (-2021), SAIC Hongyan (2021-) |- | LZG || Shaanxi Automobile Group (Shacman) |- | LZK || Sinotruk (CNHTC) Huanghe bus |- | LZL || Zengcheng Haili Motorcycle Ltd. |- | LZM || MAN China |- | LZP || Zhongshan Guochi Motorcycle (Baotian) |- | LZS || Zongshen, Electra Meccanica Vehicles Corp. (Solo) made by Zongshen |- | LZU || Guangzhou Isuzu Bus |- | LZW || SAIC-GM-Wuling (Wuling, Baojun, Chevrolet [for export]) |- | LZY || Yutong Bus Co., Ltd. |- | LZZ || Sinotruk (CNHTC) (Howo, Sitrak) |- | LZ0 || Shandong Wuzheng Group Co., Ltd. |- | LZ4 || Jiangsu Linzhi Shangyang Group Co Ltd. |- | LZ9/LZX || Raysince |- | L0N || Ezytrail (camper trailers) |- | L08 || Zhejiang Apollo Sports Technology Co., Ltd. (motorcycles) |- | L1K || Chongqing Hengtong Bus Co., Ltd. |- | L1N || XPeng Motors |- | L10 || Geely Emgrand |- | L2B || Jiangsu Baodiao Locomotive Co., Ltd. (motorcycles) |- | L2C || Chery Jaguar Land Rover |- | L3H || Shanxi Victory Automobile Manufacturing Co., Ltd. |- | L37 || Huzhou Daixi Zhenhua Technology Trade Co., Ltd. (motorcycles) |- | L4B || Xingyue Group (motorcycles) |- | L4F || Suzhou Eagle Electric Vehicle Manufacturing Co., Ltd. |- | L4H || Ningbo Longjia Motorcycle Co., Ltd. |- | L4S || Zhejiang Xingyue Vehicle Co Ltd. (motorcycles) |- | L4Y || Qingqi Group Ningbo Rhon Motorcycle / Ningbo Dalong Smooth Locomotive Industry Co., Ltd. |- | L5C || Zhejiang Kangdi Vehicles Co., Ltd. (motorcycles, ATVs) |- | L5E || Zoomlion Heavy Industry Science & Technology Co., Ltd. |- | L5K || Zhejiang Yongkang Easy Vehicle |- | L5N || Zhejiang Taotao (ATV & motorcycles) |- | L5R || Jiangsu Dafier Motorcycle Co., Ltd. (motorcycles) |- | L5Y || Taizhou Zhongneng Motorcycle Co. Ltd. (Znen) |- | L6F || Shandong Liangzi Power Co. Ltd. |- | L6J || Zhejiang Kayo Motor Co. Ltd. (ATV) |- | L6K || Shanghai Howhit Machinery Manufacture Co. Ltd. |- | L6T || Geely, Lynk & Co, Zeekr |- | L66 || Zhuhai Granton Bus and Coach Co. Ltd. |- | L82 || Baotian |- | L85 || Zhejiang Yongkang Huabao Electric Appliance |- | L8A || Jinhua Youngman Automobile Manufacturing Co., Ltd. |- | L8X || Zhejiang Summit Huawin Motorcycle |- | L8Y || Zhejiang Jonway Motorcycle Manufacturing Co., Ltd. |- | L9G || Zhuhai Guangtong Automobile Co., Ltd. (bus) |- | L9N || Zhejiang Taotao Vehicles Co., Ltd. |- | MAA || India Kawasaki Motors Pvt. Ltd. |- | MAB || Mahindra & Mahindra |- | MAC || Mahindra & Mahindra |- | MAH || Fiat India Automobiles Pvt. Ltd |- | MAJ || [[../Ford/VIN Codes|Ford]] India |- | MAK || [[../Honda/VIN Codes|Honda]] Cars India |- | MAL || Hyundai Motor India |- | MAN || Eicher Polaris Multix |- | MAT || Tata Motors, Rover CityRover |- | MA1 || Mahindra & Mahindra |- | MA3 || Maruti Suzuki India (domestic & export) |- | MA6 || GM India |- | MA7 || Hindustan Motors Ltd. & Mitsubishi Motors & Isuzu models made by Hindustan Motors |- | MA8 || Daewoo Motor India |- | MBF || Royal Enfield |- | MBH || Suzuki (for export) & Nissan Pixo made by Maruti Suzuki India Limited |- | MBJ || [[../Toyota/VIN Codes|Toyota]] Kirloskar Motor Pvt. Ltd. |- | MBK || MAN Trucks India Pvt. Ltd. |- | MBL || Hero MotoCorp |- | MBR || Mercedes-Benz India |- | MBU || Swaraj Vehicles Limited |- | MBV || Premier Automobiles Ltd. |- | MBX || Piaggio India (Piaggio Ape) |- | MBY || Asia Motor Works Ltd. |- | MB1 || Ashok Leyland |- | MB2 || Hyundai Motor India (SUV) |- | MB7 || Reva Electric Car Company/Mahindra Reva Electric Vehicles Pvt. Ltd. |- | MB8 || Suzuki Motorcycle India Limited |- | MCA || FCA India Automobiles Pvt. Ltd. (Fiat, Jeep) |- | MCB || GM India |- | MCD || Mahindra Two Wheelers |- | MCG || Atul Auto Ltd. |- | MCL || International Cars And Motors Ltd. |- | MC1 || Force Motors Ltd. |- | MC2 || Eicher Motors Ltd./Volvo Eicher Commercial Vehicles Ltd. |- | MC4 || Dilip Chhabria Design Pvt Ltd. |- | MC9/RE1 || Reva Electric Car Company (Reva G-Wiz) |- | MDE || Kinetic Engineering Limited |- | MDH || Nissan Motor India Pvt Ltd. (including Datsun) |- | MDT || Kerala Automobiles Limited |- | MD2 || Bajaj Auto Ltd. & KTM and Husqvarna motorcycles built by Bajaj & Indian-market Triumph motorcycles built by Bajaj |- | MD6 || TVS Motor Company |- | MD7 || LML Ltd including Genuine Scooter Company Stella |- | MD9 || Shuttle Cars India |- | MEC || Daimler India Commercial Vehicles (BharatBenz) |- | MEE || Renault India Private Limited |- | MEG || Harley-Davidson India |- | MER || Benelli India |- | MES || Mahindra Navistar |- | MET || Piaggio India (Vespa, Indian-market Aprilia) |- | MEX || Škoda Auto Volkswagen India Pvt. Ltd. 2015 on |- | ME1 || India Yamaha Motor Pvt. Ltd. |- | ME3 || Royal Enfield |- | ME4 || Honda Motorcycle and Scooter India |- | MYH || Ather Energy |- | MZB || Kia India Pvt. Ltd. |- | MZD || Classic Legends Private Limited – Jawa |- | MZZ || Citroen India (PCA Automobiles India Private Limited) |- | MZ7 || MG Motor India Pvt. Ltd. |- | M3G || Isuzu Motors India |- | M6F || UM Lohia Two Wheelers Private Limited |- | ME9/ || BUYMYEV TECHNOLOGY PVT. LTD. (Indibike) |- | MF3 || PT Hyundai Motor Manufacturing Indonesia |- | MHB || PT Nissan Motor Indonesia |- | MHD || PT Indomobil Suzuki International |- | MHF || PT [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Indonesia |- | MHK || PT Astra Daihatsu Motor (includes Toyotas made by Astra Daihatsu) |- | MHL || PT Mercedes-Benz Indonesia |- | MHR || [[../Honda/VIN Codes|Honda]] Indonesia (PT Honda Prospect Motor) (car) |- | MHY || PT Suzuki Indomobil Motor (car, MPV, van) |- | MH1 || PT Astra Honda Motor (motorcycle) |- | MH3 || PT Yamaha Indonesia Motor Mfg. |- | MH4 || PT Kawasaki Motor Indonesia |- | MH8 || PT Suzuki Indomobil Motor (motorcycle) |- | MJB || GM Indonesia |- | MKF || PT Sokonindo Automobile (DFSK) |- | MK2 || PT Mitsubishi Motors Krama Yudha Indonesia |- | MK3 || PT SGMW Motor Indonesia (Wuling) |- | MLB || Siam Yamaha Co Ltd. |- | MLC || Thai Suzuki Motor Co., Ltd. (motorcycle) |- | MLE || Thai Yamaha Motor Co., Ltd. |- | MLH || Thai [[../Honda/VIN Codes|Honda]] Manufacturing Co., Ltd. (motorcycle) |- | MLW || Sco Motor Co., Ltd. (motorcycle) |- | MLY || Harley-Davidson Thailand |- | ML0 || Ducati Motor (Thailand) Co., Ltd. |- | ML3 || Mitsubishi Motors, Dodge Colt 100 [Canada], [[w:Dodge Attitude#Third generation (A10; 2015)|Dodge Attitude]] [Mexico] made by Mitsubishi (Thailand) |- | ML5 || Kawasaki Motors Enterprise Co. Ltd. (Thailand) |- | MMA || Mitsubishi Motors (Thailand) |- | MMB || Mitsubishi Motors (Thailand) |- | MMC || Mitsubishi Motors (Thailand) |- | MMD || Mitsubishi Motors (Thailand) |- | MME || Mitsubishi Motors (Thailand) |- | MMF || BMW Manufacturing (Thailand) Co., Ltd. |- | MML || MG Thailand (SAIC-CP) |- | MMM || Chevrolet Thailand, Holden Colorado RC pickup |- | MMR || Subaru/Tan Chong Subaru Automotive (Thailand) Co. Ltd. |- | MMS || Suzuki Motor (Thailand) Co., Ltd. (passenger car) |- | MMT || Mitsubishi Motors (Thailand) |- | MMU || Holden Thailand (Colorado RG, Colorado 7, & Trailblazer) |- | MM0, MM6, MM7, MM8 || Mazda Thailand (Ford-Mazda AutoAlliance Thailand plant) |- | MNA || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for Australia/New Zealand export |- | MNB || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for other right-hand drive markets |- | MNC || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for left-hand drive markets |- | MNK || Hino Motors Manufacturing Thailand Co Ltd. |- | MNT || Nissan Motor (Thailand) Co., Ltd. |- | MNU || Great Wall Motor Manufacturing (Thailand) Co., Ltd. |- | MN3 || Eagle Vista [Canada] made by Mitsubishi (Thailand) |- | MPA || Isuzu Motors (Thailand) Co., Ltd. & Holden Rodeo RA pickup made by Isuzu in Thailand |- | MPB || [[../Ford/VIN Codes|Ford]] Thailand (Ford Thailand Manufacturing plant) |- | MP1 || Isuzu Motors (Thailand) Co., Ltd. |- | MP2 || Mazda BT-50 pickup built by Isuzu Motors (Thailand) Co., Ltd. |- | MP3 || Plymouth Colt 100 [Canada] made by Mitsubishi (Thailand) |- | MP5 || Foton Motor Thailand |- | MRH || [[../Honda/VIN Codes|Honda]] Thailand (car) |- | MRT || Neta (Hozon Auto) made by Bangchan General Assembly Co., Ltd. |- | MR0 || [[../Toyota/VIN Codes|Toyota]] Thailand (pickups & Fortuner SUV) |- | MR1 || [[../Toyota/VIN Codes|Toyota]] Thailand |- | MR2 || [[../Toyota/VIN Codes|Toyota]] Thailand (Gateway plant) (passenger cars & CUVs) |- | MR3 || [[../Toyota/VIN Codes|Toyota]] Thailand (Hilux Champ chassis cab) |- | MS0 || [[../SUPER SEVEN STARS MOTORS INDUSTRY CO.,LTD/VIN Codes|Super Seven Stars Motors]] Myanmar |- | MS1 || [[../SUPER SEVEN STARS AUTOMOTIVE CO.,LTD/VIN Codes|Super Seven Stars Automotive]] Myanmar |- | MS3 || Suzuki Myanmar Motor Co., Ltd. |- | MXB || Saryarka AvtoProm bus (Kazakhstan) |- | MXL || Yutong bus made by Qaz Tehna (Kazakhstan) |- | MXV || IMZ-Ural Ural Motorcycles (Kazakhstan) |- | MX3 || Hyundai Trans Auto (Kazakhstan) |- | NAA || Iran Khodro (Peugeot Iran) |- | NAC || Mammut (truck trailers) |- | NAD || Škoda |- | NAL || Maral Sanat Jarvid (truck trailers) |- | NAP || Pars Khodro |- | NAS || SAIPA |- | NC0 || Oghab Afshan (bus) |- | NC9/ || VIRA Diesel |- | ND9/345 || Oghab Afshan (bus) |- | NFB || Honda Atlas Cars Pakistan Ltd. |- | NG3 || Lucky Motor Corporation |- | NLA || Honda Turkiye A.S. cars |- | NLC || Askam Kamyon Imalat Ve Ticaret A.S. |- | NLE || Mercedes-Benz Türk A.S. Truck |- | NLF || Koluman Otomotiv Endustri A.S. (truck trailer) |- | NLH || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv car/SUV |- | NLJ || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv van |- | NLN || Karsan |- | NLR || Otokar |- | NLT || Temsa |- | NLZ || Tezeller |- | NL1 || TOGG |- | NL2 || HABAS/HBS (bus) |- | NMA || MAN Türkiye A.Ş. |- | NMB || Mercedes-Benz Türk A.S. Buses |- | NMC || BMC Otomotiv Sanayi ve Ticaret A.Ş. |- | NMH || Honda Anadolu motorcycle |- | NMS || Otoyol San. A.Ş. |- | NMT || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Turkey |- | NM0 || Ford Otosan |- | NM1 || Oyak Renault Otomobil Fabrikaları A.Ş. |- | NM4 || Tofaş (Turk Otomobil Fabrikasi AS) |- | NNA || Anadolu Isuzu |- | NNN || Gépébus Oréos 4X (based on Otokar Vectio) |- | NNY || Yeksan (truck trailer) |- | NPM || Seyit Usta Treyler (truck trailer) |- | NPR || Oztreyler (truck trailer) |- | NPS || Nursan (truck trailer) |- | NP8|| ÖZGÜL TREYLER (truck trailer) |- | NP9/002 || OKT Trailer (truck trailer) |- | NP9/003 || Aksoylu Trailer (truck trailer) |- | NP9/011 || Güleryüz (bus) |- | NP9/021 || Dogumak (truck trailer) |- | NP9/022 || Alim (truck trailer) |- | NP9/042 || Ali Rıza Usta (truck trailer) |- | NP9/066 || Makinsan (truck trailer) |- | NP9/093 || BRF Trailer (truck trailer) |- | NP9/103 || Türkkar (bus) |- | NP9/106 || Çarsan Treyler (truck trailer) |- | NP9/107 || Arbus Perfect (bus) |- | NP9/108 || Guven Makina (truck trailer) |- | NP9/117 || Katmerciler (truck trailer) |- | NP9/300 || TCV (bus) |- | NP9/258 || Ceytrayler (truck trailer) |- | NP9/306 || Cryocan (truck trailer) |- | NRE || Bozankaya |- | NRX || Musoshi |- | NRY || Pilotcar Otomotiv |- | NR9/012 || Doğan Yıldız (truck trailer) |- | NR9/028 || Micansan (truck trailer) |- | NR9/029 || Yilteks (truck trailer) |- | NR9/034 || Akia (bus) |- | NR9/084 || Harsan (truck trailer) |- | NR9/257 || Vega Trailer (truck trailer) |- | NSA || SamAvto / SAZ (Uzbekistan) |- | NS2 || JV MAN Auto - Uzbekistan |- | NVA || Khazar (IKCO Dena made in Azerbaijan) |- | PAB || Isuzu Philippines Corporation |- | PAD || Honda Cars Philippines |- | PE1 || Ford Motor Company Philippines |- | PE3 || Mazda Philippines made by Ford Motor Company Philippines |- | PFD || Hyundai Motor Group Innovation Center in Singapore (HMGICS) |- | PL1 || Proton, Malaysia |- | PL8 || Inokom-Hyundai |- | PLP || Subaru/Tan Chong Motor Assemblies, Malaysia |- | PLZ || Isuzu Malaysia |- | PMA || MAN Truck & Bus Malaysia |- | PMH || Honda Malaysia (car) |- | PMK || Honda Boon Siew (motorcycle) |- | PML || Hicom |- | PMN || Modenas |- | PMS || Suzuki Assemblers Malaysia (motorcycle) |- | PMV || Hong Leong Yamaha Motor Sdn. Bhd. |- | PMY || Hong Leong Yamaha Motor Sdn. Bhd. |- | PM1 || BMW & Mini/Inokom |- | PM2 || Perodua |- | PM9/ || Bufori |- | PNA || Naza/Kia/Peugeot |- | PNA || Stellantis Gurun (Malaysia) Sdn. Bhd. (Peugeot) |- | PNS || SKSBUS Malaysia (bus) |- | PNS || TMSBUS Malaysia (bus) |- | PNV || Volvo Car Manufacturing Malaysia |- | PN1 || UMW Toyota Motor |- | PN2 || UMW Toyota Motor |- | PN8 || Nissan/Tan Chong Motor Assemblies, Malaysia |- | PPP || Suzuki |- | PPV || Volkswagen/HICOM Automotive Manufacturers (Malaysia) |- | PP1 || Mazda/Inokom |- | PP3 || Hyundai/Inokom |- | PRA || Sinotruk |- | PRH || Chery (by Chery Alado Holdings [joint venture] at Oriental Assemblers plant) |- | PRX || Kia/Inokom |- | PR8 || Ford |- | PRN || GAC Trumpchi made by Warisan Tan Chong Automotif Malaysia |- | PV3 || Ford made by RMA Automotive Cambodia |- | RA1 || Steyr Trucks International FZE, UAE |- | RA9/015 || Al-Assri Industries (Trailers), UAE |- | LES || Isuzu MPV made by Sanfu Motor Industrial Co., Ltd. (Trooper '87-'91) (Taiwan) |- | LFA || Ford Lio Ho Motor Co Ltd. old designation (Taiwan) |- | LM1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LM4 || Tai Ling Motor Co Ltd. old designation (Suzuki ATV made by Tai Ling) (Taiwan) |- | LM5 || Isuzu Truck (Light Duty) made by Sanfu Motor Industrial Co., Ltd. (Trooper '87-'88) (Taiwan) |- | LN1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LPR || Yamaha Motor Taiwan Co. Ltd. old designation (Taiwan) |- | RFB || Kwang Yang Motor Co., Ltd. (Kymco), Taiwan |- | RFC || Taiwan Golden Bee |- | RFD || Tai Ling Motor Co Ltd. new designation (Taiwan) |- | RFG || Sanyang Motor Co., Ltd. (SYM) Taiwan |- | RFL || Her Chee Industrial Co., Ltd. (Adly), Taiwan |- | RFT || CPI Motor Company, Taiwan |- | RFV || Motive Power Industry Co., Ltd. (PGO Scooters including Genuine Scooter Company models made by PGO) (Taiwan) |- | RF3 || Aeon Motor Co., Ltd., Taiwan |- | RF5 || Yulon Motor Co. Ltd., Taiwan (Luxgen) |- | RF8 || EVT Technology Co., Ltd (motorcycle) |- | RGS || Kawasaki made by Kymco (Taiwan) |- | RHA || Ford Lio Ho Motor Co Ltd. new designation (Taiwan) |- | RKJ || Prince Motors Taiwan |- | RKL || Kuozui Motors (Toyota) (Taiwan) |- | RKM || China Motor Corporation (Taiwan) |- | RKR || Yamaha Motor Taiwan Co. Ltd. new designation |- | RKT || Access Motor Co., Ltd. (Taiwan) |- | RK3 || E-Ton Power Tech Co., Ltd. (motorcycle) (Taiwan) |- | RK3 || Honda Taiwan |- | RK7 || Kawasaki ATV made by Tai Ling Motor Co Ltd (rebadged Suzuki ATV) new designation (Taiwan) |- | RLA || Vina Star Motors Corp. – Mitsubishi (Vietnam) |- | RLC || Yamaha Motor Vietnam Co. Ltd. |- | RLE || Isuzu Vietnam Co. |- | RLH || Honda Vietnam Co. Ltd. |- | RLL || VinFast SUV |- | RLM || Mercedes-Benz Vietnam |- | RLN || VinFast |- | RLV || Vietnam Precision Industrial CO., Ltd. (Can-Am DS 70 & DS 90) |- | RL0 || Ford Vietnam |- | RL4 || Toyota Motor Vietnam |- | RP8 || Piaggio Vietnam Co. Ltd. |- | RUN || Sollets-Auto ST6 (Russia) |- | R1J || Jiayuan Power (Hong Kong) Ltd. (Electric Low-Speed Vehicles) (Hong Kong) |- | R1N || Niu Technologies Group Ltd. (Hong Kong) |- | R10 || ZAP (HK) Co. Ltd. |- | R19/003 || GMI (bus) (Hong Kong) |- | R2P || Evoke Electric Motorcycles (Hong Kong) |- | R3M || Mangosteen Technology Co., Ltd. (Hong Kong) |- | R36 || HK Shansu Technology Co., Ltd. (Hong Kong) |- | R4N || Elyx Smart Technology Holdings (Hong Kong) Ltd. |- | R82 || Hangzhou Lantu Technology Co., Ltd. (Hong Kong) |- | SAA || Austin |- | SAB || Optare (1985-2020), Switch Mobility (2021-) |- | SAD || Daimler Company Limited (until April 1987) |- | SAD || Jaguar SUV (E-Pace, F-Pace, I-Pace) |- | SAF || ERF trucks |- | SAH || Honda made by Austin Rover Group |- | SAJ || Jaguar passenger car & Daimler passenger car (after April 1987) |- | SAL || [[../Land Rover/VIN Codes|Land Rover]] |- | SAM || Morris |- | SAR || Rover & MG Rover Group |- | SAT || Triumph car |- | SAX || Austin-Rover Group including Sterling Cars |- | SAY || Norton Motorcycles (UK) Ltd. (Donington Park/Donington Hall) |- | SAZ || Freight Rover |- | SA3 || Ginetta Cars |- | SA9/ || OX Global |- | SA9/A11 || Morgan Roadster (V6) (USA) |- | SA9/J00 || Morgan Aero 8 (USA) |- | SA9/004 || Morgan (4-wheel passenger cars) |- | SA9/005 || Panther |- | SA9/010 || Invicta S1 |- | SA9/011 || Midas Cars |- | SA9/019 || TVR |- | SA9/022 || Triking Sports Cars |- | SA9/026 || Fleur de Lys |- | SA9/036 || Ginetta Cars |- | SA9/038 || DAX Cars |- | SA9/039 || Westfield Sportscars |- | SA9/048 || McLaren F1 |- | SA9/050 || Marcos Engineering |- | SA9/062 || AC Cars (Brooklands Ace) |- | SA9/068 || Johnston Sweepers |- | SA9/073 || Tomita Auto UK (Tommykaira ZZ) |- | SA9/074 || Ascari |- | SA9/088 || Spectre Angel |- | SA9/105 || Mosler Europe Ltd. |- | SA9/113 || Noble |- | SA9/130 || MG Sport and Racing |- | SA9/141 || Wrightbus |- | SA9/202 || Morgan 3-Wheeler, Super 3 |- | SA9/207 || Radical Sportscars |- | SA9/211 || BAC (Briggs Automotive Company Ltd.) |- | SA9/225 || Paneltex (truck trailer) |- | SA9/231 || Peel Engineering |- | SA9/337 || Ariel |- | SA9/341 || Zenos |- | SA9/438 || Charge Cars |- | SA9/458 || Gordon Murray Automotive |- | SA9/474 || Mellor (bus) |- | SA9/612 || Tiger Racing (kit car) |- | SA9/621 || AC Cars (Ace) |- | SBB || Leyland Vehicles |- | SBC || Iveco Ford Truck |- | SBF || Nugent (trailer) |- | SBJ || Leyland Bus |- | SBL || Leyland Motors & Leyland DAF |- | SBM || McLaren |- | SBS || Scammell |- | SBU || United Trailers (truck trailer) |- | SBV || Kenworth & Peterbilt [incomplete vehicle] made by Leyland Trucks |- | SBW || Weightlifter Bodies (truck trailer) |- | SB1 || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing UK |- | SCA || Rolls Royce passenger car |- | SCB || Bentley passenger car |- | SCC || Lotus Cars & Opel Lotus Omega/Vauxhall Lotus Carlton |- | SCD || Reliant Motors |- | SCE || DeLorean Motor Cars N. Ireland (UK) |- | SCF || Aston Martin Lagonda Ltd. passenger car & '21 DBX SUV |- | SCG || Triumph Engineering Co. Ltd. (original Triumph Motorcycle company) |- | SCK || Ifor Williams Trailers |- | SCM || Manitowoc Cranes - Grove |- | SCR || London Electric Vehicle Company & London Taxi Company & London Taxis International |- | SCV || Volvo Truck & Bus Scotland |- | SC5 || Wrightbus (from ~2020) |- | SC6 || INEOS Automotive SUV |- | SDB || Talbot |- | SDC || SDC Trailers Ltd. (truck trailer) |- | SDF || Dodge Trucks – UK 1981–1984 |- | SDG || Renault Trucks Industries 1985–1992 |- | SDK || Caterham Cars |- | SDL || TVR |- | SDP || NAC MG UK & MG Motor UK Ltd. |- | SDU || Utility (truck trailer) |- | SD7 || Aston Martin SUV |- | SD8 || Moke International Ltd. |- | SED || IBC Vehicles (General Motors Luton Plant) (Opel/Vauxhall, 1st gen. Holden Frontera, Isuzu Midi) |- | SEG || Dennis Eagle Ltd., including Renault Trucks Access and D Access |- | SEP || Don-Bur (truck trailer) |- | SEY || LDV Group Ltd. |- | SFA || [[../Ford/VIN Codes|Ford]] UK |- | SFD || Dennis UK / Alexander Dennis |- | SFE || Alexander Dennis UK |- | SFR || Fruehauf (truck trailer) |- | SFN || Foden Trucks & Kenworth [truck] made by Foden Trucks |- | SFZ || Tesla Roadster made by Lotus |- | SGA || Avondale (caravans) |- | SGB || Bailey (caravans) |- | SGD || Swift Group Ltd. (caravans) |- | SGE || Elddis (caravans) |- | SGL || Lunar Caravans Ltd. |- | SG4 || Coachman Caravan Co. Ltd. |- | SG7 || ABI Caravans Ltd. |- | SHH || [[../Honda/VIN Codes|Honda]] UK passenger car |- | SHS || [[../Honda/VIN Codes|Honda]] UK SUV |- | SH2 || The Norton Motorcycle Co., Ltd. (TVS Motor Co. subsidiary) |- | SH7 || INEOS Automotive truck |- | SJA || Bentley SUV |- | SJB || Brian James Trailers Ltd |- | SJK || Nissan Motor Manufacturing UK - Infiniti |- | SJN || Nissan Motor Manufacturing UK - Nissan |- | SJ1 || Ree Automotive |- | SKA || Vauxhall |- | SKB || Kel-Berg Trailers & Trucks |- | SKF || Bedford Vehicles |- | SKL || Anaig (UK) Technology Ltd |- | SKM || King Military Engineering Ltd. |- | SLA || Rolls Royce SUV |- | SLC || Thwaites Dumpers |- | SLG || McMurtry Automotive |- | SLN || Niftylift |- | SLP || JC Bamford Excavators Ltd. |- | SLV || Volvo bus |- | SMR || Montracon (truck trailer) |- | SMT || Triumph Motorcycles Ltd. (current Triumph Motorcycle company) |- | SMW || Cartwright (truck trailer) |- | SMX || Gray & Adams (truck trailer) |- | SNE || Barkas (East Germany) |- | SNE || Wartburg (East Germany) |- | SNT || Trabant (East Germany) |- | SNZ || MZ (motorcycle) (Germany) |- | SPE || B-ON GmbH (Germany) |- | ST3 || Calabrese (truck trailer) |- | SUA || Autosan (bus) |- | SUB || Tramp Trail (trailer) |- | SUC || Wiola (trailer) |- | SUD || Wielton (truck trailers) |- | SUF || FSM/Fiat Auto Poland (Polski Fiat) |- | SUG || Mega Trailers (truck trailer) (Poland) |- | SUJ || Jelcz (Poland) |- | SUL || FSC (Poland) |- | SUM || Novatrail (truck trailers) |- | SUP || FSO/Daewoo-FSO (Poland) |- | SUU || Solaris Bus & Coach (Poland) |- | SU9/AR1 || Emtech (truck trailer) |- | SU9/BU1 || BODEX (truck trailer) |- | SU9/DE2 || Demarco (truck trailer) |- | SU9/EB1 || Elbo (truck trailer) |- | SU9/EZ1 || Enerco (truck trailer) |- | SU9/NC5 || Zasta (truck trailer) |- | SU9/NJ1 || Janmil (truck trailer) |- | SU9/PL1 || Plandex (truck trailer) |- | SU9/PN1 || Solaris Bus & Coach (Poland) - until 2004 |- | SU9/RE1 || Redos (truck trailer) |- | SU9/RE2 || Gromex (trailer) |- | SU9/TR1 || Plavec (truck trailer) |- | SU9/YV1 || Pilea bus/ARP E-Vehicles (Poland) |- | SU9/ZC1 || Wolf (truck trailer) |- | SVH || ZASŁAW (truck trailer) |- | SVM || Inter Cars (truck trailer) |- | SVS || BODEX (truck trailer) |- | SV9/BC2 || BC-LDS (truck trailer) |- | SV9/DR1 || Dromech (truck trailer) |- | SV9/RN1 || Prod-Rent (truck trailer) |- | SWH || Temared (trailers) |- | SWR || Weekend Trailers (trailers) |- | SWV || TA-NO (Poland) |- | SWZ || Zremb (trailers) |- | SW9/BA1 || Solbus |- | SW9/WG3 || Grew / Opalenica (trailer) |- | SXE || Neptun Trailers |- | SXK || Konar (truck trailer) |- | SXM || MELEX Sp. z o.o. |- | SXY || Wecon (truck trailer) |- | SXX || Martz (trailer) |- | SX7 || Arthur Bus |- | SX9/GR0 || GRAS (truck trailer) |- | SX9/KT1 || AMZ - Kutno (bus) |- | SX9/PN1 || Polkon (truck trailer) |- | SX9/SP1 || SOMMER Polska (truck trailer) |- | SYB || Rydwan (trailer) |- | SYG || Gniotpol, GT Trailers Sp. z o. o. (truck trailer) |- | SY1 || Neso Bus (PAK-PCE Polski Autobus Wodorowy) |- | SY9/FR1 || Feber (truck trailer) |- | SY9/PF1 || KEMPF (truck trailer) |- | SZA || Scania Poland |- | SZC || Vectrix (motorcycle) |- | SZL || Boro Trailers |- | SZN || Przyczepy Głowacz (trailer) |- | SZR || Niewiadów (trailer) |- | SZ9/AE6 || Gewe (trailer) |- | SZ9/BG1 || GALA Syriusz (trailer) |- | SZ9/PW1 || PRO-WAM (truck trailer) |- | SZ9/TU1 || Ovibos (truck trailer) |- | S19/AM0 || AMO Plant (bus) (Latvia) |- | S19/EF1 || Electrify (minibus) (Latvia) |- | S19/MT0 || Mono-Transserviss (truck trailer) (Latvia) |- | TAW || NAW Nutzfahrzeuggesellschaft Arbon & Wetzikon AG (Switzerland) |- | TBS || Boschung AG (Switzerland) |- | TCC || Micro Compact Car AG (smart 1998-1999) (Switzerland) |- | TDM || QUANTYA Swiss Electric Movement (Switzerland) |- | TEB || Bucher Municipal AG (includes Johnston Sweepers) (Switzerland) |- | TEM || Twike (SwissLEM AG) (Switzerland) |- | TFH || FHS Frech-Hoch AG (truck trailer) (Switzerland) |- | TH9/512 || Hess AG (bus, trolleybus) (Switzerland) |- | TJ5 || Vezeko (trailer) (Czech Republic) |- | TKP || Panav a.s. (truck trailer) (Czech Republic) |- | TKX || Agados s.r.o. (trailer) (Czech Republic) |- | TKY || Metaco (truck trailer) (Czech Republic) |- | TK9/AH3 || Atmos Chrást s.r.o. (Czech Republic) |- | TK9/AP3 || Agados, spol. s.r.o. (trailer) (Czech Republic) |- | TK9/HP1 || Hipocar (truck trailer) (Czech Republic) |- | TK9/PP7 || Paragan Trucks (truck trailer) (Czech Republic) |- | TK9/SL5 || SOR Libchavy buses (Czech Republic) |- | TK9/SS5 || SVAN Chrudim (truck trailer) (Czech Republic) |- | TLJ || Jawa Moto (Czech Republic) |- | TMA || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech |- | TMB || Škoda Auto|Škoda (Czech Republic) |- | TMC || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech (SUV) |- | TMK || Karosa (Czech Republic) |- | TMP || Škoda trolleybuses (Czech Republic) |- | TMT || Tatra passenger car (Czech Republic) |- | TM9/CA2 || Oasa bus (Oprava a stavba automobilů) (Czech Republic) |- | TM9/SE3 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/SE4 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/TE6 || TEDOM bus (Czech Republic) |- | TNA || Avia/Daewoo Avia |- | TNE || TAZ |- | TNG || LIAZ (Liberecké Automobilové Závody) |- | TNT || Tatra trucks |- | TNU || Tatra trucks |- | TN9/EE7 || Ekova (bus) (Czech Republic) |- | TN9/VP5 || VPS (truck trailer) |- | TRA || Ikarus Bus |- | TRC || Csepel bus |- | TRE || Rákos bus |- | TRK || Credo bus/Kravtex (Hungary) |- | TRR || Rába Bus (Hungary) |- | TRU || Audi Hungary (TT/TTS, '12-'13 TT RS) |- | TSB || Ikarus Bus |- | TSC || VIN assigned by the National Transport Authority of Hungary |- | TSE || Ikarus Egyedi Autobuszgyar (EAG) (Hungary) |- | TSF || Alfabusz (Hungary) |- | TSM || Suzuki Hungary (Magyar Suzuki),<br> Fiat Sedici made by Suzuki, Subaru Justy G3X made by Suzuki, Suzuki Swace made by Toyota UK (TMUK) |- | TSY || Keeway Motorcycles (Hungary) |- | TS9/111 || NABI Autóbuszipari (bus) (Hungary) |- | TS9/130 || Enterprise Bus (Hungary) |- | TS9/131 || MJT bus (Hungary) |- | TS9/156 || Ikarus / ARC (Auto Rad Controlle Kft.) bus (Hungary) |- | TS9/167 || Hungarian Bus Kft. (Hungary) |- | TS9/170 || Csaba Metál bus (Hungary) |- | TT9/117 || Ikarus Egyedi Autobusz Gyarto Kft. / Magyar Autóbuszgyártó Kft. / MABI (Hungary) |- | TT9/123 || Ikarus Global Zrt. (Hungary) |- | TWG || CaetanoBus (Portugal) |- | TW0 || CaetanoBus (Portugal) |- | TW1 || Toyota Caetano Portugal, S.A. (Toyota Coaster, Dyna, Optimo, Land Cruiser 70 Series) |- | TW2 || [[../Ford/VIN Codes|Ford]] Lusitana (Portugal) |- | TW4 || UMM (Portugal) |- | TW6 || Citroën (Portugal) |- | TW7 || Mini Moke made by British Leyland & Austin Rover Portugal |- | TX5 || Mini Moke made by Cagiva (Moke Automobili) |- | TX9/046 || Riotrailer (truck trailer) (Portugal) |- | TYA || Mitsubishi Fuso Truck and Bus Corp. Portugal (right-hand drive) |- | TYB || Mitsubishi Fuso Truck and Bus Corp. Portugal (left-hand drive) |- | T3C || Lohr Backa Topola (truck trailer) (Serbia) |- | T49/BG7 || FAP (Serbia) |- | T49/BH8 || Megabus (bus) (Serbia) |- | T49/BM2 || Feniksbus (minibus) (Serbia) |- | T49/V16 || MAZ made by BIK (bus) (Serbia) |- | T7A || Ebusco (Netherlands) |- | UA1 || AUSA Center (Spain) |- | UA2 || Iveco Massif & Campagnola made by Santana Motors in Spain |- | UA4 || Irizar e-mobility (Spain) |- | UCY || Silence Urban Ecomobility (Spain) |- | UD3 || Granalu truck trailers (Belgium) |- | UHE || Scanvogn (trailer) (Denmark) |- | UHL || Camp-let (recreational vehicle) (Denmark) |- | UH2 || Brenderup (trailer) (Denmark) |- | UH2 || De Forenede Trailerfabrikke (trailer) (Denmark) |- | UH9/DA3 || DAB - Danish Automobile Building (acquired by Scania) (Denmark) |- | UH9/FK1 || Dapa Trailer (truck trailer) (Denmark) |- | UH9/HF1 || HFR Trailer A/S (truck trailer) (Denmark) |- | UH9/HM1 || HMK Bilcon A/S (truck trailer) (Denmark) |- | UH9/NS1 || Nopa (truck trailer) (Denmark) |- | UH9/NT1 || Nordic Trailer (truck trailer) (Denmark) |- | UH9/VM2 || VM Tarm a/s (truck trailer) (Denmark) |- | UJG || Garia ApS - Club Car (Denmark) |- | UKR || Hero Camper (Denmark) |- | UMT || MTDK a/s (truck trailer) (Denmark) |- | UN1 || [[../Ford/VIN Codes|Ford]] Ireland |- | UN9/089 || Brian Noone Ltd. bus (Ireland) |- | UU1 || Dacia (Romania) |- | UU2 || Oltcit |- | UU3 || ARO |- | UU4 || Roman/Grivbuz |- | UU5 || Rocar |- | UU6 || Daewoo Romania |- | UU7 || Euro Bus Diamond |- | UU9 || Astra Bus |- | UVW || UMM (truck trailer) |- | UV9/AT1 || ATP Trucks, ATP Bus |- | UWR || Robus Reșița |- | UZT || UTB (Uzina de Tractoare Brașov) |- | U1A || Sanos (North Macedonia) |- | U1V || VDL Van Hool Macedonia (North Macedonia) |- | U5Y || Kia Motors Slovakia |- | U59/AS0 || ASKO (truck trailer) |- | U6A || Granus (bus) (Slovakia) |- | U6Y || Kia Motors Slovakia |- | U69/NL1 || Novoplan (bus) (Slovakia) |- | U69/SB1 || SlovBus (bus) |- | U69/TR8 || Troliga Bus (Slovakia) |- | VAG || Steyr-Daimler-Puch Puch G & Steyr-Puch Pinzgauer |- | VAH || Hangler (truck trailer) |- | VAK || Kässbohrer Transport Technik |- | VAN || MAN Austria/Steyr-Daimler-Puch Steyr Trucks |- | VAV || Schwarzmüller |- | VAX || Schwingenschlogel (truck trailer) |- | VA0 || ÖAF, Gräf & Stift |- | VA4 || KSR Group (motorcycle) |- | VA9/GS0 || Gsodam Fahrzeugbau (truck trailer) |- | VA9/RB1 || Rosenbauer International AG (truck) |- | VA9/ZT0 || Berger Fahrzeugtechnik (truck trailer) |- | VBF || Fit-Zel (trailer) |- | VBK || KTM |- | VBK || Husqvarna Motorcycles & Gas Gas under KTM ownership |- | VCF || Fisker Inc. (Fisker Ocean) made by Magna Steyr |- | VFA || Alpine (A310, A610, A110, A390), Renault Alpine GTA |- | VFG || Caravelair (caravans) |- | VFK || Fruehauf (truck trailers) |- | VFN || Trailor, General Trailers (truck trailers) |- | VF1 || Renault, Renault GTA '87-'90 (UK market Alpine GTA), Mobilize Duo, Eagle Medallion made by Renault,<br> Opel/Vauxhall Arena made by Renault, Mitsubishi ASX, Colt, Grandis, & Eclipse Cross EV made by Renault |- | VF2 || Renault Trucks |- | VF3 || Peugeot |- | VF4 || Talbot |- | VF5 || Iveco Unic |- | VF6 || Renault Trucks including vans made by Renault S.A. & Maxity truck made by Nissan Motor Ibérica S.A. |- | VF7 || Citroën |- | VF8 || Matra Automobiles (Talbot-Matra Murena, Rancho made by Matra, Renault Espace I/II/III, Avantime made by Matra) |- | VF9/024 || Legras Industries (truck trailer) |- | VF9/045 || Nardeau SAS (truck trailer) |- | VF9/049 || G. Magyar (truck trailer) |- | VF9/063 || Maisonneuve (truck trailer) |- | VF9/132 || Jean CHEREAU S.A.S. (truck trailer) |- | VF9/300 || EvoBus France |- | VF9/435 || Merceron (truck trailer) |- | VF9/519 || Hommell |- | VF9/607 || Mathieu (sweeper) |- | VF9/673 || Venturi Automobiles |- | VF9/795 || [[../Bugatti/VIN Codes|Bugatti Automobiles S.A.S.]] |- | VF9/848 || G. Magyar (truck trailer) |- | VF9/880 || Bolloré Bluebus |- | VF9/938 || SAFRA (bus) |- | VGA || Peugeot Motocycles |- | VGT || ASCA (truck trailers) |- | VGU || Trouillet (truck trailers) |- | VGW || BSLT (truck trailers) |- | VGX || Coder (truck trailers) |- | VGY || Lohr (truck trailers) |- | VG5 || MBK (motorcycles) & Yamaha Motor |- | VG6 || Renault Trucks & Mack Trucks medium duty trucks made by Renault Trucks |- | VG7 || Renault Trucks |- | VG8 || Renault Trucks |- | VG9/019 || Naya (autonomous vehicle) |- | VG9/061 || Alstom-NTL Aptis (bus) |- | VHR || Robuste (truck trailer) |- | VHX || Manitowoc Cranes - Potain |- | VH1 || Benalu SAS (truck trailer) |- | VH8 || Microcar |- | VJR || Ligier |- | VJY || Gruau |- | VJ1 || Heuliez Bus |- | VJ2 || Mia Electric |- | VJ4 || Gruau |- | VKD || Cheval Liberté (horse trailer) |- | VK1 || SEG (truck trailer) |- | VK2 || Grandin Automobiles |- | VK8 || Venturi Automobiles |- | VLG || Aixam-Mega |- | VLU || Scania France |- | VL4 || Bluecar, Citroen E-Mehari |- | VMK || Renault Sport Spider |- | VMS || Automobiles Chatenet |- | VMT || SECMA |- | VMW || Gépébus Oréos 55 |- | VM3 || Lamberet (trailer) |- | VM3 || Chereau (truck trailer) |- | VN1 || Renault SOVAB (France), Opel/Vauxhall Movano A made at SOVAB |- | VN4 || Voxan |- | VNB || Sherco Motorcycles SARL |- | VNE || Iveco Bus/Irisbus (France) |- | VNK || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing France & '11-'13 Daihatsu Charade (XP90) made by TMMF |- | VNV || Nissan made in France by Renault |- | VPG || MPM Motors |- | VPL || Nosmoke S.A.S |- | VP3 || G. Magyar (truck trailers) |- | VRW || Goupil |- | VR1 || DS Automobiles |- | VR3 || Peugeot (under Stellantis) |- | VR7 || Citroën (under Stellantis) |- | VSA || Mercedes-Benz Spain |- | VSC || Talbot |- | VSE || Santana Motors (Land Rover Series-based models) & Suzuki SJ/Samurai, Jimny, & Vitara made by Santana Motors in Spain |- | VSF || Santana Motors (Anibal/PS-10, 300/350) |- | VSK || Nissan Motor Iberica SA, Nissan passenger car/MPV/van/SUV/pickup & Ford Maverick 1993–1999 |- | VSR || Leciñena (truck trailers) |- | VSS || SEAT/Cupra |- | VSX || Opel Spain |- | VSY || Renault V.I. Spain (bus) |- | VS1 || Pegaso |- | VS5 || Renault Spain |- | VS6 || [[../Ford/VIN Codes|Ford]] Spain |- | VS7 || Citroën Spain |- | VS8 || Peugeot Spain |- | VS9/001 || Setra Seida (Spain) |- | VS9/011 || Advanced Design Tramontana |- | VS9/013 || Mirofret (truck trailer) (Spain) |- | VS9/016 || Irizar bus (Spain) |- | VS9/019 || Cobos Hermanos (truck trailer) (Spain) |- | VS9/031 || Carrocerias Ayats (Spain) |- | VS9/032 || Parcisa (truck trailer) (Spain) |- | VS9/044 || Beulas bus (Spain) (Spain) |- | VS9/047 || Indox (truck trailers) (Spain) |- | VS9/052 || Montull (truck trailer) (Spain) |- | VS9/057 || SOR Ibérica (truck trailers) (Spain) |- | VS9/072 || Mecanicas Silva (truck trailer) (Spain) |- | VS9/098 || Sunsundegui bus (Spain) |- | VS9/172 || EvoBus Iberica |- | VS9/917 || Nogebus (Spain) |- | VTD || Montesa Honda (Honda Montesa motorcycle models) |- | VTH || Derbi (motorcycles) |- | VTL || Yamaha Spain (motorcycles) |- | VTM || Montesa Honda (Honda motorcycle models) |- | VTP || Rieju S.A. (motorcycles) |- | VTR || Gas Gas |- | VTT || Suzuki Spain (motorcycles) |- | VVC || SOR Ibérica (truck trailers) |- | VVG || Tisvol (truck trailers) |- | VV1 || Lecitrailer Group (truck trailers) |- | VV5 || Prim-Ball (truck trailers) |- | VV9/ || [[wikipedia:Tauro Sport Auto|TAURO]] Sport Auto Spain |- | VV9/010 || Castrosúa bus (Spain) |- | VV9/125 || Indetruck (truck trailers) |- | VV9/130 || Vectia Mobility bus (Spain) |- | VV9/130 || UNVI bus (Spain) |- | VV9/359|| Hispano-Suiza |- | VWA || Nissan Vehiculos Industriales SA, Nissan Commercial Vehicles |- | VWF || Guillén Group (truck trailers) |- | VWL || Indox (truck trailers) |- | VWV || Volkswagen Spain |- | VXE || Opel Automobile Gmbh/Vauxhall van |- | VXF || Fiat van (Fiat Scudo, Ulysse '22-) |- | VXK || Opel Automobile Gmbh/Vauxhall car/SUV |- | VXY || Neobus a.d. (Serbia) |- | VX1 || [[w:Zastava Automobiles|Zastava Automobiles]] / [[w:Yugo|Yugo]] (Yugoslavia/Serbia) |- | VYC || Lancia Ypsilon (4th gen.) |- | VYE || Jeep Compass (3rd gen. - EU market '26-) |- | VYF || Fiat Doblo '23- & Fiat Topolino '23- & Fiat Grande Panda '25- |- | VYJ || Ram 1200 '25- (sold in Mexico) |- | VYS || Renault & Alpine made by Ampere (Renault 5 E-Tech, Renault 4 E-Tech, Alpine A290) |- | VZ2 || Avtomontaža (bus) (Slovenia) |- | V1Y || FAS Sanos bus (Yugoslavia/North Macedonia) |- | V2X || Ikarbus a.d. (Serbia) |- | V31 || Tvornica Autobusa Zagreb (TAZ) (Croatia) |- | V34 || Crobus bus (Croatia) |- | V39/AB8 || Rimac Automobili (Croatia) |- | V39/CB3 || Eurobus (Croatia) |- | V39/WB4 || Rasco (machinery) (Croatia) |- | V6A || Bestnet AS; Tiki trailers (Estonia) |- | V6B || Brentex-Trailer (Estonia) |- | V6T || Verge Motorcycles (Estonia) |- | V61 || Respo Trailers (Estonia) |- | WAC || Arge Audi Porsche (Audi/Porsche RS2 Avant) |- | WAF || Ackermann (truck trailer) |- | WAG || Neoplan |- | WAP || Alpina |- | WAU || Audi car |- | WA1 || Audi SUV |- | WBA || BMW car |- | WBC || Boom Trikes |- | WBJ || Bitter Cars |- | WBK || Böcker Maschinenwerke GmbH |- | WBL || Blumhardt (truck trailers) |- | WBS || BMW M car |- | WBU || Bürstner (caravans) |- | WBX || BMW SUV |- | WBY || BMW i car |- | WB0 || Böckmann Fahrzeugwerke GmbH (trailers) |- | WB1 || BMW Motorrad |- | WB2 || Blyss (trailer) |- | WB3 || BMW Motorrad Motorcycles made in India by TVS |- | WB4 || BMW Motorrad Motorscooters made in China by Loncin |- | WB5 || BMW i SUV |- | WCD || Freightliner Sprinter "bus" (van with more than 3 rows of seats) 2008–2019 |- | WCM || Wilcox (truck trailer) |- | WDA || Mercedes-Benz incomplete vehicle (North America) |- | WDB || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] & Maybach |- | WDC || Mercedes-Benz SUV |- | WDD || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] car |- | WDF || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] van/pickup (French & Spanish built models – Citan & Vito & X-Class) |- | WDP || Freightliner Sprinter incomplete vehicle 2005–2019 |- | WDR || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) 2005–2019 |- | WDT || Dethleffs (caravans) |- | WDW || Dodge Sprinter "bus" (van with more than 3 rows of seats) 2008–2009 |- | WDX || Dodge Sprinter incomplete vehicle 2005–2009 |- | WDY || Freightliner Sprinter truck (cargo van with 1 row of seats) 2005–2019 |- | WDZ || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | WD0 || Dodge Sprinter truck (cargo van with 1 row of seats) 2005–2009 |- | WD1 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 incomplete vehicle |- | WD2 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 truck (cargo van with 1 row of seats) |- | WD3 || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | WD4 || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | WD5 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 MPV (van with 2 or 3 rows of seats) |- | WD6 || Freightliner Unimog truck |- | WD7 || Freightliner Unimog incomplete vehicle |- | WD8 || Dodge Sprinter MPV (van with 2 or 3 rows of seats) 2005–2009 |- | WEB || Evobus GmbH (Mercedes-Benz buses) |- | WEG || Ablinger (trailer) |- | WEL || e.GO Mobile AG |- | WFB || Feldbinder Spezialfahrzeugwerke GmbH |- | WFC || Fendt (caravans) |- | WFD || Fliegl Trailer |- | WFN || Tadano Faun GmbH |- | WF0 || [[../Ford/VIN Codes|Ford]] Germany |- | WF1 || Merkur |- | WGB || Göppel Bus GmbH |- | WG0 || Goldhofer AG (truck trailer) |- | WHB || Hobby - Wohnwagenwerk, Ing. H. Striewski GmbH (recreational vehicles) |- | WHD || Humbaur GmbH (truck trailer) |- | WHL || Hulco (trailer) |- | WHW || Hako GmbH |- | WHY || Hymer GmbH & Co. KG (recreational vehicles) |- | WH7 || Hüfferman (truck trailer) |- | WJM || Iveco/Iveco Magirus |- | WJR || Irmscher |- | WKE || Krone (truck trailers) |- | WKK || Setra (Evobus GmbH; formerly Kässbohrer) |- | WKN || Knaus, Weinsberg (caravans) |- | WKV || Kässbohrer Fahrzeugwerke Gmbh (truck trailers) |- | WK0 || Kögel (truck trailers) |- | WLA || Langendorf semi-trailers |- | WLF || Liebherr (mobile crane) |- | WMA || MAN Truck & Bus |- | WME || smart (from 5/99) |- | WMG || Demag Cranes |- | WMM || Karl Müller GmbH & Co. KG (truck trailers) |- | WMP || M & V GmbH (truck trailers) |- | WMU || Hako GmbH (Multicar) |- | WMW || MINI car |- | WMX || Mercedes-AMG used for Mercedes-Benz SLS AMG & Mercedes-AMG GT & Mercedes-AMG One (not used in North America) |- | WMZ || MINI SUV |- | WNA || Next.e.GO Mobile SE |- | WP0 || Porsche car |- | WP1 || Porsche SUV |- | WRA || Renders (truck trailers) |- | WRJ || Riese & Müller (bicycle) |- | WSE || STEMA Metalleichtbau GmbH (trailers) |- | WSJ || STERK Trailers (truck trailers) |- | WSK || Schmitz-Cargobull Gotha (truck trailers) |- | WSM || Schmitz-Cargobull (truck trailers) |- | WSP || Spitzer (truck trailers) |- | WSV || Aebi Schmidt Group |- | WS5 || StreetScooter |- | WS7 || Sono Motors |- | WTA || Tabbert (caravans) |- | WUA || Audi Sport GmbH (formerly quattro GmbH) car <br> (includes '04-'09 S4 Cabriolet & '06 S4 25quattro Special Edition sedan & '16-'18 S8 Plus & non-North American mkt. Q7 V12 TDI) |- | WU1 || Audi Sport GmbH (formerly quattro GmbH) SUV |- | WVG || Volkswagen SUV & Touran & N. American mkt. ID Buzz '25 |- | WVM || Arbeitsgemeinschaft VW-MAN |- | WVP || Viseon Bus |- | WVW || Volkswagen passenger car, Sharan, Golf Plus, Golf Sportsvan |- | WV1 || Volkswagen Commercial Vehicles (cargo van or 1st gen. Amarok) |- | WV2 || Volkswagen Commercial Vehicles (passenger van or minibus) |- | WV3 || Volkswagen Commercial Vehicles (incomplete vehicle: chassis cab/cutaway)<br> [includes Winnebago Rialta ('97-'04), Winnebago Vista ('02-'04), Itasca Sunstar ('02-'04)] |- | WV4 || Volkswagen Commercial Vehicles (2nd gen. Amarok & T7 Transporter made by Ford) |- | WV5 || Volkswagen Commercial Vehicles (T7 Caravelle made by Ford) |- | WWA || Wachenhut (truck trailer) |- | WWC || WM Meyer (truck trailer) |- | WZ1 || Toyota Supra (Fifth generation for North America) |- | W0D || Obermaier (truck trailer) |- | W0L || Adam Opel AG/Vauxhall & Holden |- | W0L || Holden Zafira & Subaru Traviq made by GM Thailand |- | W0V || Opel Automobile Gmbh/Vauxhall & Holden (since 2017) |- | W04 || Buick Regal & Buick Cascada |- | W06 || Cadillac Catera |- | W08 || Saturn Astra |- | W09/A55 || Artega Automobile |- | W09/A71 || Apollo |- | W09/B09 || Bitter Cars |- | W09/B16 || Brabus |- | W09/B48 || Bultmann (trailer) |- | W09/B91 || Boerner (truck trailer) |- | W09/C09 || Carnehl Fahrzeugbau (truck trailer) |- | W09/D04 || DOLL (truck trailer) |- | W09/D05 || Drögmöller (bus) |- | W09/D17 || Dinkel (truck trailer) |- | W09/E04 || Eder (trailer) |- | W09/E27 || Esterer (truck trailer) |- | W09/E32 || ES-GE (truck trailer) |- | W09/E45 || Eurotank (truck trailer) |- | W09/F46 || FSN Fahrzeugbau (truck trailer) |- | W09/F57 || Twike |- | W09/G10 || GOFA (truck trailer) |- | W09/G64 || Gumpert |- | W09/H10 || Heitling Fahrzeugbau |- | W09/H21|| Dietrich Hisle GmbH (truck trailer) |- | W09/H46 || Hendricks (truck trailer) |- | W09/H49 || H&W Nutzfahrzeugtechnik GmbH (truck trailer) |- | W09/J02 || Isdera |- | W09/K27 || Krupp |- | W09/K27 || Kotschenreuther (truck trailer) |- | W09/L05 || Liebherr |- | W09/L06 || LMC Caravan (recreational vehicles) |- | W09/M08 || MEILLER Kipper (truck trailer) |- | W09/M09 || Meierling (truck trailer) |- | W09/M29 || MAFA (truck trailer) |- | W09/M40 || Franz Mersch (trailer) |- | W09/M79 || MKF Matallbau (truck trailer) |- | W09/N22 || NFP-Eurotrailer (truck trailer) |- | W09/P13 || Pagenkopf (truck trailer) |- | W09/P72 || De Tomaso Automobili (Capricorn) |- | W09/R06 || RUF |- | W09/R14 || Rancke (truck trailer) |- | W09/R27 || Gebr. Recker Fahrzeugbau (truck trailer) |- | W09/R30 || Reisch (truck trailer) |- | W09/R38 || Rewaco |- | W09/SG0 || Sileo (bus) |- | W09/SG1 || SEKA (truck trailer) |- | W09/S24 || Sommer (truck trailer) |- | W09/S25 || Spermann (truck trailer) |- | W09/S27 || Schröder (truck trailer) |- | W09/W11 || Wilken (truck trailer) |- | W09/W14 || Weka (truck trailer) |- | W09/W16 || Wellmeyer (truck trailer) |- | W09/W20 || Kurt Willig GmbH & Co. KG (truck trailer) |- | W09/W29 || Wiese (truck trailer) |- | W09/W35 || Wecon GmbH (truck trailer) |- | W09/W46 || WT-Metall (trailer) |- | W09/W59 || Wiesmann |- | W09/W70 || Wüllhorst (truck trailer) |- | W09/W86 || Web Trailer GmbH (truck trailer) |- | W09/004 || ORTEN Fahrzeugbau (truck trailer) |- | W1A || smart |- | W1H || Freightliner Econic |- | W1K || Mercedes-Benz car |- | W1N || Mercedes-Benz SUV |- | W1T || Mercedes-Benz truck |- | W1V || Mercedes-Benz van |- | W1W || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | W1X || Mercedes-Benz incomplete vehicle (North America) |- | W1Y || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | W1Z || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | W2W || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) |- | W2X || Freightliner Sprinter incomplete vehicle |- | W2Y || Freightliner Sprinter truck (cargo van with 1 row of seats) |- | W2Z || Freightliner Sprinter "bus" (van with more than 3 rows of seats) |- | XDN || Mercedes Sprinter Classic made by GAZ (Russia) |- | XD2 || CTTM Cargoline (truck trailer) (Russia) |- | XEA || AmberAvto (Avtotor) (Russia) |- | XE2 || AMKAR Automaster (truck trailer) (Russia) |- | XF9/B24 || NK Trailers (truck trailer) (Greece) |- | XF9/D44 || Militsis (trailer) (Greece) |- | XF9/J03 || Christos Nezis (truck trailer) (Greece) |- | XF9/J63 || Kaoussis (truck trailer) (Greece) |- | XG3 || Petros Petropoulos Group - Ecoshift NOOS electric motorscooters (Greece) |- | XG4|| Mpitis (trailer) (Greece) |- | XG5 || Stavropoulos trailers (Greece) |- | XG6 || MGK Hellenic Motor motorcycles (Greece) |- | XG8 || Gorgolis SA motorcycles (Greece) |- | XG9/B01 || Sfakianakis bus Greece |- | XG9/H33 || Rappas Trailer (Greece) |- | XG9/H51 || Eurotrailer Tourlakopoulos (trailer) (Greece) |- | XG9/H92 || Diamantis N. & Co. (trailer) (Greece) |- | XΗ9/B21 || Hellenic Vehicle Industry - ELVO bus Greece |- | XH9/H08 || Poseidonas Litsakis (trailer) (Greece) |- | XH9/H34 || Flexi-Wheels (trailer) (Greece) |- | XJY || Bonum (truck trailer) (Russia) |- | XJ4 || PKTS (PK Transportnye Sistemy) bus (Russia) |- | XKM || Volgabus (Russia) |- | XLA || DAF Bus International |- | XLB || Volvo Car B.V./NedCar B.V. (Volvo Cars) |- | XLC || [[../Ford/VIN Codes|Ford]] Netherlands |- | XLD || Pacton Trailers B.V. |- | XLE || Scania Netherlands |- | XLH || Hapert (trailer) |- | XLJ || Anssems (trailer) |- | XLK || Burg Trailer Service BV (truck trailer) |- | XLR || DAF Trucks & Leyland DAF |- | XLU || Henra (trailer) |- | XLV || DAF Bus |- | XLW || Terberg Benschop BV |- | XL3 || Ebusco |- | XL4 ||Lightyear |- | XL9/001 || ESVE BV (truck trailers) |- | XL9/002 || Jumbo Groenewegen (truck trailers) |- | XL9/003 || Autobusfabriek Bova BV |- | XL9/004 || G.S. Meppel (truck trailers) |- | XL9/007|| Broshuis BV (truck trailer) |- | XL9/010|| Ginaf Trucks |- | XL9/014 || Contar (truck trailer) |- | XL9/017 || Van Eck (truck trailer) |- | XL9/021 || Donkervoort Cars |- | XL9/033 || Wijer (trailer) |- | XL9/039 || Talson (truck trailer) |- | XL9/042 || Den Oudsten Bussen |- | XL9/052 || Witteveen (trailer) |- | XL9/055 || Fripaan (truck trailer) |- | XL9/067 || HTF (truck trailer) |- | XL9/068 || Vogelzang (truck trailer) |- | XL9/069 || Kraker (truck trailer) |- | XL9/070 || Veldhuizen (truck trailers) |- | XL9/073 || Zwalve (truck trailers) |- | XL9/074 || Draco (truck trailers) |- | XL9/081 || EBO van Weel (truck trailers) |- | XL9/084 || Vocol (truck trailers) |- | XL9/089 || Meijvo (trailers) |- | XL9/092 || Bulthuis (truck trailers) |- | XL9/103 || D-TEC (truck trailers) |- | XL9/109|| Groenewold Carrosseriefabriek B.V. (car transporter) |- | XL9/150 || Univan (truck trailer) |- | XL9/251 || Spierings Mobile Cranes |- | XL9/320 || VDL Bova bus |- | XL9/348 || HOKA (trailer) |- | XL9/355 || Berdex (truck trailer) |- | XL9/363 || Spyker |- | XL9/423 || Tijhof (trailer) |- | XL9/461 || BK Market Trailers (trailer) |- | XL9/495 || BE-Combi (truck trailer) |- | XL9/508 || Talson (truck trailer) |- | XL9/527 || GINAF |- | XL9/530 || Ebusco |- | XL9/611 || Zocon (trailer) |- | XMC || NedCar B.V. Mitsubishi Motors (LHD) |- | XMD || NedCar B.V. Mitsubishi Motors (RHD) |- | XMG || VDL Bus International |- | XMR || Nooteboom Trailers |- | XM4 || RAVO Holding B.V. (sweeper) |- | XNB || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - RHD) |- | XNC || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - LHD) |- | XNJ || Broshuis (truck trailer) |- | XNL || VDL Bus & Coach |- | XNT || Pacton Trailers B.V. (truck trailer) |- | XN1 || Kraker Trailers Axel B.V. (truck trailer) |- | XPN || Knapen Trailers |- | XPP || Atec Trailers |- | XP7 || Tesla Europe (based in the Netherlands) (Gigafactory Berlin-Brandenburg) |- | XRP || Proline (trailer) |- | XRY || D-TEC (truck trailer) |- | XR7 || Qarry |- | XTA || Lada / AvtoVAZ (Russia) |- | XTB || Moskvitch / AZLK (Russia) |- | XTC || KAMAZ (Russia) |- | XTD || LuAZ (Ukraine) |- | XTE || ZAZ (Ukraine) |- | XTF || GolAZ (Russia) |- | XTH || GAZ (Russia) |- | XTJ || Lada Oka made by SeAZ (Russia) |- | XTK || IzhAvto (Russia) |- | XTM || MAZ (Belarus); used until 1997 |- | XTP || Ural (Russia) |- | XTS || ChMZAP (truck trailer) |- | XTT || UAZ / Sollers (Russia) |- | XTU || Trolza, previously ZiU (Russia) |- | XTW || LAZ (Ukraine) |- | XTY || LiAZ (Russia) |- | XTZ || ZiL (Russia) |- | XUF || General Motors Russia |- | XUS || Nizhegorodets (minibus) (Russia) |- | XUU || Avtotor (Russia, Chevrolet SKD, Kaiyi Auto) |- | XUV || Avtotor (DFSK, SWM) |- | XUZ || InterPipeVAN (truck trailer) |- | XU6 || Avtodom (minibus) (Russia) |- | XVG || MARZ (bus) (Russia) |- | XVU || Start (truck trailer) |- | XW7 || Toyota Motor Manufacturing Russia |- | XW8 || Volkswagen Group Russia (VW, Skoda) |- | XWB || UZ-Daewoo/GM Uzbekistan/Ravon/UzAuto Motors (Uzbekistan) |- | XWB || Avtotor (Russia, BAIC SKD) |- | XWE || Avtotor (Russia, Hyundai-Kia SKD) |- | XWF || Avtotor (Russia, Chevrolet Tahoe/Opel/Cadillac/Hummer SKD) |- | XX3 || Ujet Manufacturing (Luxembourg) |- | XZB || SIMAZ (bus) (Russia) |- | XZE || Specpricep (truck trailer) |- | XZG || Great Wall Motor (Haval Motor Rus) |- | XZP || Gut Trailer (truck trailer) |- | XZT || FoxBus (minibus) (Russia) |- | X1D || RAF (Rīgas Autobusu Fabrika) (Latvia) |- | X1E || KAvZ (Russia) |- | X1F || NefAZ (Russia) |- | X1M || PAZ (Russia) |- | X1P || Ural (Russia) |- | X2L || Fox Trailer (truck trailer) (Russia) |- | X21 || Diesel-S (truck trailer) (Russia) |- | X4K || Volgabus (Volzhanin) (Russia) |- | X4T || Sommer (truck trailer) (Russia) |- | X4X || Avtotor (Russia, BMW SKD) |- | X5A || UralSpetzTrans (trailer) (Russia) |- | X6D || VIS-AVTO (Russia) |- | X6S || TZA (truck trailer) (Russia) |- | X7L || Renault AvtoFramos (1998-2014), Renault Russia (2014-2022), Moskvitch (2022-) (Russia) |- | X7M || [[../Hyundai/VIN Codes|Hyundai]] & Vortex (rebadged Chery) made by TagAZ (Russia) |- | X89/AD4 || ВМЗ (VMZ) bus |- | X89/BF8 || Rosvan bus |- | X89/CU2 || EvoBus Russland (bus) |- | X89/DJ2 || VMK (bus) |- | X89/EY4 || Brabill (minibus) |- | X89/FF6 || Lotos (bus) |- | X89/FY1 || Sherp |- | X8J || IMZ-Ural Ural Motorcycles |- | X8U || Scania Russia |- | X9F || Ford Motor Company ZAO |- | X9L || GM-AvtoVAZ |- | X9N || Samoltor (minibus) |- | X9P || Volvo Vostok ZAO (Volvo Trucks) |- | X9W || Brilliance, Lifan made by Derways |- | X9X || Great Wall Motors |- | X96 || GAZ |- | X99/000 || Marussia |- | X90 || GRAZ (truck trailer) |- | X0T || Tonar (truck trailer) |- | YAF || Faymonville (special transport trailers) |- | YAG || Syma aanhangwagenbouw BV (trailers) |- | YAM || MAX Trailer (truck trailers) |- | YAR || Toyota Motor Europe (based in Belgium) used for Toyota ProAce, Toyota ProAce City and Toyota ProAce Max made by PSA/Stellantis |- | YA2 || Atlas Copco Group |- | YA5 || Renders (truck trailers) |- | YA9/ || Lambrecht Constructie NV (truck trailers) |- | YA9/111 || OVA (truck trailer) |- | YA9/121 || Atcomex (truck trailer) |- | YA9/128 || EOS (bus) |- | YA9/139 || ATM Maaseik (truck trailer) |- | YA9/168 || Forthomme s.a. (truck trailer) |- | YA9/169 || Automobiles Gillet |- | YA9/180 || EOS (bus) |- | YA9/191 || Stokota (truck trailers) |- | YA9/195 || Denolf & Depla (minibus) |- | YBC || Toyota Supra (Fifth generation for Europe) |- | YBD || Addax Motors |- | YBW || Volkswagen Belgium |- | YB1 || Volvo Trucks Belgium (truck) |- | YB2 || Volvo Trucks Belgium (bus chassis) |- | YB3 || Volvo Trucks Belgium (incomplete vehicle) |- | YB4 || LAG Trailers N.V. (truck trailer) |- | YB6 || Jonckheere (VDL Belgium) |- | YCM || Mazda Motor Logistics Europe (based in Belgium) used for European-market Mazda 121 made by Ford in UK |- | YC1 || Honda Belgium NV (motorcycle) |- | YC3 || Eduard Trailers |- | YD3 || Chateau Caravans (Belgium) |- | YE1 || Van Hool (trailers) (Belgium) |- | YE2 || Van Hool (buses) (Belgium) |- | YE6 || STAS (truck trailer) |- | YE7 || Turbo's Hoet (truck trailer) |- | YF1 || Närko (truck trailer) (Finland) |- | YF3 || NTM (truck trailer) (Finland) |- | YF9/050 || JYKI (truck trailer) (Finland) |- | YGU || JJ-Trailer (trailer) (Finland) |- |YG6 |Majava Group Oy; Majava trailers (Finland) |- | YH1 || Solifer (caravans) |- | YH2 || BRP Finland (Lynx snowmobiles) |- | YH4 || Fisker Automotive (Fisker Karma) built by Valmet Automotive |- | YK1 || Saab-Valmet Finland |- | YK2, YK7 || Sisu Auto |- | YK9/003 || Kabus (bus) |- | YK9/008 || Lahden Autokori (-2013), SOE Busproduction Finland (2014-2024) (bus) |- | YK9/016 || Linkker (bus) |- | YSC || Cadillac BLS (made by Saab) |- | YSM || Polestar cars |- | YSP || Volta Trucks AB |- | YSR || Polestar SUV |- | YS2 || Scania commercial vehicles (Södertälje factory) |- | YS3 || Saab cars |- | YS4 || Scania buses and bus chassis until 2002 (Katrineholm factory) |- | YS5 || OmniNova (minibus) |- | YS7 || Solifer (recreational vehicles) |- | YS9/KV1 || Backaryd (minibus) |- | YTN || Saab made by NEVS |- | YT7 || Kabe (recreational vehicles) |- | YT9/007 || Koenigsegg |- | YT9/034 || Carvia |- | YU1 || Fogelsta, Brenderup Group (trailer) |- | YU7 || Husaberg (motorcycles) |- | YVV || WiMa 442 EV |- | YV1 || [[../Volvo/VIN Codes|Volvo]] cars |- | YV2 || [[../Volvo/VIN Codes|Volvo]] trucks |- | YV3 || [[../Volvo/VIN Codes|Volvo]] buses and bus chassis |- | YV4 || [[../Volvo/VIN Codes|Volvo]] SUV |- | YV5 || [[../Volvo/VIN Codes|Volvo Trucks]] incomplete vehicle |- | YYB || Tysse (trailer) (Norway) |- | YYC || Think Nordic (Norway) |- | YY9/017 || Skala Fabrikk (truck trailer) (Norway) |- | Y29/005 || Buddy Electric (Norway) |- | Y3D || MTM (truck trailer) (Belarus) |- | Y3F || Lida Buses Neman (Belarus) |- | Y3J || Belkommunmash (Belarus) |- | Y3K || Neman Bus (Belarus) |- | Y3M || MAZ (Belarus) |- | Y3W || VFV built by Unison (Belarus) |- | Y39/047 || Altant-M (minibus) (Belarus) |- | Y39/051 || Bus-Master (minibus) (Belarus) |- | Y39/052 || Aktriya (minibus) (Belarus) |- | Y39/072 || Klassikbus (minibus) (Belarus) |- | Y39/074 || Alterra (minibus) (Belarus) |- | Y39/135 || EuroDjet (minibus) (Belarus) |- | Y39/240 || Alizana (minibus) (Belarus) |- | Y39/241 || RSBUS (minibus) (Belarus) |- | Y39/323 || KF-AVTO (minibus) (Belarus) |- | Y4F || [[../Ford/VIN Codes|Ford]] Belarus |- | Y4K || Geely / BelGee (Belarus) |- | Y6B || Iveco (Ukraine) |- | Y6D || ZAZ / AvtoZAZ, Chevrolet Lanos made by ZAZ (Ukraine) |- | Y6E || LAZ (Ukraine) |- | Y6J || Bogdan group (Ukraine) |- | Y6L || Bogdan group including buses, Lada, & Hyundai made by Bogdan (Ukraine) |- | Y6U || Škoda Auto made by Eurocar (Ukraine) |- | Y6W || PGFM (trailer) (Ukraine) |- | Y6Y || LEV (trailer) (Ukraine) |- | Y69/B19 || Stryi Avto (bus) (Ukraine) |- | Y69/B98 || VESTT (truck trailer) (Ukraine) |- | Y69/C49 || TAD (truck trailer) (Ukraine) |- | Y69/D75 || Barrel Dash (truck trailer) (Ukraine) |- | Y7A || KrAZ trucks (Ukraine) |- | Y7B || Bogdan group (Ukraine) |- | Y7C || Great Wall Motors, Geely made by KrASZ (Ukraine) |- | Y7D || GAZ made by KrymAvtoGAZ (Ukraine) |- | Y7F || Boryspil Bus Factory (BAZ) (Ukraine) |- | Y7S || Korida-Tech (trailer) (Ukraine) |- | Y7W || Geely made by KrASZ (Ukraine) |- | Y7X || ChRZ - Ruta (minibus) (Ukraine) |- | Y79/A23 || OdAZ (truck trailer) (Ukraine) |- | Y79/B21 || Everlast (truck trailer) (Ukraine) |- | Y79/B65 || Avtoban (trailer) (Ukraine) |- | Y8A || LAZ (Ukraine) |- | Y8H || UNV Leader (trailer) (Ukraine) |- | Y8S || Alekseevka Ximmash (truck trailer) |- | Y8X || GAZ Gazelle made by KrASZ (Ukraine) |- | Y89/A98 || VARZ (trailer) (Ukraine) |- | Y89/B75 || Knott (trailer) (Ukraine) |- | Y89/C65 || Electron (Ukraine) |- | Y9A || PAVAM (trailer) (Ukraine) |- | Y9H || LAZ (Ukraine) |- | Y9M || AMS (trailer) (Ukraine) |- | Y9T || Dnipro (trailer) (Ukraine) |- | Y9W || Pragmatec (trailer) (Ukraine) |- | Y9Z || Lada, Renault made in Ukraine |- | Y99/B32 || Santey (trailer) (Ukraine) |- | Y99/E21 || Zmiev-Trans (truck trailer) (Ukraine) |- | Y99/C79 || Electron (bus) (Ukraine) |- | ZAA || Autobianchi |- | ZAA || Alfa Romeo Junior 2024- |- | ZAC || Jeep, Dodge Hornet |- | ZAH || Rolfo SpA (car transporter) |- | ZAJ || Trigano SpA; Roller Team recreational vehicles |- | ZAM || [[../Maserati/VIN Codes|Maserati]] |- | ZAP || Piaggio/Vespa/Gilera |- | ZAR || Alfa Romeo car |- | ZAS || Alfa Romeo Alfasud & Sprint through 1989 |- | ZAS || Alfa Romeo SUV 2018- |- | ZAX || Zorzi (truck trailer) |- | ZA4 || Omar (truck trailer) |- | ZA9/A12 || [[../Lamborghini/VIN Codes|Lamborghini]] through mid-2003 (including LM002) |- | ZA9/A17 || Carrozzeria Luigi Dalla Via (bus) |- | ZA9/A18 || De Simon (bus) |- | ZA9/A33 || Bucher Schörling Italia (sweeper) |- | ZA9/A47 || Silver Car (truck trailer) |- | ZA9/B09 || Mauri Bus System |- | ZA9/B34 || Mistrall Siloveicoli (truck trailer) |- | ZA9/B45 || Bolgan (truck trailer) |- | ZA9/B49 || OMSP Macola (truck trailer) |- | ZA9/B95 || Carrozzeria Autodromo Modena (bus) |- | ZA9/C38 || Dulevo (sweeper) |- | ZA9/D38 || Cizeta Automobili SRL |- | ZA9/D39 || [[../Bugatti/VIN Codes|Bugatti Automobili S.p.A]] |- | ZA9/D50 || Italdesign Giugiaro |- | ZA9/E15 || Tecnobus Industries S.r.l. |- | ZA9/E73 || Sitcar (bus) |- | ZA9/E88 || Cacciamali (bus) |- | ZA9/F16 || OMT (truck trailer) |- | ZA9/F21 || FGM (truck trailer) |- | ZA9/F48 || Rampini Carlo S.p.A. (bus) |- | ZA9/F76 || Pagani Automobili S.p.A. |- | ZA9/G97 || EPT Horus (bus) |- | ZA9/H02 || O.ME.P.S. (truck trailer) |- | ZA9/H44|| Green-technik by Green Produzione s.r.l. (machine trailer) |- | ZA9/J21 || VRV (truck trailer) |- | ZA9/J93 || Barbi (bus) |- | ZA9/K98 || Esagono Energia S.r.l. |- | ZA9/M09 || Italdesign Automobili Speciali |- | ZA9/M27 || Dallara Stradale |- | ZA9/M91 || Automobili Pininfarina |- | ZA9/180 || De Simon (bus) |- | ZA0 || Acerbi (truck trailer) |- | ZBA || Piacenza (truck trailer) |- | ZBB || Bertone |- | ZBD || InBus |- | ZBN || Benelli |- | ZBW || Rayton-Fissore Magnum |- | ZB3 || Cardi (truck trailer) |- | ZCB || E. Bartoletti SpA (truck trailer) |- | ZCF || Iveco / Irisbus (Italy) |- | ZCG || Cagiva SpA / MV Agusta |- | ZCG || Husqvarna Motorcycles Under MV Agusta ownership |- | ZCM || BredaMenarinibus / Menarinibus / IIA (Industria Italiana Autobus) |- | ZCN || Astra Veicoli Industriali S.p.A. |- | ZCV || Vibreti (truck trailer) |- | ZCZ || BredaBus |- | ZC1 || AnsaldoBreda S.p.A. |- | ZC2 || Chrysler TC by Maserati |- | ZDC || Honda Italia Industriale SpA |- | ZDF || [[../Ferrari/VIN Codes|Ferrari]] Dino |- | ZDJ || ACM Biagini |- | ZDM || Ducati Motor Holdings SpA |- | ZDT || De Tomaso Modena SpA |- | ZDY || Cacciamali |- | ZD0 || Yamaha Motor Italia SpA & Belgarda SpA |- | ZD3 || Beta Motor |- | ZD4 || Aprilia |- | ZD5 || Casalini |- | ZEB || Ellebi (trailer) |- | ZEH || Trigano SpA (former SEA Group); McLouis & Mobilvetta recreational vehicles |- | ZES || Bimota |- | ZEX || TM Racing (motorcycle) |- | ZE5 || Carmosino (truck trailer) |- | ZFA || Fiat |- | ZFB || Fiat MPV/SUV & Ram Promaster City |- | ZFC || Fiat truck (Fiat Ducato for Mexico, Ram 1200) |- | ZFE || KL Motorcycle |- | ZFF || [[../Ferrari/VIN Codes|Ferrari]] |- | ZFJ || Carrozzeria Pezzaioli (truck trailer) |- | ZFM || Fantic Motor |- | ZFR || Pininfarina |- | ZF4 || Qvale |- | ZGA || Iveco Bus |- | ZGP || Merker (truck trailer) |- | ZGU || Moto Guzzi |- | ZG2 || FAAM (commercial vehicle) |- | ZHU || Husqvarna Motorcycles Under Cagiva ownership |- | ZHW || [[../Lamborghini/VIN Codes|Lamborghini]] (Mid-2003 – ) |- | ZHZ || Menci SpA (truck trailer) |- | ZH5 || FB Mondial (motorcycle) |- | ZJM || Malaguti |- | ZJN || Innocenti |- | ZJT || Italjet |- | ZKC || Ducati Energia Free Duck (electric quadricycle) |- | ZKH || Husqvarna Motorcycles Srl Under BMW ownership |- | ZLA || Lancia |- | ZLF || Tazzari GL SpA |- | ZLM || Moto Morini srl |- | ZLV || Laverda |- | ZNN || Energica |- | ZN0 || SWM Motorcycles S.r.l. |- | ZN3 || Iveco Defence |- | ZN6 || Maserati SUV |- | ZPB || [[../Lamborghini/VIN Codes|Lamborghini]] SUV |- | ZPY || DR Automobiles |- | ZP6 || XEV |- | ZP8 || Regis Motors |- | ZRG || Tazzari GL Imola SpA |- | ZR1 || Microlino |- | ZSG || [[../Ferrari/VIN Codes|Ferrari]] SUV |- | ZX1 || TAM (Tovarna Avtomobilov Maribor) bus (Slovenia) |- | ZX9/KU0 || K-Bus / Kutsenits (bus) (Slovenia) |- | ZX9/DUR || TAM bus (Slovenia) |- | ZX9/TV0 || TAM (Tovarna Vozil Maribor) bus (Slovenia) |- | ZY1 || Adria (recreational vehicles) (Slovenia) |- | ZY9/002 || Gorica (truck trailer) (Slovenia) |- | ZZ1 || Tomos motorcycle (Slovenia) |- | Z29/555 || Vozila FLuid (truck trailer) (Slovenia) |- | Z3D || Tauriga UAB; Tauras trailers (Lithuania) |- | Z39/008 || Autogalantas (truck trailer) (Lithuania) |- | Z39/009 || Patikima Linija / Rimo (truck trailer) (Lithuania) |- | Z6F || Ford Sollers (Russia) |- | Z7C || Luidor (bus) (Russia) |- | Z7N || KAvZ (bus) (Russia) |- | Z7T || RoAZ (bus) (Russia) |- | Z7X || Isuzu Rus (Russia) |- | Z76 || SEMAZ (Kazakhstan) |- | Z8M || Marussia (Russia) |- | Z8N || Nissan Manufacturing Rus (Russia) |- | Z8T || PCMA Rus (Peugeot, Citroen, Mitsubishi) (Russia) |- | Z8U || [[w:SsangYong Korando#Third generation (C200; 2010)|Ssangyong Actyon]] made by Sollers (Russia) |- | Z8Y || Nasteviya (bus) (Russia) |- | Z9B || KuzbassAvto (Hyundai bus) (Russia) |- | Z9M || Mercedes-Benz Manufacturing Rus / Mercedes-Benz Trucks Vostok (Russia) |- | Z9N || Samotlor-NN (Iveco) (Russia) |- | Z94 || Hyundai Motor Manufacturing Rus (Hyundai, Kia) (2008-2023), Solaris Auto - AGR Automotive (2023-) (Russia) |- | Z07 || Volgabus (Russia) |- | 1A4 1A8 || Chrysler brand MPV/SUV 2006–2009 only |- | 1A9/007 || Advance Mixer Inc. |- | 1A9/111 || Amerisport Inc. (federalized late model DeTomaso Pantera) |- | 1A9/398 || Ameritech (federalized McLaren F1 & Bugatti EB110) |- | 1A9/569 || American Custom Golf Cars Inc. (AGC) |- | 1AC || American Motors Corporation MPV |- | 1AF || American LaFrance truck |- | 1AJ || Ajax Manufacturing (truck trailer) |- | 1AM || American Motors Corporation car & Renault Alliance 1983 only |- | 1BN || Beall Trailers (truck trailer) |- | 1B3 || Dodge car 1981–2011 |- | 1B4 || Dodge MPV/SUV 1981–2002 |- | 1B6 || Dodge incomplete vehicle 1981–2002 |- | 1B7 || Dodge truck 1981–2002 |- | 1B9/133 || Buell Motorcycle Company through mid-1995 |- | 1B9/274 || Brooks Brothers Trailers |- | 1B9/275 || Boydstun Metal Works (truck trailer) |- | 1B9/285 || Boss Hoss Cycles |- | 1B9/374 || Big Dog Custom Motorcycles |- | 1B9/975 || Motus Motorcycles |- | 1BA || Blue Bird Corporation bus |- | 1BB || Blue Bird Wanderlodge MPV |- | 1BD || Blue Bird Corporation incomplete vehicle |- | 1BL || Balko, Inc. |- | 1C3 || Chrysler brand car 1981–2011 |- | 1C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 1C4 || Chrysler brand MPV 1990–2005 |- | 1C4 || Chrysler Group (all brands) MPV 2012– |- | 1C6 || Chrysler Group (all brands) truck 2012– |- | 1C8 || Chrysler brand MPV 2001–2005 |- | 1C9/257 || CEI Equipment Company (truck trailer) |- | 1C9/291 || CX Automotive |- | 1C9/496 || Carlinville Truck Equipment (truck trailer) |- | 1C9/535 || Chance Coach (bus) |- | 1C9/737 || Corbin Motors, Inc. |- | 1C9/772 || Cozad (truck trailer) |- | 1C9/971 || Cool Amphibious Manufacturers International |- | 1CM || Checker Motors Corporation |- | 1CU || Cushman Haulster (Cushman division of Outboard Marine Corporation) |- | 1CY || Crane Carrier Company |- | 1CY || Battle Motors, Inc. |- | 1D3 || Dodge truck 2002–2009 |- | 1D4 || Dodge MPV/SUV 2003–2011 only |- | 1D7 || Dodge truck 2002–2011 |- | 1D8 || Dodge MPV/SUV 2003–2009 only |- | 1D9/008 || KME Fire Apparatus |- | 1D9/628 || Dymac Vehicle Group (low-speed vehicle) |- | 1D9/791 || Dennis Eagle, Inc. |- | 1DW || Stoughton Trailers (truck trailer) |- | 1E9/007 || E.D. Etnyre & Co. (truck trailer) |- | 1E9/190 || Electric Transit Inc. (trolleybus) |- | 1E9/363 || E-SUV LLC (E-Ride Industries) |- | 1E9/456 || Electric Motorsport (GPR-S electric motorcycle) |- | 1E9/526 || Epic TORQ |- | 1E9/581 || Vetter Razor |- | 1EU || Eagle Coach Corporation (bus) |- | 1FA || [[../Ford/VIN Codes|Ford]] car |- | 1FB || [[../Ford/VIN Codes|Ford]] "bus" (van with more than 3 rows of seats) |- | 1FC || [[../Ford/VIN Codes|Ford]] stripped chassis made by Ford |- | 1FD || [[../Ford/VIN Codes|Ford]] incomplete vehicle |- | 1FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 1FT || [[../Ford/VIN Codes|Ford]] truck |- | 1FU || Freightliner (truck) |- | 1FV || Freightliner (incomplete vehicle) |- | 1F1 || Ford SUV - Limousine (through 2009) |- | 1F6 || Ford stripped chassis made by Detroit Chassis LLC |- | 1F9/037 || Federal Motors Inc. |- | 1F9/140 || Ferrara Fire Apparatus (incomplete vehicle) |- | 1F9/458 || Faraday Future prototypes |- | 1F9/FT1 || FWD Corp. |- | 1F9/ST1 || Seagrave Fire Apparatus |- | 1F9/ST2 || Seagrave Fire Apparatus |- | 1G || [[../GM/VIN Codes|General Motors]] USA |- | 1G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 1G0 || GMC Rapid Transit Series (RTS) bus 1981–1984 |- | 1G0 || Opel/Vauxhall car 2007–2017 |- | 1G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 1G2 || [[../GM/VIN Codes|Pontiac]] car |- | 1G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 1G4 || [[../GM/VIN Codes|Buick]] car |- | 1G5 || GMC MPV/SUV 1981–1986 |- | 1G5 || Pontiac incomplete vehicle 1989-1990, 2003-2006 |- | 1G6 || [[../GM/VIN Codes|Cadillac]] car |- | 1G7 || Pontiac car only sold by GM Canada |- | 1G8 || Chevrolet MPV/SUV 1981–1986 |- | 1G8 || [[../GM/VIN Codes|Saturn]] car 1991–2010 |- | 1G9/492 || GreenPower Motor Company incomplete vehicle |- | 1G9/495 || Google & Waymo |- | 1GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 1GB || Chevrolet incomplete vehicle |- | 1GC || [[../GM/VIN Codes|Chevrolet]] truck |- | 1GD || GMC incomplete vehicle |- | 1GE || Cadillac incomplete vehicle |- | 1GF || Flxible bus |- | 1GG || Isuzu pickup trucks made by GM |- | 1GH || GMC Rapid Transit Series (RTS) bus 1985–1986 |- | 1GH || Oldsmobile MPV/SUV 1990–2004 |- | 1GH || Holden Acadia 2019–2020 |- | 1GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 1GK || GMC MPV/SUV 1987– |- | 1GM || [[../GM/VIN Codes|Pontiac]] MPV |- | 1GN || [[../GM/VIN Codes|Chevrolet]] MPV/SUV 1987- |- | 1GR || Great Dane Trailers (truck trailer) |- | 1GT || [[../GM/VIN Codes|GMC]] Truck |- | 1GW || Grumman Olson Kubvan (truck) |- | 1GY || [[../GM/VIN Codes|Cadillac]] SUV |- | 1HA || Chevrolet incomplete vehicles (Express cutaway) made by Navistar International/International Motors |- | 1HD || Harley-Davidson & LiveWire |- | 1HF || Honda motorcycle/ATV/UTV |- | 1HG || [[../Honda/VIN Codes|Honda]] car made by Honda of America Mfg. in Ohio |- | 1HP || International Trucks (complete vehicle - straight truck) |- | 1HS || International Trucks & Caterpillar Trucks (complete vehicle - truck tractor) |- | 1HT || International Trucks & Caterpillar Trucks & Chevrolet Silverado 4500HD, 5500HD, 6500HD (incomplete vehicle - straight truck) |- | 1HV || International or IC Bus (incomplete vehicle - bus) |- | 1H9/674 || Hines Specialty Vehicle Group |- | 1JC || Jeep SUV 1981–1988 (using AMC-style VIN structure) |- | 1JJ || Wabash (truck trailer) |- | 1JT || Jeep truck 1981–1988 (using AMC-style VIN structure) |- | 1JU || Marmon Motor Company |- | 1J4 || Jeep SUV 1989–2011 (using Chrysler-style VIN structure) |- | 1J7 || Jeep truck 1989–1992 (using Chrysler-style VIN structure) |- | 1J8 || Jeep SUV 2002–2011 (using Chrysler-style VIN structure) |- | 1K9/058 || Kovatech Mobile Equipment (fire engine) |- | 1LH || Landoll (truck trailer) |- | 1LJ || Lincoln incomplete vehicle |- | 1LN || [[../Ford/VIN Codes|Lincoln]] car |- | 1LV || Lectra Motors |- | 1L0 || Lufkin Trailers |- | 1L1 || Lincoln car – limousine |- | 1L9/155 || LA Exotics |- | 1L9/234 || Laforza |- | 1MB || Mercedes-Benz Truck Co. |- | 1ME || [[../Ford/VIN Codes|Mercury]] car |- | 1MR || Continental Mark VI & VII 1981–1985 & Continental sedan 1982–1985 |- | 1M0 || John Deere Gator |- | 1M1 || Mack Truck USA (truck) |- | 1M2 || Mack Truck USA (incomplete vehicle) |- | 1M3 || Mack Truck USA (glider) |- | 1M8 || Motor Coach Industries (bus) |- | 1M9/089 || Mauck Special Vehicles (bus) |- | 1M9/682 || Mosler Automotive |- | 1M9/816 || Proterra Through mid-2019 |- | 1N4 || Nissan car |- | 1N6 || Nissan truck |- | 1N9/019 || Neoplan USA |- | 1N9/084 || Eldorado National (California) |- | 1N9/140 || North American Bus Industries (bus) |- | 1N9/393 || Nikola Corporation (truck) |- | 1NK || Kenworth (incomplete vehicle) |- | 1NL || Gulf Stream Coach (recreational vehicles) |- | 1NN || Monon made by Evans Products Co. (truck trailer) |- | 1NP || Peterbilt (incomplete vehicle) |- | 1NX || Toyota car made by NUMMI |- | 1P3 || Plymouth car |- | 1P4 || Plymouth MPV/SUV |- | 1P7 || Plymouth Scamp |- | 1P9/038 || Hawk Vehicles, Inc. (Trihawk motorcycles) |- | 1P9/213 || Panoz |- | 1P9/255 || Pinson Truck Equipment Company (truck trailer) |- | 1PM || Polar Tank Trailer (truck trailer) |- | 1PT || Trailmobile Trailer Corporation (truck trailer) |- | 1PY || John Deere USA |- | 1RF || Roadmaster, Monaco Coach Corporation |- | 1RN || Reitnouer (truck trailer) |- | 1R9/956 || Reede Fabrication and Design (motorcycles) |- | 1ST || Airstream (recreational vehicles) |- | 1S1 || Strick Trailers (truck trailer) |- | 1S9/003 || Sutphen Corporation (fire engines - truck) |- | 1S9/009|| Superior Trailer Works (truck trailer) |- | 1S9/098 || Scania AB (Scania CN112 bus made in Orange, CT) |- | 1S9/842 || Saleen S7 |- | 1S9/260 || Stairs Welding RL (truck trailer) |- | 1S9/901 || Suckerpunch Sallys, LLC |- | 1S9/944 || SSC North America |- | 1TD || Timpte (truck trailer) |- | 1TK || Trail King (truck trailer) |- | 1TD || Transcraft Corporation (truck trailer) |- | 1T7 || Thomas Built Buses |- | 1T8 || Thomas Built Buses |- | 1T9/072 || The Trailer Co. (truck trailer) |- | 1T9/717 || Thunder Mountain Custom Cycles |- | 1T9/825 || TICO Manufacturing Company (truck) |- | 1T9/899 || Tomcar USA |- | 1T9/970 || Three Two Chopper |- | 1TC || Coachmen Recreational Vehicle Co., LLC |- | 1TU || Transportation Manufacturing Corporation |- | 1UJ || Jayco, Inc. |- | 1UT || AM General military trucks, Jeep DJ made by AM General |- | 1UY || Utility Trailer (truck trailer) |- | 1VH || Orion Bus Industries |- | 1VW || Volkswagen car |- | 1V1 || Volkswagen truck |- | 1V2 || Volkswagen SUV |- | 1V9/048 || Vector Aeromotive |- | 1V9/113 || Vantage Vehicle International Inc (low-speed vehicle) |- | 1V9/190 || Vanderhall Motor Works |- | 1WA || White Motor Company (Autocar brand truck) |- | 1WB || White Motor Company (Autocar brand incomplete vehicle) |- | 1WD || White Motor Company (Autocar brand glider) |- | 1WT || Winnebago Industries: Winnebago M.P.V. |- | 1WU || White Motor Company (White brand truck) |- | 1WV || Winnebago Industries: Winnebago M.P.V. - Class C Motorhome built on VW chassis & front cab [Winnebago Rialta ('95-'96)] |- | 1WW || Winnebago Industries: Winnebago M.P.V. - Class B Motorhome built on Renault chassis [Winnebago LeSharo, Centauri, Itasca Phasar] |- | 1WX || White Motor Company (White brand incomplete vehicle) |- | 1WY || White Motor Company (White brand glider) |- | 1W1 || Wilson Trailer Co. (truck trailer) |- | 1W5 || Western Recreational Vehicles (Alpenlite) |- | 1W8 || Witzco (truck trailer) |- | 1W9/010 || Weld-It Company (truck trailer) |- | 1W9/485 || Wheego Electric Cars |- | 1W9/488 || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (2010 & later) |- | 1XA || Excalibur Automobile Corporation |- | 1XK || Kenworth (truck) |- | 1XM || Renault Alliance/GTA/Encore 1984–1987 |- | 1XP || Peterbilt (truck) |- | 1Y1 || Chevrolet/Geo car made by NUMMI |- | 1YJ || Rokon International, Inc. |- | 1YV || [[../Ford/VIN Codes|Mazda made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZV || [[../Ford/VIN Codes|Ford made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZW || [[../Ford/VIN Codes|Mercury made by AutoAlliance International]] |- | 1Z3 1Z7 || Mitsubishi Raider |- | 1Z9/170 || [[w:Orange County Choppers|Orange County Choppers]] |- | 10B || Brenner Tank (truck trailer) |- | 10R || E-Z-GO |- | 10T || Oshkosh Corporation |- | 11H || Hendrickson Mobile Equipment, Inc. (fire engines - incomplete vehicle) |- | 11V || Kalmar Solutions (truck) |- | 12A || Avanti |- | 137 || AM General Hummer & Hummer H1 |- | 13N || Fontaine (truck trailer) |- | 15G || Gillig bus |- | 16C || Clenet Coachworks |- | 16W || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (prior to 2010) |- | 16X || Vixen 21 motorhome |- | 17N || John Deere incomplete vehicle (RV chassis) |- | 19U || Acura car made by Honda of America Mfg. in Ohio |- | 19V || Acura car made by Honda Manufacturing of Indiana |- | 19X || Honda car made by Honda Manufacturing of Indiana |- | 2A3 || Imperial |- | 2A4 2A8 || Chrysler brand MPV/SUV 2006–2011 only |- | 2AY 2AZ || Hino |- | 2BC || Jeep Wrangler (YJ) 1987–1988 (using AMC-style VIN structure) |- | 2BP || Ski-Doo |- | 2BV || Can-Am & Bombardier ATV |- | 2BW || Can-Am Commander E LSV |- | 2BX || Can-Am Spyder & Canyon 3-wheelers |- | 2BZ || Can-Am Freedom Trailer for Can-Am Spyder & Canyon |- | 2B1 || Orion Bus Industries |- | 2B3 || Dodge car 1981–2011 |- | 2B4 || Dodge MPV 1981–2002 |- | 2B5 || Dodge "bus" (van with more than 3 rows of seats) 1981–2002 |- | 2B6 || Dodge incomplete vehicle 1981–2002 |- | 2B7 || Dodge truck 1981–2002 |- | 2B9/001 || BWS Manufacturing (truck trailer) |- | 2C1 || Geo/Chevrolet car made by CAMI Automotive |- | 2C3 || Chrysler brand car 1981–2011 |- | 2C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 2C4 || Chrysler brand MPV/SUV 2000–2005 |- | 2C4 || Chrysler Group (all brands) MPV (including Lancia Voyager & Volkswagen Routan) 2012- |- | 2C7 || Pontiac car made by CAMI Automotive only sold by GM Canada |- | 2C8 || Chrysler brand MPV/SUV 2001–2005 |- | 2C9/145 || Campagna Motors |- | 2C9/197 || Canadian Electric Vehicles |- | 2CC || American Motors Corporation MPV |- | 2CG || Asüna/Pontiac SUV made by CAMI Automotive only sold by GM Canada |- | 2CK || GMC Tracker SUV made by CAMI Automotive only sold by GM Canada 1990–1991 only |- | 2CK || Pontiac Torrent SUV made by CAMI Automotive 2006–2009 only |- | 2CM || American Motors Corporation car |- | 2CN || Geo/Chevrolet SUV made by CAMI Automotive 1990–2011 only |- | 2CT || GMC Terrain SUV made by CAMI Automotive 2010–2011 only |- | 2D4 || Dodge MPV 2003–2011 only |- | 2D6 || Dodge incomplete vehicle 2003 |- | 2D7 || Dodge truck 2003 |- | 2D8 || Dodge MPV 2003–2011 only |- | 2DG || Ontario Drive & Gear |- | 2DM || Di-Mond Trailers (truck trailer) |- | 2DN || Dynasty Electric Car Corporation |- | 2EZ || Electra Meccanica Vehicles Corp. (Solo) |- | 2E3 || Eagle car 1989–1997 (using Chrysler-style VIN structure) |- | 2E4 || 2011 Lancia MPV (Voyager) |- | 2E9/080 || Electra Meccanica Vehicles Corp. (Solo) |- | 2FA || [[../Ford/VIN Codes|Ford]] car |- | 2FH || Zenn Motor Co., Ltd. (low-speed vehicle) |- | 2FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 2FT || [[../Ford/VIN Codes|Ford]] truck |- | 2FU || Freightliner (truck) |- | 2FV || Freightliner (incomplete vehicle) |- | 2FW || Sterling Trucks (truck-complete vehicle) |- | 2FY || New Flyer |- | 2FZ || Sterling Trucks (incomplete vehicle) |- | 2Gx || [[../GM/VIN Codes|General Motors]] Canada |- | 2G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 2G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 2G2 || [[../GM/VIN Codes|Pontiac]] car |- | 2G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 2G4 || [[../GM/VIN Codes|Buick]] car |- | 2G5 || GMC MPV 1981–1986 |- | 2G5 || Chevrolet BrightDrop / BrightDrop Zevo truck 2023-2026 |- | 2G6 || [[../GM/VIN Codes|Cadillac]] car |- | 2G7 || Pontiac car only sold by GM Canada |- | 2G8 || Chevrolet MPV 1981–1986 |- | 2GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 2GB || Chevrolet incomplete vehicle |- | 2GC || Chevrolet truck |- | 2GD || GMC incomplete vehicle |- | 2GE || Cadillac incomplete vehicle |- | 2GH || GMC GM New Look bus & GM Classic series bus |- | 2GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 2GK || GMC MPV/SUV 1987– |- | 2GN || Chevrolet MPV/SUV 1987- |- | 2GT || GMC truck |- | 2HG || [[../Honda/VIN Codes|Honda]] car made by Honda of Canada Manufacturing |- | 2HH || Acura car made by Honda of Canada Manufacturing |- | 2HJ || [[../Honda/VIN Codes|Honda]] truck made by Honda of Canada Manufacturing |- | 2HK || [[../Honda/VIN Codes|Honda]] MPV/SUV made by Honda of Canada Manufacturing |- | 2HM || Hyundai Canada |- | 2HN || Acura SUV made by Honda of Canada Manufacturing |- | 2HP || International Trucks (complete vehicle - straight truck) |- | 2HS || International Trucks (complete vehicle - truck tractor) |- | 2HT || International Trucks (incomplete vehicle - straight truck) |- | 2HV || International or IC Bus (incomplete vehicle - bus) |- | 2J4 || Jeep Wrangler (YJ) 1989–1992 (using Chrysler-style VIN structure) |- | 2L1 || Lincoln incomplete vehicle – limo |- | 2LD || Triple E Canada Ltd. |- | 2LJ || Lincoln incomplete vehicle – hearse |- | 2LM || Lincoln SUV |- | 2LN || Lincoln car |- | 2M1 || Mack Trucks Canada (truck) |- | 2M2 || Mack Trucks Canada (incomplete vehicle) |- | 2M3 || Mack Truck Canada (glider) |- | 2ME || [[../Ford/VIN Codes|Mercury]] car |- | 2MG || Motor Coach Industries (Produced from Sept. 1, 2008 on) |- | 2MH || [[../Ford/VIN Codes|Mercury]] incomplete vehicle |- | 2MR || [[../Ford/VIN Codes|Mercury]] MPV |- | 2M9/044 || Westward Industries |- | 2M9/058 || Motor Coach Industries |- | 2NK || Kenworth incomplete vehicle |- | 2NP || Peterbilt incomplete vehicle |- | 2NV || Nova Bus |- | 2P3 || Plymouth car |- | 2P4 || Plymouth MPV 1981–2000 |- | 2P5 || Plymouth "bus" (van with more than 3 rows of seats) 1981–1983 |- | 2P9/001 || Prevost 1981–1995 |- | 2PC || Prevost 1996- |- | 2S2 || Suzuki car made by CAMI Automotive |- | 2S3 || Suzuki SUV made by CAMI Automotive |- | 2TU || Tri-Star Industries Limited |- | 2T1 || [[../Toyota/VIN Codes|Toyota]] car made by TMMC |- | 2T2 || Lexus SUV made by TMMC |- | 2T3 || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMC |- | 2T9/206 || Triple E Canada Ltd. |- | 2V4 || Volkswagen Routan made by Chrysler Canada |- | 2V8 || Volkswagen Routan made by Chrysler Canada |- | 2W9/044 || Westward Industries |- | 2WK || Western Star (truck) |- | 2WL || Western Star (incomplete vehicle) |- | 2WM || Western Star (glider) |- | 2XK || Kenworth (truck) |- | 2XM || Eagle Premier 1988 only (using AMC-style VIN structure) |- | 2XP || Peterbilt (truck) |- | 3A4 3A8 || Chrysler brand MPV 2006–2010 only |- | 3A9/050 || MARGO (truck trailer) |- | 3AK || Freightliner Trucks (truck) |- | 3AL || Freightliner Trucks (incomplete vehicle) |- | 3AW || Fruehauf de Mexico (truck trailer) |- | 3AX || Scania Mexico |- | 3BE || Scania Mexico (buses) |- | 3BH || Western Star 3700 (truck) made by DINA S.A. |- | 3BH || Western Star (truck) |- | 3BJ || Western Star 3700 (incomplete vehicle) made by DINA S.A. |- | 3BJ || Western Star (incomplete vehicle) |- | 3BK || Kenworth (incomplete vehicle) |- | 3BM || Motor Coach Industries bus made by DINA S.A. |- | 3BP || Peterbilt (incomplete vehicle) |- | 3B3 || Dodge car 1981–2011 |- | 3B4 || Dodge SUV 1986–1993 |- | 3B6 || Dodge incomplete vehicle 1981–2002 |- | 3B7 || Dodge truck 1981–2002 |- | 3C3 || Chrysler brand car 1981–2011 |- | 3C3 || Chrysler Group (all brands) car (including Fiat) 2012- |- | 3C4 || Chrysler brand MPV 2001–2005 |- | 3C4 || Chrysler Group (all brands) MPV (including Fiat) 2012- |- | 3C6 || Chrysler Group (all brands) truck 2012– |- | 3C7 || Chrysler Group (all brands) incomplete vehicle 2012– |- | 3C8 || Chrysler brand MPV 2001–2005 |- | 3CA || Chrysler brand MPV 2001 (PT Cruiser w/serial# 232057-265662) |- | 3CE || Volvo Buses de Mexico |- | 3CG || KTMMEX S.A. de C.V. |- | 3CZ || Honda SUV made by Honda de Mexico |- | 3D2 || Dodge incomplete vehicle 2007–2009 |- | 3D3 || Dodge truck 2006–2009 |- | 3D4 || Dodge SUV 2009–2011 |- | 3D6 || Dodge incomplete vehicle 2003–2011 |- | 3D7 || Dodge truck 2002–2011 |- | 3EL || ATRO (truck trailer) |- | 3E4 || 2011 Fiat SUV (Freemont) |- | 3FA || [[../Ford/VIN Codes|Ford]] car |- | 3FC || Ford stripped chassis made by Ford & IMMSA |- | 3FE || [[../Ford/VIN Codes|Ford]] Mexico |- | 3FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 3FN || Ford F-650/F-750 made by Blue Diamond Truck Co. (truck) |- | 3FR || Ford F-650/F-750 & Ford LCF made by Blue Diamond Truck Co. (incomplete vehicle) |- | 3FT || [[../Ford/VIN Codes|Ford]] truck |- | 3F6 || Sterling Bullet |- | 3G || [[../GM/VIN Codes|General Motors]] Mexico |- | 3G0 || Saab 9-4X 2011 |- | 3G0 || Holden Equinox 2018–2020 |- | 3G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 3G2 || [[../GM/VIN Codes|Pontiac]] car |- | 3G4 || [[../GM/VIN Codes|Buick]] car |- | 3G5 || [[../GM/VIN Codes|Buick]] SUV |- | 3G7 || [[../GM/VIN Codes|Pontiac]] SUV |- | 3GA || JAC models assembled by Giant Motors in Mexico |- | 3GC || Chevrolet truck |- | 3GK || GMC SUV |- | 3GM || Holden Suburban |- | 3GN || Chevrolet SUV |- | 3GP || Honda Prologue EV made by GM |- | 3GS || Saturn SUV |- | 3GT || GMC truck |- | 3GY || Cadillac SUV |- | 3H1 || Honda motorcycle/UTV |- | 3H3 || Hyundai de Mexico, S.A. de C.V. for Hyundai Translead (truck trailers) |- | 3HA || International Trucks (incomplete vehicle - straight truck) made by Blue Diamond Truck Co. 2011-2015 |- | 3HA || International Trucks (incomplete vehicle - straight truck) made by Navistar Mexico/International Motors Mexico 2016- |- | 3HC || International Trucks (complete vehicle - truck tractor) made by Blue Diamond Truck Co. 2011-2015 |- | 3HC || International Trucks (complete vehicle - truck tractor) made by Navistar Mexico/International Motors Mexico 2016- |- | 3HD || Acura SUV made by Honda de Mexico |- | 3HG || [[../Honda/VIN Codes|Honda]] car made by Honda de Mexico |- | 3HR || International Trucks (complete vehicle - truck) |- | 3HS || International Trucks & Caterpillar Trucks (complete vehicle - truck tractor) |- | 3HT || International Trucks & Caterpillar Trucks (incomplete vehicle - straight truck) |- | 3HV || International (incomplete vehicle - bus) |- | 3JB || BRP Mexico (Can-Am ATV/UTV & Can-Am Ryker 3-wheeler) |- | 3JC || BRP Mexico (Can-Am Origin & Pulse electric 2-wheel motorcycles) |- | 3KM || Kia/Hyundai MPV/SUV made by KMMX |- | 3KP || Kia/Hyundai car made by KMMX |- | 3LN || Lincoln car |- | 3MA || Mercury car (1988-1995) |- | 3MD || Mazda de Mexico car (Mazda 2) |- | 3ME || Mercury car (1996-2011) |- | 3MF || BMW M car |- | 3MG || Isuzu Motors de Mexico |- | 3MJ || Mazda CX-3 (Mazda de Mexico) |- | 3MV || Mazda de Mexico SUV (Mazda CX-30) |- | 3MW || BMW car |- | 3MY || Toyota car made by Mazda de Mexico Vehicle Operation |- | 3MZ || Mazda de Mexico car (Mazda 3) |- | 3N1 || Nissan Mexico car |- | 3N6 || Nissan Mexico truck & Chevrolet City Express |- | 3N8 || Nissan Mexico MPV |- | 3NS || Polaris Industries ATV |- | 3NE || Polaris Industries UTV |- | 3P3 || Plymouth car |- | 3PC || Infiniti SUV made by COMPAS |- | 3TM || Toyota truck made by TMMBC |- | 3TY || Toyota truck made by TMMGT |- | 3VV || Volkswagen Mexico SUV |- | 3VW || Volkswagen Mexico car |- | 3WK || Kenworth truck |- | 3WP || Peterbilt truck |- | 3X1 || Mack Truck Mexico (truck) |- | 3X2 || Mack Truck Mexico (incomplete vehicle) |- | 4A3 || Mitsubishi Motors car |- | 4A4 || Mitsubishi Motors SUV |- | 4B3 || Dodge car made by Diamond-Star Motors factory |- | 4B9/038 || BYD Coach & Bus LLC |- | 4C3 || Chrysler car made by Diamond-Star Motors factory |- | 4C6 || Reinke Manufacturing Company (truck trailer) |- | 4C9/272 || Christini Technologies (motorcycle) |- | 4C9/561 || Czinger |- | 4C9/626 || Canoo Inc. |- | 4CD || Oshkosh Chassis Division incomplete vehicle (RV chassis) |- | 4DR || IC Bus (complete vehicle - bus) |- | 4E3 || Eagle car made by Diamond-Star Motors factory |- | 4EN || E-ONE, Inc. (fire engines - truck) |- | 4EZ || KZ Recreational Vehicles (trailer) |- | 4F2 || Mazda SUV made by Ford |- | 4F4 || Mazda truck made by Ford |- | 4G1 || Chevrolet Cavalier convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G2 || Pontiac Sunfire convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G3 || Toyota Cavalier made by GM |- | 4G5 || General Motors EV1 |- | 4GD || WhiteGMC Brigadier 1988–1989 made by GM |- | 4GD || Opel/Vauxhall Sintra |- | 4GL || Buick incomplete vehicle |- | 4GT || Isuzu incomplete vehicle built by GM |- | 4JG || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] SUV |- | 4J8 || LBT, Inc. (truck trailer) |- | 4KA || IC Bus (complete vehicle - truck) |- | 4KB || Chevrolet W-Series (gas engine only) made by GM (Incomplete Vehicle - medium duty) |- | 4KD || GMC W-Series (gas engine only) made by GM (Incomplete Vehicle - medium duty) |- | 4KL || Isuzu N-Series (gas engine only) made by GM (Incomplete Vehicle - medium duty) |- | 4LM || Capacity Trucks (truck) [terminal tractors] |- | 4M2 || [[../Ford/VIN Codes|Mercury]] MPV/SUV |- | 4M9/220 || Meyers Manx, LLC (Manx 2.0 EV) [Passenger Car - Replica] |- | 4ML || Oshkosh Trailer Division |- | 4MZ || Buell Motorcycle Company |- | 4N2 || Nissan Quest made by Ford |- | 4NU || Isuzu Ascender made by GM |- | 4PR || Hughes Trailers of Jackson (trailer) |- | 4P1 || Pierce Manufacturing Inc. USA |- | 4P3 || Plymouth car made by Diamond-Star Motors factory 1990–1994 |- | 4P3 || Mitsubishi Motors SUV made by Mitsubishi Motor Manufacturing of America 2013–2015 for export only |- | 4RK || Nova Bus & Prevost made by Nova Bus (US) Inc. |- | 4S1 || Isuzu truck made by Subaru Isuzu Automotive |- | 4S2 || Isuzu SUV made by Subaru Isuzu Automotive & 2nd gen. Holden Frontera made by SIA |- | 4S3 || [[../Subaru/VIN Codes|Subaru]] car |- | 4S4 || [[../Subaru/VIN Codes|Subaru]] SUV/MPV |- | 4S6 || Honda SUV made by Subaru Isuzu Automotive |- | 4S7 || Spartan Motors incomplete vehicle |- | 4S9/197 || Smith Electric Vehicles |- | 4S9/345 || Satellite Suites (trailer) |- | 4S9/419 || Spartan Motors truck |- | 4S9/454 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/520 || Signature Autosport, LLC (Osprey Custom Cars) |- | 4S9/542 || Scuderia Cameron Glickenhaus SCG Boot (M.P.V.) |- | 4S9/544 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/559 || Spartan Fire, LLC truck (formerly Spartan ER) |- | 4S9/560 || Spartan Fire, LLC incomplete vehicle (formerly Spartan ER) |- | 4S9/569 || SC Autosports, LLC (Kandi) |- | 4TA || [[../Toyota/VIN Codes|Toyota]] truck made by NUMMI |- | 4T1 || [[../Toyota/VIN Codes|Toyota]] car made by Toyota Motor Manufacturing Kentucky |- | 4T3 || [[../Toyota/VIN Codes|Toyota]] MPV/SUV made by Toyota Motor Manufacturing Kentucky |- | 4T4 || [[../Toyota/VIN Codes|Toyota]] car made by Subaru of Indiana Automotive |- | 4T9/208 || Xos, Inc. |- | 4T9/228 || Lumen Motors |- | 4UF || Arctic Cat Inc. |- | 4US || BMW car |- | 4UZ || Freightliner Custom Chassis Corporation & <br /> gas-powered Mitsubishi Fuso trucks assembled by Freightliner Custom Chassis & <br /> Thomas Built Buses FS-65 & Saf-T-Liner C2 |- | 4V0 || Crossroads RV (recreational vehicles) |- | 4V1 || WhiteGMC (truck) 1988-1995 |- | 4V2 || WhiteGMC (incomplete vehicle) 1988-1995 |- | 4V3 || WhiteGMC (glider) 1988-1995 |- | 4V1 || Volvo Trucks North America [low cab-over engine] (truck) 2000-2003 |- | 4V2 || Volvo Trucks North America [low cab-over engine] (incomplete vehicle) 2000-2003 |- | 4V4 || Volvo Trucks North America [conventional] (truck) 1996+ |- | 4V5 || Volvo Trucks North America [conventional] (incomplete vehicle) 1996+ |- | 4V6 || Volvo Trucks North America (glider) |- | 4VA || Volvo Trucks North America [conventional- Class 7 w/air brakes] (truck) 1997-1999 |- | 4VB || Volvo Trucks North America [conventional- Class 7 w/air brakes] (incomplete vehicle) 1997-1999 |- | 4VC || Volvo Trucks North America [conventional- Class 7 w/hydraulic brakes] (incomplete vehicle) |- | 4VD || Volvo Trucks North America [low cab-over engine- Class 7 w/air brakes] (truck) |- | 4VE || Volvo Trucks North America [low cab-over engine- Class 7 w/air brakes] (incomplete vehicle) |- | 4VG || Volvo Trucks North America [conventional- Class 8 w/air brakes] (truck) 1997-1999 |- | 4VH || Volvo Trucks North America [conventional- Class 8 w/air brakes] (incomplete vehicle) 1997-1999 |- | 4VJ || Volvo Trucks North America [high cab-over engine- Class 8 w/air brakes] (truck) |- | 4VK || Volvo Trucks North America [high cab-over engine- Class 8 w/air brakes] (incomplete vehicle) |- | 4VL || Volvo Trucks North America [low cab-over engine- Class 8 w/air brakes] (truck) |- | 4VM || Volvo Trucks North America [low cab-over engine- Class 8 w/air brakes] (incomplete vehicle) |- | 4VZ || Spartan Motors/The Shyft Group (incomplete vehicle – bare chassis only) |- | 4WW || Wilson Trailer Sales |- | 4W1 || '24+ Chevrolet Suburban HD made by GM Defense for US govt. in Concord, NC |- | 4W5 || Acura ZDX EV made by GM |- | 4XA || Polaris Inc. |- | 4X4 || Forest River |- | 4YD || KeyStone RV Company (recreational vehicle) |- | 4YM || Carry-On Trailer, Inc. |- | 4YM || Anderson Manufacturing (trailer) |- | 4Z3 || American LaFrance truck |- | 43C || Consulier |- | 44K || HME Inc. (fire engines - incomplete vehicle) (HME=Hendrickson Mobile Equipment) |- | 46G || Gillig incomplete vehicle |- | 46J || Federal Motors Inc |- | 478 || Honda ATV |- | 480 || Sterling Trucks (truck) |- | 49H || Sterling Trucks (incomplete vehicle) |- | 5AS || Global Electric Motorcars (GEM) 1999-2011 |- | 5AX || Armor Chassis (truck trailer) |- | 5A4 || Load Rite Trailers Inc. |- | 5BP || Solectria |- | 5BZ || Nissan "bus" (van with more than 3 rows of seats) |- | 5B4 || Workhorse Custom Chassis, LLC incomplete vehicle (RV chassis) |- | 5CD || Indian Motorcycle Company of America (Gilroy, CA) |- | 5CJ || Western Star Trucks (incomplete vehicle) |- | 5CK || Western Star Trucks (truck) |- | 5CX || Shelby Series 1 |- | 5DF || Thomas Dennis Company LLC |- | 5DG || Terex Advance Mixer (truck) |- | 5EH || Excelsior-Henderson Motorcycle |- | 5EO || Cottrell (truck trailer) |- | 5FC || Columbia Vehicle Group (Columbia, Tomberlin) (low-speed vehicles) |- | 5FN || Honda MPV/SUV made by Honda Manufacturing of Alabama |- | 5FP || Honda truck made by Honda Manufacturing of Alabama |- | 5FR || Acura SUV made by Honda Manufacturing of Alabama |- | 5FT || Feeling Trailers |- | 5FY || New Flyer |- | 5GA || Buick MPV/SUV |- | 5GD || Daewoo G2X |- | 5GN || Hummer H3T |- | 5GR || Hummer H2 |- | 5GT || Hummer H3 |- | 5GZ || Saturn MPV/SUV |- | 5G8 || Holden Volt |- | 5HD || Harley-Davidson for export markets |- | 5HT || Heil Trailer (truck trailer) |- | 5J5 || Big Dog Motorcycles |- | 5J5 || Club Car |- | 5J6 || Honda SUV made by Honda of America Mfg. in Ohio |- | 5J8 || Acura SUV made by Honda of America Mfg. in Ohio |- | 5KB || Honda car made by Honda Manufacturing of Alabama |- | 5KJ || Western Star Trucks (truck) |- | 5KK || Western Star Trucks (incomplete vehicle) |- | 5KM || Vento Motorcycles |- | 5KT || Karavan Trailers |- | 5L1 || [[../Ford/VIN Codes|Lincoln]] SUV - Limousine (2004–2009) |- | 5L5 || American IronHorse Motorcycle |- | 5LD || Ford & Lincoln incomplete vehicle – limousine (2010–2014) |- | 5LM || [[../Ford/VIN Codes|Lincoln]] SUV |- | 5LT || [[../Ford/VIN Codes|Lincoln]] truck |- | 5MZ || Buell Motorcycle Company for export markets |- | 5N1 || Nissan & Infiniti SUV |- | 5N3 || Infiniti SUV |- | 5NH || Forest River |- | 5NM || Hyundai SUV made by HMMA |- | 5NP || Hyundai car made by HMMA |- | 5NT || Hyundai truck made by HMMA |- | 5PV || Hino incomplete vehicle made by Hino Motors Manufacturing USA |- | 5RJ || International MXT made by Android Industries - Springfield LLC |- | 5RX || Heartland Recreational Vehicles |- | 5S3 || Saab 9-7X |- | 5SA || Suzuki Manufacturing of America Corp. (ATV) |- | 5SX || American LaFrance incomplete vehicle (Condor) |- | 5TB || [[../Toyota/VIN Codes|Toyota]] truck made by TMMI |- | 5TD || Toyota MPV/SUV & Lexus TX made by TMMI |- | 5TE || Toyota truck made by NUMMI |- | 5TF || Toyota truck made by TMMTX |- | 5TU || Construction Trailer Specialist (truck trailer) |- | 5UM || BMW M car |- | 5UX || BMW SUV |- | 5VC || Autocar incomplete vehicle |- | 5VF || American Electric Vehicle Company (low-speed vehicle) |- | 5VK || Great Northern Trailer Works (truck trailer) |- | 5VP || Victory Motorcycles |- | 5V4 || Autocar truck |- | 5V8 || Vanguard National (truck trailer) |- | 5WE || IC Bus (incomplete vehicle - bus or truck) |- | 5XX || Kia car made by KMMG |- | 5XY || Kia/Hyundai SUV made by KMMG |- | 5YA || Indian Motorcycle Company (Kings Mountain, NC) |- | 5YF || Toyota car made by TMMMS |- | 5YJ || Tesla, Inc. passenger car (only used for US-built Model S and Model 3 starting from Nov, 1st 2021) |- | 5YM || BMW M SUV |- | 5YN || Cruise Car, Inc. |- | 5Y2 || Pontiac Vibe made by NUMMI |- | 5Y4 || Yamaha Motor Motor Mfg. Corp. of America (ATV, UTV) |- | 5ZT || Forest River (recreational vehicles) |- | 5ZU || Greenkraft (truck) |- | 5Z6 || Suzuki Equator (truck) made by Nissan |- | 50E || Lucid Motors passenger car |- | 50G || Karma Automotive |- | 50H || Norstar Trailers LLC (truck trailer) |- | 516 || Autocar truck |- | 51R || Brammo Motorcycles |- | 51Z || Monaco RV (incomplete vehicle) manufatcured by Navistar RV LLC |- | 522 || GreenGo Tek (low-speed vehicle) |- | 523 || VPG (The Vehicle Production Group) |- | 52C || GEM subsidiary of Polaris Inc. |- | 537 || Azure Dynamics Transit Connect Electric |- | 538 || Zero Motorcycles |- | 53G || Coda Automotive |- | 53T || Think North America in Elkhart, IN |- | 546 || EBR Motorcycles |- | 54C || Winnebago Industries travel trailer |- | 54D || Isuzu & Chevrolet commercial trucks built by Spartan Motors/The Shyft Group |- | 54F || Rosenbauer Motors (incomplete vehicle) |- | 55S || Mercedes-Benz car |- | 56E || Armor Lite Trailers (truck trailer) |- | 56K || Indian Motorcycle International, LLC (Polaris subsidiary) |- | 573 || Grand Design RV (truck trailer) |- | 57C || Maurer Manufacturing (truck trailer) |- | 57R || Oreion Motors |- | 57S || Lightning Motors Corp. (electric motorcycles) |- | 57W || Mobility Ventures |- | 57X || Polaris Slingshot |- | 58A || Lexus car made by TMMK (Lexus ES) |- | 6AB || MAN Australia |- | 6AM || Jayco Corp. (RVs) |- | 6F1 || Ford |- | 6F2 || Iveco Trucks Australia Ltd. |- | 6F4 || Nissan Motor Company Australia |- | 6F5 || Kenworth Australia |- | 6FM || Mack Trucks Australia |- | 6FP || [[../Ford/VIN Codes|Ford]] Australia |- | 6G1 || [[../GM/VIN Codes|General Motors]]-Holden (post Nov 2002) & Chevrolet & Vauxhall Monaro & VXR8 |- | 6G2 || [[../GM/VIN Codes|Pontiac]] Australia (GTO & G8) |- | 6G3 || [[../GM/VIN Codes|General Motors]] Chevrolet Caprice PPV & SS performance sedan 2014-2017 |- | 6H8 || [[../GM/VIN Codes|General Motors]]-Holden (pre Nov 2002) |- | 6KT || BCI Bus |- | 6MM || Mitsubishi Motors Australia |- | 6MP || Mercury Capri 1991-1994 |- | 6T1 || [[../Toyota/VIN Codes|Toyota]] Motor Corporation Australia |- | 6T9 || Privately Imported car (VIN issued by Victoria) or Trailer in Australia |- | 6U9 || Privately Imported car in Australia |- | 6Y9/043 || Intertruck Distributors (NZ) Ltd. - International Trucks New Zealand |- | 6ZZ || Privately Imported car in Australia |- | 7AB || MAN New Zealand |- | 7AT || VIN assigned by the New Zealand Transport Authority Waka Kotahi from 29 November 2009 |- | 7A1 || Mitsubishi New Zealand |- | 7A3 || Honda New Zealand |- | 7A4 || Toyota New Zealand |- | 7A5 || Ford New Zealand |- | 7A7 || Nissan New Zealand |- | 7A8 || VIN assigned by the New Zealand Transport Authority Waka Kotahi before 29 November 2009 |- | 7B2 || Nissan Diesel bus New Zealand |- | 7FA || Honda SUV made by Honda Manufacturing of Indiana |- | 7FC || Rivian truck |- | 7F7 || Arcimoto, Inc. |- | 7GZ || GMC incomplete vehicles (Savana cutaway) made by Navistar International/International Motors |- | 7G0 || Faraday Future |- | 7G2 || Tesla, Inc. truck (used for Nevada-built Semi Trucks & Texas-built Cybertruck) |- | 7H4 || Hino truck |- | 7H8 || Cenntro Electric Group Limited low-speed vehicle |- | 7JD || Volvo Cars SUV |- | 7JR || Volvo Cars passenger car |- | 7JZ || Proterra From mid-2019 on |- | 7KG || Vanderhall Motor Works |- | 7KY || Dorsey (truck trailer) |- | 7MM || Mazda SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MU || Toyota SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MW || Cenntro Electric Group Limited truck |- | 7MZ || HDK electric vehicles |- | 7NA || Navistar Defense/ND Defense |- | 7NY || Lordstown Motors |- | 7PD || Rivian SUV |- | 7RZ || Electric Last Mile Solutions |- | 7SA || Tesla, Inc. (US-built MPVs (e.g. Model X, Model Y)) |- | 7SU || Blue Arc electric trucks made by The Shyft Group |- | 7SV || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMTX |- | 7SX || Global Electric Motorcars (WAEV) 2022- |- | 7SY || Polestar SUV |- | 7TN || Canoo |- | 7UU || Lucid Motors MPV/SUV |- | 7UZ || Kaufman Trailers (trailer) |- | 7VV || Ree Automotive |- | 7WA || Scout Motors (MPV) |- | 7WE || Bollinger Motors incomplete vehicle |- | 7YA || Hyundai MPV/SUV made by HMGMA |- | 7ZJ || Denago EV Corporation (Low-Speed Vehicle) |- | 7ZJ || Meyers Manx, LLC (Manx EV Resorter) [Low Speed Vehicle] |- | 7Z0 || Zoox |- | 71T || Slate Auto (truck) |- | 71V || Slate Auto (MPV) |- | 722 || Isuzu North America Corp. (incomplete vehicle - medium duty) |- | 8AB || Mercedes Benz truck & bus (Argentina) |- | 8AC || Mercedes Benz vans (for South America) |- | 8AD || Peugeot Argentina |- | 8AE || Peugeot van |- | 8AF || [[../Ford/VIN Codes|Ford]] Argentina |- | 8AG || [[../GM/VIN Codes|Chevrolet]] Argentina |- | 8AJ || [[../Toyota/VIN Codes|Toyota]] Argentina |- | 8AK || Suzuki Argentina |- | 8AN || Nissan Argentina |- | 8AP || Fiat Argentina |- | 8AT || Iveco Argentina |- | 8AW || Volkswagen Argentina |- | 8A1 || Renault Argentina |- | 8A3 || Scania Argentina |- | 8A7 || Minarelli S.A. |- | 8BB || Agrale Argentina S.A. |- | 8BC || Citroën Argentina |- | 8BN || Mercedes-Benz incomplete vehicle (North America) |- | 8BR || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | 8BT || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | 8BU || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | 8CH || Honda motorcycle |- | 8C3 || Honda car/SUV |- | 8G1 || Automotores Franco Chilena S.A. Renault |- | 8GD || Automotores Franco Chilena S.A. Peugeot |- | 8GG || [[../GM/VIN Codes|Chevrolet]] Chile |- | 8LD || General Motors OBB - Chevrolet Ecuador |- | 8LF || Maresa (Mazda) |- | 8LG || Aymesa (Hyundai Motor & Kia) |- | 8L4 || Great Wall Motors made by Ciudad del Auto (Ciauto) |- | 8XD || Ford Motor Venezuela |- | 8XJ || Mack de Venezuela C.A. |- | 8XV || Iveco Venezuela C.A. |- | 8Z1 || General Motors Venezolana C.A. |- | 829 || Industrias Quantum Motors S.A. (Bolivia) |- | 9BD || Fiat Brazil & Dodge, Ram made by Fiat Brasil |- | 9BF || [[../Ford/VIN Codes|Ford]] Brazil |- | 9BG || [[../GM/VIN Codes|Chevrolet]] Brazil |- | 9BH || Hyundai Motor Brasil |- | 9BM || Mercedes-Benz Brazil car, SUV, commercial truck & bus |- | 9BN || Mafersa |- | 9BR || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 9BS || Scania Brazil |- | 9BU ||Gurgel Motores S.A. (defunct Brazilian automaker) |- | 9BV || Volvo Trucks Brazil |- | 9BW || Volkswagen Brazil |- | 9BY || Agrale S.A. |- | 9C2 || Moto Honda Da Amazonia Ltda. |- | 9C6 || Yamaha Motor Da Amazonia Ltda. |- | 9CD || Suzuki (motorcycles) assembled by J. Toledo Motos do Brasil |- | 9DF || Puma |- | 9DW || Kenworth & Peterbilt trucks [incomplete vehicle] made by Volkswagen do Brasil |- | 9EZ || homemade or handbuilt vehicles |- | 92H || Origem Brazil |- | 932 || Harley-Davidson Brazil |- | 935 || Citroën Brazil |- | 936 || Peugeot Brazil |- | 937 || Dodge Dakota |- | 93C || Chevrolet SUV [Tracker] or pickup [Tornado, Montana, S10] (sold in Mexico, made in Brazil) |- | 93H || [[../Honda/VIN Codes|Honda]] Brazil car/SUV |- | 93K || Volvo Trucks Brazil |- | 93P || Volare |- | 93S || Navistar International |- | 93R || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 93U || Audi Brazil 1999–2006 |- | 93W || Fiat Ducato made by Iveco 2000–2016 |- | 93V || Navistar International |- | 93X || Souza Ramos – Mitsubishi Motors / Suzuki Jimny |- | 93Y || Renault Brazil |- | 93Z || Iveco |- | 94D || Nissan Brazil |- | 94N || RWM Brazil |- | 94T || Troller Veículos Especiais |- | 95P || CAOA Hyundai & CAOA Chery |- | 95V || Dafra Motos (motorscooters from SYM) & Ducati, KTM, & MV Agusta assembled by Dafra |- | 95V || BMW motorcycles assembled by Dafra Motos 2009–2016 |- | 95Z || Buell Motorcycle Company assembled by Harley-Davidson Brazil |- | 953 || VW Truck & Bus / MAN Truck & Bus |- | 96P || Kawasaki |- | 97N || Triumph Motorcycles Ltd. |- | 988 || Jeep, Ram [Rampage], and Fiat [Toro] (made at the Goiana plant) |- | 98M || BMW car/SUV |- | 98P || DAF Trucks |- | 98R || Chery |- | 99A || Audi 2016- |- | 99H || Shineray |- | 99J || Jaguar Land Rover |- | 99K || Haojue & Kymco assembled by JTZ Indústria e Comércio de Motos |- | 99L || BYD |- | 99Z || BMW Motorrad (Motorcycle assembled by BMW 2017-) |- | 9FB || Renault Colombia (Sofasa) |- | 9FC || Compañía Colombiana Automotriz S.A. (Mazda) |- | 9GA || [[../GM/VIN Codes|Chevrolet]] Colombia (GM Colmotores S.A.) |- | 9UJ || Chery assembled by Chery Socma S.A. (Uruguay) |- | 9UK || Lifan (Uruguay) |- | 9UT || Dongfeng trucks made by Nordex S.A. |- | 9UW || Kia made by Nordex S.A. |- | 9VC || Fiat made by Nordex S.A. (Scudo, 2025 Titano) |- | 9V7 || Citroen made by Nordex S.A. (Jumpy) |- | 9V8 || Peugeot made by Nordex S.A. (Expert) |} ==References== {{reflist}} {{BookCat}} niha3d2x2jaz6q0i94izeey2i11v5lm User:Whiteknight/Gadget Instructions 2 2 143154 4656972 1353584 2026-08-10T08:16:59Z ShakespeareFan00 46022 4656972 wikitext text/x-wiki This script is a '''Gadget'''. You can install this script by going to '''[[Special:Preferences]]''', going to the "'''Gadgets'''" tab, and checking the box labeled '''{{{1}}}'''. Once you save your javascript, you may need to '''clear your cache''', typically by pressing {{Key|name=Ctrl}} + {{Key|name=F5}}, or some other key combination, depending on your browser. {| class="wikitable" style="text-align: center; width: 75%; margin:0 auto;" |- ! IE7 !! IE6 !! FF2 !! FF3 !! Safari !! Chrome !! Opera9 |- | {{User:Whiteknight/Browser Marker|{{{ie7|}}}}} | {{User:Whiteknight/Browser Marker|{{{ie6|}}}}} | {{User:Whiteknight/Browser Marker|{{{ff|{{{ff2|}}}}}}}} | {{User:Whiteknight/Browser Marker|{{{ff3|{{{gecko|}}} }}} }} | {{User:Whiteknight/Browser Marker|{{{safari|{{{webkit|}}} }}} }} | {{User:Whiteknight/Browser Marker|{{{chrome|{{{webkit|}}} }}} }} | {{User:Whiteknight/Browser Marker|{{{opera|}}}}} |- | colspan=7 | {{dynamic navigation|title=Browser Test Codes|body= :{{User:Whiteknight/Color|Red|Broken}}: The script does not work in this browser. :{{User:Whiteknight/Color|Orange|Partial}}: Some (but not all) features of the script work in this browser. Problems may be minor and will probably be listed. :{{User:Whiteknight/Color|Green|Works}}: The script works as expected in this browser, and no obvious bugs or errors are present. :'''Not Tested''': I have not tested this script on this browser. It might work, it might not. If you test it, let me know the results. }} |} {{center|<small>Browsers not listed here have not been tested or are known not to work</small>}} p4dllux9aj4hja2prbqh6gqih1s11nz User:Neoptolemus 2 143486 4656988 4642527 2026-08-10T08:26:41Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656988 wikitext text/x-wiki <div style="position:absolute; z-index:100; right:40px; top:11px;" class="metadata" id="interwiki"> <imagemap> Image:Wikimedia Community Logo.svg|20px|Anonymous Dissident's Matrix rect 00 0 1000 1000 [[m:User:Neoptolemus]] desc none </imagemap></div> {{center/top}} {{col-begin}} {{col-4}} Hello, my name is Andrew Moffett, though to avoid confusion with [[User:Whiteknight|other Andrews]] on Wikibooks, you can refer to me as '''[[w:Neoptolemus|Neoptolemus]]''', or simply '''[[w:The Matrix|Neo]]'''<ref>[http://en.wikibooks.org/wiki/Wikibooks:Requests_for_permissions/Archive_5#Neoptolemus.C2.A0.28_talk.C2.A0.7C.C2.A0_email.C2.A0.7C.C2.A0_contribs.C2.A0.7C.C2.A0logs.29 Per User:Jomegat's comments during my sysop nomination]</ref>. I am currently a freshman at [[w:Centre College|Centre College]] in Danville, Kentucky, working towards a double major in [[History]] and [[Spanish]]. When not reverting vandalism or cleaning up redirects, my edits center around books on history and foreign languages. I invite you to look at the [[/New book list|new book list]] shown below. Let me know if you are interested in working with me on any of these ideas. Also, if by looking at my list you think I might be interested in working with you on some idea of yours, I would be grateful if you would like to share some of your ideas for future books with me as well. <br><hr><br><div style="text-align: center;"> <div class="NavFrame {{#ifeq:{{{expand|yes}}}|yes|selected}}"> <div class="NavHead"> [[/To do list/]]</div> <div class="NavContent" style="padding:0.5em; text-align:left"> {{:User:Neoptolemus/To do list}} </div></div><br></div> {{clear}} <div class="NavFrame {{#ifeq:{{{expand|yes}}}|yes|selected}}"> <div class="NavHead"> Contacting me</div> <div class="NavContent" style="padding:0.5em; text-align:left"> I can be reached in a number of ways, including the following: <br>'''AIM''': neoptol3mus <br>'''E-mail''': [[Special:EmailUser/Neoptolemus|E-mail this user]] <br>'''IRC''': [irc://irc.freenode.net/wikibooks #wikibooks] <br>'''WB''': [[User talk:Neoptolemus|My discussion page]] </div></div> {{col-3}} {{:User:Neoptolemus/Userboxes}} {{col-end}} {|class="userboxes" style="margin-left: 1em;; margin-bottom: 0.5em; width: 850px; border: #000000 solid 0px; background-color: transparent; color: #000000; float: align-right;" | valign="top" | <div class="NavFrame"> <div class="NavHead"> NEW BOOK LIST - LANGUAGE LIST - READING LIST - SANDBOX</div> <div class="NavContent" style="padding:0.5em; text-align:left"> {|class="userboxes" style="margin-left: 1em;; margin-bottom: 0.5em; width: 800px; border: #000000 solid 0px; background-color: transparent; color: #000000; float: align-right;" | valign="top" | <div class="NavFrame"> <div class="NavHead"> [[/New book list/]]</div> <div class="NavContent" style="padding:0.5em; text-align:left"> {{:User:Neoptolemus/New book list}} </div></div> {{clear}} <div class="NavFrame"> <div class="NavHead"> [[/Language list/]]</div> <div class="NavContent" style="padding:0.5em; text-align:left"> {{:User:Neoptolemus/Language list}} </div></div> {{clear}} <div class="NavFrame"> <div class="NavHead"> [[/Reading list/]]</div> <div class="NavContent" style="padding:0.5em; text-align:left"> {{:User:Neoptolemus/Reading list}} </div></div> {{clear}} <div class="NavFrame"> <div class="NavHead"> [[/Sandbox/]]</div> <div class="NavContent" style="padding:0.5em; text-align:left"> {{:User:Neoptolemus/Sandbox}} </div></div> |} </div></div> |} {{center/end}} ===Credibility=== {{:User:Neoptolemus/Credentials}} [[Category:Wikibooks History participants|{{PAGENAME}}]] ==References== <references/> [[es:Usuario:Neoptolemus]] kelk9a94tb9gr0e479t1r2bbg6ugzpz User talk:Seans Potato Business 3 143970 4656853 4650757 2026-08-09T22:09:35Z ShakespeareFan00 46022 4656853 wikitext text/x-wiki {| width=100% cellspacing=10 cellpadding=10 style="background: none;" | colspan=3 style="border: 2px solid #CC9; background-color: #e3c49c; -moz-border-radius: 10px;" | {| style="background-color: transparent;" align=center |- |+ '''<span style="color: red; font-size: 150%">Warning!</span>'''<br/> |- | [[Image:Redflash.gif|left]] | <div style="text-align: center;"><span style="font-size: 115%;"> '''This user account is unmanned. The nearest manned station is at Wikipedia and can be <span class="plainlinks">[http://en.wikipedia.org/w/index.php?title=User_talk:Seans_Potato_Business&action=edit&section=new contacted on 1.3 GHz]</span>, as expounded by SOP-BaComm-K14-659 and the relevant chapter of your military radiocommunications manual [Chp. 39; Ed. 14 (2002)]'''</span></div> |} |} {| width=100% cellspacing=10 cellpadding=10 style="background: none;" | colspan=3 style="border: 2px solid #CC9; background-color: #e3c49c; -moz-border-radius: 10px;" | {| style="background-color: transparent;" align=center |- |+ '''<span style="color: red; font-size: 150%">Achtung!</span>'''<br/> |- | [[Image:Redflash.gif|left]] | <div style="text-align: center;"><span style="font-size: 115%;"> '''Dieses Benutzerkonto ist unbemannt. Die nächste bemannte Station ist auf Wikipedia und kann auf <span class="plainlinks">[http://en.wikipedia.org/w/index.php?title=User_talk:Seans_Potato_Business&action=edit&section=new 1.3 GHz erreicht werden]</span>, wie beschrieben durch SOP-BaComm-K14-659 und die entsprechenden Kapitel ihres militärischen Radiokommunikations Handbuches [Kapitel 39; Edt. 14 (2002)]'''</span></div> |} |} == Welcome! == {{{1|Welcome, {{PAGENAME}}!}}} {| style="background:white; border:1px solid #abd5f5;; padding:0px; border-spacing:0px; color: #000000;" ! style="background:#d0e5f5; color: #000000;" | [[Wikibooks:Welcome|Getting started]] with Wikibooks |- | style="padding:5px;" | * Wikibooks is a collection of open-source textbooks. Find out [[WB:WIW|what this means]]. * To sign your name (on talk pages), use four tildes, like this: &#126;&#126;&#126;&#126; * For help in using the wiki, see [[Using Wikibooks]]. * For information about the community here, see [[Wikibooks Community]]. * Explore, [[Wikibooks:Be bold|be bold]], and have fun! |} Come introduce yourself at the [[WB:SLN|new users]] page. If you have any questions, you can ask there or contact me personally.--&nbsp;'''&ndash;&nbsp;[[User:Mike.lifeguard|<span style="color: Indigo;">Mike.lifeguard</span>]]'''&nbsp;&#124;&nbsp;<sup>[[User talk:Mike.lifeguard|<span style="color: Indigo;">talk</span>]]</sup> 16:36, 29 December 2007 (UTC) :Thanks for the intro but I'm unlikely to shift my focus from Wikipedia for the time being. Maybe some day... --[[User:Seans Potato Business|Seans Potato Business]] ([[User talk:Seans Potato Business|talk]]) 11:59, 31 December 2007 (UTC) fpna421padcl4z4or9qhbj0qd7dwmy7 User:ComputerGuy890100 2 152154 4656982 1555181 2026-08-10T08:24:19Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656982 wikitext text/x-wiki {{Userpage}} {{user language|en|N}} {{user language|ko|N}} {{user language|de|N}} Hello! It's [[W:User:ComputerGuy890100|ComputerGuy890100]] from [[Wikipedia]]! [[Image:Smiley.svg|20px]] I was just looking around and I hope to be fully on WikiBooks after a couple of months. {| style={| style="background-color:#FFFFFF; align="center" cellpadding="3px" |- | colspan="4" align="center" bgcolor="#CAD2ff" | [[Wikimedia:Home|Wikimedia Foundation]] |- align="center" | [[Image:Wikimedia-logo-meta.png|50px]] | [[Image:Commons-logo.svg|50px]] | [[Image:Wikinews-logo.png|50px]] | [[Image:Wikipedia-logo.png|50px]] |- bgcolor="#CAD2ff" align="center" font-size:small; | [[Meta:User:ComputerGuy890100|Wikimedia]] | [[Commons:User:ComputerGuy890100|Commons]] | [[Wikinews:User:ComputerGuy890100|Wikinews]] | [[Wikia:User:ComputerGuy890100|Wikia]] |- align="center" | [[Image:Wikipedia-logo.png|50px]] | [[Image:Wikisource-logo.svg|50px]] | [[Image:Wiktionary-logo-en.png|50px]] | [[Image:Wikiversity-logo-Snorky.svg|50px]] |- bgcolor="#CAD2ff" align="center" font-size:small; | [[Wikipedia:User:ComputerGuy890100|Wikipedia]] | [[Wikisource:User:ComputerGuy890100|Wikisource]] | [[Wiktionary:User:ComputerGuy890100|Wiktionary]] | [[Wikiversity:User:ComputerGuy890100|Wikiversity]] |} {{center/top}} {| "boilerplate" id="pd" style="width: 95%; margin: 0 auto; text-align: justify; background: #F1F1DE; padding: 0 10px; border: 1px solid #CC9;" | | [[Image:Smiley.svg|64px|left|Public domain]] | ''This user is right now inactive on WikiBooks. Please go to his [[W:User:ComputerGuy890100|Wikipedia userpage]] and he will respond there. Thanks.'' [[Image:Smiley.svg|20px]] |} {{center/end}} 82icztv56u2ts02uh1bd9v2zaxz27gv Clock and Data Recovery/Structures and types of CDRs/Examples 0 153050 4656928 4648897 2026-08-10T07:12:12Z ShakespeareFan00 46022 4656928 wikitext text/x-wiki ==Examples== To fix the concepts introduced in the previous section, and to better understand them, let’s see a few examples of linear models.<br> Amongst them, just three will be further developed in the remainder of the book, because they represent the three really useful structure models of CDRs.<br> They are: :*[[Clock and Data Recovery/Structures and types of CDRs/Examples#Addition of the complementary delay ("phase aligner")|The phase aligner (based on a 1st order loop)]] :*[[Clock and Data Recovery/Structures and types of CDRs/Examples#Oscillator controlled in frequency ("regenerator CDR")|The regenerator CDR (based on a 2nd order type 1 loop)]] :*[[Clock and Data Recovery/Structures and types of CDRs/Examples#2nd order type 2|The monolithic CDR (based on a 2nd order type 2 loop)]] The other examples are useful just as theory exercises and not so much as models of how practical CDRs should be made.<br> ''Notes:'' #''A CDR shall be called "a slave CDR" if its recovered clock is also used to output the recovered data.'' #''A slave CDR may simply deliver the recovered data to a buffer memory (end point CDR) or may extend the clock domain -mastered by the remote transmit clock- by sending forward the recovered data using the recovered clock (regenerator CDR).'' #''In some cases the characteristic of certain individual blocks in the block diagram (like the gain of the phase comparator, or the oscillator gain, or other characteristics) are not explicitly considered. More abstract quantities, like the natural frequency'' <math>\omega</math><sub>n</sub>'', or the damping ratio'' <math>\zeta</math>'', are used instead for the formulas and for the time or frequency diagrams. This is done for two reasons:'' ::*''the characteristics of the blocks that operate at the (high) frequency of the data stream (phase comparator and local oscillator ) are frequently imposed by technology choices and are not for the designers to play with;'' ::*''the general behavior of the CDR is more generally represented and more easily understood.'' ==1st order, type 0== and 0th order, type 0 as a special case. ''(For definitions of order and type, see:[[Clock and Data Recovery/Structures and types of CDRs#Order and type of a CDR|'' Order and type of a CDR '']])'' <small>This list could have started with the simplest example possible, where the output of the phase comparator drives directly the (<u>phase</u> of the) local oscillator, without any low pass filter in between.</small><br /> <small>That would have been a loop of 0th order (with just constants in its closed-loop transfer function and no dependence on the complex variable s) and of type 0 (because there are -of course as it is of 0th order- no poles in the origin, i.e. no factors 1/s in its open-loop transfer function).</small><br /> <small>As there is always some sort of filtering of the output of the [[Clock and Data Recovery/Structures and types of CDRs/The CDR phase comparator#Linear range|phase comparator]], the 0th order type 0 loop can be seen as a limit case of the 1st order, type 0 loop described here below. The model of the 0th order type 0 loop can be useful when a high loop gain makes the ''(closed loop cut-off)'' frequency ''(of the of 1st order, type 0 loop)'' so high to be negligible.</small> <small>In such case it is enough to put &tau; = 0 in following equations to obtain its model.</small> The only practical block diagram that corresponds to a PLL of 1st order and of type 0 shows (see figure below) a local oscillator controlled in phase by the low pass version of the phase comparator output. [[File:1st order type 0 slave CDR architecture.png|center|595px]]<div style="text-align: center;"><small>The simplest example of CDR architecture.<br />The PLL in this CDR is of unity feedback, of the first order and of type 0.</small></div> The relation of the output to the input (= the closed loop transfer function), is: <div style="text-align: center;"><math>\tfrac{Y(s)}{X(s)}=\tfrac{G}{\left ( 1 + G + s\tau \right ) }</math></div> where G, the "open loop gain", is G<sub>φ</sub> G<sub>f</sub> G<sub>VCO</sub>. [[Clock and Data Recovery/Miscellanea#Unit step responses from the (jitter) transfer functions|The unit step response can be obtained from the (jitter) transfer function]] multiplying the closed loop trasfer function by 1/s , and reverse transforming the result: <div style="text-align: center;"><math> \tfrac{G}{G+1}(1 - e^{-\omega_n t}) </math></div> <div class="center" style="text-align: center; font:italic small bolder; color: grey; width:auto; margin-left:auto; margin-right:auto;"> where &omega;<sub>n</sub> = (G + 1)/&tau;</div> Some points can be remarked: * that there remains a steady state error, which is minimised if G is >> 1. In fact a type 0 loop like this one needs a small <u>phase</u> error '''&Phi;'''<sub>x(j0)</sub>/G to track a phase difference '''&Phi;'''<sub>x(j0)</sub> between input and the phase of the free running oscillator. In other words, if the local oscillator is synchronous with the received signal (i.e. both are within a single clock domain), this circuit provides a strong reduction of the phase difference between the two, that is reduced from '''&Phi;'''<sub>x(j0)</sub> to '''&Phi;'''<sub>x(j0)</sub>/G. * that the cut-off frequency of the loop, &omega;<sub>n</sub>, is 1+G times higher than the cut-off frequency of the filter block &omega;<sub>f</sub> = 1/&tau;<sub>f</sub> [rad/sec]; as G is large to render negligible the steady state phase error, this loop reacts very fast to any input phase change. * that the loop tracks the jitter frequencies below &omega;<sub>n</sub> = <math>\tfrac{\left( 1 + G \right)}{\tau_f}</math>, and is unable to follow higher jitter frequencies ''(in all examples of PLLs there exists a natural frequency ω<sub>n</sub> that depends closely on the open loop gain, and the jitter frequencies below ω<sub>n</sub> are tracked, while those above ω<sub>n</sub> elude the tracking ability of the loop)''; in this case of a type 0 loop, &omega;<sub>n</sub> is pushed very high if the gain G is high, to the point that this loop cannot be used in CDRs. A circuit of this architecture may find application, but never inside a CDR. It can be used to implement a [[w:Delay-locked loop|DLL]], ''(although DLLs can also be made with a [[Clock and Data Recovery/Structures and types of CDRs/Examples#1st order, type 1|1st order, type 1 architecture]])''. As long as the residual phase error is kept small enough by a large loop gain, it can fit a DLL application. The unconditional stability and the fast response are useful, while the lack of input jitter filtering at high frequencies (mandatory for CDRs) is not important when the reference clock is sufficiently immune from high frequency noise. [[File:Model functions 1 - 0.pdf|thumb|center|700px|<div style="text-align: center;"><small>Diagrams of the three functions (jitter transfer, jitter tolerance, unit step response) for a PLL of the first order and of type zero.<br />The tolerance function is drawn for the cases where it depends on the phase comparator only, on the variable phase element only, on both.</small></div>]] ==1st order, type 1== <br /> This fundamental architecture is often used and also is, because it contains all the fundamental features of the PLLs used in practice, useful to fix concepts and to better understand the more sophisticated architectures of higher order. It may present itself under different guises (three examples are given in the figure below), but the mathematical model remains the same. It is maybe easier to derive the model equations from the first example in the following figure (the "slave"), although the third example (the "phase aligner") is the one most frequently found in actuality. [[File:1st order type 1 loop.png|thumb|center|700px|<div style="text-align: center;"><small>3 block diagrams of PLLs of 1st order and type 1.<br /> The first is the simplest to understand and the derivation of the model equations is easiest from it.<br /> The third (the phase aligner) is of fundamental importance for the communication engineer.</small></div>]] ===''Oscillator controlled in frequency ("first order slave CDR")''=== {{Smaller block|This example (its architecture is shown on the top left in the Figure above) is important because it introduces this type of architecture and allows an easy derivation of the model equations. For slave CDR applications though, PLLs of the second order are preferred and this one can only be found in the simplest, undemanding, applications. The second architecture of PLL in the figure above is a slight variant of the first (the one treated in this Sub-Section), and is not important for CDR loops. It can be important instead as model of the [[w:Delay-locked loop|DLL]]. }} The relation of the output to the input (= the closed loop transfer function), is: <div style="text-align: center;"><math>\tfrac{Y(s)}{X(s)}=\tfrac{1}{\left ( 1 + s/G \right ) }</math></div> where G, the "open loop gain", is defined as G<sub>φ</sub> G<sub>f</sub> G<sub>VCO</sub>. [[Clock and Data Recovery/Miscellanea#Unit step responses from the (jitter) transfer functions|The unit step response can be obtained from the (jitter) transfer function]] multiplying the closed loop trasfer function by 1/s , and reverse transforming the result: <div style="text-align: center;"><math> (1 - e^{-\omega_n t}) </math></div> <div class="center" style="text-align: center; font:italic small bolder; color: grey; width:auto; margin-left:auto; margin-right:auto;"> where &omega;<sub>n</sub> = G and &tau; = 1/&omega;<sub>n</sub></div> The model is described in detail in a [[Clock and Data Recovery/Structures and types of CDRs/The CDR based on a first order PLL|page dedicated]] to the 1st order, type 1 architectures later on in this book, owing to the practical importance of its phase-aligner variant. To be able and contrast this architecture with the others in this page of examples, the magnitude of the jitter transfer function, the response to a unit (= 1 radian) step variation of the input signal phase and the magnitude of the jitter tolerance function ''( [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function|The jitter tolerance function]] )'' are shown in the figure below. The relevant equations are: :[[Wikipedia:Bode plot|Magnitude]] of the transfer function: <math>\left |\tfrac{Y(s)}{X(s)}\right | = \left |\tfrac{1}{(1 + j\omega/G)}\right | = \tfrac{1}{\sqrt{1+(\omega/G)^2}} </math> :Unit step response: <math> {\color{Black}1 - e^{-\omega_n t}} </math> :[[Wikipedia:Bode plot|Magnitude]] of the jitter tolerance: <math>\left |X(j\omega)\right |_{\left |\Epsilon(j\omega)\right | = \Phi_{leo} }</math> = <math>\Phi_{leo} \sqrt{\tfrac{( 1 + \omega^2/\omega_n^2)}{\left ( \omega^2/\omega_n^2\right )}}</math> , ''<small>( where &Phi;<sub>leo</sub> is the lateral eye opening expressed in radian)</small>'' . [[File:Model functions 1 - 1.pdf|thumb|center|700px|<div style="text-align: center;"><small>Diagrams of the three functions (jitter transfer, jitter tolerance, unit step response) for a PLL of the first order and of type one.<br />The tolerance function is drawn for the case that the tolerance border depends on the phase comparator only.</small></div>]] This architecture clearly shows: :* a medium (20 dB/decade) jitter filtering towards high frequencies; :* a medium jitter tolerance, with the 20 dB/decade asymptote towards zero frequency. It comes from the pole 1/s present in the forward path of the control loop. This is a minimum characteristic when the CDR must operate as a slave and track frequencies that can wander around their nominal value; :* only one degree of liberty for the designer (that is G in the figures above, i.e. the open loop d.c. gain). All these characteristics together make this architecture not preferred in actual designs of slave CDRs. For these, the second order, [[Clock and Data Recovery/Structures and types of CDRs/Examples#Oscillator controlled in frequency ("regenerator CDR") 2 - 1|type 1]] or [[Clock and Data Recovery/Structures and types of CDRs/Examples#Oscillator controlled in frequency ("regenerator CDR") 2 - 2|type 2]], architectures are chosen instead, depending on the requirements and on the technology available for the specific application. ===''Addition of the complementary delay ("phase aligner")''=== <div style="text-align: center;"><span style="color:blue;font-family:Cambria"> 1st order type 1 = the CDR with good acquisition characteristics.<br /> Adding the complementary delay it becomes: '''the phase aligner'''.<br /> This is the first architecture of three that must be remembered. </span></div> <small>Another example of unity feedback, 1st order and type 1.</small> <small>The local oscillator is fixed and an adder compensates the phase deviations of the incoming signal before its regeneration with the local clock.</small> <small>This example (its architecture is shown on the bottom left in the Figure above) has value in that it it is widely used in practice wherever this function is required in a network. </small> This example is of particular interest because: :- a clock independent from the PLL operation (i.e. <math>\Phi</math> in the Figure above) is used for the regeneration, while it is -''y''(s) instead that represents the output of the PLL system. :- as a consequence of the point above, the CDR incorporates an "elastic buffer" function, located in the processing of the input signal through the adder block and through the subsequent re-sampling by the local clock (<math>\Phi</math>). This example in fact describes the abstract model of the ''phase aligner''. The CDRs that match this model are found in network points where a signal (jittered and possibly regenerated by slave CDRs one or more times along a transmission path) is brought back in phase with the clock that was used to generate it<ref>A robust phase detector for 1.25 Gbit/s burst mode data recovery (from the INTEC team of Ghent University) IEICE Electronic Express, Vol. 1, No. 18, 562-567 http://www.jstage.jst.go.jp/article/elex/1/18/1_562/_article </ref> ''For sake of simplicity in the following calculations - and without loss of generality in the results- the local clock <math>\Phi</math> is used as reference for the phase of all the signals.'' ''Therefore its jitter is identically zero. Additionally it is assumed that the initial phase value <math>\Phi_{t=0} = 0</math>.'' :''The only function (the only one that is not a transfer function) which does not belong to the linear model is -obviously- the one that depends on non-linearities for its definition.'' :''[[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function|The jitter tolerance function]] depends in the case of the phase aligner on two hard non-linearities (phase comparator and phase adder), instead of on just one (the phase comparator) as in the case above.'' :''Jitter transfer and Unit Step Response are identical functions to those derived in the previous example, and not repeated here.'' :''The jitter transfer function in this case would describe a characteristic of the PLL as usual, but becomes meaningless for the whole CDR, because of the phase alignment resulting from the elastic buffer of this CDR.'' :'' The Unit step response, in this particular case, as already pointed out for the transfer function, only describes the PLL operation, while it is meaningless for the whole CDR.'' :''It can be seen as the waveform at the output of the phase adder ( ''<math> X - Y </math> signal in the Figure above'' ) resulting from a phase step of the input (<math> X(s)</math> in the Figure above ).'' :*''<u>Jitter tolerance function </u>'' ''( [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function|The jitter tolerance function]] )'' The phase jitter tolerance of this circuit is limited both by the range of linearity of the phase adder and by the range of linearity of the phase comparator. Let's see each one separately. Then, the tolerance function at any frequency will simply be the lower of the two, because the signal in either of the two circuit blocks does not influence the characteristic of the other block. ::*''Adder tolerance function'' [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function#The limited range of the (possible) elastic buffer|''( Tolerance of phase adders )'']] ::: The adder is normally made by a delay line, that adds a delay to the input signal (''<math> X(s)</math> in the Figure above '') equal to the signal present on the control input (''<math>- Y(s) </math> in the Figure above ''). ::::- Defining as D ''(measured in radian - if D is in seconds, then use D&omega;)'', the total phase delay that the delay line can add, and ::::- defining as zero the phase delay added when the control signal is set at the midpoint of its control range, ::: then the tolerance of the adder inserted in the CDR circuit of the above Figure is: <div style="text-align: center;">(-D/2 + π) < Magnitude of <math> Y(j \omega) </math> < (+D/2 - π)</div> :::using the relation (see the relevant subsection on the jitter transfer function of this example) <div style="text-align: center;"><math>Y(s)=\tfrac{X(s)}{s/G + 1}</math></div> :::then <div style="text-align: center;"> Magnitude of <math> X(j \omega) </math> {{=}} (D/2 - π)*(s/G + 1)</div> ::*''Comparator tolerance function'' [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function#The limited range of the phase comparator|''( Tolerance of phase comparators )'']] ::: The tolerance limit is reached when the phase difference between <math>\Phi</math> and ''X''-''Y'' ''(again on the right part of the Figure above)'' exceeds an error <math>\pm \theta_0</math>: <div style="text-align: center;">Magnitude of <math>\bigl( X(j \omega) </math> − <math> Y(j \omega) \bigr)</math> {{=}} θ<sub>0</sub></div> :::using the relation (see the relevant subsection on the jitter transfer function of this example) <div style="text-align: center;"><math>Y(s)=\tfrac{X(s)}{s/G + 1}</math></div> :::then {{center|1=Magnitude of <math> X(j \omega) </math> {{=}} <math>\theta_0\tfrac{\left |s/G + 1\right |}{\left|s/G\right|}</math>}} The relevant diagram of the jitter tolerance function is shown in the Figure here below. [[File:Jitter tolerance phase aligners.png|thumb|center|800px|<div style="text-align: center;"><small>Three magnitude functions of jitter tolerance obtained by simulation for the three main loop models.<br />For each the lateral eye opening is the same, as is the same the length of the elastic buffer (=phase adder).<br /> The two important 2nd order PLLs are plotted as well, in the under-damped but significant condition of &zeta; = 0.5.<br /> The natural frequency is 500 KHz (&omega;<sub>n</sub>= 3.14 e6 rad/sec) and is the same for each of the three loops (yellow marker).</small></div>]] The figure above contrasts the case of the 1 - 1 loop (in blue) with the case of the other two important loops (2-1 and 2-2) only to better understand the former. The other two loops in fact are not used for phase-aligners, as explained in the following subsections. As stated above, the unit step response and the jitter transfer function of this CDR do not differ from those of other 1st order, type 1 CDRs. The jitter tolerance of this CDR shows a new example. It is limited at low frequencies by the jitter tolerance of the adder and, at medium and high frequencies, by the jitter tolerance of the phase comparator. In fact the actual design choices always assure that <div style="text-align: center;">(-D/2 + <math>\pi</math>) >> <math>\theta_0</math>.</div> In conclusion, this example shows a CDR that: :* is not able to tolerate a wander of the input signal frequency. There is no increasing jitter tolerance with a 6 dB/oct asymptote towards zero frequency, but just the flat tolerance limited by the adder range. This CDR can only phase align a signal (jittering but) synchronous with its local clock; :* can lock in quickly into a signal burst after a period of loss of signal; :* offers the inherent elastic buffer feature typical of phase aligners. ==2nd order, type 1== {{Anchor|slave CDR}} [[File:2nd order type 1 loop, 3 examples.pdf|thumb|center|600px|alt=Three block diagrams of PLLs of 2nd order and type 1. Each block is identified and its transfer function is written beside it. All three are described by the same mathematical model as long as their blocks are considered linear.|<div style="text-align: center;"><small>3 block diagrams of PLLs of 2nd order and type 1, described by the same mathematical model as long as their blocks are considered linear.<br /> The first is the simplest to understand and the derivation of the model equations is easiest from it. It models a typical regenerator and is of fundamental importance for the communication engineer.</small></div>]] ===''Oscillator controlled in frequency ("regenerator CDR")'' ''2 - 1''=== <small>''(Another example of a tracking system based on a second order, type 1 loop can be found in Wikibooks, at: [[Control Systems/Examples/Second Order Systems]]).''</small> Some of the characteristics of the first architecture in the figure above make it ideal for the regenerator application. <div style="text-align: center;"><span style="color:blue;font-family:Cambria"> 2nd order type 1, slave: the '''regenerator''' CDR.<br /> = the CDR with good de-jittering characteristics.<br /> This is the second architecture of three that must be remembered.<br /> It is presented as the first example in the figure here above. </span></div> ::''The oscillator is controlled in frequency. It converts an input signal into a frequency, that is into the integral of a phase: its transfer function in the s domain is in fact V<sub>0</sub>/s.'' ::''Between the output of the phase comparator and the input of the oscillator, a single pole low pass circuit filters the higher frequencies of the error signal. (Combined with the oscillator, this low pass in the forward path makes the loop a second order, unity feedback, system).'' ::''The presence of an independent block to perform the low pass with a precise cut-off frequency (represented by <math>\tau</math> in the figure above) gives the designer one more degree of freedom to find the best performance compromise.'' The figures that follow, as in the previous examples, plot the unit step response, the jitter transfer function and the jitter tolerance function of this architecture. <small>In order to appreciate some of the peculiarities of this new example [[Clock and Data Recovery/Structures and types of CDRs/The (slave) CDR based on a second order PLL|''(that is further developed in in a dedicated page further down in this book)'']], also the corresponding curves for the fist order ( 1 - 1 ) slave have been plotted as well.</small> [[Image:USResponse o2 ty1 slave.png|center|520px]] [[Image:Jtolerance o2 ty1 slave.png|center|520px]] [[Image:Jtransfer o2 ty1 slave.png|center|520px]] :*''<u>Unit step response</u>'' The increased complexity of this architecture versus the first order one is responsible for the delayed reaction to an input phase step. <small>In fact this architecture is inferior to the first order alternative (no matter how smartly the design parameters are adjusted) when the lock-in phase of the system is of prime importance.</small> :*''<u>Jitter transfer function</u>'' The ability to filter out the high frequency components of the incoming jitter is the strong point of this architecture. <small>When a series of regenerations takes place along a chain of telecom links, the jitter accumulation must be avoided, and the low pass action must have a (relatively) abrupt cut off. </small> This second order type 1 model (see the relevant figure) has a jitter transfer with a 40&nbsp;dB/decade roll-off, while the first order type 1 model only offers a 20&nbsp;dB/decade performance. :*''<u>Jitter tolerance function</u>'' The advantages offered for the jitter filtering are partially offset by some weakness in presence of strong jitter components concentrated around the corner frequency of the PLL (fortunately not very likely in practice). While the first order loop presents a tolerance larger than 1 Unit Interval at all frequencies, this second order loop always has a frequency range where its tolerance is lower than 1 UI. This dip of the tolerance is more evident for lower values of the [[Wikipedia:Damping ratio|damping ratio]] ζ, and the above figure uses the two curves to give evidence of that. ''The importance of this architecture is such that [[Clock and Data Recovery/Structures and types of CDRs/The (slave) CDR based on a second order PLL|an entire chapter is devoted to it further down in the book]], where all time and frequency functions of the previous diagrams are described in detail and further developed.'' ''At this stage it is sufficient to have understood in which ways this architecture is different from the other architectures presented in this series of examples.'' ===''A modified representation of the same architecture''=== The second example in the figure above is essentially the same architecture as the first. It helps introduce the concept that the equations and the behavior of a VCO can be separated into an integrator and a phase controlled element, that is typical of phase aligners. Linear modeling is the same as the case above, while tolerance -obviously- depends on the linear range of the new blocks. It is not an important example for practical applications. ===''Addition of the complementary delay ("2nd order type 1 phase aligner")''=== This architecture, the third in the figure of the 2 - 1 loops above, is another interesting example for didactic purposes, but has no value for a real CDR application. The fundamental blocks are very similar to those of the previous example. *The last integrator block (an up/down counter in a digital implementation) corresponds to the oscillator controlled in frequency. It converts an input signal into a frequency, that is into the integral of a phase: its transfer function in the s domain is in fact G<sub>f</sub>/s. (As there is no other 1/s factor in the open loop transfer function, this is a type 1 system). *Between the output of the phase comparator and the input of the oscillator, a single pole low pass filters the higher frequencies of the error signal. (Combined with the oscillator, this low pass in the forward path makes the loop a second order, unity feedback, system). The functions that belong to the linear model (like the USR and the jitter transfer function) are exactly the same as in previous example of the slave 2 - 1 just above. :*<small>''<u>Jitter transfer function</u>''</small> <small>For instance, the jitter transfer function can be derived with the same steps used for the [[Clock and Data Recovery/Structures and types of CDRs/Examples#Addition of the complementary delay ("phase aligner")|first order phase aligner]]:</small> <div style="text-align: center;"> Y(s) = (<math>\Phi</math> - X(s) + Y(s)) = (G / (s * (1 + s(<math>\tau</math>)) * (- X(s) + Y(s))</div> <div style="text-align: center;"> -Y(s) s (1 + s<math>\tau</math>) = - G X(s) + G Y(s) </div> <div style="text-align: center;"> G X(s) = Y(s) (G + s + s<sup>2</sup><math>\tau</math>) </div> <div style="text-align: center;"> <math>\tfrac{Y(s)}{X(s)} =\tfrac{1}{\left ( 1 + s/G + s^2\tau /G\right)}</math> </div> <div style="text-align: center;"><math>\tfrac{Y(s)}{X(s)}=\tfrac{1}{\left ( \tfrac{s^2}{\omega_n^2}+\tfrac{2s\zeta}{\omega_n}+1\right ) }</math></div> <div style="text-align: center;"><math>\omega</math><sub>n</sub> = <math>\sqrt{\tfrac{G}{\tau}}</math> </div> <div style="text-align: center;"><math>\zeta</math> =1 / 2<math> \sqrt{G\tau}</math> </div> <small>and it coincides with the jitter transfer function of the 2 - 1 slave of the previous example.</small> <small>The ability to filter out the high frequency components of the incoming jitter is the strong point of the 2 - 1 architectures.</small> <small>This type of performance is valuable as long as the CDR is a regenerator and sends the regenerated clock with the data stream to another CDR downstream.</small> <small>In this example of a phase aligner however, this performance is not useful at all, because the phase aligner uses the PLL output only for its internal operation, and does not use it for its output data stream.</small> :*<small>''<u>Unit Step Response</u>''</small> <small>The USR and its time diagram figure are identical to the ones of the previous 2 - 1 example.</small> :*''<u>Jitter tolerance function</u>'' The jitter tolerance function of this architecture is different because it does not depend on the non-linearity of the phase comparator only, but also on the non linearity of the phase adder. <small>Whenever non-linearities are considered for architectures of the same order and type, a linear model ''-that is in fact the same for all architectures of the same order and type-'' cannot be used. The functions that describe the operation of these architectures (like jitter tolerance, ..) are different if different non-linearities are considered.</small> Following the approach of the first order phase aligner, the tolerance due to the adder must be combined with the tolerance due to the phase comparator. The circuit tolerance, at any frequency, is the lower of the two. ::*''Tolerance of the phase adder'' [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function#Tolerance of phase adders|''( Tolerance of phase adders )'']] ::: The adder is normally made by a delay line, that adds a delay to the input signal (''X(s) in the figure above '') equal to the signal present on the control input (''- Y(s) in the figure above ''). ::: ::::- Defining as D ''(measured in radian - if D is in seconds, then use D &omega;)'' the total phase delay that the delay line can add, and ::::- defining as zero the phase delay added when the control signal is set at the midpoint of its control range, ::: then the tolerance of the adder inserted in the PLL circuit is: <div style="text-align: center;">(-D/2 + &pi;) < |Y(jω)| < (+D/2 - &pi;).</div> :::using the relation found for the jitter transfer function of this example) <div style="text-align: center;"><math>Y(s)=\tfrac{X(s)}{1 + 2\zeta s/\omega_n + s^2/\omega_n^2}</math></div> :::then <div style="text-align: center;">Tolerance(j&omega;) = |X(jω)| = <math>(\tfrac{D}{2}-\pi)\left |1 + 2\zeta \omega/\omega_n -\omega^2/\omega_n^2\right |</math></div> [[File:Jitter tolerance phase aligners.png|thumb|center|660 px|alt=Three magnitude functions of jitter tolerance obtained by simulation for the three main loop models. For each the lateral eye opening is the same, as is the same the length of the elastic buffer (=phase adder).|<div style="text-align: center;"><small>Three magnitude functions of jitter tolerance obtained by simulation for the three main CDR model architectures.<br />For each the lateral eye opening is the same, as is the same the length of the elastic buffer (=phase adder).<br /> The two important 2nd order PLLs are plotted as well, in the under-damped but significant condition of &zeta; = 0.5.<br /> The natural frequency is 500 KHz (&omega;<sub>n</sub>= 3.14 e6 rad/sec) and is the same for each of the three loops (yellow marker).</small></div>]] ::*''Tolerance of the phase comparator'' [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function#Tolerance of phase adders|''( Tolerance of phase comparators )'']] ::: The tolerance limit is reached when the phase difference between <math>\Phi</math> and ''x''-''y'' ''(again on the Figure above)'' exceeds an error <math>\pm \theta_0</math>: <div style="text-align: center;"> |X(jω) − Y(jω)| =<math>\theta_0</math></div> :::using the relation (see the relevant subsection on the jitter transfer function of this example): <div style="text-align: center;"><math>Y(s)=\tfrac{X(s)}{1 + 2\zeta s/\omega_n + s^2/\omega_n^2}</math></div> :::then: {{center|1= |X(jω)| = |<math>\theta_0|\tfrac{\left |1 + 2\zeta j\omega/\omega_n -\omega^2/\omega_n^2\right |}{\left|2\zeta j\omega/\omega_n -\omega^2/\omega_n^2\right|}</math>}}<br> It is easy to see that the tolerance is equal (for <math>\zeta</math> > 0.707) to the tolerance of the first order phase aligner, or inferior for lower values of <math>\zeta</math>. The inherent weakness of this type of architecture (undershoot below 1 U.I. of the tolerance at frequencies around <math>\omega</math><sub>n</sub> ) remains, and it can not be offset by the corresponding jitter transfer advantages that are meaningless for a phase aligner system. As a result this architecture is inferior to the first order alternative (no matter how smartly the design parameters are adjusted) during the lock-in phase for a phase aligner application. (On the other hand, it has the disadvantage of limited tolerance at low jitter frequencies, when compared to the classic 2nd order circuit for slave CDR applications, as it will be shown in the following paragraphs.) In conclusion, the importance of this architecture is limited to its use as example for didactic purposes. Its first order alternative, simpler and more efficient, is preferred in practice for phase aligners. == 2nd order type 2 == If a 2nd order CDR PLL [[Clock and Data Recovery/Structures and types of CDRs#Why only these three?|incorporates a single zero low-pass filter]] (instead of a single pole low-pass as in the examples above of the 2 – 1 PLL), then the pole at frequency zero ''(that is implicit in the filter)'' makes the PLL change from type 1 to type 2. [[File:2nd order type 2 loop, 3 examples.pdf|thumb|center|600px|alt=Three block diagrams of PLLs of 2nd order and type 2. Each block is identified and its transfer function is written beside it. All three are described by the same mathematical model as long as their blocks are considered linear.|<div style="text-align: center;"><small>3 block diagrams of PLLs of 2nd order and type 2, with the same mathematical model as long as their operation is linear.<br /> The first is the simplest and the derivation of the model equations is easiest from it. It models a typical PLL for a slave CDR and is of fundamental importance for the communication engineer.</small></div>]]. The first example, in the figure of 2 - 2 PLLs just above, is the important one. The other two are good exercises, but are not important for practical applications. The model is described in detail in a [[Clock and Data Recovery/Structures and types of CDRs/The (slave) CDR based on a second order PLL/2nd order type 2|page dedicated]] to the 2nd order, type 2 architectures later on in this book, owing to the practical importance of this first case (see figure above). ===''Oscillator controlled in frequency ("monolithic slave CDR")'' <small>''2 - 2''</small>=== The first of the three examples in the figure above is the third common PLL architecture for a (slave) CDR. Important non-linearities are inevitably associated with a monolythic implementation, and the characteristic of robustness against them the have made this architecture the preferred choice for monolythic slave CDRs. <div style="text-align: center;"><span style="color:blue;font-family:Cambria"> 2nd order type 2, slave: the '''monolithic''' CDR.<br /> = the CDR with good rejection of generated noise.<br /> This is the third architecture of three that must be remembered.<br /> It is presented as the first example in the figure here above. </span></div> In the linear model it can be remarked that the loop filter provides a very high gain at very low frequencies. This corrects any steady state error (squeezes the steady state error to zero) that may otherwise result from a difference between the frequency of the input signal and the free-running frequency of the local oscillator. This also strongly attenuates the low frequency noise generated inside the PLL itself. The loop filter does not attenuate the high frequencies, though. This makes this 2 - 2 loop less efficient (than the 2 - 1 loop) in rejecting the high frequency input noise (i.e. the part of the input jitter spectrum that does not carry any useful information about the sending clock and its phase). On the other hand, this makes this loop inherently faster in acquisition than the 2 - 1 loop. This loop always overshoots in the lock-in phase, as the unit step response shows (see figure below). ====The jitter transfer function==== <small>The transfer function can be derived, like for all other CDR PLLs that are unity feedback loops, using the two equations:</small> :<small>E(s) = X(s) - Y(s)</small> :<small>Y(s) = E(s) (gain of the loop forward chain)</small> <small>and eliminating E(s) by substitution. In this case the result is:</small> <div style="text-align: center;"><math>\tfrac{Y(s)}{X(s)} = \tfrac{(s\tau_z + 1)}{(s^2\tfrac{\tau_z}{G}+s\tau_z + 1)} </math> </div> <small>and the relation between the circuit parameters and the loop parameters [[Clock and Data Recovery/Structures and types of CDRs/The (slave) CDR based on a second order PLL/2nd order type 2#ωn2 and ζ as functions of G and τz|ω<sub>n2</sub> and ζ with respect to G and τ<sub>z</sub>]] can be obtained from:</small> <div style="text-align: center;"><math>\tfrac{Y(s)}{X(s)} = \tfrac{( 1 + \tfrac{s}{\omega_z})}{(1+\tfrac{2 \zeta s}{\omega_{n2}} + \tfrac{s^2}{\omega_{n2}^2 })} = \tfrac{(s\tau_z +1)}{(\tfrac{s^{2}\tau_z}{G} + s\tau_z + 1)} </math></div> <small>Its magnitude is:</small> <div style="text-align: center;"><math>|\tfrac{Y(j\omega)}{X(j\omega)}|</math> <small>= ''20 log<sub>10</sub>''</small> <math>\tfrac{( \omega^2\tau_z^2 + 1)^\tfrac{1}{2} } {(\omega^2\tau_z^2 + (1-(\tfrac{\omega^2\tau_z}{G})^2 )^\tfrac{1}{2}} </math></div> [[File:Jitter transfer functions 1 1 , 2 1 , 2 2.png|thumb|center|550px|alt=Jitter transfer functions of the PLLs of order 1 type 1, order 2 type 1 and order 2 type 2, as well as the transfer functions of the two filter blocks for the two order 2 loops.|<div style="text-align: center;"><small>Magnitudes of the jitter transfer functions of the loops of order 1 type 1, order 2 type 1 and order 2 type 2.<br /> Filter cut-off frequencies, damping ratios and natural undamped frequencies are chosen for a meaningful comparison.</small></div>]] <div class="center" style=" font-size: small; text-align: right; color: grey; width:auto; margin-left:auto; margin-right:auto;"> <small> Note: 1/{{math|<var>&omega;</var>}}<sub>z</sub> = {{math|<var>&tau;</var>}}<sub>z</sub> ; {{math|<var>&omega;</var>}}<sub>n2</sub> = undamped natural frequency; {{math|<var>&zeta;</var>}} = [[Wikipedia:Damping ratio|damping ratio]]</small></div> ====The unit step response==== [[Clock and Data Recovery/Miscellanea#Unit step responses from the (jitter) transfer functions|<small>The unit step response can be obtained from the (jitter) transfer function</small>]] <small>multiplying the closed loop trasfer function by 1/s , and reverse transforming the result:</small> <div style="text-align: center;"><math> {1 +\tfrac{ e^{-\zeta\omega_{n2}t}\left ( \zeta\sin{\sqrt{1-\zeta^2}\omega_{n2}t}-\sqrt{1-\zeta^2}\cos{\sqrt{1-\zeta^2}\omega_{n2}t} \right )}{\sqrt{1-\zeta^2}}} </math></div> <div class="center" style="text-align: center; font:italic small bolder; color: grey; width:auto; margin-left:auto; margin-right:auto;"> where &omega;<sub>n2</sub><sup>2</sup> = G/&tau;<sub>z</sub> and &zeta; = G &tau;<sub>z</sub> / 4 </div> [[File:USR 2.2.png|thumb|center|760px|<div style="text-align: center;"><small>The amplitude of the output phase [rad] as a result of a (unit) step variation of the input phase, for different values of the damping ratio. Natural frequency = 1&nbsp;GHz.</small><br /> <small>The output phase catches up quickly and overtakes the input (even if ζ ≥ 1), and then settles in good tracking with residual damped oscillations.</small></div>]] ====The jitter tolerance==== {{Smaller bock|The normalized jitter tolerance can be obtained, <div class="center" style="text-align: left; color: grey; width:auto; margin-left:auto; margin-right:auto;"> ''under the hypothesis that the tolerance is limited by (and only by) the lateral eye opening, which is reasonable in most practical cases (as well as in this first example of a 2 - 2 slave CDR), see also [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function|the relevant page]]'' </div> as |X(jω)|<sub>&Epsilon;(jω) = 1</sub> that is:}} <div style="text-align: center;"><math> |{X(j\omega)}|_{{\Epsilon(j\omega)}=1} = 1 / 20log_{10} \tfrac{(\tfrac{\omega^4}{\omega_{n2}^4}+\omega^2(\tfrac{2\zeta}{\omega_{n2}}-\tfrac{1}{\omega_z})^2)^\tfrac{1}{2}}{(\tfrac{\omega^2}{\omega_{z}^2}+(1-\tfrac{\omega^2}{\omega_{n2}^2})^2)^{\tfrac{1}{2} } }</math></div> [[File:Norm tolerance functions 1 1 , 2 1 , 2 2.png|thumb|center|700px|alt=Normalized jitter tolerance functions of the PLLs of order 1 type 1, order 2 type 1 and order 2 type 2, as well as the transfer functions of the two filter blocks for the two order 2 loops.|<div style="text-align: center;"><small>Normalized jitter tolerance functions of the loops of order 1 type 1, order 2 type 1 and order 2 type 2.<br />Filter cut-off frequencies, damping ratios and natural undamped frequencies are chosen for a meaningful comparison.</small></div>]] <small>The asintote towards low frequencies (in the log-log plot) has a slope of 40&nbsp;dB/ decade (as opposite to the slope of 20&nbsp;dB/ decade of the type 1 systems).</small> <small>This is typical of all type 2 systems, that are more tolerant ( 20&nbsp;dB/ decade more) of low frequency jitter than type 1 systems.</small> ==== In the 2 - 2 loop, bandwidth and damping ratio increase when the gain increases ==== <div style="text-align: center;">&omega;<sub>n22</sub><sup>2</sup> = G / &tau;<sub>z</sub><br /> &zeta;<sub>22</sub><sup>2</sup> = G &tau;<sub>z</sub> / 4</div> This is important for a monolithic implementation with a bang-bang phase detector (and sometimes also a bang-bang VCO) because the gain of those non-linear elements is very high when their input signal deviates very little from its center point. Instability may occur at high gain conditions if the damping ratio decreased with increasing gain (like in a 2-1 loop), but luckily a 2-2 loop becomes more damped at high loop gain. Its bandwidth widens at the same time, and this is associated with more rejection of internally generated noise but also with less rejection of incoming line noise. ===''A modified representation of the same architecture''=== The second example in the figure above is essentially the same architecture as the first. It helps introduce the concept that the equations and the behavior of a VCO can be separated into an integrator and a phase controlled element, that is typical of phase aligners. Linear modeling is the same as the case above, while tolerance -obviously- depends on the linear range of the new blocks. It is not an important example for practical applications. === The example of the 2 -2 phase aligner === The figure presented earlier in this page for the case of the 2 -1 phase aligner shows also the magnitude of the jitter tolerance for this example ''(Jitter transfer and unit step response remain in this case the same as for the 2 - 2 slave, because they do not depend on circuit non-linearities)''. [[File:Jitter tolerance phase aligners.png|thumb|center|660 px|alt=Three magnitude functions of jitter tolerance obtained by simulation for the three main loop models. For each the lateral eye opening is the same, as is the same the length of the elastic buffer (=phase adder).|<div style="text-align: center;"><small>Three magnitude functions of jitter tolerance obtained by simulation for the three main CDR model architectures.<br />For each the lateral eye opening is the same, as is the same the length of the elastic buffer (=phase adder).<br /> The two important 2nd order PLLs are plotted as well, in the under-damped but significant condition of &zeta; = 0.5.<br /> The natural frequency is 500 KHz (&omega;<sub>n</sub>= 3.14 e6 rad/sec) and is the same for each of the three loops (yellow marker).</small></div>]] In this figure, the green curve represents the [[Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function#The tolerance function, a simulation of the the tolerance curve|jitter tolerance function]] for the 2 - 2 phase aligner. Note that the jitter tolerance function is the same as the one derived for the 2 - 2 slave until the half depth of the delay line becomes a horizontal limit at low jitter frequencies. This 2 -2 phase aligner has no practical use, for reasons similar to the ones that make also the 2 -1 phase aligner a non preferred option. The 1 - 1 phase aligner is the preferred choice. The 2 -2 phase aligner has a slightly better tolerance in a small region of frequencies, but this is a negligible advantage in practice and is offset by its risky behavior close to the natural undamped frequency. The loop ability to reduce strongly the low frequency noise of the local oscillator and its ability to reduce to zero the steady state frequency error make no sense for a phase aligner. == The three structures that cover all the actual CDRs == Many problems can be solved better, or quicker –if not avoided altogether-, if the engineer is familiar with, and uses three simple mathematical models, because the fundamental behavior of every CDR can be referred to one of them: #The phase aligner (modeled by a 1 - 1 structure) #The regenerator (modeled by a 2 - 1 structure) #The robust, tolerant monolithic implementation with bang-bang detector and ring VCO (modeled by a 2 - 2 structure). These three structures (1-1, 2-1, 2-2) out of two architectures (1st order and 2nd order) are the ones used in practice. <div style="text-align: center;">'''The phase comparator (and/or the VCO) may or may not be linear'''</div> {{smaller block| The <u>linear</u> models of CDRs are identified by order, type and one or two characteristic parameters. Whith non-linear PDs, the structure is still identified by the order and type that apply in the really linear case. The characteristic parameter(s) of the linear case are reduced to coarse but still useful indications of the loop behaviour. :The 1st order loop models can be characterized by one parameter only, e.g. ω<sub>n1</sub>, where ω<sub>n1</sub> = G = 1/τ. :The 2nd order loops models can be characterized by two parameters only, e.g. ω<sub>n2</sub> and ζ<sub>2</sub>. }} {| class="wikitable" width=65% style="color:red; border=1; margin: 1em auto 1em auto;" |+ style="color:black;" | Fundamental parameters of the three CDR linear models (unity feedback structures) |- ! scope="col" | &nbsp;Loop order and type&nbsp; ! scope="col" | &nbsp;Parameter&nbsp; ! scope="col" colspan="3" | &nbsp;Important relations&nbsp; |- | align="center" | '''1 - 1''' | align="center" | &omega;<sub>n1</sub> | align="center" colspan="3" | &omega;<sub>n1</sub> = G = 1/&tau; |- | align="center" | '''2 - 1''' | align="center" | &omega;<sub>n21</sub> , &zeta;<sub>21</sub> | align="center" | &omega;<sub>n21</sub> = 2 &zeta;<sub>21</sub> &omega;<sub>n1</sub><br /> ω<sub>n21</sub> = ω<sub>f</sub> /2ζ<sub>21</sub> | align="center" | G = &omega;<sub>n21</sub> / 2&zeta;<sub>21</sub><br />&tau;<sub>f</sub> = 1 / 2&zeta;<sub>21</sub>&omega;<sub>n21</sub> | align="center" | &zeta;<sub>21</sub><sup>2</sup> =1 / ( 4 G &tau;<sub>f</sub>)<br />&omega;<sub>n21</sub><sup>2</sup> = G / &tau;<sub>f</sub> |- |align="center" | '''2 - 2''' |align="center" | &omega;<sub>n22</sub> , &zeta;<sub>22</sub> |align="center" | &omega;<sub>n22</sub> = &omega;<sub>n1</sub> / 2 &zeta;<sub>22</sub> <br /> &omega;<sub>n22</sub> = 2 &zeta;<sub>22</sub> &omega;<sub>z</sub> |align="center" | G = 2 &zeta;<sub>22</sub> &omega;<sub>n22</sub><br />&tau;<sub>z</sub> = 2&zeta;<sub>22</sub> / &omega;<sub>n22</sub> |align="center" | &zeta;<sub>22</sub><sup>2</sup> = G &tau;<sub>z</sub> / 4<br />&omega;<sub>n22</sub><sup>2</sup> = G / &tau;<sub>z</sub> |} {{clear}} *For the 2nd order loops, ω<sub>n1</sub> can be expressed as a function of the other two parameters. For the 2-1 and 2-2 loops : <div style="text-align: center;"> &omega;<sub>n1</sub> = &omega;<sub>n21</sub> / 2 &zeta;<sub>21</sub> ; &omega;<sub>n1</sub> = 2 &zeta;<sub>22</sub> &omega;<sub>n22</sub></div> <div style="text-align: center;">''e.g. if ω<sub>n2</sub> = ω<sub>n1</sub> , then, ζ = ½''.</div> *<u>If</u> the filtering caracteristics ( <u>τ<sub>f</sub> or τ<sub>z</sub></u> ) <u>are kept fixed</u>, and just the open <u>loop gain is varied</u>, then the behaviour of <u>the two 2</u><sup>nd</sup> <u>order loops</u> is different, <u>almost "opposite"</u>: ::2-1 ω<sub>n21</sub><sup>2</sup> = G / τ<sub>f</sub> and '''ζ<sub>21</sub><sup>2</sup> =1 / ( 4 G τ<sub>f</sub>)''' :::the 2-1 gets less damped with more gain, i.e. more damped with less gain. ::2-2 ω<sub>n22</sub><sup>2</sup> = G / τ<sub>z</sub> and '''ζ<sub>22</sub><sup>2</sup> = G τ<sub>z</sub> / 4''' :::the 2-2 gets more damped with more gain, i.e.less damped with less gain ! :This opposite behavior of ζ<sub>21</sub> and of ζ<sub>22</sub> with respect to the loop gain G explains why :::2-1 is not used with bang-bang phase detectors nor VCOs, while :::2-2 (not preferred with phase comparator and VCO of linear type) becomes the preferred choice with bang-bang phase detectors (and VCOs). *The interesting characteristics of the 2-1 (rejection of the signal jitter, that make it preferred for regenerator applications) depends on a good control of the damping ratio, ζ<sub>21</sub> . ζ<sub>21</sub>, in turn, depends on the loop gain G and decreases when G increases (risk of jitter peaking!): &zeta;<sub>21</sub><sup>2</sup> =1 / ( 4 G &tau;<sub>f</sub>). :The gain of the non linear blocks (bang bang detector and bang-bang VCO) is not constant, but varies with the signal amplitude. In particular, the bang-bang gain is maximum when the signal at the input of the blocks is very close to its center value. The gain is minimum instead when the signal deviates most from its center value. '''As a result, the three fundamental structures find their best fit as follows:''' # ''' 1.1''' ::'''linear or non-linear blocks; Preferred when the acquisition time shall be minimum (burst-mode transmission), and even more so when E<sub>s</sub> is zero by definition (= for phase aligners). Furthermore, it is a good choice in many cases when there are no specific requirements that suggest a 2nd order loop.''' # '''2''' ##'''2.1 (filter with flat gain at low freq.): preferred for regenerator applications when linear blocks are used.''' ##'''2.2 (filter with very high gain at low freq.): preferred for applications where non-linear (= widely variable gain) blocks are used and in particular for high performance monolithic implementations.''' ==External References== <references/> <div class="noprint">{{Clock and Data Recovery/Pagenav2|Clock and Data Recovery/Structures and types of CDRs/The CDR' VCO|Clock and Data Recovery/Structures and types of CDRs/The jitter tolerance function}}</div> sqsmr4w0hseom0w1ltzub0iq18hyag4 General Chemistry/Properties and Theories of Acids and Bases 0 154609 4656909 4652481 2026-08-10T06:49:49Z ShakespeareFan00 46022 4656909 wikitext text/x-wiki {{msg:GeneralChemTOC|prev=Properties of Solutions|next=Titration and pH}} ==Acid-Base Reaction Theories== Acids and bases are everywhere. Some foods contain acid, like the citric acid in lemons and the lactic acid in dairy. Cleaning products like bleach and ammonia are bases. Chemicals that are acidic or basic are an important part of chemistry. {{Helpful hint|hint=You may need to refresh your memory on [[General Chemistry/Naming Substances#Naming acids|naming acids]].}} Several different theories explain what composes an '''acid''' and a '''base'''. The first scientific definition of an acid was proposed by the French chemist Antoine Lavoisier in the eighteenth century. He proposed that acids contained oxygen, although he did not know the dual composition of acids such as hydrochloric acid (HCl). Over the years, much more accurate definitions of acids and bases have been created. === Arrhenius Theory === The Swedish chemist Svante Arrhenius published his theory of acids and bases in 1887. It can be simply explained by these two points: {{TextBox|1= ; Arrhenius Acids and Bases # An acid is a substance which dissociates in solvent to produce one or more hydrogen ions (H<sup>+</sup>). # A base is a substance which dissociates in solvent to produce one or more hydroxide ions (OH<sup>-</sup>).}} [[Image:Arrhenius2.jpg|thumb|Svante Arrhenius]] Based on this definition, you can see that Arrhenius acids must be soluble in water. Arrhenius acid-base reactions can be summarized with three generic equations: {| border="0" cellpadding="15px" style="margin: auto;" |<math>\hbox{HA} \to \hbox{H}^+ + \hbox{A}^-</math> |An acid will dissociate in water producing hydrogen ions. |- |<math>\hbox{MOH} \to \hbox{M}^+ + \hbox{OH}^-</math> |A base (usually containing a metal) will dissociate in water to produce hydroxide ions. |- |<math>\hbox{HA}_{(aq)} + \hbox{MOH}_{(aq)} \to \hbox{H}_2\hbox{O}_{(l)} + \hbox{MA}_{(aq)}</math> |Acids and bases will neutralize each other when mixed. They produce water and an ionic salt, neither of which are acidic or basic. |} The Arrhenius theory is simple and useful. It explains many properties and reactions of acids and bases. For instance, mixing hydrochloric acid (HCl) with sodium hydroxide (NaOH) results in a neutral solution containing table salt (NaCl). However, the Arrhenius theory is not without flaws. There are many well known bases, such as ammonia (NH<sub>3</sub>) that do not contain the hydroxide ion. Furthermore, acid-base reactions are observed in solutions that do not contain water. To resolve these problems, there is a more advanced acid-base theory. ===Brønsted-Lowry Theory === The Brønsted-Lowry theory was proposed in 1923. It is more general than the Arrhenius theory—all Arrhenius acids/bases are also Brønsted-Lowry acids/bases (but not necessarily vice versa). {{TextBox|1= ;Brønsted-Lowry Acids and Bases # An acid is a substance from which a proton (H<sup>+</sup> ion) can be removed. Essentially, an acid ''donates'' protons to bases. # A base is a substance to which a proton (H<sup>+</sup>) can be added. Essentially, a base ''accepts'' protons from acids.}} {{Wikipedia|Acid–base reaction}} Acids that can donate only one proton are '''monoprotic''', and acids that can donate more than one proton are '''polyprotic'''. These reactions demonstrate the behavior of Brønsted-Lowry acids and bases: {| border="0" cellpadding="15px" style="margin: auto;" |<math>\hbox{HCl} + \hbox{H}_2\hbox{O} \to \hbox{Cl}^- + \hbox{H}_3\hbox{O}^+</math> |An acid (in this case, hydrochloric acid) will donate a proton to a base (in this case, water is the base). The acid loses its proton and the base gains it. |- |<math>\hbox{HCl} + \hbox{N}\hbox{H}_3 \to \hbox{Cl}^- + \hbox{N}\hbox{H}_4^+</math> |Water is not necessary. In this case, hydrochloric acid is still the acid, but ammonia acts as the base. |- |<math>\hbox{Cl}^- + \hbox{N}\hbox{H}_4^+ \to \hbox{HCl} + \hbox{N}\hbox{H}_3</math> |The same reaction is happening, but now in reverse. What was once an acid is now a base (HCl → Cl<sup>-</sup>) and what was once a base is now an acid (NH<sub>3</sub> → NH<sub>4</sub><sup>+</sup>). This concept is called ''conjugates'', and it will be explained in more detail later. |- |<math>\hbox{HCl} + \hbox{NaOH} \to \hbox{NaCl} + \hbox{H}_2\hbox{O}</math><br> <math>\hbox{H}_3\hbox{O}^+ + \hbox{OH}^- \to 2 \hbox{H}_2\hbox{O}</math> |Two examples of acids (HCl and H<sub>3</sub>O<sup>+</sup>) mixing with bases (NaOH and OH<sup>-</sup>) to form neutral substances (NaCl and H<sub>2</sub>O). |- |<math>\hbox{NaOH} + \hbox{N}\hbox{H}_3 \to \hbox{Na}^+ + \hbox{H}_2\hbox{O} + \hbox{N}\hbox{H}_2^-</math> |A base (sodium hydroxide) will accept a proton from an acid (ammonia). A neutral substance is produced (water), which is not necessarily a part of every reaction. Compare this reaction to the second one. Ammonia was a base, and now it is an acid. This concept, called ''amphoterism'', is explained later. |} The Brønsted-Lowry theory is by far the most useful and commonly-used definition. For the remainder of General Chemistry, you can assume that any acids/bases use the Brønsted-Lowry definition, unless stated otherwise. [[Image:Acetic-acid-dissociation-3D-balls.png|thumb|center|This Brønsted-Lowry acid donates a proton (in green) to water (the base).]] ===Lewis Theory=== The Lewis definition is the most general theory, having no requirements for solubility or protons. {{TextBox|1= ; Lewis Acids and Bases # An acid is a substance that accepts a lone pair of electrons. # A base is a substance that donates a lone pair electrons.}} Lewis acids and bases react to create an '''adduct''', a compound in which the acid and base have bonded by sharing the electron pair. Lewis acid/base reactions are different from redox reactions because there is no change in oxidation state. [[Image:Coordinate Covalent Bonding.svg|thumb|center|This reaction shows a Lewis base (NH<sub>3</sub>) donating an electron pair to a Lewis acid (H<sup>+</sup>) to form an adduct (NH<sub>4</sub><sup>+</sup>).]] == Amphoterism and Water == Substances capable of acting as either an acid or a base are '''amphoteric'''. Water is the most important amphoteric substance. It can ionize into hydroxide (OH<sup>-</sup>, a base) or hydronium (H<sub>3</sub>O<sup>+</sup>, an acid). By doing so, water is # Increasing the H<sup>+</sup> or OH<sup>-</sup> concentration (Arrhenius), # Donating or accepting a proton (Brønsted-Lowry), and # Accepting or donating an electron pair (Lewis). {{Info|1= A bare proton (H<sup>+</sup> ion) cannot exist in water. It will form a hydrogen bond to the nearest water molecule, creating the '''hydronium ion''' (H<sub>3</sub>O<sup>+</sup>). Although many equations and definitions may refer to the "concentration of H<sup>+</sup> ions", that is a misleading abbreviation. Technically, there are no H<sup>+</sup> ions, only hydronium (H<sub>3</sub>O<sup>+</sup>) ions. Fortunately, the number of hydronium ions formed is exactly equal to the number of hydrogen ions, so the two can be used interchangeably.}} [[Image:Hydronium-3D-balls.png|thumb|H<sup>+</sup> ions actually exist as hydronium, H<sub>3</sub>O<sup>+</sup>.]] Water will dissociate very slightly (which further explains its amphoteric properties). {| border="0" cellpadding="20px" |<math>\hbox{H}_2\hbox{O} \leftrightarrow \hbox{H}^+ + \hbox{OH}^-</math> |The presence of hydrogen ions indicates an acid, whereas the presence of hydroxide ions indicates a base. Being neutral, water dissociates into both equally. |- |<math>2 \hbox{H}_2\hbox{O} \leftrightarrow \hbox{H}_3\hbox{O}^+ + \hbox{OH}^-</math> |This equation is more accurate—hydrogen ions do not exist in water because they bond to form hydronium. |} === Ammonia === Another common example of an amphoteric substance is ammonia. Ammonia is normally a base, but in some reactions it can act like an acid. {| border="0" cellpadding="20px" |<math>\hbox{NH}_3 + \hbox{HCl} \to \hbox{NH}_4^+ + \hbox{Cl}^-</math> |Ammonia acts as a base. It accepts a proton to form ''ammonium''. |- |<math>\hbox{Li}_3\hbox{N} + 2 \hbox{NH}_3 \to 3\hbox{Li}^+ + 3\hbox{NH}_2^-</math> |Ammonia also acts as an acid. Here, it donates a proton to form ''amide''. |} Ammonia's amphoteric properties are not often seen because ammonia typically acts like a base. Water, on the other hand, is completely neutral, so its acid and base behaviors are both observed commonly. ==Conjugate Acids and Bases== In all the theories, the products of an acid-base reaction are related to the initial reactants of the reaction. For example, in the Brønsted-Lowry theory, this relationship is the difference of a proton between a reactant and product. Two substances which exhibit this relationship form a '''conjugate acid-base pair'''. {{TextBox| ; Brønsted-Lowry Conjugate Pairs * An acid that has donated its proton becomes a ''conjugate base''. * A base that has accepted a proton becomes a ''conjugate acid''.}} {| border="0" cellpadding="20px" |<math>{\color{Red}\mathcal{HI}_{(aq)}} + {\color{Blue}\mathbf{H}_2\mathbf{O}_{(l)}} \to {\color{Blue}\mathcal{I}^-_{(aq)}} + {\color{Red}\mathbf{H}_3\mathbf{O}^+_{(aq)}}</math> |Hydroiodic acid reacts with water (which serves as a base). The conjugate base is the iodide ion and the conjugate acid is the hydronium ion. The acids are written in red, and the bases are written in blue. One conjugate pair is written bold and the other conjugate pair is in cursive. |- |<math>{\color{Blue}\mathcal{NH}_{3(aq)}} + {\color{Red}\mathbf{H}_2\mathbf{O}_{(l)}} \to {\color{Red}\mathcal{NH}^+_{4(aq)}} + {\color{Blue}\mathbf{OH}^-_{(aq)}}</math> |Ammonia (basic) reacts with water (the acid). The conjugate acid is ammonium and the conjugate base is hydroxide. Again, acids are written in red, and the bases are written in blue. The conjugate pairs are distinguished with matching fonts. |} ==Strong and Weak Acids/Bases== A '''strong acid''' is an acid which dissociates completely in water. That is, ''all'' the acid molecules break up into ions and solvate (attach) to water molecules. Therefore, the concentration of hydronium ions in a strong acid solution is equal to the concentration of the acid. The majority of acids exist as '''weak acids''', an acid which dissociates only partially. On average, only about 1% of a weak acid solution dissociates in water in a 0.1 mol/L solution. Therefore, the concentration of hydronium ions in a weak acid solution is always less than the concentration of the dissolved acid. '''Strong bases''' and '''weak bases''' do not require additional explanation; the concept is the same. {{Info|The conjugate of a strong acid/base is very weak. The conjugate of a weak acid/base is not necessarily strong.}} This explains why, in all of the above example reactions, the reverse chemical reaction does not occur. The stronger acid/base will prevail, and the weaker one will not contribute to the overall acidity/basicity. For example, hydrochloric acid is strong, and upon dissociation chloride ions are formed. Chloride ions are a weak base, but the solution is not basic because the acidity of HCl is overwhelmingly stronger than basicity of Cl<sup>-</sup>. {{Helpful hint|hint=Although the other halogens make strong acids, '''hydrofluoric acid''' (HF) is a weak acid. Despite being weak, it is incredibly corrosive—hydrofluoric acid dissolves glass and metal!}} Most acids and bases are weak. You should be familiar with the most common strong acids and assume that any other acids are weak. {| class="wikitable" style="margin: auto;" ! Formula ! Strong Acid |- | HClO<sub>4</sub> || Perchloric acid |- | HNO<sub>3</sub> || Nitric acid |- | H<sub>2</sub>SO<sub>4</sub> || Sulfuric acid |- | HCl, HBr, HI || Hydrohalic acids |} Within a series of ''oxyacids'', the ions with the greatest number of oxygen molecules are the strongest. For example, nitric acid (HNO<sub>'''3'''</sub>) is strong, but nitrous acid (HNO<sub>'''2'''</sub>) is weak. Perchloric acid (HClO<sub>4</sub>) is stronger than chloric acid (HClO<sub>3</sub>), which is stronger than the weak chlorous acid (HClO<sub>2</sub>). Hypochlorous acid (HClO) is the weakest of the four. Common strong bases are the hydroxides of Group 1 and most Group 2 metals. For example, potassium hydroxide and calcium hydroxide are some of the strongest bases. You can assume that any other bases (including ammonia and ammonium hydroxide) are weak. {| class="wikitable" style="margin:0 auto;" ! Formula ! Strong Base |- | LiOH || Lithium hydroxide |- | NaOH || Sodium hydroxide |- | KOH || Potassium hydroxide |- | RbOH || Rubidium hydroxide |- | CsOH || Cesium hydroxide |- | Ca(OH)<sub>2</sub> || Calcium hydroxide |- | Sr(OH)<sub>2</sub> || Strontium hydroxide |- | Ba(OH)<sub>2</sub> || Barium hydroxide |} {{ref|Brown_2009}} {{Yellow Warning|Acids and bases that are strong are not necessarily concentrated, and weak acids/bases are not necessarily dilute. Concentration has nothing to do with the ability of a substance to dissociate. Furthermore, ''polyprotic'' acids are not necessarily stronger than ''monoprotic'' acids.}} ==Properties of Acids and Bases== Now that you are aware of the acid-base theories, you can learn about the physical and chemical properties of acids and bases. Acids and bases have very different properties, allowing them to be distinguished by observation. === Indicators === [[Image:Bromothymol blue colors.jpg|thumb|'''Bromothymol blue''' is an indicator that turns blue in a base, or yellow in acid.]] Made with special chemical compounds that react slightly with an acid or base, '''indicators''' will change color in the presence of an acid or base. A common indicator is '''litmus paper'''. Litmus paper turns red in acidic conditions and blue in basic conditions. '''Phenolphthalein purple''' is colorless in acidic and neutral solutions, but it turns purple once the solution becomes basic. It is useful when attempting to neutralize an acidic solution; once the indicator turns purple, enough base has been added. === Conductivity === A less informative method is to test for conductivity. Acids and bases in aqueous solutions will conduct electricity because they contain dissolved ions. Therefore, acids and bases are ''electrolytes''. Strong acids and bases will be strong electrolytes. Weak acids and bases will be weak electrolytes. This affects the amount of conductivity. However, acids will react with metal, so testing conductivity may not be plausible. === Physical properties === {{Warning|The following is for informative purposes only. '''Do not sniff, touch, or taste any acids or bases''' as they may result in injury or death.}} The physical properties of acids and bases are opposites. {| class="wikitable" ! !Acids !Bases |- !Taste |sour |bitter |- !Feel |stinging |slippery |- !Odor |sharp |odorless |} These properties are very general; they may not be true for every single acid or base. Another warning: if an acid or base is spilled, it must be cleaned up immediately and properly (according to the procedures of the lab you are working in). If, for example, sodium hydroxide is spilled, the water will begin to evaporate. Sodium hydroxide does not evaporate, so the concentration of the base steadily increases until it becomes damaging to its surrounding surfaces. === Chemical Reactions === ==== Neutralization ==== Acids will react with bases to form a salt and water. This is a '''neutralization''' reaction. The products of a neutralization reaction are much less acidic or basic than the reactants were. For example, sodium hydroxide (a base) is added to hydrochloric acid. <div style="text-align: center;"><math>\hbox{NaOH}_{(aq)} + \hbox{HCl}_{(aq)} \to \hbox{NaCl}_{(aq)} + \hbox{H}_2\hbox{O}_{(l)}</math></div> This is a [[General Chemistry/Types of chemical reactions#Double Replacement Reaction|double replacement]] reaction. ==== Acids ==== {| border="0" cellpadding="20px" | <math>2 \hbox{HCl}_{(aq)} + \hbox{Zn}_{(s)} \to \hbox{ZnCl}_{2(aq)} + \hbox{H}_{2(g)}</math> | Acids react with metal to produce a metal salt and hydrogen gas bubbles. |- | <math>\hbox{H}_2\hbox{SO}_{4(aq)} + \hbox{CaCO}_{3(s)} \to \hbox{CaSO}_{4(s)} + \hbox{H}_2\hbox{O}_{(l)} + \hbox{CO}_{2(g)}</math> | Acids react with metal carbonates to produce water, CO<sub>2</sub> gas bubbles, and a salt. |- | <math>2 \hbox{HNO}_{3(aq)} + \hbox{Na}_2\hbox{O}_{(s)} \to 2 \hbox{NaNO}_{3(aq)} + \hbox{H}_2\hbox{O}</math> | Acids react with metal oxides to produce water and a salt. |} ==== Bases ==== Bases are typically less reactive and violent than acids. They do still undergo many chemical reactions, especially with organic compounds. A common reaction is ''saponification'': the reaction of a base with fat or oil to create soap. [[Image:Saponification.png|thumb|250px|center|Saponification converts an "ester" into an "alcohol" and salt. This is an [[Organic Chemistry|organic reaction]] outside the scope of General Chemistry.]] ==Practice Questions== 1. Name the following compounds that will form, and identify as an acid or base: :a) Br + H :b) 2H + SO<sub>3</sub> :c) K + H :d) 2H + SO<sub>6</sub> :e) 3H + P<sub>2</sub> :f) H + BrO<sub>2</sub> :g) Na + Cl 2. What are the conjugate acids and bases of the following: :a) water :b) ammonia :c) bisulfate ion :d) zinc hydroxide :e) hydrobromic acid :f) nitrite ion :g) dihydrogen phosphate ion 3. In a conductivity test, 5 different solutions were set up with light bulbs. The following observations were recorded: ::Solution A glowed brightly. ::Solution B glowed dimly. ::Solution C glowed dimly. ::Solution D did not glow. ::Solution E glowed brightly. :a) Which solution(s) could contain strong bases? :b) Which solution(s) could contain weak acids? :c) Which solution(s) could contain ions? :d) Which solution(s) could contain pure water? :e) Based solely on these observations, would it be possible to distinguish between acidic and basic solutions? 4. Identity the conjugate base and conjugate acid in these following equations: :a) HCl + H<sub>2</sub>O → H<sub>3</sub>O<sup>+</sup> + Cl<sup>-</sup> :b) HClO + H<sub>2</sub>O → ClO<sup>-</sup> + H<sub>3</sub>O<sup>+</sup> :c) CH<sub>3</sub>CH<sub>2</sub>NH<sub>2</sub> + H<sub>2</sub>O → CH<sub>3</sub>CH<sub>2</sub>NH<sub>3</sub><sup>+</sup> + OH<sup>-</sup> 5. Identify these bases as Arrhenius, Brønsted-Lowry, or both. :a) strontium hydroxide :b) [[w:butyllithium|butyllithium]] (C<sub>4</sub>H<sub>9</sub>Li) :c) ammonia :d) potassium hydroxide :e) potassium iodide 6. Based on the Brønsted-Lowry Theory of Acids and Bases, would you expect pure water to have no dissolved ions whatsoever? Explain, using a balanced chemical equation. Answers: 1. 2. 3. 4. 5. 6. = Notes = # {{note|Brown_2009}} Brown, Theodore E.; Lemay, H. Eugene; Bursten, Bruce E.; Murphy, Catherine; Woodward, Patrick (2009), Chemistry: The Central Science (11th ed.), New York: Prentice-Hall, {{ISBN|0136006175}}. [[General Chemistry/Properties and Theories of Acids and Bases/Answers|Answers to Properties of Acids and Bases Practice Questions]] {{BookCat}} [[pt:Introdução à Química/Ácidos e bases]] g46kmqo4u8dbrb6dlpp7kfok6tflobv Modeling from A to Z/Modeling principles/A is for Alloy analyzer 0 156973 4656901 4452752 2026-08-10T06:45:22Z ShakespeareFan00 46022 4656901 wikitext text/x-wiki =What is the Alloy analyzer?= [http://alloy.mit.edu/ Alloy] is a [http://en.wikipedia.org/wiki/Formal_language formal language] deeply rooted in [http://en.wikipedia.org/wiki/Z_notation Z]<ref>"Like Z, it describes all structures (in space and time) with a minimal toolkit of mathematical notions," Jackson 2006, p.xii</ref>. It was developed by Daniel Jackson, currently at MIT. Daniel is the son of [http://en.wikipedia.org/wiki/Michael_A._Jackson Michael Jackson] who is well-known for his contributions to computing. The [http://en.wikipedia.org/wiki/Alloy_language Alloy analyzer] is a constraint analyzer developed by Felix Chang<ref>Some brief information on Felix Chang is given in the e-Links.</ref>, currently at MIT. ==Simple model of the address book== Let us take the classic example of the [http://en.wikipedia.org/wiki/Address_Book address book]<ref name="Jackson-2006">We use addressBook2 as the key example taken from Daniel Jackson's book Software Abstractions, p.17</ref> and convert it into a formal equivalent model of a digital art gallery catalog. Here we are thinking of the names of paintings<ref>In practical work we will use digital photographs as digital images in our exhibition. Such digital photographs will be freely available under the usual Creative Commons license.</ref>. A physical painting is located in exactly one place. But the digital form of that painting, which we will call digital image, may be located in many different places. Such digital images are to be subject to control, for quality purposes, for copyright purpose, and so on. To motivate the work we will concentrate on a real-world example: the digital art exhibition. But first let us start with the address book. In today's world we might be thinking of names and web addresses, or names and e-mail adresses, or ... There is so much potential. Let us be conservative and have some fun? Here is a simple old-fashioned address book: {| class="wikitable" style="margin: 1em auto 1em auto" |+ '''simple address book''' ! Name || Address |- | Harry Knooall || Black Rock, Big Peak county |- | Martha Underwude || Black Rock, Big Peak county |- | Charlie Bigfoot || on the road |- | Mary Wethervain || White Rock, Big Peak county |} To build a model requires investment of time and energy. To develop a meaningful model of one's own helps to understand the process of model building. This gives one a sense of ownership in the model. One might experiment with the simple model above. For example, if interested in the prison system, one might change „Black Rock“ to „Black Rock penitentiary“ or „Black Rock jail“ and maybe change „on the road“ to „on the run“. Let us take the first first example used by Jackson in his book<ref>We have simplified Jackson's model a little bit. His module, page 6, has the longer title „tour/addressBook1“</ref>: <blockquote> '''module''' addressbook </blockquote> <blockquote> '''sig''' Name, Addr {} </blockquote> <blockquote> '''sig''' Book {</br> addr: Name -> '''lone''' Addr</br> }</br> </blockquote> The special keyword '''lone''' needs explanation. It indicates that each name is mapped to at most one address. It is possible for someone to have no address. In our little model „Charlie Bigfoot“ has no address in the usual sense. So, just for fun, we have given him<ref>It is important to be open about possible meanings of names. I say ''him''. I could say ''her''. If we want to be specific about gender, then we have to model it: ''female'', ''male'', ''other'', for example.</ref> a special sort of address "on the road". We can get a picture of our simple model. <!-- [[Image:AddressBook1 Metamodel.jpg|thumb|320px|center|The structure of the simple model of the addressBook]]--> <!-- [[Image:AddressBook1 MetamodelMagic.jpg|thumb|320px|center|The structure of the simple model of the addressBook using Magic Layout]]--> {| class="wikitable" style:="margin:0 auto;" |- |<!--column1-->[[Image:AddressBook1 Metamodel.jpg|320px]] |<!--column2-->[[Image:AddressBook1 MetamodelMagic.jpg|320px]] |- |<!--column1-->The structure of the simple model of the addressBook |<!--column2-->The structure of the simple model of the addressBook</br> using Magic Layout |}<!--end wikitable--> The image on the left is the default layout in the Alloy analyzer; that on the right uses the „Magic Layout“. Our next step is to produce some typical address books. In particular we are interested to see if we can produce an example that corresponds to the old-fashioned address book with which we began. <blockquote> '''pred''' show () {}<br> '''run''' show '''for''' 4 '''but''' 1 Book </blockquote> Following the pattern of Jackson's development closely, one adds the predicate show to get at most 4 objects in each signature: ''Name'' and ''Addr'' but only 1 object ''Book''. [[Image:AddressBook1 ShowFor4But1.jpg|thumb|500px|center|The structure of the simple model of the addressBook]] So! We can think of „Harry Knooall“ having Name1, „Martha Underwude“ having Name0, „Black Rock, Big Peak county“ being represented by Addr2, and so on. In other words, we do have a good working model for the kind of address book we have in mind. Now what shall we do? =Digital Art Exhibition= Let us begin with a simple correspondence. An address book associates names with addresses. The exhibition catalog associates names of digital images (of paintings or whatever) with web addresses. We jump in straight away with the name of the module: <blockquote> '''module''' exhibitionCatalog </blockquote> The next step is the introduction of an abstract signature which we will call Xpoint<ref>Jackson uses the name Target, p.17. It is very hard to imagine how one might come up with this particular way of doing things. In other words, to start with such an abstract signature seems to require prior knowledge. Such prior knowledge seems to require a great deal of sophistication or intuition.</ref>. The idea behind Xpoint is to indicate some end point in an XML namespace. <blockquote> '''abstract sig''' Xpoint {} <!-- Target ==> Xpoint --> </blockquote> Now we can define exactly what we mean by the web address of the digital image (of the painting or whatever). <blockquote> '''sig''' WebAddr '''extends''' Xpoint {} <!-- Addr ==> WebAddr --> </blockquote> We also consider the possibility of groups of names. The purpose of the group is to cover the concept of artistic theme, such as Impressionism, Cubism, and so on. Let us try out the use of ArtTheme for such a group? Similarly, an alias is a name for another name. It is frequently the case, that an artwork will have some name, such as Mother with Child. It is also possible that a caloguer will use an alias such as the Chicago Madonna for exactly the same artwork. It might seem convenient to use Alias for this purpose. However, in order to avoid confusion between this new (isomorphic) model and the original Jackson model we will use OtherName. Both ArtTheme and OtherName are sorts of Names, words which identify. But Name is used in the original Jackson model. Let us use instead the word Identity. And just as the Xpoint is in an XML space, then why not consider the Identity to be a kind of Xpoint? <blockquote> '''abstract sig''' Identity '''extends''' Xpoint {} <!-- Name ==> Identity --> </blockquote> Now we can define ArtTheme and OtherName as extensions of Identity: <blockquote> '''sig''' ArtTheme '''extends''' Identity {}</br><!-- Group ==> ArtTheme --> '''sig''' OtherName '''extends''' Identity {}<!-- Alias ==> OtherName --> </blockquote> For convenience, one might like to wrap up the previous two definitions in one line: <blockquote> '''sig''' ArtTheme, OtherName '''extends''' Identity {} </blockquote> Finally the ArtExhibitionCatalog is determined by setting up a relationship between the Identity (of the ArtWork) and the Xpoint (where it is located). <blockquote> '''sig''' ArtExhibitionCatalog {webAddr: Identity —> Xpoint} </blockquote> ===Encoding the model=== Now we put everything together <blockquote> '''module''' exhibitionCatalog</br> '''abstract''' '''sig''' Xpoint {}</br> '''sig''' WebAddr '''extends''' Xpoint {}</br> '''abstract''' '''sig''' Identity '''extends''' Xpoint {}</br> '''sig''' ArtTheme, OtherName '''extends''' Identity {}</br> '''sig''' ArtExhibitionCatalog {webAddr: Identity -> Xpoint} </blockquote> The first thing to do is show a picture of the structure of the metamodel: [[Image:ArtExhibitionCalalog20080815 1.jpg|thumb|320px|center|The metamodel]] It might be a good idea to make a printout or a sketch of this picture while studying the rest of the model. ===Exercising the model=== Now we are ready to play with our little model. Before we do, it is really worthwhile to listen to what Daniel Jackson has to say on the subject: <blockquote> «Building a model incrementally with an analyzer, simulating and checking as you go along, is a very different experience from using pencil and paper alone. The first reaction tends to be amazement: modeling is much more fun when you get instant, visual feedback, When you simulate a partial model, you see examples immediately that suggest new constraints to be added.»<ref>Jackson 2006, p.xiii</ref> </blockquote> The most basic way to show what is going on is to use the predicate show. Here we want to show '''some''' of the possible ''webAddress''es associated with our ''ArtExhibitionCatalog'': <blockquote> '''pred''' show (aec: ArtExhibitionCatalog) {'''some''' aec.webAddr} </blockquote> and we want to limit our exploration of the model to at most 3 objects in each signature, except for the ''ArtExhibitionCatalog'' which is limited to 1 object: <blockquote> '''run''' show '''for''' 3 '''but''' 1 ArtExhibitionCatalog </blockquote> Finally, to get a picture of what is happening with respect to the ''ArtExhibitionCatalog'', we project over it. That is to say, we know there is just one. Let us put it in the background and see what the rest of the picture looks like. Here is one such result. [[Image:ArtExhibitionCatalog20080811aSQR.jpg|thumb|320px|center|An illustration of a problem in the design of our model.]] ===Elimination of identity cycling === We must go back and fix the model. Specifically, one might add the fact that for any ''ArtExhibitionCatalog'' there is no Identity that is in a set of Xpoints which can be reached from that Identity. In other words, cycling (i.e. going round in circles) is out! We state this as <blockquote> '''fact''' {</br> &nbsp;&nbsp;&nbsp;&nbsp;'''all''' aec: ArtExhibitionCatalog | '''no''' id: Identity | id '''in''' id.^(aec.webAddr)</br> &nbsp;&nbsp;&nbsp;&nbsp;}</br> </blockquote> [[Image:ArtExhibitionCatalog20080811bSQR.jpg|thumb|355px| center|Problem of cycling identities solved.]] ===From OtherNames to Xpoints=== Now let us consider the following result: [[Image:ArtExhibitionCatalog20080812a 250x500.jpg|thumb|320px|center|An ArtTheme which has two webAddresses.]] <blockquote> '''pred''' show (ace: ArtExhibitionCatalog) '''some''' OtherName.(ace.webaddress)} </blockquote> =From addressBook to vCard= Starting again from the simple address book we can move in the direction of the [http://en.wikipedia.org/wiki/VCard vCard]. The task is to find a simple way of building up the model of the vCard, step by step. Why not begin with the example given in the Wikipedia article? <pre> BEGIN:VCARD VERSION:2.1 N:Gump;Forrest FN:Forrest Gump ORG:Bubba Gump Shrimp Co. TITLE:Shrimp Man TEL;WORK;VOICE:(111) 555-1212 TEL;HOME;VOICE:(404) 555-1212 ADR;WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America LABEL;WORK;ENCODING=QUOTED-PRINTABLE:100 Waters Edge=0D=0ABaytown, LA 30314=0D=0AUnited States of America ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America LABEL;HOME;ENCODING=QUOTED-PRINTABLE:42 Plantation St.=0D=0ABaytown, LA 30314=0D=0AUnited States of America EMAIL;PREF;INTERNET:forrestgump@walladalla.com REV:20080424T195243Z END:VCARD </pre> Our first task is to identify the meaning of the "key" words which are apparently given in uppercase. We recognize TITLE, WORK, VOICE, HOME and so on. But what exactly is N, FN, REV? These "key" words are called properties. The basic list of properties is FN, N, NICKNAME, PHOTO, BDAY, ADR, LABEL, TEL, EMAIL, MAILER, TZ, GEO, TITLE, ROLE, LOGO, AGENT, ORG, CATEGORIES, NOTE, PRODID, REV, SORT-STRING, SOUND, URL, UID, VERSION, CLASS, KEY. Let us begin by organizing these in a nice table. We will not fill in all the details right now. {| class="wikitable" style="margin: 1em auto 1em auto" |+ '''simple vCard''' ! key || meaning || example || comment |- | FN || formatted name || Mr. Harry Knooall jnr || "This is the way that the name is to be displayed"<ref name="vCard2.1 FN">[http://www.imc.org/pdi/pdiproddev.html vCard version 2.1 Specification]</ref> |- | N || name || KNOOALL;Harry;Mr.;Jnr||"a structured representation of the name of the person, place or thing"<ref name="vCard2.1 N">[http://www.imc.org/pdi/pdiproddev.html vCard version 2.1 Specification]</ref> |- | PHOTO || photograph || • || "This property specifies an image or photograph of the individual associated with the vCard." <ref name="vCard2.1 PHOTO">[http://www.imc.org/pdi/pdiproddev.html vCard version 2.1 Specification]</ref> |- | JPEG|| photo format type || • || "This property parameter is provided to specify the graphics format for the Photo property value. The property parameter includes..."<ref name="vCard2.1 JPEG">[http://www.imc.org/pdi/pdiproddev.html vCard version 2.1 Specification]</ref> |- | BDAY || || || |- | ADR || || || |- | LABEL || || || |- | TEL || || || |- | EMAIL || || || |- | ADR || || || |} http://www.imc.org/pdi/pdiproddev.html =Notes= {{reflist|2}} =Reading links= <div class='references-normal'> <ol type="1"> <li>{{cite book | last = Jackson | first = Daniel | authorlink = | coauthors = | title = Software abstractions : logic, language and analysis | publisher = The MIT Press | date = 2006 | location = Cambridge, Massachusetts | pages = | url = | doi = | id = | isbn = 978-0262101149 }} </li> </ol> <references/> </div> =e-Links= * [http://sdg.csail.mit.edu/people/fschang.html Felix Chang] last access {2008-08-15} ==vCard== * [http://www.w3.org/TR/vcard-rdf Representing vCard Objects in RDF/XML] * [http://www.imc.org/pdi/ '''''vCard''''', The Electronic Business Card, Version 2.1]. A '''''versit''''' Consortium Specification, September 18, 1996 {{BookCat}} iyaumeeokvp66ue5owliqe5u5dfbzh5 Mathematical Methods of Physics/Gradient, Curl and Divergence 0 163413 4656903 3579750 2026-08-10T06:45:56Z ShakespeareFan00 46022 4656903 wikitext text/x-wiki In this section we shall consider the vector space <math>\mathbb{R}^3</math> over reals with the basis <math>\hat{x},\hat{y},\hat{z}</math>. We now wish to deal with some of the introductory concepts of vector calculus. ==Vector and Scalar Fields== ====Definition==== Let <math>C:\mathbb{R}^3\to F</math>, where <math>F</math> is a field. We say that <math>C</math> is a '''scalar field''' In the physical world, examples of scalar fields are (i) The electrostatic potential <math>\phi</math> in space (ii) The distribution of temperature in a solid body, <math>T(\mathbf{r})</math> ====Definition==== Let <math>V</math> be a vector space. Let <math>\mathbf{F}:\mathbb{R}^3\to V</math>, we say that <math>\mathbf{F}</math> is a '''vector field'''; it associates a vector from <math>V</math> with every point of <math>\mathbb{R}^3</math>. In the physical world, examples of vector fields are (i) The electric and magnetic fields in space <math>\vec{E}(\mathbf{r}),\vec{B}(\mathbf{r})</math> (ii) The velocity field in a fluid <math>\vec{v}(\mathbf{r})</math> ==The Gradient== Let <math>C</math> be a scalar field. We define the '''gradient''' as an "operator" <math>\nabla</math> mapping the field <math>C</math> to a vector in <math>\mathbb{R}^3</math> such that <math>\nabla C=\left(\frac{\partial C}{\partial x},\frac{\partial C}{\partial y},\frac{\partial C}{\partial z}\right)</math>, or as is commonly denoted <math>\nabla C=\frac{\partial C}{\partial x}\hat{x}+\frac{\partial C}{\partial y}\hat{y}+\frac{\partial C}{\partial z}\hat{z}</math> <small>We shall encounter the physicist's notion of "operator" before defining it formally in the chapter '''Hilbert Spaces'''. It can be loosely thought of as "a function of functions"</small> ====Gradient and the total derivative==== Recall from multivariable calculus that the '''total derivative''' of a function <math>f:\mathbb{R}^3\to\mathbb{R}</math> at <math>\mathbf{a}\in\mathbb{R}^3</math> is defined as the linear transformation <math>A</math> that satisfies {{center|1=<math>\lim_{|\mathbf{h}|\to 0}\frac{f(\mathbf{a}+\mathbf{h})-f(\mathbf{a})-A\mathbf{h}}{|\mathbf{h}|}=0</math>}} In the usual basis, we can express as the row matrix <math>f'(\mathbf{a})=A=\displaystyle\begin{pmatrix} \tfrac{\partial f}{\partial x} & \tfrac{\partial f}{\partial y} & \tfrac{\partial f}{\partial z}\\ \end{pmatrix} </math> It is customary to denote vectors as column matrices. Thus we may write <math>\nabla f=\displaystyle\begin{pmatrix} \tfrac{\partial f}{\partial x} \\ \tfrac{\partial f}{\partial y} \\ \tfrac{\partial f}{\partial z} \\ \end{pmatrix}</math> The transpose of a matrix given by constituents <math>a_{ij}</math> is the matrix with constituents <math>a^T_{ij}=a_{ji}</math> Thus, the gradient is the transpose of the total derivative. ==Divergence== Let <math>\mathbf{F}:\mathbb{R}^3\to \mathbb{R}^3</math> be a vector field and let <math>\mathbf{F}</math> be differentiable. We define the '''divergence''' as the operator <math>(\nabla\cdot )</math> mapping <math>\mathbf{F}</math> to a scalar such that <math>(\nabla\cdot\mathbf{F})=\frac{\partial F_x}{\partial x}+\frac{\partial F_y}{\partial y}+\frac{\partial F_z}{\partial z}</math> ==Curl== Let <math>\mathbf{F}:\mathbb{R}^3\to \mathbb{R}^3</math> be a vector field and let <math>\mathbf{F}</math> be differentiable. We define the '''curl''' as the operator <math>(\nabla\times )</math> mapping <math>\mathbf{F}</math> to a ''linear transformation from <math>\mathbb{R}^3</math> onto itself'' such that the linear transformation can be expressed as the matrix <math>(\nabla\times\mathbf{F})_{ij}=\frac{\partial F_j}{\partial x_i}-\frac{\partial F_i}{\partial x_j}</math> written in short as <math>(\nabla\times\mathbf{F})_{ij}=\partial_iF_j-\partial_jF_i</math>. Here, <math>x_1,x_2,x_3</math> denote <math>x,y,z</math> and so on. the curl can be explicitly given by the matrix: <math>\nabla\times\mathbf{F}=\begin{pmatrix} 0 & \partial_1 F_2-\partial_2 F_1 & \partial_1 F_3-\partial_3 F_1 \\ \partial_2 F_1-\partial_1 F_2 & 0 & \partial_2 F_3-\partial_3 F_2 \\ \partial_2 F_1-\partial_1 F_3 & \partial_3 F_2-\partial_2 F_3 & 0 \\ \end{pmatrix}</math> this notation is also sometimes used to denote the vector '''exterior''' or '''cross product''', <math>\nabla\times\mathbf{F}=(\partial_2 F_3-\partial_3 F_2)\hat{x}+(\partial_1 F_3-\partial_3 F_1)\hat{y}+(\partial_1 F_2-\partial_2 F_1)\hat{z}</math> {{BookCat}} o1dtdxnnr0mbtnia75bdgc60l9q30jq User:Gonzo fan2007 2 164668 4656983 1237676 2026-08-10T08:24:36Z ShakespeareFan00 46022 4656983 wikitext text/x-wiki {{center/top}} <div style="font-family: Cursive;"> {| width=550px style="border:2px solid teal; background: none; color:#333333; text-align:left;" |- |valign="top" style="text-align:center;"|[[Wikipedia:User:Gonzo fan2007|English Wikipedia user page]] |- |style="text-align:center;"|[[Image:Victoria Falls Zambezi.jpg|400px]] |} </div> {{center/end}} hphhc93vha4j82dmmpaj4zjjzlt5qod User talk:Gonzo fan2007 3 164669 4656994 1237681 2026-08-10T08:36:26Z ShakespeareFan00 46022 4656994 wikitext text/x-wiki {{center/top}} <div style="font-family: Cursive;"> {| width=550px style="border:2px solid teal; background: none; color:#333333; text-align:left;" |- |valign="top" style="text-align:center;"|[[Wikipedia:User talk:Gonzo fan2007|English Wikipedia talk page]] |- |style="text-align:center;"|[[Image:Victoria Falls Zambezi.jpg|400px]] |} </div> {{center/end}} g6fkg6y6s5fud7ok3ti68818gfopcx3 User:Retropunk/Status 2 165040 4656976 4648133 2026-08-10T08:21:03Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656976 wikitext text/x-wiki {{center/top}} {| !bgcolor="red" width="550"|''Status'': Discombobulated. <span style="font-size: x-small;">[{{SERVER}}{{localurl:User:Retropunk/Status|action=edit}} edit]</span> |} {| !bgcolor="red" width="550"|''Health'': Work stress is unhealthy. |} {{center/end}} ls8y54lcgr1z16uliaa6eodx90ve8fw User:SterkeBak 2 167452 4656990 4410015 2026-08-10T08:27:36Z ShakespeareFan00 46022 4656990 wikitext text/x-wiki <div style="padding-right:40px; font-style:italic; text-align:right; font-size:225%; font-family:Georgia; margin-bottom:15px; color:#669;">I wanna find something I've wanted all along<br /><br />Somewhere I belong</div> {{center/top}} <div style="width:820px;"><div style="width:59%; display:block; float:left;"> {| style="border-spacing:8px; margin:0px -8px;" |class="MainPageBG" style="width:60%; border:1px solid #CEDFF2; background-color:#FFF; vertical-align:top; -moz-border-radius:10px;"| {| width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background-color:#FFF; -moz-border-radius:10px;" ! style="background:#CFDEF1; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:100%; border:1px solid #B1CDEB; text-align:left; padding-left:7px; -moz-border-radius:10px;"| <div style="float:right;">[[Image:Wbar_blue.jpg]]</div><div style="float:left;">[[Image:Wikipedia svg logo.svg|20px]]Userpage from SterkeBak</div> |- | style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:90%;"| <div class="plainlinks">[[Image:Sterkebak.jpg|100px|right]]Welcome to my userpage</div> Hello. I'm a Wikimedian who doesn't do a lot on this project. I am active at Commons. I am also an admin on Commons. If you want to talk to me use [[:Commons:User Talk:SterkeBak|my Commons talk page]]. (You can respond there in English, German and Dutch.) |} |} </div> <div style="width:40%; display:block; float:right;"> {| style="border-spacing:8px; margin:0px -8px;" |class="MainPageBG" style="width:60%; border:1px solid #CEDFF2; background:#FFF; vertical-align:top; -moz-border-radius:10px;"| {| width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background-color:#FFF; -moz-border-radius:10px;" |- | [[Image:Cross of Sacrifice crop.jpg|250px|thumb|center|''Cross of Sacrifice'']] |} |} </div></div> {{center/end}} eiwi5lobjn47sj4vwlor8mzwswsp8f7 User talk:OpaqueLightbulb 3 169820 4656847 4655660 2026-08-09T21:58:54Z ShakespeareFan00 46022 4656847 wikitext text/x-wiki <div font-size:110%; font-weight:bold;">[[Wikibooks:Welcome|Welcome]] to Wikibooks, James.Denholm!</div> {| cellspacing="0" cellpadding="0" style="margin:0em 0em 1em 0em; width:100%" | style="width:45%; vertical-align:top; border:1px solid #fad67d; background-color:#faf6ed;" | <div style="border-bottom:1px solid #fad67d; background-color:#faecc8; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">[[Image:Crystal Clear app korganizer.png|20px]] '''First steps tutorial'''</div> <div style="border-bottom:1px solid #fad67d; padding:0.4em 1em 0.3em 1em;"> '''Wikibooks is for freely-licensed collaboratively-developed [[WB:WIW|textbooks]].'''<br/>You don't need technical skills in order to contribute here. '''[[WB:BOLD|Be bold]]''' contributing here and ''[[WB:AGF|assume good faith]]'' for the intentions of others. Remember, this is a ''[[w:wiki|wiki]]'', so you're allowed to change just about anything & it is really easy. Come say [[WB:HELP|hello]] to everyone! </div> <div style="border-bottom:1px solid #fad67d; background-color:#faecc8; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">[[Image:Icon apps query.svg|20px]] '''Getting help'''</div> <div style="padding:0.4em 1em 0.3em 1em;"> * You can always get help from the community in the [[Wikibooks:Reading room|Reading room]] or in our [[irc:wikibooks|IRC channel]]. * If something you wrote was tagged with {{tlx|query}}, and you think this was done in error, just remove it & explain why on the talk page. * If your upload was tagged with {{tlx|nld}}, {{tlx|bfu}}, or {{tlx|nfur}}, please read the template message as it explains the violation of [[WB:MEDIA|our media policy]]. Please be sure to provide the required {{tlx|information}}: a [[WB:ICT|license tag]] & source are always required; fair use images require a {{tlx|fair use rationale}}. </div> | style="padding:0em 0.5em 0em 0.5em;" | | style="width:55%; vertical-align:top; border:1px solid #abd5f5; background-color:#f1f5fc;" | <div style="border-bottom:1px solid #abd5f5; background-color:#d0e5f5; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">[[Image:Transmission icon.png|20px]] '''Goodies, tips and tricks'''</div> <div style="border-bottom:1px solid #abd5f5; padding:0.4em 1em 0.3em 1em;"> * Please [[:w:Wikipedia:Sign your posts on talk pages|sign your name]] on discussion pages by typing &#126;&#126;&#126;&#126; * If you're coming here from Wikipedia, you should read [[WB:WFW|our primer for Wikipedians]] to get up-to-speed quickly. * '''Please make sure you follow our [[WB:NP|naming policy]]''' - modules should be named like <tt>Book Title/Chapter Title</tt>. * User scripts can make many tasks easier. Look at the ''Gadgets'' tab of [[Special:Preferences|''my preferences'']]; check off the boxes for the scripts you want, and hit ''save''! </div> <div style="border-bottom:1px solid #abd5f5; background-color:#d0e5f5; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">[[Image:Nuvola filesystems trashcan full.png|20px]] '''Made a mistake?'''</div> <div style="border-bottom:1px solid #abd5f5; padding:0.4em 1em 0.3em 1em;"> * Need to rename a page? Use the ''move'' tab (only become available once your account is 4 days old - until then, ask for [[WB:HELP|help]]). * To get a page deleted, add {{tlx|delete|''your reason for requesting deletion''}} to the top of the page. * If something you wrote was deleted, please read the [[WB:DP|deletion policy]], and check the [[Special:Log/delete|deletion log]] to find out why. Also check the [[WB:VFD|VFD]] archives if applicable. You can request undeletion at [[WB:VFU]]. </div> |- |align=right colspan=3|<small>(P.S. Would you like to provide [[Template talk:Bigwelcome|feedback]] on this message?)</small> |} [[User:Dark Mage|<strong><span style="color:Black">Dark</span><span style="color:Red"> Mage</span></strong>]] 10:31, 20 September 2008 (UTC) 52tzyhk6gg78x3cr1d9nu3qmlcru6fa User:Jkurt002 2 181962 4656848 4650923 2026-08-09T22:02:19Z ShakespeareFan00 46022 4656848 wikitext text/x-wiki <table WIDTH="10%" ALIGN="left"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top> [[File:NewYearsMe.jpg|200px]] <div style="text-align: center;"><span style="color: #99FF33; font-family: Elephant;"> <big><big><big>Jess</big></big></big> </span></div></td></tr></table><table WIDTH="20%" ALIGN="center"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top>[[File:Simsonized_me.png|300 px]] <div style="text-align: center;"><span style="color: #99FF33; font-family: Elephant;"> <big><big><big>"Jess Simpson"</big></big></big> </span></div></td></tr></table> <div style="text-align: center;"><span style="color: #CC0066; font-family: Freestyle Script;"> <big><big><big><big><big><u>'''About Me'''</u></big></big></big></big></big></span></div> <span style="color: #666666; font-family: Dotum;"> <big>Hello, my name is Jessica Kurtz. I go by Jess or Jessica, it doesn't much matter. I am currently a junior at ODU. I am majoring in Early Childhood with intentions of being involved in preschool or kindergarten. I am looking forward to getting in my observation hours to help me find where I belong. I am working to get my Master's degree. </big> <big>I moved to Virginia from Indiana after I graduated high school to be with my, now, fiance who is in the Air Force. I grew up in South Bend (GO NOTRE DAME) and attended Clay High School.</big> </span> <table WIDTH="10%" ALIGN="center"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top> [[File:California_2008.jpg|200 px ]] <div style="text-align: center;"><span style="color: #99FF33; font-family: Elephant;"> <big><big><big>my fiance, David, and me</big></big></big> </span></div></td></tr></table> <span style="color: #666666; font-family: Dotum;"> <big>I am the oldest of 5 children in a blended family. I love children and I love animals. My plans are to wait until graduation is over to start a family and I have compensated with my love of animals instead. I have two dogs, a german shephard and a cocker spaniel, a maine coon cat, a dwarf rabbit, a cockatiel, and a 55 gallon tank of fish. You could say I have my hands full but I enjoy every minute of it.</big> </span> <table WIDTH="10%" ALIGN="left"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top> <div style="text-align: center;"><span style="color: #99FF33; font-family: Elephant;"> <big><big><big>Sophie</big></big></big> </span></div></td></tr></table> <table WIDTH="10%" ALIGN="left"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top> [[File:Samdog.jpg|150px ]] <div style="text-align: center;"><span style="color: #99FF33; font-family: Elephant;"> <big><big><big>Sam</big></big></big> </span></div></td></tr></table> <table WIDTH="10%" ALIGN="left"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top>[[File:Gizmocat.jpg|150px ]] <div style="text-align: center;"> <span style="color: #99FF33; font-family: Elephant;"><big><big><big>Gizmo</big></big></big> </span></div></td></tr></table> <table WIDTH="10%" ALIGN="left"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top>[[File:jbbunny.jpg|150px ]] <div style="text-align: center;"> <span style="color: #99FF33; font-family: Elephant;"><big><big><big>JB</big></big></big> </span></div></td></tr></table> <table WIDTH="10%" ALIGN="left"><tr><td style="background-color: #666666;border: solid 5px #CC0066; padding: 1em;" valign=top>[[File:butters.jpg|150px ]] <div style="text-align: center;"><span style="color: #99FF33; font-family: Elephant;"> <big><big><big>Butters</big></big></big> </span></div></td></tr></table> <span style="color: #666666; font-family: Dotum;"> <big>My friends are few and far between but they mean the world to me and I like it just the way it is.</big></span> <span style="color: #666666; font-family: Dotum;"> <big>I enjoy reading James Patterson and Mary Higgins Clark books. I love just about every type of music. Frank Sinatra is a personal favorite, though. I don't watch a lot of television but I have a couple shows I am devoted to. I like to take walks and have good conversations with those who are closest to me.</big></span> <span style="color: #666666; font-family: Dotum;"> <big>I work at Farm Fresh right now and I can not wait to get into my career field.</big></span> <div style="text-align: center;"><span style="color: #CC0066; font-family: Freestyle Script;"> <big><big><big><big><big><u>'''Education'''</u></big></big></big></big></big></span></div> <div style="text-align: center;"><span style="color: #666666; font-family: Dotum;"> <big>Clay High School 2002-2006</big></span></div> <div style="text-align: center;"><span style="color: #666666; font-family: Dotum;"> <big>Old Dominion Unversity 2006-Present</big></span></div> <div style="text-align: center;"><span style="color: #CC0066; font-family: Freestyle Script;"> <big><big><big><big><big><u>'''My Education Philosophy'''</u></big></big></big></big></big></span></div> <span style="color: #666666; font-family: Dotum;"> <big>I want to be the teacher that my students remember for good reasons. I have some teachers that were the best I could ask for and I will never forget them; that is who I want to be. I believe in being hands-on, very verbal, and making learning a fun activity. I will do my best to make my classroom print-rich and full of resources for my students to use. I love interacting with children and feeling like I am contributing to their learning. I want to be a teacher because I love children and I feel it is important to make a difference in their lives. What we teach them in their earlist school years will shape their future, I want to be the person that helps them become successful.</big></span> <span style="color: #000000; font-family: Freestyle Script;"> <big><big><big><big><big>'''"I hear and I forget. I see and I remember. I do and I understand."'''</big></big></big></big></big></span> <span style="color: #000000; font-family: Freestyle Script;"> <big><big><big><big><big>'''--Confucius'''</big></big></big></big></big></span> bx897e661srr2xbnzte4rj9pbh4c8jt User:Jscar004 2 182161 4656852 4650440 2026-08-09T22:08:49Z ShakespeareFan00 46022 4656852 wikitext text/x-wiki <table WIDTH="90%" ALIGN="center"><tr><td style="background-color: #F433FF; border: solid 1px #6A287E; padding: 1em;" valign=center> <div style="text-align: center;"><div style="color: #8D38C9; font-family: LUCIDA;"> {{big/top}} ABOUT ME I am 33 years old, married, and have three children. Our oldest son is Chase, who is 13, Hunter is 8, and Cassidy is 7. They are very involved in sports and church activities. I am also very involved at my church, where I teach Sunday school to five and six year olds. In my spare time, "like I have any while taking six classes and raising a family", I enjoy watching movies, shopping, going to sporting events that my children participate in, and ofcourse spending as much time with my family as possible. I have been a substitute teacher for Pittsylvania County for the past year and a half, but this semester I gave it up because I am taking such a heavy course load. Monday through Friday from 8am to 3pm (school hours) I do my school work because when the kids get home there is definetly no more time for me. {{big/end}} </div></div> </td></tr></table> [[File:Jscar004_and_family_(2009).jpg|350px|left]] [[File:Dallas_005.jpg|350px|left]] {{font/top|color=#800080}} MY PLANS FOR THE FUTURE: Currently I am taking classes from Patrick Henry Community College, Southside Community College, and ODU. I plan on graduating next summer in IDS with a degree in K-6 grade. MY TEACHING PHILOSOPHY: My teaching philosophy is that every child should be given the chance to learn and it takes a very special person to be a teacher. Every student is different and learning should be fun. It is up to teachers to provide the most effective learning environment possible for their students. Teachers should have a desire to make a difference in the lives of children and have the patience to nurture and meet their needs as an educator. I have always loved working with and being around children. Aside from being a mother, being a teacher to me is the greatest fulfillment in life. {{font/end}} 36dux6yt3kebommpr7hj1e9els9h8yc Computer Information Systems in Education/Chapter 3/Section 5 -- Business/Teacher/Student Information Systems 0 191811 4656935 4646097 2026-08-10T07:20:17Z ShakespeareFan00 46022 4656935 wikitext text/x-wiki =<div style="text-align: center;"> ''GSM'' </div>= ====''Chapter Objectives:''==== 1. List and define the phases of the System Development Cycle. 2. Describe the difference between a Parallel run and a Pilot run. ====Keywords==== :1. Pentamation :2. Planning :3. Analysis :4. Design :5. Implementation :6. SIF Compliant :7. Parallel Run :8. Pilot Run '''Concept Map for M.E.I.S''' (click here for larger Image)[http://cmapspublic3.ihmc.us/servlet/SBReadResourceServlet?rid=1239332480187_1928452785_9064&partName=htmltext] [[File:Chapter_3_Map.jpg|750px|]] == PLANNING == Planning is the first step of the System Development Cycle, which establishes an overview of the intended project and determines goals for the project. In planning to integrate an Information System that would affect everyone in the school district it would be important to create a committee to include administrators, teachers, parents, students, and paraprofessionals. To integrate M.E.I.S, the committee would include representatives from each of the school districts major administrative areas, schools and programs. The planning should also involve attendance clerks, scheduling clerks, registrars, counselors, and assistant principals. They are the ones who will be affected by the integration of M.E.I.S, and their input will be most valuable. The first part of the planning process would be spent researching and identifying national, state and future trends and summarizing a set of philosophies and beliefs for the district. Then, the committee would develop a vision, mission, and at least four major goals. Once this is completed, the committee would then divide into subgroups for each of the goals that were created. Each subgroup will develop objectives for its goal and identify strategies needed to accomplish these objectives. Each strategy included a responsible party, a timeline, resources needed, assessment and date. Some goals in integrating an Information System would be: **For students, teachers, and staff to use this technology system to meet their teaching, learning, and productivity goals **It should ensure efficiency and improve the overall function of the school district **It should increase communication resources, allowing for distant access through networks <div style="text-align: center;">'''''Planning of Implementing M.E.I.S''''' </div> {| class="wikitable" |- ! ! What it has now ! Areas for improvement |- | Strategy | General description of what the district would like to accomplish | Strategies should be more specific and measurable |- | Responsible Party | Positions responsible for accomplishing strategy | The responsible party should be made as specific as possible. For instance, rather than referring to Technology department, it should identify which area of the department, such as the network administrators, computer technicians, etc. |- | Timeline | General timeframes | Timelines should be as specific as possible. The plan should identify what should be accomplished for each step of implementation of M.E.I.S |- | Evaluation/Outcome | Either a source of data that could be used for evaluation or the means by which the evaluation could be conducted | The plan should be more specific about what the evaluator should look for in the data source |- | Cost Estimates | None | Cost estimates should be developed for each strategy |- | Resources | General funding sources, materials, equipment, and things that have to happen | Resources should be tied to cost estimates and should be more specific |} <div style="text-align: center;">'''GANTT Chart for Planning of M.E.I.S'''</div> [[File:GANTT_Chart.JPG]] == ANALYSIS == The second step in the System Development Cycle is Analysis, which puts the project goals created in the planning phase into defined functions. This stage analyzes both the operation of the intended IS and the needs of the end-user’s. The first step in analyzing M.E.I.S would be to identify the current situation being utilized, which is Pentamation, and how M.E.I.S can improve the current situation. The two areas to be analyzed are the Business modules and the Teacher/Student Modules. {{center/top}} '''''Analysis of Current System and M.E.I.S''''' {| class="wikitable" |- ! ! Pentamation ! M.E.I.S |- | Business Module | Payroll Financial Accounting Fixed Assets Warehouse Inventory Business PEIMS | Payroll Financial Accounting Budgeting Salary Negotiations Vendor Bidding Fixed Assets Warehouse Inventory Applicant Tracking Business PEIMS Human Resources |- | Student Modules | Registration Scheduling Report Cards Daily Attendance Transcripts Child Tracking Student PEIMS | Registration Scheduling Report Cards Daily Attendance Class Attendance Student Inquiry Snapshot Transcripts Child Tracking Medical System Discipline Student PEIMS |} {{center/end}} Once the analysis of the current system and the new M.E.I.S system is accomplished, it is important that a thorough proposal be made in order easily design the new system. The proposal should include the wants and needs of both the technology department and the end-users as a whole. == DESIGN == The third step in the Systems Development Cycles is the Systems Design. This step describes the desired features and operations. This would include what the actual screens would look like, rules, the coding and anything else that is needed to create the desired outcome. <div style="text-align: center;">'''''The business module should included the following in the design:'''''</div> {| class="wikitable" |- ! ! |- | Accounting | The ability for administrators and staff to manage daily fiscal administration and information such as budgeting, funding, purchasing, receivables, payables and inventory control |- | Payroll & Personnel | The ability for payroll and staff the ability to utilize a comprehensive payroll, application tracking and personnel system designed for an educational environment |- | Integrated Reporting | All personnel should have the ability to produce extensive, flexible, standard and regulatory reports with an easy “point and click” response |- | Employee Access | Employees should have the ability to access a web-based employee service center to view from work or home. They should have the ability to view their payroll and leave history as well as elect or change their benefits and deductions |- | Administrator Information Center | Principals and Administrators will have the ability to monitor current summary and detail budgetary performance, employee statistics, substantial purchases and much more. This should also be available through web-based application |- | Miscellaneous Billing | Manages billing, receivables, and payments for district provided services. |} <div style="text-align: center;">'''''The Teacher/Student module, should have the following included in the design:'''''</div> {| class="wikitable" |- ! ! |- | Student Administration | District staff will easily manage day-to-day student administration and information such as demographics, attendance, scheduling, discipline, report cards, and transcripts |- |Teacher Access Center |Teachers can utilize a comprehensive web-based attendance, grading, and gradebook classroom management system. The Teacher Access data integrates with the Home Access Center for instant updating of the student’s data without additional teacher work allowing easy communication with parents and students |- |Access from Home |Parents can access an internet web-portal which presents them with summary and detailed information regarding their child’s progress and school information |- | Monitoring daily activity |Administrative staff can monitor daily school or district-wide statistics for attendance, discipline, enrollment, etc., from their home page |- | Integrated Reporting | District personnel can produce an extensive amount of flexible standard reports, regulatory reports or use an intuitive “point and click” report writer for on-demand reporting |} M.E.I.S should offer seamless interaction between the Business and Teacher/Student modules. M.E.I.S should inform and change each interface when changes are made, which eliminates repetition. This process is SIF compliant and this is one of the best features that will be implemented into M.E.I.S. '''Hardware and Software Requirements''' This program can run on either a MAC or a PC. However, the district has decided to us on PC's and replace any MAC's. The PC should contain the following MINIMUM specifications: **Operating System: Windows XP Professional SP2 **Processor: AMD Athlon or Intel Celeron **Memory: 512 MB **Hard Drive: 40 GB **Microsoft Office or equivalent to export reports **Printer access (Local or Networked) **Network Access **Internet Access <div style="text-align: center;">'''Data Flow Diagram'''</div> <div style="text-align: center;">[[File:DataFlow_Diag.jpg‎]]</div> == IMPLEMENTATION == The Fourth step in the Systems Development Cycle is Implementation, where the real code is written and everything is put together for testing, production, training, and actually putting the Information system into action. Basically the implementation phase is when the M.E.I.S theory is put in to real life. To implement M.E.I.S, there will be no need for hardware upgrades, it runs on a Mac or PC, it is user friendly, no special connectivity is required, it is fast and reliable, and most of all, it is safe and secure. The designed M.E.I.S program will be loaded onto the end-users computer and the training of the new system begins. The main topics for M.E.I.S training should include the following: **Execution of the M.E.I.S System **Data Entry **Data Processing **Reporting Once the end-users are trained, the old system needs to shift to the new system that has been established. It is important use both systems simultaneously for a certain period of time in order to compare the results of what was used in the past with what is being implemented. This is called a Parallel run A second approach after a parallel run is installing the new system in sections. One part of the system is installed first and executed by the end users for a certain period of time. When this section is running smoothly without any glitches, then another section is implemented, until all sections are running satisfactory with ease. This is called a Pilot run == MAINTENANCE == Maintenance is the final step of the Systems Development Cycle which is basically the rest of the Information Systems existence. There will be changes, corrections, additions, and upgrades due to changes in the Operating systems and/or Platforms. Maintenance is necessary to eliminate and correct errors in the system. With technology there are always some errors found in any system that must be noted and corrected. This is why there are always upgrades to all types of system software. Maintenance also includes periodic reviews of the system to look for any changes needed or performance adjustments. Since technology changes dramatically year to year, there comes a time when a major change will be needed in the current information system. If this is the case, then a new System Development Cycle will be required. == ASSESSMENT == Completion Complete each statement. 1. List the Phases of Systems Development Cycle in order. Matching a. Planning e. Maintenance b. Analysis f. Pilot Run c. Design g. Parallel Run d. Implementation ____ 2. Describes the desired features and operations. ____ 3. Where changes, corrections, additions, and upgrades due to changes in the Operating systems and/or Platforms. ____ 4. Establishes an overview of the intended project and determines goals for the project. ____ 5. Where the real code is written and everything is put together for testing, production, training, and actually putting the Information system into action. ____ 6. Installing the new system in sections. ____ 7. Puts the project goals created in the planning phase into defined functions ____ 8. Using both systems simultaneously for a certain period of time in order to compare the results of what was used in the past with what is being implemented. References: Pentamation by SunGuard www.pentamation.com Shelly, Cashman, Vermaat, "CoursePort". Discovering Computers 2007. January 25, 2009 http://oc.course.com/sc/dc2007/index.cfm?action=review&chapter=12 {{BookCat}} nh7lkv6xyu1xhxst0u2f7ktbl1twztx Foundations and Assessment of Education/Edition 1/Foundations Table of Contents/Chapter 5/5.2.1 0 194445 4656819 4652036 2026-08-09T16:14:23Z ShakespeareFan00 46022 4656819 wikitext text/x-wiki {{BookCat}} <table WIDTH="85%" ALIGN="center"><tr><td style="background-color: #FF3366;border: solid 10px #56A5EC; padding: 1em;" valign=center> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><big><b>Learned Helplessness In Our Students And Learning How We HELP!</b></big></span></div> </td></tr></table> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><b>By Amy Baker (ABake028)</b></span></div> <table WIDTH="35%" ALIGN="left"><tr><td style="background-color: #56A5EC;border: solid 5px #FF3366; padding: 1em;" valign=top> <span style="font-family: Arial; font-size: medium;"><div style="text-align: center;"><b><u>Contents</u></b></div> 1. Learning Targets 2. What is learned helplessness? 3. How does this affect my students? 4. How can I teach these students? 5. Conclusion 6. Multiple Choice Questions 7. References </span></td></tr></table> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><b><u>Learning Targets</u></b></span></div> <div style="text-align: center;">Students should be able to...</div> 1. Understand what learned helplessness means for students 2. Understand the traits related to learned helplessness 3. Implement some strategies to help with learned helplessness in the classroom <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>What Is Learned Helplessness?</b></span> The bell rang and students began pouring into the classroom, slowly they put away their backpacks and began trickling to their desks amongst all the chatter. Now that they were all seated, we were ready for our morning brain warm ups! Math worksheets were handed out and a sea of whining filled the classroom. “I can’t do this,” “These are all hard problems,” “I give up,” “How do you do these? I don’t know how!” Before students even have a chance to see what they were working on they feel defeated. This is known as learned helplessness or a psychological condition in which a student “has learned to act or behave helpless in a particular situation, even when they have the power to change their unpleasant or even harmful circumstance" (Seligman, 1975). <table WIDTH="65%" ALIGN="center"><tr><td style="background-color: #FF3366;border: solid 5px #56A5EC; padding: 1em;" valign=center> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: medium;"><b>“Students who are repeatedly exposed to school failure are particularly at risk for the development of learned helplessness” (Sutherland and Singh, 2004, pg. 172). </b></span></div></td></tr></table> Learned helplessness “exists when individuals believe that their own behavior has no influence on consequent events” (Seligman, 1975). Seligman believes this phenomenon is comprised of three different parts “(a) an undermining of one’s motivation to respond; (b) a retardation of one’s ability to learn that responding works; and (c) an emotional disturbance, usually depression or anxiety.” For students this becomes a vicous cycle since one component can directly affect another and rapidly create a snowball pattern. Typically students are depressed about past failures and “begin to doubt their intellectual abilities, and this leads them to doubt that they can do anything to help overcome their difficulties. They then lessen their achievement efforts, particularly when faced with difficult material, and this leads in turn to continued failure” (Sutherland and Singh, 2004, pg. 172). Obviously, students who are wrapped up in this snowball effect get the overwhelming feeling that they will never get problems correct. This becomes a difficult task for students to overcome. <table WIDTH="110%" ALIGN="left"><tr><td style="background-color: #56A5EC;border: solid 5px #FF3366; padding: 1em;" valign=top> {{font/top|face='Arial'|size=3}} <div style="text-align: center;"><b><u>10 Ways to see if your student exhibits learned helplessness behaviors!</u></b></div> Does your student…. 1. Prefer to do easy problems rather than hard ones? 2. Takes little independent initiative? 3. Fail one part of a task and is certain to fail at the entire task? 4. Make negative or degrading comments about his/her ability when s/he performs poorly? 5. Give up when you correct them? 6. Stop trying when s/he encounters an obstacle in school work? 7. Asks for help from aides, other students more than necessary? 8. Fail a few problems, and continues to do poorly even though the problems are within his/her ability range? 9. Not respond with enthusiasm and pride when asked how s/he is doing on an academic task? 10. Attribute their good grade to luck, problems being easy or you were being nice? <div style="text-align: center;">Student Behavior Checklist (Fincham et al. 1989)</div> {{font/end}} </td></tr></table> <span style="font-family: Comic Sans MS; font color: #56A5EC;"><b>How does learned helplessness affect my students</b></span> When students are feeling as though they cannot “control” their failure, they do show some symptoms. The most common signs of learned helplessness are those of “shared depression symptoms such as passivity, interjected hostility, weight loss, appetite loss, and social deficits. In addition to these familiar signs, learned helplessness also has some diagnostic symptoms including depressed mood, feelings of worthlessness, and suicidal ideation” (Wikipedia, 2008). This is a lot for a child to have to deal with in addition to learning the information being presented. These depression like symptoms affect students in their educational learning. Fincham, Hokoda, Sanders asserts that if a child finds new material particularly difficult he/she falls into a defensive pattern, learned helplessness, which increases obstacles in learning (1989, pg. 138). This psychological condition can greatly affect academics because of the snowball effect. Academic failures of the past lead to flawed deductive reasoning in children, the conclusion of which is that failure is the norm. This vicious cycle of failure, doubt and failure again can manifest in both academic achievement and social development. Thus learned helplessness is not only an additional learning barrier but also a comforting internal excuse (Wikipedia, 2008). Once behind in academic skills, students feel hopeless and lose interest in even trying. Since we know this condition can cripple our students’ education, how do we prevent this from entering our classrooms? <table WIDTH="85%" ALIGN="center"><tr><td style="background-color: #FF3366;border: solid 10px #56A5EC; padding: 1em;" valign=center> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><b>Do You Promote Learned Helplessness? [http://www.chickmoorman.com/PAhelplessness.html Take This Quiz!]</b></span></div></td></tr></table> <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>How can I teach these students?</b></span> What we do know is that students with learned helplessness exhibit symptoms similar to depression. As teachers we do have tricks up our sleeves to help eliminate learned helplessness behaviors in our classrooms. Sutherland and Singh believe “academic failure may result in students’ receiving little positive reinforcement” ( 2004, pg.169). The first thing we can attempt with these students is forms of positive reinforcement. When good performance is achieved; perhaps positive verbal feedback, tokens, stickers or some type of reward for a job well done; anything that will give these students a pat on the back and make them feel worthy. This, over time, will hopefully build the students’ confidence and begin to break down those depressive behaviors. Additionally, studies have shown that the teacher-student dynamic is contributing to the development and maintenance of learned helplessness. It is not that teachers actively reinforce learned helplessness behaviors but rather because of student disposition, positive reinforcement occurs so seldom between teachers and students that students are unfamiliar with the positive reinforcement dynamic (Sutherland and Singh, 2004, pg. 171). For this method to be effective it needs to occur over time and it needs to be consistent so the student learns the connection between the performance and the praise. In addition to the positive praise we give students, we also need to be aware of the type of critical response we give. Criticisms directed towards students like "I'm very disappointed in you" are often received as personal attacks and further reinforce the underlying depressive emotions of learned helplessness that are represented as "I'm no good, I'm a failure." However, process criticism like "Maybe you can think of another way to do it?" leads to a healthier academic attitude. This paradigm is mirrored in the person versus process praise dynamic as well. Person praise such as "I'm very proud of you" leads to student centered outcomes such as "I'm a success, I'm a failure;" whereas process praise like "You must have tried really hard" leades to challenge centered outcomes such as "I can do this" (Sutherland and Singh, 2004, pg. 175). As teachers we have to be conscious to make our criticisms and praise about the process of the problem not the person so that the failure can be attributed to the actual work not an intelligence factor. Since we know positive reinforcement is helpful over time it is necessary to make process praise a part of our everyday curriculum. But how can we aide these students with academic performance? Tests of course!! Research shows that with learned helplessness “students who had hard questions before the easy questions would tend to give up on the easy questions due to frustration…the perceived failure alone was sufficient to make students feel helpless and give up on the test” (Firman et al., 2004, pg. 692). What does this mean for us? To avoid this test anxiety we can alter our tests so that all students can feel successful while taking them. “For decades, teachers and test developers have been advised to arrange the test items in the ascending order of difficulty so that the test takers would be motivated by the early successful experience and continue the test” (Firman et al., 2004, pg. 692). This method will hopefully motivate your students and build confidence so that over time (and throughout the test) they may begin attributing their success in the beginning questions with intellectual ability rather than external occurrences. <span style="font-family: Comic Sans MS; font color: #56A5EC;"><b>Conclusion</b></span> In today’s society, our students have additional pressure for high academic performance from their parents, school systems, and state tests. This additional anxiety often leads to learned helplessness behaviors that we see in the classroom more and more. Although these behaviors are difficult to handle in our classroom management, it is our duty to try different methods to combat this condition. Evidence shows that “teachers provide less academic instruction to students who exhibit problem behavior” (Sutherland and Singh, 2004, pg. 169). We need to make conscious efforts to give special attention to these students so that they may succeed in their academic career. In addition to the one on one time, we have to remember to stay positive and model positive behavior in our classroom. For these students a “lack of positive reinforcement leads to a lack of confidence, a developmental increase in the need for external approval, a perception that one has little control over outcomes in one’s life, and ultimately a decrease in motivation” (Sutherland and Singh, 2004, pg. 173). This is often a difficult task to accomplish all year long, but keep it simple: praise, praise, praise on procedure and model the positive behaviors in your classroom. <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>Multiple Choice Questions</b></span> 1. Students with learned helplessness believe A. Once they have help they can succeed B. Other students can learn to help them C. Teachers are great and always teach great lessons D. They will continue to fail on future problems 2. Students with learned helplessness may exhibit all of the following EXCEPT: A. Ask their peers for help B. Give up when you correct them C. Prefer easy questions over hard D. Sit quietly and not respond 3. Telling a student “I really like that you showed your long division work” is an example of A. Person criticism B. Person praise C. Process criticism D. Process praise 4. To best create a test to avoid learned helplessness behaviors teachers can A. Create special tests for these students B. Place factual questions before conceptual questions C. Read the test out loud D. Use all multiple choice questions <span style="font-family: Comic Sans MS; font color: #56A5EC;"><b>Answers</b></span> 1. (D) 2. (D) 3. (D) 4. (B) <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>References</b></span> Fincham, F.D., Hokoda, A., & Sanders, R.J. (1989). Learned Helplessness, Test Anxiety, and Academic Achievement: A Longitudinal Analysis. Child Development, 60, 138-145. Firman, M., Hwang, C., Copella, M., & Clark, S. (2004). Learned Helplessness: The Effect of Failure on Test-Taking. Education, 124(4), 688-693. Learned Helplessness. Retrieved September 16, 2008, from http://en.wikipedia.org/wiki/Learned_helplessness.html Moorman, C. The Language of Learned Helplessness Quiz. Skill Training and Resources for Parents and Educators. Retrieved September 16, 2008, from http://www.chickmoorman.com/PAhelplessness.html Seligman, M.E.P. (1975). Helplessness: On Depression, Development, and Death. San Francisco: W.H.Freeman. Sutherland, K.S., & Singh, N.N. (2004). Learned Helplessness and Students with Emotional or Behavioral Disorders: Deprivation in the Classroom. Behavioral Discorders, 29(2), 169-181. {{FAE/Rating|edition=1|UIN=54}} lwljhimyg82a7wkyf2y81e4kixvlylr 4656820 4656819 2026-08-09T16:14:55Z ShakespeareFan00 46022 4656820 wikitext text/x-wiki {{BookCat}} <table WIDTH="85%" ALIGN="center"><tr><td style="background-color: #FF3366;border: solid 10px #56A5EC; padding: 1em;" valign=center> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><big><b>Learned Helplessness In Our Students And Learning How We HELP!</b></big></span></div> </td></tr></table> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><b>By Amy Baker (ABake028)</b></span></div> <table WIDTH="35%" ALIGN="left"><tr><td style="background-color: #56A5EC;border: solid 5px #FF3366; padding: 1em;" valign=top> <div style="font-family: Arial; font-size: medium;"><div style="text-align: center;"><b><u>Contents</u></b></div> 1. Learning Targets 2. What is learned helplessness? 3. How does this affect my students? 4. How can I teach these students? 5. Conclusion 6. Multiple Choice Questions 7. References </div></td></tr></table> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><b><u>Learning Targets</u></b></span></div> <div style="text-align: center;">Students should be able to...</div> 1. Understand what learned helplessness means for students 2. Understand the traits related to learned helplessness 3. Implement some strategies to help with learned helplessness in the classroom <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>What Is Learned Helplessness?</b></span> The bell rang and students began pouring into the classroom, slowly they put away their backpacks and began trickling to their desks amongst all the chatter. Now that they were all seated, we were ready for our morning brain warm ups! Math worksheets were handed out and a sea of whining filled the classroom. “I can’t do this,” “These are all hard problems,” “I give up,” “How do you do these? I don’t know how!” Before students even have a chance to see what they were working on they feel defeated. This is known as learned helplessness or a psychological condition in which a student “has learned to act or behave helpless in a particular situation, even when they have the power to change their unpleasant or even harmful circumstance" (Seligman, 1975). <table WIDTH="65%" ALIGN="center"><tr><td style="background-color: #FF3366;border: solid 5px #56A5EC; padding: 1em;" valign=center> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: medium;"><b>“Students who are repeatedly exposed to school failure are particularly at risk for the development of learned helplessness” (Sutherland and Singh, 2004, pg. 172). </b></span></div></td></tr></table> Learned helplessness “exists when individuals believe that their own behavior has no influence on consequent events” (Seligman, 1975). Seligman believes this phenomenon is comprised of three different parts “(a) an undermining of one’s motivation to respond; (b) a retardation of one’s ability to learn that responding works; and (c) an emotional disturbance, usually depression or anxiety.” For students this becomes a vicous cycle since one component can directly affect another and rapidly create a snowball pattern. Typically students are depressed about past failures and “begin to doubt their intellectual abilities, and this leads them to doubt that they can do anything to help overcome their difficulties. They then lessen their achievement efforts, particularly when faced with difficult material, and this leads in turn to continued failure” (Sutherland and Singh, 2004, pg. 172). Obviously, students who are wrapped up in this snowball effect get the overwhelming feeling that they will never get problems correct. This becomes a difficult task for students to overcome. <table WIDTH="110%" ALIGN="left"><tr><td style="background-color: #56A5EC;border: solid 5px #FF3366; padding: 1em;" valign=top> {{font/top|face='Arial'|size=3}} <div style="text-align: center;"><b><u>10 Ways to see if your student exhibits learned helplessness behaviors!</u></b></div> Does your student…. 1. Prefer to do easy problems rather than hard ones? 2. Takes little independent initiative? 3. Fail one part of a task and is certain to fail at the entire task? 4. Make negative or degrading comments about his/her ability when s/he performs poorly? 5. Give up when you correct them? 6. Stop trying when s/he encounters an obstacle in school work? 7. Asks for help from aides, other students more than necessary? 8. Fail a few problems, and continues to do poorly even though the problems are within his/her ability range? 9. Not respond with enthusiasm and pride when asked how s/he is doing on an academic task? 10. Attribute their good grade to luck, problems being easy or you were being nice? <div style="text-align: center;">Student Behavior Checklist (Fincham et al. 1989)</div> {{font/end}} </td></tr></table> <span style="font-family: Comic Sans MS; font color: #56A5EC;"><b>How does learned helplessness affect my students</b></span> When students are feeling as though they cannot “control” their failure, they do show some symptoms. The most common signs of learned helplessness are those of “shared depression symptoms such as passivity, interjected hostility, weight loss, appetite loss, and social deficits. In addition to these familiar signs, learned helplessness also has some diagnostic symptoms including depressed mood, feelings of worthlessness, and suicidal ideation” (Wikipedia, 2008). This is a lot for a child to have to deal with in addition to learning the information being presented. These depression like symptoms affect students in their educational learning. Fincham, Hokoda, Sanders asserts that if a child finds new material particularly difficult he/she falls into a defensive pattern, learned helplessness, which increases obstacles in learning (1989, pg. 138). This psychological condition can greatly affect academics because of the snowball effect. Academic failures of the past lead to flawed deductive reasoning in children, the conclusion of which is that failure is the norm. This vicious cycle of failure, doubt and failure again can manifest in both academic achievement and social development. Thus learned helplessness is not only an additional learning barrier but also a comforting internal excuse (Wikipedia, 2008). Once behind in academic skills, students feel hopeless and lose interest in even trying. Since we know this condition can cripple our students’ education, how do we prevent this from entering our classrooms? <table WIDTH="85%" ALIGN="center"><tr><td style="background-color: #FF3366;border: solid 10px #56A5EC; padding: 1em;" valign=center> <div style="text-align: center;"><span style="font-family: Comic Sans MS; font color: black; font-size: large;"><b>Do You Promote Learned Helplessness? [http://www.chickmoorman.com/PAhelplessness.html Take This Quiz!]</b></span></div></td></tr></table> <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>How can I teach these students?</b></span> What we do know is that students with learned helplessness exhibit symptoms similar to depression. As teachers we do have tricks up our sleeves to help eliminate learned helplessness behaviors in our classrooms. Sutherland and Singh believe “academic failure may result in students’ receiving little positive reinforcement” ( 2004, pg.169). The first thing we can attempt with these students is forms of positive reinforcement. When good performance is achieved; perhaps positive verbal feedback, tokens, stickers or some type of reward for a job well done; anything that will give these students a pat on the back and make them feel worthy. This, over time, will hopefully build the students’ confidence and begin to break down those depressive behaviors. Additionally, studies have shown that the teacher-student dynamic is contributing to the development and maintenance of learned helplessness. It is not that teachers actively reinforce learned helplessness behaviors but rather because of student disposition, positive reinforcement occurs so seldom between teachers and students that students are unfamiliar with the positive reinforcement dynamic (Sutherland and Singh, 2004, pg. 171). For this method to be effective it needs to occur over time and it needs to be consistent so the student learns the connection between the performance and the praise. In addition to the positive praise we give students, we also need to be aware of the type of critical response we give. Criticisms directed towards students like "I'm very disappointed in you" are often received as personal attacks and further reinforce the underlying depressive emotions of learned helplessness that are represented as "I'm no good, I'm a failure." However, process criticism like "Maybe you can think of another way to do it?" leads to a healthier academic attitude. This paradigm is mirrored in the person versus process praise dynamic as well. Person praise such as "I'm very proud of you" leads to student centered outcomes such as "I'm a success, I'm a failure;" whereas process praise like "You must have tried really hard" leades to challenge centered outcomes such as "I can do this" (Sutherland and Singh, 2004, pg. 175). As teachers we have to be conscious to make our criticisms and praise about the process of the problem not the person so that the failure can be attributed to the actual work not an intelligence factor. Since we know positive reinforcement is helpful over time it is necessary to make process praise a part of our everyday curriculum. But how can we aide these students with academic performance? Tests of course!! Research shows that with learned helplessness “students who had hard questions before the easy questions would tend to give up on the easy questions due to frustration…the perceived failure alone was sufficient to make students feel helpless and give up on the test” (Firman et al., 2004, pg. 692). What does this mean for us? To avoid this test anxiety we can alter our tests so that all students can feel successful while taking them. “For decades, teachers and test developers have been advised to arrange the test items in the ascending order of difficulty so that the test takers would be motivated by the early successful experience and continue the test” (Firman et al., 2004, pg. 692). This method will hopefully motivate your students and build confidence so that over time (and throughout the test) they may begin attributing their success in the beginning questions with intellectual ability rather than external occurrences. <span style="font-family: Comic Sans MS; font color: #56A5EC;"><b>Conclusion</b></span> In today’s society, our students have additional pressure for high academic performance from their parents, school systems, and state tests. This additional anxiety often leads to learned helplessness behaviors that we see in the classroom more and more. Although these behaviors are difficult to handle in our classroom management, it is our duty to try different methods to combat this condition. Evidence shows that “teachers provide less academic instruction to students who exhibit problem behavior” (Sutherland and Singh, 2004, pg. 169). We need to make conscious efforts to give special attention to these students so that they may succeed in their academic career. In addition to the one on one time, we have to remember to stay positive and model positive behavior in our classroom. For these students a “lack of positive reinforcement leads to a lack of confidence, a developmental increase in the need for external approval, a perception that one has little control over outcomes in one’s life, and ultimately a decrease in motivation” (Sutherland and Singh, 2004, pg. 173). This is often a difficult task to accomplish all year long, but keep it simple: praise, praise, praise on procedure and model the positive behaviors in your classroom. <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>Multiple Choice Questions</b></span> 1. Students with learned helplessness believe A. Once they have help they can succeed B. Other students can learn to help them C. Teachers are great and always teach great lessons D. They will continue to fail on future problems 2. Students with learned helplessness may exhibit all of the following EXCEPT: A. Ask their peers for help B. Give up when you correct them C. Prefer easy questions over hard D. Sit quietly and not respond 3. Telling a student “I really like that you showed your long division work” is an example of A. Person criticism B. Person praise C. Process criticism D. Process praise 4. To best create a test to avoid learned helplessness behaviors teachers can A. Create special tests for these students B. Place factual questions before conceptual questions C. Read the test out loud D. Use all multiple choice questions <span style="font-family: Comic Sans MS; font color: #56A5EC;"><b>Answers</b></span> 1. (D) 2. (D) 3. (D) 4. (B) <span style="font-family: Comic Sans MS; font color: #FF3366;"><b>References</b></span> Fincham, F.D., Hokoda, A., & Sanders, R.J. (1989). Learned Helplessness, Test Anxiety, and Academic Achievement: A Longitudinal Analysis. Child Development, 60, 138-145. Firman, M., Hwang, C., Copella, M., & Clark, S. (2004). Learned Helplessness: The Effect of Failure on Test-Taking. Education, 124(4), 688-693. Learned Helplessness. Retrieved September 16, 2008, from http://en.wikipedia.org/wiki/Learned_helplessness.html Moorman, C. The Language of Learned Helplessness Quiz. Skill Training and Resources for Parents and Educators. Retrieved September 16, 2008, from http://www.chickmoorman.com/PAhelplessness.html Seligman, M.E.P. (1975). Helplessness: On Depression, Development, and Death. San Francisco: W.H.Freeman. Sutherland, K.S., & Singh, N.N. (2004). Learned Helplessness and Students with Emotional or Behavioral Disorders: Deprivation in the Classroom. Behavioral Discorders, 29(2), 169-181. {{FAE/Rating|edition=1|UIN=54}} 6f8vpyw46pspix3ijgfryms37j7fdwv Foundations and Assessment of Education/Edition 1/Foundations Table of Contents/Chapter 5/5.2.2 0 194446 4656854 4650525 2026-08-09T22:10:42Z ShakespeareFan00 46022 4656854 wikitext text/x-wiki <table WIDTH="85%" ALIGN="center"><tr><td style="background-color: #00FF66;border: solid 10px #FF3366; padding: 1em;" valign=center> <div style="text-align: center;"><span style="font-family: Calibri; font color: black; font-size: large;"><big>'''Learned Helplessness In the Classroom and How We Can Turn "I Can't!" Into "I Can!" '''</big></span></div></td></tr></table> <div style="text-align: center;"><span style="font-family: Calibri; font color: black; font-size: large;">'''By Caroline Foglia (cfogl001)'''</span></div> <table WIDTH="35%" ALIGN="center"><tr><td style="background-color: #00FF66;border: solid 5px #FF3366; padding: 1em;" valign=top> {{font/top|face='Calibri'|size=3}} <div style="text-align: center;"><b><u>Learning Targets</u></b></div> <div style="text-align: center;">'''Students should be able to...'''</div> '''1. Understand what Learned Helplessness is in today's classroom.''' '''2. Recognize signs and symptoms of students expressing Learned Helplessness.''' '''3. Gain new skills and ideas in order to combat Learned Helplessness in the classroom.''' {{font/end}} </td></tr></table> <span style="font-family: Calibri; font color: #FF3366;">'''Learned Helplessness: What's That?'''</span> My younger sister, Jacqueline, is a typical 7th grade preteen. While she enjoys making good use of the middle school girls’ school day with girlish chatter in class and passing notes to her friends, she is also very sensitive and conscious of how she performs in her academics. One afternoon as she was beginning her Algebra I homework, the kitchen quickly became filled with cries of “I can’t!”, “This is too hard!”, and “I’ll never be able to do this!”. These outbursts were then followed by a stomping of feet up the stairs, a slamming of the bedroom door, and crying. My heart went out to my little sister, so I went to get her homework and help her. But when I saw the worksheet, I noticed that it was completely blank. No work had even been attempted. My smart, capable, sister had given up in a fury of self-insufficiency before she had even begun… This anecdote is a prime example of a condition in today’s academic society called Learned Helplessness. This psychological, internalization of self-doubt creates a mindset in which a student “behave[s] helpless in a particular situation, even when they have the power to change their unpleasant or even harmful circumstance" (Seligman, 1975). When students feel as if nothing they can do as an individual will affect their achievement level, they are experiencing learned helplessness (Seligman, 1975). According to Seligman, learned helplessness is composed of three unique, but intertwined factors… 1. “An undermining of one’s motivation to respond.” This means that students’ motivation to complete an assessment is usually internally depleted before the assessment is even attempted. 2. “A retardation of one’s ability to learn that responding works.” In other words, students are hesitant to respond to assessment because they feel like it won’t matter whether they do or don’t. 3. “An emotional disturbance, usually depression or anxiety.” The student is emotionally affected by his or her psychological, defeatist mindset (Seligman, 1975). These three factors undoubtedly work in a destructive, interconnected cycle as students lacking in personal motivation due to a misunderstanding of the value of the assessment and of negative self-worth because of past academic failures often become more depressed over time. As a result, an ever-expanding snowball of learned helplessness is formed, and continues to form throughout students’ academic careers. What does "The Terminator," AKA California's state governor have to say about Learned Helplessness? <table WIDTH="35%" ALIGN="center"><tr><td style="background-color: #00FF66;border: solid 5px #FF3366; padding: 1em;" valign=top> <div style="text-align: center;"><span style="font-family: Calibri; font-size: medium;"><b>“Learned helplessness is the giving-up reaction, the quitting response that follows from the belief that whatever you do doesn't matter.”- Arnold Schwarzenegger (Schwarzenegger, 2006)</b></span></div></td></tr></table> <span style="font-family: Calibri; font color: #FF3366;"><b>What Does Learned Helplessness in Today's Schools Look Like?</b></span> Because learned helplessness and depression are so closely linked in characteristic behaviors, the signs and symptoms for human depression are very similar to those of learned helplessness (Wikipedia, 2009). Students who experience learned helplessness often exude depression-like signs such as hostility, passivity, weight loss, depressed mood, and feelings of worthlessness (Wikipedia, 2009). Students who attribute these symptoms and feelings towards academic failure fall into a cycle of deficiency and depression, which ultimately leads to students leaning on their "helplessness" as a crutch to qualify failure in other aspects of their lives, such as the social (Wikipedia, 2009). Key phrases of students in the classroom experiencing learned helplessness include: <table WIDTH="35%" ALIGN="center"><tr><td style="background-color: #00FF66;border: solid 5px #FF3366; padding: 1em;" valign=top> {{font/top|face='Calibri'|size=3}} 1. "These problems are too hard to do!" 2. "I'll never be able to understand this!" 3. "I'm not smart enough to know how to do this!" 4. "I can't!" 5. "I give up!" {{font/end}} </td></tr></table> As students fall into the learned helplessness cycle, they continue to verbally express their resistance to assessments which seem too difficult to handle. However, learned helplessness is not a surface condition. It is rooted much deeper, in the human psyche; therefore, many students' words of self-defeat are rooted much deeper as well. If learned helplessness is such a serious matter in today's schools, what in the world can educator's do to help? <span style="font-family: Calibri; font color: #FF3366;"><b>How Can Teachers Help to Minimize Learned Helplessness in the Classroom?</b></span> As students' main source of guidance in the classroom, everything that teachers do plays a vital role in the creation and molding of his or her pupils' educational outlook. Furthermore, just because students appear "helpless," does not mean that teachers have to be! Just as learned helplessness is formed, it can be reformed. And there are a few specific tricks of the trade that teachers can use to fight back against learned helplessness in the classroom. '''Feedback ''' Good feedback is one of the most powerful tools a teacher can use to improve students’ classroom experience (Grimes, 1981). Positive, beneficial feedback has the ability to shape and reshape the way a student views his or herself. Feedback that relates to goals and objectives, focuses on work and progress, and describes rather than judges can produce positive results in students to counteract learned helplessness (Grimes, 1981). Good feedback should provide praise to students for overcoming a challenge and motivation for them to strive to challenge themselves even further. <table WIDTH="35%" ALIGN="center"><tr><td style="background-color: #00FF66;border: solid 5px #FF3366; padding: 1em;" valign=top> {{font/top|face='Calibri'|size=3}} {{center|'''Ten Examples of Positive Verbal Feedback'''}} 1. "Act as if you can." '''2. "Let me demonstrate for you."''' '''3. "You must have worked really hard."''' '''4. "Can you think of any alternative ways to do that?"''' '''5. "Take a risk and see if you can do it!"''' '''6. "What possibilities do you see?"''' '''7. "Sounds like you have a problem. What have you thought of so far?"''' '''8. "Ask me if you need any help."''' '''9. "This must have taken a lot of effort!"''' '''10. "What improvements can you come up with for this?"''' {{font/end}} </td></tr></table> '''Assessment''' How teachers assess their students can make a huge impact on how students regard their own achievement and personal motivation. One of the most important goals of assessment is to give students an opportunity to use and learn what they know. One simple trick to reducing learned helplessness is to create tests in an ego-boosting format, in which questions begin at the simplist level and get progressively more difficult (Firman et al., 2004). Firman's research notes that students experiencing learned helplessness who took tests in which questions were placed with the hardest questions first "tend to give up on the easy questions due to frustration," (Firman et al., 2004). Furthermore, his study showed that the majority of those same students became so disenchanted and discouraged they gave up on the assessment altogether (Firman et al., 2004). By placing the easy questions at the beginning of tests, students have a chance to build self-confidence, and are more likely to continue on with the test with determination, instead of defeat. '''Cognitive Behavior Modification Strategies''' Cognitive behavior strategies help reinforce and link the ideas of cause and effect with "tackle and task" in students' minds (Grimes, 1981). Through research, it has been shown that students become for proficient problem solvers through discovering that "response and outcome are related though personal effort," (Grimes, 1981). Through behavior modification strategies, students are more likely to have a positive view of themselves and their capabilities by being shown that they have an immediate effect on their own environment. Some examples of behavior modification methods include tokens/play-money, positive verbal feedback, stamps, and special positions (such as teacher's helper)(Grimes, 1981). There is really no limit to what teachers can come up with to use as behavior modifiers- as long as it promotes a "job well done" way of thinking to the student. The vital aspect of this strategy is for students to grasp the connection between behavior and praise. Over an extended period of time, this method can help students see beyond the external locus of control as the cause of their level of achievement, and look towards their internal locus of control as the attributor to their success (Grimes, 1981). The more students can associate positive types of feedback as a direct result of their own positive actions, the less likely they are to get swept up in the tornado of learned helplessness. <span style="font-family: Calibri; font color: #FF3366;"><b>In Conclusion...</b></span> Although we may sometimes envy the seemingly simplistic lives of children, to students, their lives can be just as hectic and stressful as ours seem to be. Students in school face enormous amounts of pressure to perform exceedingly well from parents, educators, classmates, school board members, and even politicians. And as we may forget, sometimes the largest amount of pressure to succeed comes from within the student. As learned helplessness becomes more and more prevalent in today's classrooms, teachers must remember to be open to new ways of modifying behavior and to take each individual student into consideration as just that- an individual. Most importantly, teachers must amplify optimism and the neverending opportunity for student succuss in the classroom. If learned helplessness is on the incline in today's schools, then teacher positivity and motivation must also be on the incline. The more we model positive behavior and thinking, the more our students will absorb it and hopefully use it within themselves. Every student of every kind is more than capable of greatness, and it is a teacher's duty to instill that fact in each and every one of his or her students. <span style="font-family: Calibri; font color: #FF3366;"><b>Questions and Answers</b></span> 1. Students who experience learned helplessness feel like... A. If they work hard, then they will succeed B. Nothing they can do will affect their achievement level C. Teachers are always there for them when they need help D. They can bribe their teachers for good grades 2. Which of the following is NOT one of Seligman's components of learned helplessness? A. A retardation of one's ability to learn that responding works B. An emotional disturbance: depression C. An undermining of one's motivation to respond D. Going to the teacher for one-on-one help 3. Mrs. Smith wants to show her students how good behavior in class is linked with positive praise through the use of token rewards. Students who receive tokens for good behavior can trade them in for prizes. Which of the following educational strategies is Mrs. Smith using? A. Bribing B. Cognitive Behavior Modification C. Improved Test Format D. Verbal Feedback 4. Which of the following phrases would constitute as GOOD verbal feedback? A. "Better luck next time" B. "Nice!" C. "You put a lot of good work into this!" D. "You're smart!" Answers: 1.(B), 2.(D), 3.(B),4.(C) <span style="font-family: Calibri; font color: #FF3366;"><b>References</b></span> Firman, M., Hwang, C., Copella, M., & Clark, S. (2004). Learned Helplessness: The Effect of Failure on Test-Taking. Education, 124(4), 688-693. Grimes, L (1981). Learned Helplessness and Attribution Theory: Redefining Children's Learning Problems. Learning Disability Quarterly, 4, Retrieved Feb. 07, 2009, from http://www.jstor.org.proxy.lib.odu.edu/stable/1510719?seq=6&Search=yes&term=learned&term=helplessness&list=hide&searchUri=%2Faction%2FdoBasicSearch%3FQuery%3Dlearned%2Bhelplessness Moorman, C. The Language of Learned Helplessness Quiz. Skill Training and Resources for Parents and Educators. Retrieved September 16, 2008, from http://www.chickmoorman.com/PAhelplessness.html Schwarzenegger, A (2006). Learned Helplessness Quotes. Retrieved February 9, 2009, from ThinkExist.com Web site: http://thinkexist.com/quotation/learned_helplessness_is_the_giving-up_reaction/221949.html Seligman, M.E.P. (1975). Helplessness: On Depression, Development, and Death. San Francisco: W.H.Freeman. {{FAE/Rating|edition=1|UIN=55}} {{BookCat}} ryrdkrtbnghoyznuany5pebk8pllepy Foundations and Assessment of Education/Edition 1/Foundations Table of Contents/Chapter 9/Chapter FAQ 0 195165 4656818 4649585 2026-08-09T16:13:36Z ShakespeareFan00 46022 4656818 wikitext text/x-wiki <table WIDTH="90%" ALIGN="center"><tr><td style="background-color: #0000A0; border: solid 10px #FFBDBD; padding: 1em;" valign=center> <div style="text-align: center;color: #FF00FF; font-family: 'Lucidia'"> {{big/top}} Effective SChools Chapter FAQ's Susan Stone {{big/end}} </div> </td></tr></table> == Learning Targets == The student(s) will be able to discuss and analyze the characteristics associated with an effective school as demonstrated through the performances of students, teachers, and administrators. == Introducation == As we enter the world of education in the twenty first century, schools today are faced with many challenges. These challenges are all encompassing. They include effective teaching, safe and orderly environment, classroom management, planning and instruction, and the overall professionalism and attitude of people in a school building. Today's schools are a reflection of the community that they serve. With the laboring economy that effects us all, the work that has to be accomplished to create an effective school is more difficult than ever in the history of education. <table WIDTH="90%" ALIGN="center"><tr><td style="background-color: #FF8040; border: solid 10px #FFBDBD; padding: 1em;" valign=center> <div style="text-align: center;"><span style="color: #800517; font-family: LUCIDA;"><big>"The finest gift we can give our children is our heartfelt belief that they can succeed." -Lawrence W. Lezotte</big></span></div> </td></tr></table> == Chapter FAQ's == <big>Q: What are effective schools?</big> A: Lawrence, Lezotte, & McKee (2002) states that "Effective Schools are schools that can, in measured student achievement terms, demonstrate the joint presence of quality and equity. Effective Schools demonstrate high overall levels of achievement and no gaps in the distribution of that achievement across major subsets of the student population" (p.&nbsp;15). In order to establish an effective school atmosphere there must be a collaborative working environment between school personnel, parents and the community. A safe school environment is mandatory, and all academic initiatives must ensure student participation. For more information please refer to the following links: http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.3.1 http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.3.2 <big>Q: What is a Mentor?</big> A: A mentor is someone a student can look up to and role model after. A mentor is someone who is a trusted counselor or teacher and/or an influential senior and supporter (Mentoring, 2009). Teachers and students can benefit from having a mentor assigned to work with them on a regular basis. In Virginia, schools are required to have mentoring programs for new teachers to assist with classroom instruction, planning, classroom management, discipline procedures, and the overwhelming amount of paperwork required. New teachers were leaving the profession after just a few years in the classroom. Effective schools are able to maintain their professional teaching staffs. Teacher longevity in the classroom is essential for student success. Many effective schools also provide student mentors. Teachers work with targeted at-risk students who have continually performed poorly in the classroom, have a poor attendance record, or display signs of possibly dropping out of school. For more information please refer to the following links: http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.1.1 http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.1.2 <big>Q: What are Effective Teachers?</big> A: Wong & Wong (1999) state that "An effective teacher has three characteristics defined as having positive expectations for student success, is an extremely good classroom manager, and knows how to design lessons for student mastery" (pg. 64). These three characteristics associated with an effective teacher are considered extremely important and must be put into place before an effective classroom can be achieved. An effective teacher is able to establish a good working relationship with the students in his/her classroom. This sound working relationship is essential. Once this relationship is established, a teacher can expand the curriculum and provide a learning environment that allows students to grow to their fullest potential. <big>Q: What is a Safe and Orderly Environment?</big> A: The Student Wellbeing Branch (2006) states that safe schools are effective schools. Safe schools include a definition of bullying, an anti-bullying policy, and strategies for schools and parents on prevention and management. Students need to be educated in a safe haven. Without this, learning will not take place. Parents, students, teachers and administrators must work together to establish sensible and workable guidelines and daily procedures. All teachers must buy into the process and be consistent. There should be few rules, but many procedures for students to follow. <big>Q: What is Classroom Management?</big> A: Effective schools have teachers who are effective with their classroom management skills. Classroom management is the ability of a teacher to organize everyday tasks, lessons, and assignment in such a way that students are actively engaged throughout the class period. Wong, H., & Wong, R., (1999) states that "classroom management refers to all of the things that a teacher does to organize students, space, time, and materials so that instruction in content and student learning can take place"(p.&nbsp;26). Teachers in an effective school understand what must take place in the classroom in order for students to learn. Classroom management defines how well a teacher is organized. This includes easy transitioning from one activity to another, a variety of teaching activities, differentiation of instruction, student involvement in the lesson, and the lesson organize that the students are the active learners in the classroom. <big>Q: How to have effective planning?</big> A: In effective schools everyone, including all professonal and classified staff members, have to develop a plan. Those who do not plan find the school will have many behavior problems, off-tasked students, and general chaos (Breaux, 2003). In order for a teacher to be plan effectively, the understanding of the student data is essential. Once teachers and administrators understand and use the student data they will be able to plan for academic strengths and weaknesses of the class. Data should be broken down into many categories to truly comprehend what is happening in a school. This means teachers and administrators should look at test scores, attendance records of specific ethnic groups and student gender. This knowledge will give school personnel the ability to effectively plan their lessons and provide quality teaching strategies in the classroom. <big>Q: Is attitude everything?</big> A: Attitude is everything!! In effective schools all building level personnel must have the attitude that all students will learn and be successful. Breauz (2003) "Students should be treated with dignity while teachers carry themselves as a professional at all times and be the most enthusiastic person in the classroom" (p.&nbsp;7). No school can be effective if the teachers and administrators do not possess the attitude that all students will be successful. No program, no lesson, no learning activity will be effective without the presence of a good attitude. For more information please refer to the following links: http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.5.1 http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.5.2 <big>Q: How the community is affected?</big> A: Good school and community relations are an essential need to establish an effective school environment. Teachers and students must feel the support of their community. Dunlap & Alva (1999) discuss "Why is parent involvement so highly valued? Research shows that a correlate of increased levels of parent involvement is an increase in student achievement (Epstein, 1995; Flaxman & Inger, 1992; Hickman, Greenwood, & Miller, 1995), as well as improved student attendance and reduced dropout rates (Berger, 1991; Greenwood & Hickman, 1991). These are desirable outcomes from an "educentric" perspective, however they fall short of fully addressing the National Educational Goal to "increase parental involvement and participation in promoting the social, emotional, and academic growth of children" (p.&nbsp;1). Community involvement is needed when talking about effective schools. It behooves school personnel to involve their community in their academic world. Schools should understand the academic needs of the community and incorporate programs that will allow students to either continue with their education or enter the world of work. When students graduate and have nothing to look towards in their immediate future, then there is a lack of communication taking place between the two entitites. For more information please refer to the following links: http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.4.1 http://en.wikibooks.org/wiki/Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Content_Articles/9.4.2 == Multiple Choice Questions == <big>1. Which of the following are not one of the three effective characteristics of effective teachers in effective schools?</big> A)Time Management B)Student Success C)Classroom Management D)Design Lessons <big>2. This is the ability of a teacher to organize everyday tasks, lessons, and assignment in such a way that students are actively engaged throughout the class period.</big> A) Mentoring B) Classrooom Management C) Effective Teaching D) Effective Planning <big>3. What is the result if effective school methods are not in place?</big> A) All students will fail B) There would be a lack of order, classroom management, and safety C) Parents would be highly involved in all school events D) No child left behind sanctions would be implemented <big>4. In what ways do the state of Virginia measure effective schools?</big> A) High Graduation rates B) High attendance rates C) Through norm and criterion-referenced test results D) All of the above Answers: 1. A 2. B 3. B 4. D == References == Breauz, A. (2003). 101 "ANSWERS" for New Teachers and Their Mentors. New York: Eye On Education. Lezotte, L., & McKee, K. (2002). Assembly Required: A Continuous School Improvement System. Michigan: Effective School Products. Wong, H.& Wong, R. (1998). The First Days of School. California: Wong Publications. Department of Education and Training. (2006). Safe Schools are Effective Schools: A Resource for Developing Safe and Supportive Schools Environments. Victoria: S.R. Frankland pty Ltd. Dunlap, C. & Alva, A. (1999). Redefining School and Community Relations: Teacher's Perceptions of Parents as Participants and Stakeholders. Retrieved June 7, 2009, from http://findarticles.com/p/articles/mi_qa3960/is_199910/ai_n8860320/ Dictionary Online. (2009). Retrieved June 7, 2009, from http://dictionary.reference.com/browse/mentor. Foundations_and_Assessment_of_Education/Edition_1/Foundations_Table_of_Contents/Chapter_9/Chapter_FAQ {{FEA/Rating|edition=1|UIN=211}} {{BookCat}} meph9rzyas2xtv7r2xw4ymw9ezsyhgf User talk:SnoozingInTheLemonGrove 3 196867 4656842 4651481 2026-08-09T21:53:37Z ShakespeareFan00 46022 4656842 wikitext text/x-wiki <br><div style="text-align: center;"><span style="font-family: Times New Roman;"><i><span style="font-size: xx-large;">[[User:SnoozingInTheLemonGrove|'''<span style="color: #EAC117;">Snoozing</span> <span style="color: #FDD017;">In</span> <span style="color: #FBB917;">The</span> <span style="color: #E9AB17;">Lemon</span> <span style="color: #D4A017;">Grove</span>''']]</span></i></span></div><br /> <span style="font-family: Times New Roman;"><div style="text-align: center;"><i><span style="font-size: medium;">Thank you for your visit. Though I am an active user of [[Wikibooks|<span style="color: darkblue;">Wikibooks</span>]], the project to which I mostly contribute to is [[Wikipedia|<span style="color: darkblue;">Wikipedia</span> ]]which is therefore the [http://en.wikipedia.org/wiki/User:SnoozingInTheLemonGrove <span style="color: darkblue;">location of my primary user account</span>]. Please be sure to visit there for updated information or to leave me any messages.</span></i> <span style="color: grey;">N.B. Please state which project to which you refer when leaving a message.</span> </div></span> n5nopu0vjq3va1e8lk7y65dum1b9a7t 4656843 4656842 2026-08-09T21:54:16Z ShakespeareFan00 46022 4656843 wikitext text/x-wiki <br><div style="text-align: center;"><span style="font-family: Times New Roman;"><i><span style="font-size: xx-large;">[[User:SnoozingInTheLemonGrove|'''<span style="color: #EAC117;">Snoozing</span> <span style="color: #FDD017;">In</span> <span style="color: #FBB917;">The</span> <span style="color: #E9AB17;">Lemon</span> <span style="color: #D4A017;">Grove</span>''']]</span></i></span></div><br /> <div style="text-align: center;"><div style="font-family: Times New Roman;"><i><span style="font-size: medium;">Thank you for your visit. Though I am an active user of [[Wikibooks|<span style="color: darkblue;">Wikibooks</span>]], the project to which I mostly contribute to is [[Wikipedia|<span style="color: darkblue;">Wikipedia</span> ]]which is therefore the [http://en.wikipedia.org/wiki/User:SnoozingInTheLemonGrove <span style="color: darkblue;">location of my primary user account</span>]. Please be sure to visit there for updated information or to leave me any messages.</span></i> <span style="color: grey;">N.B. Please state which project to which you refer when leaving a message.</span> </div></div> 90omyqya6b6q3td4ri4khxz1w32d1tj Foundations and Assessment of Education/Edition 1/Foundations Table of Contents/Chapter 1/In the News/Peer Review One 0 196920 4656837 4647107 2026-08-09T21:26:55Z ShakespeareFan00 46022 4656837 wikitext text/x-wiki {{BookCat}} <table WIDTH="100%" ALIGN="center"><tr><td style="background-color: #FFF7F7; border: solid 1px #FFBDBD; padding: 1em;" valign=top> <div class="center">If someone's user name appears below, this peer review has already been "claimed" or completed. Please select another peer review slot or article. '''This article has been reviewed by:''' <span style="color: #FF0000; To evaluate this peer review, click on the Discussion tab above. </div> <div class="center"><big><big><span style="color:#FF00FF;">'''PEER REVIEW TEMPLATE'''</span></big></big> *Use this template for your peer reviews.</div> '''DIRECTIONS:''' *You are required to complete TWO (2) peer reviews. *Please '''take your time''' and provide effective, helpful feedback. <span style="color:#0066CC;">'''Plan to spend 1.5 to 2 hours per review'''!</span> *Each peer review is worth 50 points and will be "graded" by the article's author. (Click on Discussion to see the rubric the author will use to grade your peer review.) *You may only review articles written in the current semester (no articles with '''BOLD''' titles) *As instructed above, be sure to sign your peer review with four tilde <nowiki>~~~~</nowiki>. You will not receive credit for reviews that are not signed *To complete this assignment, we suggest having two tabs/windows open in your browser (e.g. Internet Explorer): one with this peer review template and one with the article you are reviewing *Starting the DAY AFTER the peer reviews are due, you may complete ADDITIONAL peer reviews for EXTRA CREDIT (25 points each). You MAY NOT complete any Extra Credit Reviews until that time. --- ==<div class="center">'''Part 1 - Article Components'''</div>== === Learning Target(s) === Answer the following questions regarding the learning targets: *Is/are the stated learning targets actual learning targets i.e. they state what the reader should know or be able to do after reading the article? ______ *Is/are the learning target(s) specific? _______ *Is/are they appropriate and reasonable? (Are they too easy or too difficult for ECI 301 students?) ______ *Is/are they observable? (You wouldn't have to look inside the readers head to know if they met this target.) ______ *Does the article provide adequate information for readers to achieve these targets? ______ Please make a comment about the learning target(s). If you answered "No" to any of the questions above, please explain how the author can improve them. Comment: ---- === Grammar and Mechanics Review === *Please either paste the entire body of the article here or any sections that you feel need to be revised. *To do this: **go back to the module page for the article **select "edit this page" **highlight all the text, hit control "c" (or "copy" from the edit menu) **navigate back to your peer review page **click edit this page and paste the text into this window (use control "v" or paste from the edit menu) **You may want to have Wikibooks open in two windows/tabs to make this process easier. *Type your comments in ALL CAPITALS or in <span style="color: #FF00FF;"> another color </span> so the author can easily find them. PASTE TEXT HERE ---- === Sources === For each source listed in the "References" section of the article, name the type of source (scholarly or popular) and the perspective it provides (research, expert opinion from educator, popular news source, parent organization, personal contact, etc.) #. #. #. #. #. #. #. List the range of publication years for all sources, e.g. 1998-2006: ______ - ________ Answer the following questions about the sources used in the article: #Did the author CITE at least 5 sources? __________ and use at least 2 scholarly sources? ______ #Are the citations in APA format? ______ ##''Here are two examples of citations in APA format, one for a paraphrase and one for a quotation:'' ###Constructing a title is both a science and an art, but on one fact all of the experts agree: the title must contain a colon '''(Lennon, McCartney, Harrison, & Starr, 2007)'''. ###Unfortunately impoverished children are often attending “low-performing schools staffed by ill-equipped teachers” '''(Murnane, 2007, p.&nbsp;34)'''. #Are all the sources listed in APA format in a Reference list labeled "References"? ______ ##''Here is an example of a reference written in APA format:'' ###'''Bailey, J., & Barnum, P. (2001). The colon and its rise to prominence in the American circus. ''Journal of American Punctuation, 34''(5), 2-3.''' #Taken together do the 5 sources represent a good balance of potential references for this topic? ______ #Does the author consider potential bias in the sources? ______ #Are most of the sources current (less than 5 years old)? ______ Please make a comment about the sources. If you answered "No" to any of the questions above, please explain how the author can improve. Comment: ---- === Multiple Choice Questions === #What does each question assess: knowledge or reasoning (application of knowledge)? ##Question 1 _______________________ ##Question 2 _______________________ ##Question 3 _______________________ ##Question 4 _______________________ Answer the following questions about the multiple-choice questions. #Are there 4 multiple-choice questions? ______ #Do they each have four answer choices (A-D)? ______ #Is there a single correct (not opinion-based) answer for each question? _____ #Do the questions assess the learning target? ______ #Are the questions appropriate and reasonable (not too easy and not too difficult)? ______ #Are the foils (the response options that are NOT the answer) reasonable i.e. they are not very obviously incorrect answers? ______ #Are the response options listed in alphabetical order? ______ #Are correct answers provided and listed BELOW all the questions? ______ Please make a comment about the multiple-choice questions. If you answered "No" to any of the questions above, please explain how the author can improve the question/s. Comment: ==<div class="center">'''Part 2 - Ratings'''</div>== '''LIST''' and '''EXPLAIN''' your rating for each of the four criteria. <ul> <li>Importance: :I rated this article ___ for importance because... <li>Interest: :I rated this article ___ on interest because... <li>Credibility: :I rated this article ___ for credibility because... <li>Writing skill: :I rated this article ___ on writing because... </ul> '''HIGHLIGHT SPECIFIC POINTS IN THE RUBRIC''' that apply to the article. To do this: Highlight sections with the cursor and use the BOLD icon above '''OR''' type <nowiki>'''</nowiki> (3 apostrophes) before and after the text you want to make bold ===''Wiki Article Rubric'' === <table border="2"> <tr> <th>criteria</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> </tr> <tr> <td>How '''important''' was the information presented on this topic to you as a teacher education student?</td> <td> <ul><li>Covers key ideas crucial for future teachers to know</li> <li>Based on researched information.</li> <li>Highly relevant to current educational practice (*this description may be less applicable for some topics such as history of education) </li> <li>Provides an excellent overview of the topic including relevant research, educational practice, laws and litigation. Includes in-depth discussion of at least a few selected key issues.</li></ul> </td> <td> <ul><li>Includes ideas relevant to future teachers</li> <li>Mostly based on researched information.</li> <li>Applicable to today’s schools</li> <li>Provides a good general overview with relevant information and discussion of a few key ideas</li></ul> </td> <td> <ul><li>A couple useful points; some irrelevant information</li> <li>About half of the information is the author’s opinion.</li> <li>Some out-dated information; may not reflect current practice</li> <li>Good information is included but the paper yields a partial /incomplete understanding of the topic or key issues</li></ul> </td> <td><ul><li> One useful point</li> <li>A few facts but mostly the author’s opinion.</li> <li>Most of the information is irrelevant in today’s schools.</li> <li>Focused on unimportant subtopics OR overly general with few specifics. Important information is missing.</li></ul> </td> <td> <ul><li>Information is not relevant to future teachers.</li> <li>Information is entirely the author’s opinion.</li> <li>The information is obsolete.</li> <li>Only irrelevant details or common knowledge. Lacks any substantive information.</li></ul> </td> </tr> <tr> <th>criteria</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> </tr> <tr> <td>How '''interesting''' was the article to read?</td> <td><ul><li>Sidebar includes new information that was motivating to read/view <li>Visuals (headings, colors, fonts, pictures, etc.) enhance the article by making it easier or more inviting to read <li>Multiple perspectives are considered and discussed <li>Mostly new information/ideas <li>Insightful interpretation & analysis are evident throughout the article; a clearly stated conclusion synthesizes all of the material presented. <li>Points are clearly made and elaborated on with compelling examples. </ul></td> <td> <ul><li>Sidebar includes new information that enhances understanding of the topic <li>Visuals add to the article <li>At least two perspectives were presented <li>About half of the information/ideas are new <li>Interpretation and analysis is provided for 3-4 points in the article; a reasonable conclusion based on this information is stated <li>Some good points are made and explained. </ul></td> <td><ul><li>Sidebar includes new information related to the topic. <li>Visuals are included but have minimal effect <li>One interesting or new perspective is presented <li>A couple (2-3) new ideas or pieces of information <li>Interpretation/ analysis is included for a few (1-2) individual sections, but there is not a conclusion that synthesizes the information presented. <li>Points are made but may not always be adequately supported or explained. </ul></td> <td><ul><li>Sidebar repeats what is already in the article <li>Visuals are somewhat distracting or not included <li>Only the “typical” view or one biased perspective is presented. <li>One new idea or bit of information <li>Information presented with minimal analysis or interpretation; no conclusion or the conclusion is not based on the information presented <li>At least one clear point is made and supported. </ul></td> <td><ul><li>No side bar included. <li>Visuals are offensive and completely detract from the content <li>No perspective is acknowledged. <li>Nothing new. <li>No analysis or interpretation included <li>No clear points are made or points appear pasted from other sources without any explanation. </ul></td> <tr> <th>criteria</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> </tr> <tr> <td>How '''credible''' do you think the information is?</td> <td><ul><li>Required sources are properly cited and included in a reference list in APA format. <li>Information from diverse sources representing multiple perspectives is included. Several reputable and current sources are cited. The author acknowledges potential bias in sources where appropriate. <li>Author clearly identifies his own ideas, biases and opinions </ul></td> <td><ul><li>Required sources are included; a couple of formatting errors <li>Information from a variety of sources is included. Most sources are reasonably reputable; bias is acknowledged in others. <li>It is clear when the author is presenting his own opinion; he doesn’t try to pass if off as fact. </ul></td> <td><ul> <li>Required sources are included; APA format is not used or has many errors. <li>A variety of sources is listed but the information primarily reflects a single viewpoint. Sources are reasonable. <li>The author occasionally (1-2 times) states his own opinion as fact. </ul></td> <td><ul><li>Only 4 sources are cited/listed in the references or only 1 scholarly source was used <li>Sources lack diversity OR information from divergent sources is only superficially mentioned. Some sources are untrustworthy or biased and not acknowledged as such. <li>Author routinely (3-4 times) states her opinion as fact, ignores own biases. </ul></td> <td><ul><li>Missing two or more sources OR sources used but not cited or listed. <li>All sources and information reflect a single viewpoint. Most sources are untrustworthy or biased and not acknowledged as such. <li>The entire article is biased and opinion-based without acknowledgment of this perspective. </ul></td></tr> <tr> <th>criteria</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> </tr> <tr><td>How well do you think this article was '''written'''?</td> <td><ul><li>Multiple-choice questions (2 application & 2 knowledge) align with the learning targets, assess key points, and are written according to guidelines (see R4) <li>Specific, appropriate and observable learning targets are stated; the content is clearly organized to help the reader achieve these goals <li>Captures and maintains attention throughout <li>All or almost all of the cited information is introduced, elaborated on and explained <li>Writing is organized, easy to read, and contains few to no mechanical errors. </ul></td> <td><ul><li>Multiple-choice questions (2 application & 2 knowledge) align with the learning targets, and assess key points. <li>Specific and reasonable learning targets are stated; the content aligns with these goals <li>Captures attention initially and periodically throughout <li>Most of the cited information is discussed or explained. <li>The article flowed pretty well and there were just a few mechanical errors. </ul></td> <td><ul><li>Multiple-choice questions (2 application & 2 knowledge) assess key points <li>Reasonable learning targets are stated; the content relates to these goals <li>Parts of the article capture attention <li>About half of the cited information is discussed <li>A few areas were hard to follow, confusing or oddly organized. There were a few distracting errors. </ul></td> <td><ul><li>4 multiple-choice questions are included. <li>Learning targets generally related to the content are stated <li>At least one part of the article is interesting <li>Information is “pasted” together with minimal explanation. <li>Organization was difficult to follow, sentences were awkward and/or there were several distracting errors. </ul></td> <td><ul><li>Questions are missing or not multiple-choice. <li>Learning target is missing or unrelated to content or is/are not actual learning targets <li>Nothing in the article grabs the reader’s attention <li>Article is entirely “pasted” together from other sources. <li>Poor organization, sentence structure and/or grammatical errors made it very difficult to understand the content. </ul></td></tr> </table> ==<div class="center">'''Part 3 - "2+2"'''</div>== List TWO compliments and TWO suggestions about the article <u>content</u> *Hints: **Focus on the work, not the person **<u>Describe</u> "There is...", "I see.." rather than <u>judge</u> "You didn't..." Compliments <ol> <li>. <li>. </ol> Suggestions <ol> <li>. <li>. </ol> You can make compliments and suggestions that relate to specific areas of the paper or to the paper in general. I suggest a mixture of both. Focus on what's most important. Of course, you can also include more than two suggestions and more than two compliments. The goal is to help the author improve his/her article. </td></tr></table> 9zfohx6c4kskkb1lnhayut45a5lc129 Sensory Systems/Auditory System 0 197165 4656939 4213977 2026-08-10T07:22:57Z Thomas.haslwanter 89715 "Unreferenced" template has been deleted, since this module has not been copied. 4656939 wikitext text/x-wiki {{SensorySystems_Navigation}} {{TOC|limit=3}} ==Introduction== The sensory system for the sense of hearing is the auditory system. This wikibook covers the physiology of the auditory system, and its application to the most successful neurosensory prosthesis - cochlear implants. The physics and engineering of acoustics are covered in a separate wikibook, ''[[Acoustics]]''. An excellent source of images and animations is "Journey into the world of hearing" <ref> {{cite web | title = Journey into the world of hearing | url = http://www.cochlea.org/en/spe | author = NeurOreille and authors | year = 2010 }}</ref>. The ability to hear is not found as widely in the animal kingdom as other senses like touch, taste and smell. It is restricted mainly to vertebrates and insects.{{Citation needed}} Within these, mammals and birds have the most highly developed sense of hearing. The table below shows frequency ranges of humans and some selected animals:{{Citation needed}} <table border=1 align=center> <tr> <th align=left>Humans</th> <td align=right>20-20'000 Hz</td> </tr> <tr> <th align=left>Whales</th> <td align=right>20-100'000 Hz</td> </tr> <tr> <th align=left>Bats</th> <td align=right>1'500-100'000 Hz</td> </tr> <tr> <th align=left>Fish</th> <td align=right>20-3'000 Hz</td> </tr> </table> The organ that detects sound is the ear. It acts as receiver in the process of collecting acoustic information and passing it through the nervous system into the brain. The ear includes structures for both the sense of hearing and the sense of balance. It does not only play an important role as part of the auditory system in order to receive sound but also in the sense of balance and body position. <table border=0 align=center> <tr> <td> [[File:Mother-Child_face_to_face.jpg|thumb|Mother and child]] </td> <td> [[File:Sanc0602.jpg|thumb|Humpback whales in the singing position]] </td> <td> [[File:Big-eared-townsend-fledermaus.jpg|thumb|Big eared townsend bat]] </td> <td> [[File:Hyphessobrycon_pulchripinnis.jpg|thumb|Hyphessobrycon pulchripinnis fish]] </td> </tr> </table> Humans have a pair of ears placed symmetrically on both sides of the head which makes it possible to localize sound sources. The brain extracts and processes different forms of data in order to localize sound, such as: * the shape of the sound spectrum at the tympanic membrane (eardrum) * the difference in sound intensity between the left and the right ear * the difference in time-of-arrival between the left and the right ear * the difference in time-of-arrival between reflections of the ear itself (this means in other words: the shape of the pinna (pattern of folds and ridges) captures sound-waves in a way that helps localizing the sound source, especially on the vertical axis. Healthy, young humans are able to hear sounds over a frequency range from 20 Hz to 20 kHz.{{Citation needed|date=November 2022}} We are most sensitive to frequencies between 2000 and 4000 Hz{{Citation needed|date=November 2022}} which is the frequency range of spoken words. The frequency resolution is 0.2%{{Citation needed}} which means that one can distinguish between a tone of 1000 Hz and 1002 Hz. A sound at 1 kHz can be detected if it deflects the tympanic membrane (eardrum) by less than 1 Angstrom{{Citation needed|date=November 2022}}, which is less than the diameter of a hydrogen atom. This extreme sensitivity of the ear may explain why it contains the smallest bone that exists inside a human body: the stapes (stirrup). It is 0.25 to 0.33 cm long and weighs between 1.9 and 4.3 mg.{{Citation needed|date=November 2022}} The following video provides an overview of the concepts that will be presented in more detail in the next sections. [[File:Journey of Sound to the Brain.ogv|550px|center|thumb|This animated video illustrates how sounds travel to the inner ear, and then to the brain, where they are interpreted and understood. The cochlea in the inner ear is a spiral-shaped organ that contains hair cells, which sense sound vibrations. Hair cells convert sound vibrations into chemical signals that the auditory nerve can understand.]] {{:Sensory_Systems/Auditory_Anatomy}} {{:Sensory_Systems/Auditory_Signal_Processing}} {{:Sensory Systems/Auditory_System/Pitch_Processing}} {{Chapter navigation|Visual System|Vestibular System|Sensory_Systems}} {{BookCat}} ptko2uh8036uxr2mxlukl17w1dwd0a4 Aros/Platforms/AROS USB support 0 202147 4656808 4656516 2026-08-09T14:16:14Z Jeff1138 301139 4656808 wikitext text/x-wiki {{ArosNav}} ==Host Adapter Protocol USB1 OHCI UHCI USB2 EHCI USB3.0 USB3.1 xHCI == Please let us know any mistakes or any information to be added, use Prefs/Trident to confirm Vendor and Product IDs Please chat at [https://www.arosworld.org/index.php AROS World] *1996 USB1.0 *1998 USB1.1 *2000 USB2.0 *2008 USB3.0 *2013 USB3.1 *2017 USB3.2 [https://github.com/aros-development-team/AROS/tree/master/rom/usb AROS has these USB transfers] *Control - *Bulk - Midi 1.0 ( 'send my data when you can' ) *Interrupt - Midi 2.0 *Isochronous - USBAudio, Webcams, etc (wip) Isochronous is the starting point of modern types of multimedia creativity. IsoChronous isoc code is already in place in poseidon.library and '''scheduled''' transfers are queued to be later rerouted in the host driver code (needs to be written for each host protocol e.g. OCHI, UCHI, EHCI and [https://cdrdv2-public.intel.com/625472/625472_xHCI_Rev1_2b.pdf#:~:text=Page%203.%20Document%20Number:%20625472%2C%20Revision:%201.2b.%203. XHCI rev1.2], [https://www.intel.com/content/www/us/en/content-details/868296/extensible-host-controller-interface-for-universal-serial-bus-xhci-requirements-specification-r2-0.html rev2], etc). There seems to be 2 types of isoc transfers, one is just the normal isoc transfer and the other is realtime implementation of isoc transfer. For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped (in or out) and that they happen at the right time. It all gets difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth for the packet based periodic transfers that are initiated by the host which have fixed but guaranteed bandwidth. Host controllers guarantee this bandwidth by planning a schedule of transfers ahead of time to ensure there is enough time reserved on the bus. [https://www.intel.co.uk/content/www/uk/en/products/docs/io/universal-serial-bus/ehci-specification.html EHCI] [https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/ bus-bandwidth] vs payload-bandwidth and the algorithm of the EHCI scheduler. The bandwidth of the endpoint in terms of payload data (stuff we put in a packet) and the protocol overhead, signalling imposed bit stuffing, host delays etc. Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one. [[File:Psd.svg|220px|right]] ; Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI), ; Early support - [https://github.com/aros-development-team/AROS/commit/03c5252d962941a56c816a9f2315134362089349 XHCI USB3.0, USB3.1 & gen 2 Type-A Type-B Type-C] ; Next Best Set - General OHCI, SIS (OHCI + EHCI), ; Buggy Chipset - [ Early AMD OHCI], ALi OHCI, VIA UHCI, Nvidia OHCI & EHCI, === USB1.1 === OHCI USB 1.1 - USB-IF sanctioned standard but hardware physical form removed with USB2.0 and replaced with virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 M5237 Lucent USS-312 | | | | <!--Boots-->{{Maybe}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | StarTech PCI425USB, CompUSA Iogear GIC220U-b, Nvidia 220 mobo, USBA2041P, ALi SU2A-PS, |- | AMD 756 Chipset (onboard motherboard) | 0x1022 | 0x740c | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=31308#forumpost31308 usb devices detected] Geode GX1, |- | CMD DU-A2 Silicon Image 0670 (pci AMD chipset) | 0x1095 | 0x0670 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Silicon Image 0673 (pci AMD chipset) | 0x1095 | 0x0673 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Nvidia Nforce2 USB | 0x10de | | | <!--Boots-->{{Maybe|Bios options vary but does with Plop Boot}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Tested with 20th Aug 2012 improvement |- | NEC µPD720100AGM | 0x1033 | 0x0035 | 0x | <!--Boots-->{{Unk}} | <!--Detects-->{{Unk}} | <!--Works-->{{Maybe|}} | untested - Amiga Spider card with possible bottleneck issues at higher speeds |- | NEC µPD720101AGM 720101GJ | 0x1033 | 0x0035 | 0x43 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Mac mini, Belkin F5U219vea (2+1 ports), Belkin F5U220vea1 (4+1 ports), Adaptec 3100LP, BAFO BF-460, GWC UC-160, IOGear GIC250U, Keyspan U2PCI-5, O'toLink U2-C2B U2-C2A U2-P20N U2-P50, Ratoc PCIU5, USBWholesale UII-PCIP |- | NEC µPD720102 | 0x1033 | 0x00 | 0x | <!--Boots-->{{Unk|untested }} | <!--Detects-->{{Unk|untested }} | <!--Works-->{{Maybe|}} | |- | Opti 82C861 2-port | 0x1045 | 0xc861 | | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no USB devices detected - Belkin F5U005, |- | SIS 7001 OCHI | 0x1039 | 0x7001 | 0x0f | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | 20th Aug 2012 - not booting stalls on GRUB word with Plop Boot |- |} UHCI USB 1.1 - Intel standard but since 2009 no hardware support as USB2 introduced virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | Intel | 0x8086 | 0x | 0x01 | <!--Boots-->{{No|not in bios use AROS floppy disc boot}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | Intel 82371AB EB MB PIIX4 | 0x8086 | 0x7112 | 0x01 | <!--Boots-->{{No|none in bios use other booting options}} | <!--Detects-->{{Maybe|Detects most devices}} | <!--Works-->{{Maybe|most devices but not RTL8187b WG111v3 blue led not on and does not work}} | |- | Intel 82801DB/DBL/DBM (onboard i830 mbd) | 0x8086 | 0x24c4 | 0x01 | <!--Boots-->{{Yes|but not from bios but floppy options}} | <!--Detects-->{{Yes|}} | <!--Works-->{{Yes|}} | RTL8187b WG111v3 blue led on and although device has software failure and recoverable error IT STILL WORKS. Fresh start sometimes needs Network Prefs Saved to work. |- | VIA MVP4 (onboard mbd) | 0x1106 | 0x30 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless options}} | RTL8187b WG111v3 detected but blue led not on and does not work |- | VIA VT82xx (onboard mbd) | 0x1106 | 0x3038 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless usb}} | RTL8187b WG111v3 blue led on but does not work |- | VIA VT6202 (VIA VT83C572) | 0x1106 | 0x3038 | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | A-Best USB-200, Cables N Mor USBPCI, CompUSA, D-Link DSB500, Digital/Research DRUSBCARD, Kouwell IOFlex 580, StarMount USB VIA, |- | VIA VT6112 | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3038 | 0x61 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | 2011 seems to have issues with other identical via based USB controller(s) present |- | VIA VT6214L | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- |} === USB 2.0 EHCI === The USB-IF insisted on only one implementation of EHCI but it creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through most newer USB3.0 chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 Lucent USS-344 | | | | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested}} belkin F5U006, |- | Nvidia Nforce2 USB | | | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | Intel 82801DB/DBM (onboard mbd) | 0x8086 | 0x24cd | 0x01 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | NEC µPD720100AGM | 0x1033 | 0x00E0 | 0x | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested - Amiga Spider card}} |- | NEC 72101 GJ | 0x1033 | 0x00e0 | 0x04 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Belkin F5U219 VEA1 (pci), |- | SIS ECHI | 0x1039 | 0x7002 | 0x00 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|issues about which port is used if it works at all}} | <!--Works-->{{Maybe|}} | |- | VIA VT6202 | 0x1106 | 0x3104 | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3104 | 0x62 | <!--Boots-->{{No}} | <!--Detects-->{{Yes|detects}} | <!--Works-->{{Maybe|}} | |- |} === USB 3.x SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) aka xHCI eXtensible === USB Attached SCSI (UAS or UASP) is a protocol used for high-speed data transfer between computers and external storage devices like SSDs, HDDs, and some flash drives. It provides up to 70% faster read/write speeds than traditional Bulk-Only Transport (BOT) by allowing multiple commands to run in parallel, rather than waiting in a queue {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic FL1000 FL 1000 | <!--Vendor ID-->0x1B73 | <!--Product ID-->0x1000 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->link power management (LPM, USB 3.0 power saving) cannot be disabled so random connection issues |- | <!--Description-->Fresco Logic FL1009-200 FL 1009 | <!--Vendor ID--> | <!--Product ID-->0x1009 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->Orico PFU3-2P |- | <!--Description-->Fresco Logic FL1100-100 FL 1100SX | <!--Vendor ID--> | <!--Product ID-->0x1100 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->LPM cannot be disabled so issues with disconnecting WD drives etc - CalDigit, ORICO PFU3-2P, FASTA-6GU3 Pro, inatech KTU3FR-2P 2 port USB 3.0, and Inateck KT4004 (KTU3FR-4PA rev B2) for storage and hubs, etc |- | <!--Description-->Fresco Logic FL1400 FL 1400 | <!--Vendor ID--> | <!--Product ID-->0x1400 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic | <!--Vendor ID--> | <!--Product ID-->0x | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->NEC Renesas xHCI µPD720200 uPD720200a chip | <!--Vendor ID-->0x1d6b | <!--Product ID-->0x0194 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|no USB3 but seems to works like USB2}} | <!--Opinion-->recognized but not supported for USB3 but works like USB2 - ORICO PRU3-4P 4 Port USB, early Dell Wyse zx0 thin client, |- | <!--Description-->NEC Renesas xHCI µPD720201 uPD720201 chip | <!--Vendor ID--> | <!--Product ID-->0x114 0x0115 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->NEC Renesas xHCI µPD720202 uPD720202 chip | <!--Vendor ID-->0x1912 | <!--Product ID-->0x0015 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->[http://www.ti.com/product/tusb7340 TI] tusb7340 TUSB732 | <!--Vendor ID--> | <!--Product ID-->0x8241 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported Koutech IO-PEU436 but only one with open docs |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported - integrated since Ivybridge |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL800 xHCI 0.96 support in VL800, VIA VL811 | <!--Vendor ID--> | <!--Product ID-->0x3432 0x3438 0x3515 and 0x9201 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|}} 2.0 backwards support | <!--Opinion-->Anker 68UPPCIE-2S20PU 2 port, Plugable 4-Port, GA-z77x-ud5h rev. 1.1 mobo, |- | <!--Description-->Via Labs VL811+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL812 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->xHCI 1.0 support in VL805 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- |} USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Asmedia ASM1142 | <!--Vendor ID-->0x1B21 | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion-->Connector: USB Type C and USB Type A x 1 - Ugreen USB C PCI Card 2 Port USB 3.1 Type C |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 1.8 1.9 Updated | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->AUKEY 4 Ports USB C , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->Startech - PEXUSB312C - 2-port Usb 3.1 10Gbit/s |- |} USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 2.6 Update | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion--> |- |} === USB 4 (40Gbps thunderbolt, pcie 3.0 tunnelling, ) === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->AMD Ryzen7 6800U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->Intel Goshen Ridge JHL8440 Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | |- |} == hid.class (Human Interface Device) == === Keyboard === Some multi-finger touchpad support works but not on all touchpads {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->8BitDo Retro N C64 edition Keyboard, the super button accessory and optional N30 mouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 87 keys Kailh white}} |- | <!--Description-->8bitdo 108 Retro Mechanical Keyboard (white kailh) and two superbuttons (green) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Apple Pro Keyboard | 0x05ac | 0x0205 | 0x0122 | {{yes|works (its two hub ports) but mouse scroll wheel issues}} |- | Apple Pro Keyboard | 0x05AC | 0x020B | | {{yes|works (two onboard ports also)}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Aigo K68 60% red switches, A68 A87 wireless 2G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?cPath=49&products_id=973 AmigaOne Keyboard] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko TAC87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 80% TKL }} |- | <!--Description-->Akko MonsGeek FUN60 PRO&MAX HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 60% hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 hall effect, good but expensive and software poor}} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATTACK SHARK X98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 98% maybe silent linear feel with Two-color PBT keycap}} |- | <!--Description-->ATTACK SHARK X68HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Azio Cascade | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Chilkey ND75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% expensive}} |- | <!--Description-->Chilkey ND104 (Wuque Studios) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 premium clicky (WS Blue) or silent (WS White) key options with Ansi and ISO formats also numpad and calculator, aluminum machined, tri mode, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2026 untested magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Corsair K65 Mech MX no numeric keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair CH-9000045 K70 Blue MX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cherry G80 G80-3000L[x]C[yy]-[z] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cooler Master CM Storm Quickfire Rapid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K100 Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 okay low profile but expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Dell SK-8135 Dell USB Keyboard for Internet and Multimedia rev H for Dimension 4500, Dimension 8250, OptiPlex GX260n, OptiPlex GX60n, Precision 350 (R42232) | <!--Vendor ID-->0x413C | <!--Product ID-->0x2010 | <!--Revision-->0200 | <!--Opinion-->{{Yes| usb1.1 keyboard hub 0x413C 0x1003 works as well - multimedia keys not mapped }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Deepcool KG722 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 65% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Ducky Channel Zero DK2108 Mech Mechanical Cherry MX Red | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ducky Shine 3 Brown or Blue (DK9087) MX keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Das Keyboard Model S Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epomaker Cidoo V75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->epomaker rt100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 plastic build and no screws, numpad with small 0, mostly quiet seasalt switches, gimmick usb-c 1in screen}} |- | <!--Description-->EPOMAKER TH99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} USB-C full numpad keyboard |- | <!--Description-->eopmaker P75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->eopmaker p87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->epomaker x Leobog Hi75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Feker Galaxy80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Galaxy100 gmk/via | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 96% }} |- | <!--Description-->epomaker Aula F75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget version good 75% choice of 4 leobog switches}} |- | <!--Description-->eopmaker Tide75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% and not too expensive}} |- | <!--Description-->Epomaker Ajazz AK820 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Epomaker Ajazz AK35I V3 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 104 keys - two models: wired and tri-mode connection - }} |- | <!--Description-->epomaker Aula F108 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pricy but okay 100% but only leobog graywood switches but hotswap available afterwards}} |- | <!--Description-->eopmaker Ajazz AK980 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 97 keys }} |- | <!--Description-->Epomaker G87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT82 RT85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT100 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 96% }} |- | <!--Description-->epomaker x Galaxy100 lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 good 96% }} |- | <!--Description-->Epomaker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Filco Ninja Majestouch-2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Focus FK-760 Wireless Keyboard & Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} but quality build issues raised |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->GMMK Tenkeyless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested default Gateron Brown switches for Kailh Box Jades default Gateron Brown switches for Kailh Box Jades}} |- | <!--Description-->GK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->GMK67 GMK87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested budget good option}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hengchangtong HCT Limeme gk103s Entry Keyboard | <!--Vendor ID-->0xC0F4 | <!--Product ID-->0x0009 | <!--Revision-->0100 | <!--Opinion-->{{yes|half Keyboard left side only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hexgears M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested hotswap kaihl green switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hexgears | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iqunix mq80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 good 75% low profile keys |- | <!--Description-->Iqunix Magi65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 65% low profile keys }} |- | <!--Description-->iqunix ez60 ez80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested specific hall effect switches - actuation point, rapid trigger, etc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Jomaa YiChip Wireless 50% key with touchpad | <!--Vendor ID-->0x3151 | <!--Product ID-->0x3000 | <!--Revision--> | <!--Opinion-->{{No|dongle detected, keys and pad not working - 2 AAA NM}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Keychron q0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested numpad only}} |- | <!--Description-->Keychron q1 v1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested okay}} |- | <!--Description-->Keychron Q6 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 75% with numeric numpad, barebones so choose switches and keycaps to suit }} |- | <!--Description-->Keychron q1 MAX V1 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->Keychron Lemokey P1 QMK | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested best option to customise switches and keycaps}} |- | <!--Description-->Keychron LemoKey X1 X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested keycap swap only not switches}} |- | <!--Description-->Keychron K2HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested okay}} wireless hall effect analogue on all keys |- | <!--Description-->Keychron K4HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested hall effect but software }} |- | <!--Description-->Keychron K5 K17 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested okay low profile but }} |- | <!--Description-->Keychron Q5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Keychron K10 HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Kiiboom Breeze 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 good 75% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Meletrix Boog 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 magnetic hall effect, good but expensive and software poor}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Melgeek O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 low profile 75% but not repairable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->MOSART 2.4G Wireless 60% Keyboard Trackball | <!--Vendor ID-->0x062a | <!--Product ID-->0x4105 | <!--Revision--> | <!--Opinion-->{{Yes|dongle recognised HID, keys worked, roller worked, scroll wheel works and shoulders works but buttons around left, top and right hand side (RHS) do not work and plastic and 2 AA MN1500}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Mucai SiGma Micro MKA610 | <!--Vendor ID-->0x1c4f | <!--Product ID-->0x0084 | <!--Revision--> | <!--Opinion-->{{No| unknown red keys - rgb backlighting - }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->[http://hjldemo.clsc.cn/ Guangzhou Zhentian Electronics Ltd] Perixx Periboard 505 Plus with Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard - poor trackball}} |- | <!--Description-->Guangzhou Zhentian Electronics Co., Ltd Perixx Periboard 706 Plus with Trackball Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|generally okay dome with good sized keys but piano black surround fingerprint magnet, occasional brief trackball freezes after no use, takes some time to get used to the trackball size}} |- | <!--Description-->Perixx Periboard-716 Wireless (Chicony) | <!--Vendor ID-->04f2:1013 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard and trackpad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Lenovo SK-8825 41A5327 SIL12-W07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->works manufactured for |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lite-On USB NetVista Full Width Keyboard | <!--Vendor ID-->0x04b3 | <!--Product ID-->0x3025 | <!--Revision--> | <!--Opinion-->works |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech K320 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech USB Unifying, Bolt, Lightspeed, or Nano receiver pairing}} |- | <!--Description-->Logitech K340 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech Unifying Receiver pairing}} |- | <!--Description-->Logitech K400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description--> [http://www.logitech.com/en-us/product/wireless-touch-keyboard-k400r Logitech Wireless Touch Keyboard k400] | <!--Vendor ID--> 0x046D | <!--Product ID--> 0xC52B | <!--Revision--> 1201 | <!--Opinion--> {{yes|All (including multimedia) keys work. Some keys requires remapping with Trident. Touchpad works and acts as normal mouse. Presents itself in Trident as USB Receiver from Logitech with 3 HID bindings}} |- | <!--Description-->Logitech K400 Plus K400+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech K600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech G915 TKL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard TKL means no number pad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lofree Lite84 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Lofree Flow Lite100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 silent switches and low profile keys}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MACHENIKE K500 Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 94 keys untested Hot Swappable 94 Keys 90% Layout }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MechLands Vibe99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 100 keys untested Gasket-mounted Wired/Bluetooth/2.4GHz Wireless Mechanical Keyboard}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft Comfortable Curve 2000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no| recognized but not supported}} |- | <!--Description-->Microsoft Natural Ergonomic Keyboard 4000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|recognized but not supported}} |- | <!--Description-->Microsoft Wireless Media Desktop 1000 (1356) | <!--Vendor ID-->0x045e | <!--Product ID-->0x00f9 | <!--Revision--> | <!--Opinion-->{{maybe|working but not mouse part}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Niz Micro84 Duo82 X87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 electro capacitive }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->nuphy gem80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->nuphy kick 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 low profile 75% }} |- | <!--Description-->nuphy Air75 V3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 75% }} |- | <!--Description-->nuphy node 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 96% layout, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Qpad MK-50 MK-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Qpad MK-90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Razer Chroma | <!--Vendor ID-->0x1532 | <!--Product ID-->0203 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://openrazer.github.io/ Razer] Lycosa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Blackwidow 2013 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razr Blackwidow Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Cynosa Lite V2 | <!--Vendor ID-->1532 | <!--Product ID-->0x023f | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer DeathStalker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer HuntsMan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Ornata | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Orbweaver Chroma Keypad | <!--Vendor ID-->0x1532 | <!--Product ID-->0207 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Tartarus Keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested not hall effect and very expensive}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Redragon K668 RGB Gaming Keyboard Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys Upgraded Hot-swappable Socket,Red Switch}} |- | <!--Description-->Redragon K689 PRO Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested Gasket RGB Gaming Keyboard, 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys, Upgraded Hot-swappable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Risophy 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 75% mechanical, hotswap so okay for price untested }} |- | <!--Description-->Risophy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Royal Kludge RK65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested cream switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SINO WEALTH Gaming KB SkyLion K68 | <!--Vendor ID-->0x258a | <!--Product ID-->0x003a | <!--Revision--> | <!--Opinion-->{{No| blue stalks with rgb lighting}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SKYLOONG GK104 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested gateron }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->SteelSeries | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->TeckNet x300 2.4G Keyboard Mouse MosART | <!--Vendor ID-->0x062A | <!--Product ID-->0x4101 | <!--Revision-->0312 | <!--Opinion-->{{Yes|1 AAA for each and works well - mouse slightly better built than keyboard rubberised membrane}} |- | <!--Description-->TeckNet X331 HDE 2.4G Keyboard wireless RCMCU | <!--Vendor ID-->0x0C45 | <!--Product ID-->0x7000 | <!--Revision-->0001 | <!--Opinion-->{{Yes|wireless can be glitchy but few extra keys are mapped }} |- | <!--Description-->TeckNet X500 2.4G Keyboard Mouse MOSArt | <!--Vendor ID-->0x062A | <!--Product ID-->0x2901 | <!--Revision-->0112 | <!--Opinion-->{{Yes|works well especially large touchpad - usual rubber domed membraned keyboard mechanism }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tecware Specter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 75%}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Unicomp Model M USB 104 key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} IBM's and later Lexmark buckling spring switches |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varmilo Minilo Bluebell (prestige silent) and Eculapytus (violet tactile) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 75% plastic build no screws not great to mod}} |- | <!--Description-->Varmilo Sword 68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->Varmilo 98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 expensive but good and Kailh silent}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Weikav Velocifire Choice65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Weikav Velocifire Lucky65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Wobkey Crush80 Reboot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 very good but expensive Aluminum Hotswap Wireless RGB}} |- | <!--Description-->Wobkey Rainy 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% but not as expensive CNC Aluminum HMX/JWK/Cocoa Switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wooting HE60 HE80 HE90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 hall effect but expensive with good software}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Womier WK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2021 untested }} |- | <!--Description-->Womier Sk71 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xenta White Wireless HK6718B+HM3302--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|works with Raspberry Pi untested on AROS native}} |- | <!--Description-->Xinmeng X87 MAGIC_REFINER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 untested keycap swap but not hotswapable switches}} |- | <!--Description-->Yunzii AL66 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| milk switches, cherry PBT, }} |- | <!--Description-->Yunzi B75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget good with cocoa cream switches }} |- | <!--Description-->Yunzii AL75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|good budget option with swappable switches, }} |- | <!--Description-->Yunzii AL80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 switches }} |- | <!--Description-->Yunzi C75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 budget good with switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} <pre> linear - creamy tactile - thocky clicky - clacky </pre> <pre > Cherry MX Black are linear switches (no feedback); good for gaming. Cherry MX Red are linear (less noise no click) but more squishy; Cherry MX Brown are in between Blue and Red in style and tactile; Cherry MX Clear switches have soft tactile feedback (with no click). Cherry MX Blue have tactile feedback with a click (noisy); good for typing. Gateron Yellows KS-3, KS-3x47 or better Pros have a milky top and black bottom and linear TTC Silent Frozen v2. Linear and dead silent Mouse the huano brown with yellow dot for silent mouse clicks Kailh red dust proof encoder for smooth and close to silent scrolling Boba U4 Silent Tactile switches Husky linears HMX </pre > === Mouse === if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in '''s''' drawer/folder/directory sys:prefs/trident NOGUI > NIL: {| class="wikitable sortable" width="90%" ! width="10%" | Brand ! width="20%" | Description ! width="10%" | Model ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | 3Dconnexion | 3D Mouse | <!--Model-->[http://www.3dconnexion.com/products/spacenavigator.html SpaceNavigator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | 3D Mouse | <!--Model-->SpacePilot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Mouse | <!--Model-->SpaceExplorer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Wireless Mouse | <!--Model-->SpaceMouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->3D Optical | <!--Description-->Wired | <!--Model--> | <!--Vendor ID-->0000:3825 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Belkin | Combo mouse | | 0x05FE | 0x0011 | Low 0100 | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Cytec | <!--Description-->Wired Mouse Gaming | <!--Model-->R.A.T 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Dell | Mouse | MO56UC | 0x413C | 0x3200 | | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->equatech / clone logitech | <!--Description-->wireless mouse | <!--Model-->49779 / M185 | <!--Vendor ID--> 3151:2020 later 3151:3020 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{Yes|detected and works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Hama | RF Optical Mouse | AM-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keycron | <!--Description-->Optical Wireless | <!--Model-->M6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling and 16k dpi }} |- | <!--Brand-->Keychron | <!--Description-->Optical Wireless | <!--Model-->M7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested barebones 1k polling and 16k dpi, great for small hands, loud clicks}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->LogiCAD 3D | <!--Description-->3D Mouse | <!--Model-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Logitech | Cordless Desktop Navigator | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | Logitech Inc. | First/Pilot Wheel Mouse | N48/M-BB48 M-BE58 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested }} |- | Logitech | Wireless mouse | [http://www.logitech.com/en-roeu/mice_pointers/mice/devices/5484 M305] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} |- | Logitech | Wireless RF Mouse | MK710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | <!--Brand-->Logitech | <!--Description-->Wireless Mouse | <!--Model-->MX Master Anywhere 2S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|untested}} micro USB charge port on front |- | <!--Brand-->Logitech | <!--Description-->Wireless | <!--Model-->M220 silent | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|}} |- | <!--Brand-->Logitech Logi | <!--Description-->Optical | <!--Model-->MX Master 3S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|2021 untested usb-c bluetooth, inbuilt battery but muted clicks}} |- | <!--Brand-->Logitach | <!--Description-->Optical | <!--Model-->G502 X Plus | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|2022 very clicky}} |- | <!--Brand-->Logitech | <!--Description-->Optical | <!--Model-->MX Master 4 MXM | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{No|Bluetooth usb-c dongle, inbuilt lithium battery}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Brand | Description | Model | Vendor ID | Product ID | Revision | Opinion--> |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8566 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8518 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->OrzerHome Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8514 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1 aa with no on/off switch }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Microsoft | Wheel Mouse optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Sidewinder Mouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | IntelliMouse Explorer USB optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Wireless Optical Mouse 2000 | | 0x045E | 0x00F9 | | {{no|not working see keyboard Media Desktop 2000 above}} |- | <!--Brand-->Microsoft | <!--Description--> | <!--Model-->1461 1447 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|usb dongle matched to one mouse only no others}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Orochi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Mamba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Naga | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} 17 buttons |- | <!--Brand-->Razer | <!--Description-->USB Optical | <!--Model-->Naga Hex V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} MOBA Gaming Mouse, Professional Grade 16,000 DPI Sensor - RGB lighting |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->DeathAdder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Viper | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Basilisk V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling, 35k dpi, }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Trust | Slimline Lasermouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | SteelSeries | Tobii EyeX EyeMobile PCEye | Eye Tracking Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} gaze interaction track technology for augment augmentative and alternative communication (AAC). |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->The Eye Tribe Tracker | <!--Description-->Eye | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description-->USB Optical Mouse | <!--Model-->MV3000 | <!--Vendor ID-->0x192f | <!--Product ID-->0x0916 | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |} === Trackball === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->3Dconnexion SpaceBall 5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} Labtec designed and rolled into new company 3dconnexion 2001 by owners Logitech |- | <!--Description-->ACCO Kensington Orbit optical F1233A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kensington Turbo Mouse 64210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Clearly Superior Technologies. Model:CST 1000-RC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Trackman Marble Mouse Wired USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Cordless Trackman Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Optical Trackman T-RB22 - Cordless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech M570 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft Trackball Mouse Optical 1.0 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft X05-87473 Trackball USB Optical | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === KVM === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->NanoKVM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === Gamepad === Controllers have mostly decided that the left analog joystick is keyboard equivalent of WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice. Testing can be done with the TRIDENT Prefs, [https://devicetests.com/controller-tester html5], [https://greggman.github.io/html5-gamepad-test/ html5], or [https://gamepad-tester.com/ Tester] ==== Dinput Poseidon Default Plugin - Playstation(TM) style ==== {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Betong Bat D2E BTP-BD2E XD4D2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gravis Eliminator Gamepad Pro USB | <!--Vendor ID-->047d | <!--Product ID-->4005 | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick-->{{N/A}} | <!--Opinion-->2002 2d only |- | Hama Black Force USB Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2003 psx clone look |- | <!--Description-->Jess Tech Game Elements Philips GGE909 PC Recoil Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | [http://www.youtube.com/watch?v=TCbAmIhj6P4 Logitech Wingman Precision USB] G-UC3B | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{N/A| }} | 2002 no 3D but good for 2D retro games like Turrican II |- | <!--Description-->Logitech Wingman Action Pad G-UB3A | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | <!--Opinion-->2002 1 blue lucid translucent - thin analog stick N64 type - |- | Logitech Wingman RumblePad UB05B | <!--Vendor ID-->0x046d | 0xc20a | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untesed }} | 2000 twin blue analogue sticks N64 type - poor 2d controls with single molded blue piece - vibration feedback - single shoulder buttons with throttle control below right one |- | Logitech Wingman Cordless RumblePad G-RA4A | <!--Vendor ID-->0x046d | 0xc211 | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | 2001 twin blue analogue sticks N64 type - poor 2d controls with single molded black piece - vibration feedback - dual shoulder buttons L1 L2 R1 R2 with blue throttle control below right one - 4 aa mn1500 batteries; life not great - C-UD10A usb dongle - overall big and bulky |- | <!--Description-->Logitech Precision Wired G-UG15 | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech Cordless Precision G-X2E14A | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 ps2 styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech G-X5C11A Cordless Precision Wireless Controllers | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling black outer shell - no 3D analog and no shoulder buttons - no rumble |- | [http://www.testfreaks.co.uk/game-console-accessories-controls/logitech-dual-actiontm-gamepad/ Logitech Dual Action] * G-UD8 has no mode (2D only?) button and no rumble * G-UF13A later | <!--Vendor ID-->0x046d | 0xc2 | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 G-UF13A tested only]}} | 2003 New body shape psx style - dual analog 3D sticks - 4 small travel shoulder triggers no 5,6,7,8 |- | Logitech RumblePad 2 G-UF13 | <!--Vendor ID-->0x046d | 0xc218 | 1.00 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | 2006 light blue top/black base - twin analogues 3D along with dual short travel shoulder buttons - rumble present - |- | <!--Description-->[Logitech RumblePad 2 Cordless] * G-RC?? OLD version that take FOUR batteries and RED Logitech logo * G-RC14 uses TWO batteries has an ORANGE logo - dongle C-UE10 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc219 | <!--Revision-->0x0200 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|mostly}} | <!--Opinion-->2008 may have to remove 1 battery - G-RC?? 5 + 7 buttons - G-RC14 use buttons 6 + 8 to reset sticks - replace battery and push large button on receiver - |- | <!--Description-->Logitech F310 Wired Dual Action G-U0001 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|D mode switch}} | <!--Opinion-->2010 dual analog 3D with pc-xbox/psx switch on back (only D works) - both rear shoulder RT LT buttons have excess travel - no rumble vibration - |- | <!--Description-->Logitech F510 Wired G-UG0002 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2010 dual analog with dual xbox pc/psx X/D switched compatibility modes - |- | Logitech F710 Wireless / Cordless RumblePad 2 G-R0001 | <!--Vendor ID-->0x046d | 0xc219 | 3.05 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | When switch on top set to D and nano receiver for each controller to pair - 2 aa mn1500 batteries required - rumble support sometimes - rear back shoulder buttons excessive travel needed |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Megaworld 'TIME' USB pad | <!--Vendor ID-->0x0735 | <!--Product ID-->0x9902 | <!--Revision-->Low 0100 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{No |}} | <!--Opinion-->2000 Poor quality |- | <!--Description-->Microsoft * SideWinder Precision Pro USB (1997) * SideWinder Precision 2 (1998) * Game Pad Pro (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Sidewinder Game Pad USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{yes| }}} | <!--Analogue Hack with Analog Stick-->{{yes| }} | <!--Opinion-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5934#post_5931 must setup first] |- | <!--Description-->Microsoft Sidewinder Gamepad X04 Freestyle | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A }} | <!--Opinion-->{{N/A|untested}} 1998 might need USB adapter |- | <!--Description-->Microsoft Sidewinder X05 63895 92626 Flight stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{unk| }} | <!--Opinion-->{{Yes|2000 [https://ae.amigalife.org/index.php?topic=929.msg11309#new tested]}} |- | <!--Description-->Microsoft Sidewinder Flight Stick X08-58736 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Plug & Play Game Pad (2000) SideWinder Joystick (2000) Game Pad 2.0 (2001) SideWinder Force Feedback 2 (2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2002 long-standing static buildup problem and Force Feedback 2 was the removal of the power brick |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | Saitek [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps1000/ PS1000 Cyborg V.1], [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps2700-rumble-pad/ PS2700] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek [http://www.youtube.com/watch?v=xG0v-hf6ZPA P2600] [http://compactiongames.about.com/od/hardware/tp/gamepads.htm P3600], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek P2900 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested but runs on 1 AA battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Sony Batoh PS3 mini USB Wired hookup [http://ps3.jim.sh/sixaxis/usb/ SIXAXIS] *PCB Ribbon Notes *Protos ALPS MSU Rev3 M3 and the later CBEH-1019 *? SA1Q135A for sixaxis *PP4 *V2 *V25 *VX SA1Q146A first dualshock 3 model *VX SA1Q147A CECHZC2U (USA) *VX35 SA1Q159A *VX3 SA1Q160A *VX? SA1Q188A *VX4 SA1Q189A shipped with a CECH-2504 datecode 0C *VX5 SA1Q194A changed design ALPS, PS button changes *VX6 SA1Q195A red case, *VX7 SA1Q222A superslims 2 ribbons *VX8 SA1Q224A superslims 2 ribbons | <!--Vendor ID-->0x054c | <!--Product ID-->0x0268 | <!--Revision-->1.00 | <!--Merge with USB on Digital Pad-->{{No|}} | <!--Analogue Hack with Analog Stick-->{{No|}} | <!--Opinion-->Sometimes detected but no support - no sixaxis features detected - mini usb lead will have varying results - |- | <!--Description-->Sony PS4 *JDM JDS 001 010 011 *JDM 030 040 055 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Sony PS5 Dual Sense | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speed Link Strike 2 FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster Firestorm Dual Power 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 only 1 axis joystick only]}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Trust Predator GM-1500 GM-1520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 M series Aluminum Metal Joystick Hitbox Controller Arcade Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 T series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 G series Gamefinger G12 G13 G16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> plastic - |- | <!--Description-->Haute42 S series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> thinner and lighter than G series |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mad Catz sf2 fightstick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Datel Paewang Arcade Pro Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F300 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F500 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Pico Flatbox GP2040-CE Hot Swappable Mini Hitbox Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> default it is configured for PS4 but before plugging usbc cable in, X for Dinput, B Xinput, RT HID - plastic build case - Rev4 based on RP2040 chip and firmware is based on GP2040-CE (Community Edition) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Shenzhen Onebitdo Tech 8bitdo Fighting stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Venom 8 button | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} ==== Xinput Xbox Style Plugin ==== 2018 extension added originally called AROSx but later redacted. Latest [https://github.com/medusalix/xone linux driver] might be useful. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->8bitdo Ultimate C Wired 82CB (Shenzhen ONEBITDO TECH - GWOWO) | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x3106 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2022 - 4 t6 torx screws - non hall effect so drifting issues - triggers go faulty often - |- | <!--Description-->8bitdo Ultimate 2C Wired Controller 82CD | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x310A | <!--Revision-->0114 | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - HID keyboard assigned - 4 t6 torx screws - hall effect analogs and triggers - 1000Hz polling - |- | <!--Description-->8bitdo Ultimate 2C wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - 400mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad poor for retro games - |- | <!--Description-->8bitdo ULtimate Mini Wired Controller for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->8BitDo Pro 2 *Wired Controller *Wireless *Bluetooth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect - playstation style layout for pc - slide button for S-A-D-X switch, android, dinput or xinput - |- | <!--Description-->8BitDo Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 tmr hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description-->8bitdo Ultimate 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2026 - mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad for retro games - |- | <!--Description-->8BitDo Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Ace Aurora | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks with no deadzone mode, gyro, linear rumble, trigger stops, back paddles, button swap, macro, turbo, RGB LED effects - tri-mode connection - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Beitong Spartan BTP-2270U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect |- | <!--Description-->Betop Betong Asura 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect - noble linear trigger potentiometer and alps shoulder LB/RB micro switch |- | <!--Description-->BEITONG ASURA 2 Pro+ Game Controller Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Beitong Zeus 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BebonCool Dinofire Model Number: Q218 / TP28 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 - triggers aren't progressive but ON/OFF - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect analog and triggers - tri mode connection - |- | <!--Description-->EasySMX Wireless Controller PC PS3, 9013pro ESM-9013PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 linear hall effect but device sometimes will not connect tried multiple attempts with the dongle |- | <!--Description-->EasySMX X10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY MICRO SWITCH - Bumpers Tactile switch Hall Effect analog |- | <!--Description-->EasySMX X15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect analog and triggers - membrane buttons - |- | <!--Description-->EasySMX S10 Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 TMR Hall effect and compatible with Switch 2/PC/Phone/TV/Steam, NFC, Gyro, HD Rumble - |- | <!--Description-->EasySMX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->202 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Fantech World EOS Pro WGP15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect trigger and sticks,2 back paddles, motion controlling |- | <!--Description-->Fantech EOS PRO II S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 controller with TMR hall effect analogues, mechanical face buttons and D-pad, 63 input macro, back paddles, turbo - analog triggers with trigger stops - tri mode bt wifi and wired - slide switch on back for switch, macos/android and xinput - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Flydigi Apex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 luxury model |- | <!--Description-->Flydigi Vader Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 the Pro(Hall Effects) and Non-Pro (No Hall) |- | <!--Description-->Flydigi Direwolf 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 hall effect sticks and triggers - poor wifi connection - |- | <!--Description-->Flydigi Apex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 luxury model |- | <!--Description-->Flydigi Vader 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - hall effect, DInput mode (o+A hold) - |- | <!--Description-->Flydigi Direwolf 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 hall effect analog and triggers but membrane buttons with gold contacts - 800mhA battery - |- | <!--Description-->Flydigi Dunefox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 basic model hall effect analog and triggers but membrane buttons - 500mha battery - no gyros - |- | <!--Description-->Flydigi Vader 5 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2025 - hall effect stick with tension control, linear triggers, DInput mode (o+A hold) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir T4K Keleid, T4C Cyclone wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 poor to ok switch |- | <!--Description-->Gamesir Nova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no|| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - switch type layout |- | <!--Description-->Guangzhou Chicken Run Network Tech Nova Lite GameSir-T4n LITE - Zikway HID gamepad *[https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 4200 seems to be xbox so B then Home for Xinput (green LED), A then Home for HID BT Android (green/yellow LED), Y then Home for Switch Pro (Red LED)] or X then Home for Wifi and start and select to alternatively swap modes * and if on [https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 5700 ds4 so Home + B (blue LED), ] * firmware 6900 | <!--Vendor ID-->0x3537 | <!--Product ID-->0x1040 0x1041 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - hall effect 3d nubs - no usb-c cable - rubber membrane analog trigger travel and bumpers shoulder buttons - wifi 2.4G and bluetooth - xbox layout so ab and xy might need to be swapped via m and a buttons for switch type [https://www.youtube.com/watch?v=po-nNuC5fps fixes video] - 250Hz polling - 600mah battery - rigid carry case - poor d-pad esp diagonals - gamesir settings software only on android 6+ or ios based only - |- | <!--Description-->Gamesir Nova 2 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir G7 SE Wired Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->GameSir G8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir TEGENARIA T3 Lite Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 playstation aesthetic hall effect analog and membrane buttons - X+Home button connects as an Xbox controller |- | <!--Description-->GameSir Cyclone 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR Joysticks with anti-friction rings and metal anti-friction rings around the stems, gyro, rumble, macro, turbo, 2 back paddles, hall analog triggers with micro-switch trigger - tri mode bluetooth, 2.4GHz wifi and wired, 1000hz polling rate - gamesir connect software - |- | <!--Description-->GameSir G7 Pro for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR hall effect - hall effect triggers, tri mode connection - gamesir nexus software - |- | <!--Description-->GameSir Super Nova Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect sticks and triggers, 1000Hz polling, tri mode connectivity, |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->GuliKit KingKong 2 NS08 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->Electromagnetic Stick hall effect - hall linear triggers - Mechanical face buttons - wired and wireless - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong 2 PRO NS09 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall efect - wired and wireless - Mechanical face buttons - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong MAX 3 KK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall effect - wired and wireless - lithium battery - |- | <!--Description-->Gulikit KK3 Max USB-c Bluetooth Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Hall Joysticks and Triggers, Maglev/Rotor/HD Vibration, 1000Hz Polling Rate, 4 Back Buttons, |- | <!--Description-->GuliKit KK3 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 smaller version of KK3 MAX - hall effect analog and triggers, face buttons , maglev rumble, gyro, 4 back paddles - rigid case - 950mAh up to 8 hrs - |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hyperkin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hori EX2 Turbo UHX3-45 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Machenike G1 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Wireless Gaming Controller with 1K Polling Rate Hall Effect Trigger Joystick For Nintendo Switch PC iOS Android |- | <!--Description-->Machenike G5 Pro Wireless Gaming Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY Switch Membrane, Bumpers Tactile switch and hall effect analog |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->microsoft sidewinder precision pro | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | 0x045e | 0x028e | 0x | <!--Merge with USB Digital Pad-->{{No|needs specific driver and has poor 2D control pad}} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | Microsoft (R) [https://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ Xbox 360] (TM) Wireless Receiver for Windows(R) Model 1086 and Controller | 0x045e | 0x0719, 0x or 0x0291 | 0x0100 | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->{{No|separate standalone usb dongle detected and shows as 8 vendor interfaces but no class associated and so not working - may need new class from code from xpad or xboxdrv to work the controllor}} |- | <!--Description-->Xbox 360 Kinect [http://hackaday.com/2010/11/10/kinect-open-source-driver-demo-and-hacking/ Video] [http://git.marcansoft.com/?p=libfreenect.git;a=commit;h=7655fcf7239ba4907654089dba535a196685dbe5 GIT] | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2007 proprietary 2.4GHz RF protocol, |- | <!--Description-->Xbox One Wired Controller | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion--> |- | <!--Description-->Xbox One wireless controller newer model with the 3.5mm headphone jack 1537 1697 and microsoft adapter | <!--Vendor ID-->0x045E | <!--Product ID-->0x02d1 or 0x02dd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2014 |- | <!--Description-->Microsoft Elite Series 1 | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e3 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2016 ok - |- | <!--Description-->Xbox later models 1708+ Xbox One and Series use 5GHz and use Bluetooth, | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e0 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2017 |- | <!--Description-->Xbox One S | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ea 0x02fd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2019 |- | <!--Description-->Microsoft Elite Series 2 Core | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ff | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2022 ok - no hall - 125Hz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Minisform MGP01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MOBAPAD N1HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 has liquid silicone face buttons, hall effect analog, D-Pad swap, two back paddles, USB-A dongle, HD Rumble - |- | <!--Description-->Mobapad Huben 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 |- | <!--Description-->Mobapad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Gale 墨将 mòjiāng | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Blitz PRO 2 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON now MOJHON AETHER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks, hall effect triggers, mechanical bumpers, 1000hz polling rate, mechanical D-pad, membrane face buttons, mechanical back paddles, rumble, deadzone issues - tri mode |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MSI FORCE GC20 GC30 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 not hall effect |- | <!--Description-->MSI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mytrix Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->NACON GC-100XF Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 average |- | <!--Description-->PXN P5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect joysticks & triggers, limited trigger stops, 1000hz polling rate on wired, 4 back paddles, 32 macro record, anti-deadzone mode, RAW mode, gyro, turbo, tri-mode connection - |- | <!--Description-->PXN P50L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->PowerA | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Stellar T5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Junior E5 Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Razer Wolverine V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->RetroFlag | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speedlink XEOX Pro Analog Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->enclosed lithium battery? - xbox layout - switchable on back of controller to directinput (dinput) or xinput - USB dongle switchable to pc and ps3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SCUF Instinct Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2022 good |- | <!--Description-->SCUF Envision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Steel Series Stratus Duo XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->usb adapter needed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[https://inputlabs.io/Inputlabs InputLabs Alpakka Open Source and build yourself] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY it with 3d printer, pcb and components - pi pico needed - 2 gyros for better accuracy - |- | <!--Description-->[https://inputlabs.io/kapybara Inputlabs kapybara] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY one handed version wip |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Vilcorn Z03 BT Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - other Bluetooth modes (green, red, blue, purple, etc.) Select + M1 (or M2) - 400mAh - not great latency wired - 800mhz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd ultimate legend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd 0+ elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description-->zd 0+excellent | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} <pre> #ifndef AROSX_LIBRARY_H #define AROSX_LIBRARY_H #include <exec/types.h> #define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00 #define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01 #define AROSX_GAMEPAD_DPAD_UP 0x0001 #define AROSX_GAMEPAD_DPAD_DOWN 0x0002 #define AROSX_GAMEPAD_DPAD_LEFT 0x0004 #define AROSX_GAMEPAD_DPAD_RIGHT 0x0008 #define AROSX_GAMEPAD_START 0x0010 #define AROSX_GAMEPAD_BACK 0x0020 #define AROSX_GAMEPAD_LEFT_THUMB 0x0040 #define AROSX_GAMEPAD_RIGHT_THUMB 0x0080 #define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100 #define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200 #define AROSX_GAMEPAD_A 0x1000 #define AROSX_GAMEPAD_B 0x2000 #define AROSX_GAMEPAD_X 0x4000 #define AROSX_GAMEPAD_Y 0x8000 struct AROSX_GAMEPAD { ULONG Timestamp; UWORD Buttons; UBYTE LeftTrigger; UBYTE RightTrigger; WORD ThumbLX; WORD ThumbLY; WORD ThumbRX; WORD ThumbRY; }; #define AROSX_EHMB_CONNECT 0x00 #define AROSX_EHMB_DISCONNECT 0x01 #define AROSX_EHMF_CONNECT (1L<<AROSX_EHMB_CONNECT) #define AROSX_EHMF_DISCONNECT (1L<<AROSX_EHMB_DISCONNECT) struct AROSX_EventHook { struct Node eh_Node; struct MsgPort *eh_MsgPort; ULONG eh_MsgMask; }; struct AROSX_EventNote { struct Message en_Msg; ULONG en_Event; APTR en_Param1; APTR en_Param2; }; #endif /* AROSX_LIBRARY_H */ </pre> === Joystick === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CH Products CombatStick 568 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Cyborg X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Extreme 3D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | [Logitech Attack 3 Joystick] | 0x0464 | 0xC214 | 0205 | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek X-52 x52 pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek aviator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | Speedlink Competition Pro USB | | | | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{maybe|works but games not working "out of the box"}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust Predator QZ 501 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator TH 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator GM-2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust XK 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- |} ===[https://github.com/JacKeTUs/linux-steering-wheels Gaming Racing Steering Wheels]=== {| class="wikitable sortable" width="90%" ! width="25%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="40%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> [https://www.usb.org/sites/default/files/documents/pid1_01.pdf USB PID standard not supported], |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cammus C5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fanatec CSL Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 and Xbox - belt driven wheel - 30cm wheel swapping |- | <!--Description-->Fanatec Club Sport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt $600 £500 system |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FFBeast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genius TRIO RACER F1 Racing Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Cheap and cheerful but not great - may need calibrating |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hama PC Racing Wheel Thunder V18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Average |- | <!--Description-->Hori Racing Wheel 3 with pedals | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PC |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logic3 PXU450 TopDrive GT450 Steering Wheel for PS3, PS4, XBox One and PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logitech MOMO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Very good |- | <!--Description-->Logitech Driving Force GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Logitech Drive Force Pro DFP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> wheel 900 degree - weighs in at 15&nbsp;lbs |- | <!--Description-->Logitech Formula Force EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->200 degrees turn for the EX model is arcade-like driving - adds PS3 compatibility via the PSx/2 adaptor - weighs in at 9&nbsp;lbs |- | <!--Description-->Logitech G25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> - needs external psu - |- | <!--Description-->Logitech G27 PC/PS3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> comes with gear shifter - needs external psu - |- | <!--Description-->Logitech G29 PC PS3/PS4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G920 PC XboxOne | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G923 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft(R) SideWinder Precision Racing Wheel (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R3 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R5 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R9 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R12 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Ultrawipf/OpenFFBoard OpenFFBoard], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simagic M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> base direct drive $900 £800 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simplicity Simwheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> direct |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simxperience Accuforce V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SPEEDLINK Drift O.Z. Racing Wheel with Pedals and Gear Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SteelSeries Simraceway SRW-S1 Steering Wheel (PC) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Nascar Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Ferrari Challenge Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> Poor |- | <!--Description-->Thrustmaster Ferrari FGT Rumble GT Experience 3-in-1 (PC/PS3) | <!--Vendor ID-->0x044f | <!--Product ID-->b658 | <!--Revision-->0102 | <!--Merge with USB Digital Pad-->{{Yes|Wheel and all buttons detected}} | <!--Analogue Hack with Analog Stick-->{{Maybe|}} | <!--Opinion-->Not great - gear driven 240deg wheel rotation - no psu needed - 2 peddle - flappy gear change - rumble untested - red switch for PC PS3 selection |- | <!--Description-->Thrustmaster F430 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T500 RS Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> belt driven wheel/rumble for GT5 |- | <!--Description-->Thrustmaster T60 Challenge | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T150 Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> gear / belt combo wheel / rumble - 2 peddle |- | <!--Description-->Thrustmaster TMX Pro PC/XboxOne | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> direct drive rumble - no manual gear shift included |- | <!--Description-->Thrustmaster T80 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Base level and OK - PS4 - 270deg rumble - 2 peddle |- | <!--Description-->Thrustmaster T300 RS GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PS4 - belt driven - 900deg rotation and modular 28cm wheel out - 2 peddles but 3 available |- | <!--Description-->Thrustmaster TX Leather | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->TX Xbox version - 900deg rotation |- | <!--Description-->Thrustermaster TS PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PC only belt wheel |- | <!--Description--> TS XW Racer PC Xbox1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt system |- | <!--Description-->Thrustmaster T-GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 $700 £600 with T-DFB |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Tracer Zonda Racing Steering Wheel PC PS3 Vibration Feedback Pedals Gearbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- |} ===Gamepad Joypad Adapters=== * Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted. * Some adapters do not work with some [http://www.stepmania.com/wiki/Dance_Pads dance pads] because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems. * If using an adapters should be compatible with '''original''' PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->[http://www.maplin.co.uk/psx-usb-bridge-34887?tabid=3&worldid=&doy=21m9&faqitem=playstation%20controller%20to%20pc%20adaptor Maplin] [http://www.rockfire.com.tw/ Padix Co. Ltd. Rockfire] PX-205 PSX/USB Bridge | <!--Vendor ID-->0x0583 | <!--Product ID-->0x2050 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes}} but buttons mapped different from others | <!--Analogue Hack with Analog Stick-->{{Maybe|poor}} | <!--Opinion-->Ok with dpads, but very poor support with analogue hack |- | Boom PS Joy Converter adaptor | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | discontinued (2004/5). Hold Up, Start, and Select for three seconds. Very good [http://www.stepmania.com stepmania] recommendation. |- | [http://www.hkems.com/m_main.htm EMS] [http://www.hkems.com/product/ps2/ps2-usb2.htm USB2] grey plastic box with 2 PSX ports, one on either side - UP and Select pressed for 3 seconds at the same time or the dance code (start+select+up) | | | | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows the PS port works in digital mode on d-pad}} | <!--Analogue Hack with Analog Stick--> | Set in PC switch mode. Does not work when using 2 pads at the same time, likely higher power requirements. FPSE emu DualShock untested, Mat and Guitar untested but known lag involved |- | Joytech (play.com) (EMS USB2 bad clone) Black box twin PSX | 0x0b43 | 0x0003 | 0x0 | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | but poor on dance ddr mat and guitar hero as the left and right keys do not like being pressed together, Dual shock untested |- | [ EMS Trio Linker ] 1 PSone connection at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued 2005 |- | [http://psxemulator.proboards.com/index.cgi?board=support&action=display&thread=421 EMS Trio Linker Plus] (blue box) 1 PSx at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued |- | Gamtec [http://www.gamestone.co.uk/gradius/guides_usb_smartjoy_guide.php SmartJoy Plus] Lik Sang PS->USB converter Red 2005 | 0x0925 | 0x0005 | Low 0110 | <!--Merge with USB Digital Pad-->{{Maybe|detected and digital dpad works with [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4138&forum=2&post_id=35952#forumpost35952 joystick and testjoystick tests] but the second analog control is not mapping correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue Hack - hardware buggy not useable}} | Dual shock untested, Mat and Guitar untested. Nothing picked up upon plugging it in. Quite common, these items have grounding issues or feed voltage back into the USB host and freeze the host controller, preventing any plugins or removals being detected. |- | Gamtec SmartJoy Plus Dual PS->USB converter Red | 0x0925 | 0x00 | Low | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | |- | [http://uk.gear.ign.com/articles/700/700334p1.html Lik-Sang Super SmartJoy PSX] | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX |- | Soyo Kiki Kiky | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | eXcel PSX adaptor shaped a little like a stealth bomber with USB pass through | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Venom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Dragon Plus (Radio Shack) Pantherlord GreenAsia USB to PS2/PS3 converter single black cable | 0x0e8f | 0x03 | 1.07 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | |- | Deal Extreme 2 PSX black cables from 1 USB port | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested }} |- | <!--Description-->HDE 2014 Personal Communication Systems Inc | <!--Vendor ID-->0x0810 | <!--Product ID-->0x0001 | <!--Revision-->0106 | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Same as single cable above but with black block midway along cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> |- | <!--Description-->TigerGame Ltd Mayflash PC001 Super Joy Box 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Ltd Mayflash PC016 Super Joy Box arrowhead triangle twin PSX] Original was lack with RED Leds. Clones Dilong pu203, Blue HDE Neewer ShineData SD-APS2USB, Red Octane and Black PC Power Box (NS3454) '''embossed circle''' on top | 0x0810 | 0x0001 | 1.06 | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows one PS port does not work with analog control at all but the other port does and maps correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works }} | Still available 2013, poor construction though, falls to pieces easily. Dual Shock untested, Mat and Guitar untested |- | <!--Description-->TigerGame Ltd [http://www.mayflash.com/pc/pc038/pc038-1.htm Mayflash PC038 Super Joy Box Pro triangle twin PSX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Limited Mayflash SuperJoy Box 5 PC006 long V-shaped 4 port PS/PS2 Game Controller Adapter | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | |- | <!--Description-->TigerGame Limited Mayflash SuperJoy Box 5 PRO PC039 PS/PS2 Game Controller Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | Boom PSX+N64 USB converter (purple or blue see through box) (2003/4) - red led for psx and green led for n64 | 0x6666 | 0x0667 | 0x0 | <!--Merge with USB Digital Pad-->{{No|not detected by Tests/joystick}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue hack }} | Rumble Pak untested |- | [http://www.hkems.com/product/ps2/TrioLinkerPlus2.htm EMS Trio Linker Plus II] | | | | <!--Merge with USB Digital Pad-->{{Yes| }} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4753&forum=24&post_id=43102#forumpost43102 ] | <!--Analogue Hack with Analog Stick--> | 1DC 1GC 1PSX but not for ddr mat games |- | TigerGame Mayflash PC043 clone HuiJia Black twin N64 converter for PC USB | 0x0e8f | 0x3013 | 0x0 | <!--Merge with USB Digital Pad-->{{No|detected by Tests/joystick though two digital pads have their settings wrong}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works well with middle handle/grip little joystick}} | Rumble Pack untested |- | TigerGame Mayflash PC MagicBox SuperBox 3 | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | untested 1SS 1DC 1PSX } |- | <!--Description-->Lik Sang SmartJoy X | <!--Vendor ID-->0x045e | <!--Product ID-->0x0285 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SmartJoy X2 | <!--Vendor ID-->0x045e | <!--Product ID-->0x0289 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Mayflash PC018 Super Joy Box 9 Xbox (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work. Hub(s) 0x0288 detected but 0x0289 xbox1 joypads are not detected as hid let alone as [http://www.amiga.org/forums/archive/index.php/t-62940.html xpad] or [http://pingus.seul.org/~grumbel/xboxdrv/ linux xboxdrv driver] |- | TigerGame Mayflash PC019 Super Joy Box 10 Xbox Twin ports (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work with the big Fatty Duke or smaller S Akebono controller(s) |- | TigerGame Ltd Mayflash PC020 Super Joy Box 11 Xbox Quad ports (NOT 360) | 0x05e3 | 0x0604 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | |- | <!--Description-->TigerGame Ltd Mayflash PC035 3 in 1 Magic Joy box PS GC Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to NES [http://wiki.nesdev.com/w/index.php/Standard_controller SPI like protocol] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Buffalo Classic USB Pad SNES like | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC044 USB to SNES | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to MEGADRIVE GENESIS Joypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[http://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB to 9 pin ATARI RETROPORT style JOYSTICK PORT] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Atari RetroLink 9pin to SB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SLS Sega Saturn USB pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC050 Dual Saturn ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Guitar Hero for PC/Mac | <!--Vendor ID-->0x1430 | <!--Product ID-->0x474C | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Cronus Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BrookX One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Gamecube to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Magic NS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> WiiU |- | <!--Description-->Brook Converter WiiU P3 P4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->CooV Xbox One Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} * [http://www.bemanistyle.com/forum/f6/best-metal-pad-19066/ Metal dance pads with LEDs] - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool), * Hard foam mat - [http://www.mayflash.eu/3in1-deluxe-dansmat-ignition-foam-ps2xboxpc-p-5.html Mayflash] FutureMax Deluxe 3 in 1 Ignition, [http://www.gamerose.com/ Gamerose] (Stay Cool), TrinPad orange, * Soft foam mat - Logic3 (PS420N), [http://www.positivegaming.com/index.php?id=36 Positive Gaming Impact], Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz *PS1 PS2 PS3 PS4 flex ribbon big source of button/trigger issues with all controllers *PS2 Phat KSA1Q40A (Board), SA1Q33A (Membrane) SCHP-10010 H *PS2 SA1Q42A SCHP-10010 A *PS2 SA1Q43-A SCHP-10010 H The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action. {| class="wikitable sortable" width="90%" ! width="10%" | Joypad ! width="5%" | HATS ! width="5%" | Button 01 ! width="5%" | Button 02 ! width="5%" | Button 03 ! width="5%" | Button 04 ! width="5%" | Button 05 ! width="5%" | Button 06 ! width="5%" | Button 07 ! width="5%" | Button 08 ! width="5%" | Button 09 ! width="5%" | Button 10 ! width="5%" | Button 11 ! width="5%" | Button 12 ! width="5%" | Button 13 ! width="5%" | Button 14 ! width="5%" | Axes 1 ! width="5%" | Axes 2 ! width="5%" | Axes 3 ! width="5%" | Axes 4 ! width="5%" | Axes 5 ! width="5%" | Axes 6 ! width="10%" | Comment |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | | A (down-green) | B (right-red) | X (left-blue) | Y (up-yellow) | LB (white) | RB (black) | Back | Start | Guide | L3 | R3 | | | | Left X | Left Y | LT | Right X | Right Y | RT | Poor 2D, Good 3D |- | <!--Description-->Gravis GamePad / Original PlayStation Controller | <!--HATS DPAD--> | <!--Button 01-->Red (Sqleft) | Yellow X (X down) | Green O (O right) | Blue (Tri up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | | | | | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Older Adapters | <!--HATS DPAD--> | <!--Button 01-->Blue X (down) | Red O (right) | Pink Sq (left) | Green Tri (up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | Stick 1 | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Newer Adapters | <!--HATS DPAD--> | <!--Button 01-->Up | Right | Down | Left | L2 | R2 | L1 | R1 | Select | <!--Button 10-->Start | Stick 1 (analogue Hack) | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> Wish Technologies N64 Adaptoid | <!--HATS DPAD--> | <!--Button 01--> A | C Down | C Right | B | C Left | C Up | L | R | Start | <!--Button 10-->Z | Pad Up | Pad Down | Pad Left | Pad Right | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- |} Just plug in your digital/analogue joystick or gamepad into USB port. The device will be handled by Poseidon USB stack. Poseidon is the USB stack with Trident adding a GUI (graphical user interface) prefs. the context sensitive page would come up right on pressing the help key inside the relevant window. The manual is in this archive, just in case it isn't in SYS:Locale/Help *How to change joystick mode to analogue? By default a connected USB joystick emulates Amiga digital joystick. To change this behaviour so that the joystick is presented as analogue you need to use Trident preferences application (System:Prefs/Trident). Open Trident and go to Devices on the left hand side (mouse click once on it). Select your controller from the list to the right and then click on Settings button below. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section near the bottom. Find ports which are set to "Merge with USB" or "Override with USB" and change them to "Analogue Hack". Please note that analogue joystick support is an extension of original Amiga functionality, thus an Amiga application must be explicitly written to use it. AROS SDL library uses this functionality, thus all SDL applications that use joystick, can use the analogue joystick feature. The HID class has several options how to handle the input data: * Don't touch: The movement and button data for is not modified by the hid class. This is the default for the ports 0, 2, and 3. * Overwrite with USB: This will kill the original data that might had come from the internal ports and overwrites it with the joypad data for this USB interface. Note well: If you have multiple joypads connected, take care which setting you have selected for each port, because only the last interface with this option will actually send the joypad data to the game. * Merge with USB: This option merges the input data of the lowlevel.library with the USB stream. This only works, if the connected device on the original Amiga ports is NOT a mouse (because then the streams are incompatible). Merging should be the preferred method, because it leaves the original joysticks working. * Disable: Turns off the port for the application. * Analogue Hack: Tells Poseidon to force reporting of analogue data at the port. Please note that this only works with programs that understand the analogue data, because it's an extension to the original lowlevel.library standard made by Commodore. If you want to incorporate this feature in your software, just contact me and I will send you the necessary information. * Rumble Port: As addition to the analogue data, the HID class supports applications and games that want to utilize a rumble pack or force feedback motors in the gamepads. This field selects to which lowlevel port the hid device responds, when attempting to use the rumble pack. Normally, this corresponds to the port that has been set in the actions for the joypad. *How to change joystick port assignment? The low level library supports up to four ports. Port 0 is usually used by the mouse, port 1 is the standard port for joysticks/joypads. By default a connected USB joystick is present in Port 1. To change its location to Port 0 you need to use Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section. Port 1 should be set as either "Merge with USB" or "Override with USB". Change this setting to "Don't touch". Change Port 0 setting to "Merge with USB". Go to "Actions" tab. In the "Reports and collection" select first entry named "Joystick". in the "Usage items" select "X axis". Go to "Performed actions" area. On the left there will be a list of triggers. Each of them should have (port1) in their params. Click on the first trigger and using buttons to the right of the list change port1 into port 0. Repeat this for all triggers and for all items on "Usage items" list. *How to make joystick simulate keyboard keys? With Poseidon it is possible to make the joystick simulate the keyboard pressings. This might enable using joystick for playing games which only have keyboard support. This feature is configured in Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. Go to "Actions" tab. On the right top window select X axis. On the left bottom list select an entry "Digital Joystick, Push left(port 1)". On the panel to the right change "Digital joystick" into "Raw Key". A list of keys will be displayed. Select key you wish to send. Repeat the same procedure for "Digital Joystick, Release left (port 1)" option but this time check "Send key up even instead of key down". Open shell and move your joystick to the left - your selected letter should appear in the shell. *Analogue in Trident Prefs * Open the Trident USB Prefs -> Devices -> Select your joypad -> Settings button -> Action TAB * See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s) * Check [x] Track Incoming Events which is half way down the window on the left And you should see some axis activity in "Usage items" when you move the analog stick *Actions HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area Reports and collections -> Usage Items -> Performed actions Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers. Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it. Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them. Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right. Set them to Raw, then assign an up and down button for each character, etc. when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release. The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input. check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down. misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics. *Rumble in Trident Prefs Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the '''General''' TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. '''Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected.''' The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect. ===Graphic Drawing Tablet=== There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones. to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events (which AROS has) * Entry level - A6 (6x4) work area * Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported) * Semi Pro A3 (12x9) * Pro Cintiq * 2005/6 Some support added for Wacom tablets * 2008 Wacom's patent on battery free pens expires {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Micrograf Tabby (late 1980s and early 1990s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->podscat pt 3030 graphics tablet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Summagraphics | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom IV compatible (Graphire, ArtPad, A3, A4, A5 and PenPartner CT-0405-P - Wacom intuos GD-0405-R) Waycom Digitiser II UD-0608-R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom Artpad II (KT-0405-R) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AceCad boards | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Calcomp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 8000 - Aldi/Medion MD 9310 and Aldi/Tevion LT 9310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Tablet PC penabled | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based like x61t X60t NC4200 NC4400 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> * Wacom PenPartner * PenPartner 2 * PenStation 2 | <!--Vendor ID-->0x056a | <!--Product ID-->0x0000 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Graphire - Wacom Tablet ET-0405-U UV1.1-1 (Slate Blue) ET-0405UL (lime) (orange) (red) (purple) | <!--Vendor ID-->0x056A | <!--Product ID-->0X0010 | <!--Revision-->0100 | <!--Opinion-->{{Yes|late 90s with A6 size - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511 under Trident prefs. Air pen mouse type movements }} |- | <!--Description--> * Grapphire 2 4x5 ET-0405A-U UV2.0-3 (Steel Blue) * Graphire 2 5x7 ET-0507A | <!--Vendor ID-->0x056A | <!--Product ID-->0x0011 and 0x0012 | <!--Revision-->0110 | <!--Opinion-->{{Yes|A6 and A5 versions - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511. Air pen mouse type movements - mouse EC-120-0K tested}} |- | <!--Description-->Wacom Graphire 3 * cte-430/w 4x5 pearl sapphire * cte 630 6x8 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0013 and 0x0014 | <!--Revision-->0314 | <!--Opinion-->{{Yes|A6 and A5 size - [Wacom Support] Xaxis 0-10207 yaxis 0-7423 tip pressure 0-511 and the erase end appears to respond but avoid bluetooth BT versions }} |- | Wacom Graphire 4 * cte-440/B Blue cte 440/s Silver 4x5 * cte-640 6x8 cte 640 u 0403 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0015 and 0x0016 | <!--Revision-->403 | {{Yes|A6 and A5 work area detected [Wacom Support] x-axis 0000-10207 Y axis 0000-7423 Tip Pressure 000-511 and delete rub out end of the pencil seems detected but avoid bluetooth BT versions }} |- | <!--Description--> * Wacom Intuos 4x5 GD-0405 * Intuos 6x8 GD-0608 * Intuos 9x12 GD-0912 * Intuos 12x12 GD-1212-U * Intuos 12x18 GD-1218 | <!--Vendor ID--> | <!--Product ID-->0x0020 0x0021 0x0022 0x0023 0x0024 | <!--Revision--> | <!--Opinion-->{{Yes|detected and responses delivered back - x axis up to 30479 and y axis 31679, tip pressure up to 1023 and x and y tilt up to 127 - Wacom intuos GD-0912-A for Apple Macs NOT SUPPORTED}} |- | <!--Description--> * Intuos 2 4x5 A6 - XD-0405-U * Intuos 2 6x8 A5 - xd 0608u uoc * Intuos 2 9x12 XD-0912-U * Intuos 2 12x12 XD-1212-U * Intuos 2 12x18 XD-1218-U | <!--Vendor ID-->0x056a | <!--Product ID-->0x0041 0x0042 0x0043 0x0044 0x0045 | <!--Revision-->0126 | <!--Opinion-->{{No|various sizes and recognised as [Wacom Support] but not working. x-axis 00000-20319 y-axis 00000-16239 tip presure 0000-1023 x-tilt y-tilt 000-127. HID mouse xc-100-03 works but never could use it as a real tablet with pressure with TVPaint 3.6 }} |- | <!--Description--> * Intuos 3 4x5 (PTZ-430) * Intuos 3 4x6 (PTZ-431W ) * Intuos 3 6x8 (PTZ-630 PTZ630) * Intuos 3 6x11 (PTZ-631W A3 wide) * Intuos 3 9x12 (A4 PTZ-930 PTZ930) * Intuos 3 | <!--Vendor ID-->056a | <!--Product ID-->0x00b0 0x00b1 0x00b2 0x00b3 0x00b4 0x00b5 | <!--Revision--> | <!--Opinion-->{{No}} Actions in HID setup window definitively locks the Pointer (mouse) reports settings and even after a clear and save, nothing changes, the configuration returns to default values. "[Wacom]" reports don't see any events from the tablet, even with "Pointer" reports cleared and save, so is locked a in "mouse" state - but can send a special command to the tablet in order to put it into a special vendor mode. This mode enables Wacom specificities like pressure, tilt, absolute position, buttons, etc... you should send an HID report feature with ReportID=2 and data=2, the current HID class driver doesn't give a way to change that, even using the "initial startup actions" item in the extra collection. No listed features work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Volito - Promethean FT-0405-U06 UV1.4-1 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0060 | <!--Revision-->0141 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - appears to be the budget option with some but limited features}} |- | <!--Description-->Wacom Volito 2 * CTF-??? 2x3 * CTF-420G CTF-420 V2.0-0 4x5 * Serif Penabled 6742 rebadge of CTF 420/020-B CTF-420/02 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0062 | <!--Revision-->0200 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - no erase function on the end of the pen - nylon nibs value option}} |- | <!--Description--> * Wacom PL-400 LCD * PL-500 * PL-510 * PL-550 | <!--Vendor ID--> | <!--Product ID-->0x0030 0x0031 0x0032 0x0034 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> * PL-600 * PL-600 SX * PL-700 * PL-710 * PL-800 | <!--Vendor ID--> | <!--Product ID-->0x0033 0x0035 0x0036 0x0037 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Cintiq 21 UX and Cintiq Partner DTF-720 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wacom PenTablet Bamboo (MTE), Bamboo Craft (CTH), Bamboo Fun (CTE), Bamboo Pen (CTL) and Bamboo Pen & Touch (CTH) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Bamboo Fun Medium CTE-650 | | 0x0018 | | {{Maybe|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum]}} |- | <!--Description-->Bamboo Fun Small CTE-450 white | <!--Vendor ID--> | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Bamboo One CTF-430 V2.0-0 CTF 430/S | <!--Vendor ID-->0x056A | <!--Product ID-->0x0069 | <!--Revision-->0200 | <!--Opinion-->{{Maybe|A5 wired air pen and acts like a mouse only}} |- | <!--Description-->Wacom Intuos 4 * Small PTK-440 PTK-540 * Medium - PTK-640 - PTK 540WL Wireless - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Intuos4 surface sheet was revised in October 2010 to reduce nib wear}} |- | <!--Description-->Wacom Intuos 5 Touch * * Medium - PTH-650 - USB Wired and Wireless Kit | <!--Vendor ID--> | <!--Product ID-->0x0027 | <!--Revision--> | <!--Opinion-->{{N/A|untested work, however wireless may glitch or drag }} |- | <!--Description-->Wacom Intuos Pro Medium - PTH-651 - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bamboo Small Pen Tablet - MTE 450 MTE-450A (MTE-450/k) - | <!--Vendor ID-->0x056A | <!--Product ID-->0x0065 | <!--Revision-->0116 | <!--Opinion-->{{Maybe|A6 work area - mouse movement but no pen detection except x-axis 2 to -2 and y-axis 2 to -2 - mini usb lead - 4 blue led lit buttons not detected as well as circular touch button?? }} |- | <!--Description-->Bamboo Pen CTL 460 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested all Bamboo versions were criticized for the drawing surface's roughness (which got smoother over time), which caused the small pressure-sensitive 'nib' to wear down, and become slanted or scratchy in the same way as pencil lead, albeit more slowly}} |- | <!--Description-->Wacom Bamboo Fun CTH-461/S wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x00D2 | <!--Revision-->0106 | <!--Opinion-->{{Maybe|A6 size - Pen tracking not working but finger touch works }} |- | <!--Description-->Wacom Bamboo Connect Pen Tablet CTL-470 CTL-470K 470-DE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CTH 470K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom CTH 480/S wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} lithium battery for pad - |- | <!--Description-->Wacom Intuos Pen Small CTL-480/S CTL 480 K wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x030E | <!--Revision-->0200 | <!--Opinion-->{{No|A5 detected as Intuos PS but not working although the RHS blue led responds to pen on tablet }} |- | <!--Description-->CTH 490 PK S Photo - CTH-490CK-S Comic - CTH-490AK-S Art | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested lower hovering height pen nibs wear fast and input lag/responsiveness}} |- | <!--Description-->Intuos Pen & Touch Medium - CTH-680 - USB Wired and Wireless Kit work | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Intuos Pro (PTH-660 and PTH-860) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Waltop Media Tablet 10.6" Genius G-Pen M609 Genius G-Pen M609X iVista Media Tablet 10.6 Aiptek MediaTablet 10000u | <!--Vendor ID-->172f:0501 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Slim Tablet 12.1" | <!--Vendor ID-->0x172F | <!--Product ID-->0x0034 | <!--Revision-->0x1105 | <!--Opinion-->{{yes|works}} |- | <!--Description-->Waltop Media Tablet 12 by 9" Aiptek HyperPen 12000u T-12000U Tablet Series Nisis T-12000u USB Tablet Series Version 1.05 (aiptek rebadged) Trust item #1535 ADESSO Cyber Tablet 12000 Graphic design tablet iVista Media Tablet 12 PENTAGRAM O'pen Wide P 2003 Genius G-Pen M712 | <!--Vendor ID-->172f:0500, 0x08ca | <!--Product ID-->0x0010 | <!--Revision-->0105 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet, untested with others - Puck (mouse) x axis 0000 to 6000 y axis 0000 to 6000 - stylus (pen) x axis 00000 to 12000 y axis 00000 to 12000 tip pressure 0000 to 1023 - 16 function keys - AAA battery needed for pen and another for the mouse}} |- | <!--Description-->Waltop Media Tablet 14.1" v5.1e Genius G-Pen M714X Aiptek MediaTablet 14000u WMK-H141 Trust item #15358 Adesso CyberTablet 14000 M14 iVista Media Tablet 14.1 PENTAGRAM O'pen Wide P 2004 | <!--Vendor ID-->0X172f | <!--Product ID-->0X0500 | <!--Revision-->0114 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet - Stylus (Pen) X 16838 Y 16838 Tip Pressure 1023 }} |- | <!--Description-->Waltop PID 0038 Genius G-Pen F509 Manhattan 177405 | <!--Vendor ID-->172f:0038 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop PID 0052 Yiynova MSP19 | <!--Vendor ID-->172f:0052 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Q Pad Aiptek HyperPen Mini NGS Flexi Style VisTablet PenPad iVistaTablet Q Flex Pad Bravod Q-PD65-S Trust Flex Design Tablet (#16937) | <!--Vendor ID-->172f:0037 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Sirius Battery Free Tablet VisTablet Muse PENTAGRAM Designer P 2700 Princeton PTB-S1BK | <!--Vendor ID-->172f:0502 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 12.1" Genius G-Pen F610 Trust Slimline Widescreen Tablet (#16529) VisTablet Original 12" Adesso CyberTablet Z12 Adesso CT-Z12A PenPower Tooya Pro Aiptek Slim 12.1 Inch Aiptek SlimTablet 600u Premium II NGS Slim Proguess iVistaTablet Slim 12.1 PENTAGRAM ThinType P 2006 | <!--Vendor ID-->172f:0034 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 5.8" Genius G-Pen F350 Trust item #16485 VisTablet Mini iVistaTablet Slim 5.8 | <!--Vendor ID-->172f:0032 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Venus S Tablet Trust eBrush Widescreen Tablet (#17939) | <!--Vendor ID-->172f:0503 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Aiptek GmBH MediaTablet Ultimate II - 16:10 Professional Graphic Tablet Model 1400U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Hanvon Beijing HanWang HW Micro Drawing Tablet ET0504U | <!--Vendor ID-->0x0b57 | <!--Product ID-->0x8030 | <!--Revision-->01111 | <!--Opinion-->{{No|does not work - recognised as an HID mouse - no tablet extensions detected}} |- | <!--Description-->KYE EasyPen 340, Genius EasyPen 340 | <!--Vendor ID-->0458:5014 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Aiptek Hyper Pen 6000u PC Tablet APT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|detected but does not work - win98 era cordless 6in by 4.5in - }} |- | <!--Description-->nisis T-8000U APT-2 Aiptek rebadge | <!--Vendor ID-->0x08CA | <!--Product ID-->0x0021 | <!--Revision--> | <!--Opinion-->{{No|A5 detected but no responses }} |- | <!--Description-->Acecad Flair II GT-504 Init Fkt Fkt 0x5ab450c0 AIPTEK HyperPen 10000 U Aiptek HyperPen 10000U, AIPTEK Slim Tablet U600 Premium II | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ace Cad Enterprise Co., Ltd Tablet - 5x3.75 drawing area | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bosto's | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} UCLogic Digitizer |- | <!--Description-->Adesso CyberTablet Z7, Adesso CyberTablet 12000, Adesso CT-12000A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->UC-Logic / Lapazz WP8060, UC-Logic / Lapazz PF1209, UC-Logic / Lapazz Artistic Tablet 5540, Manhattan 8"x6", Manhattan 3"x4", Manhattan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested but suspect not working}} |- | <!--Description-->DigiPro 5.5×4” Graphics Tablet Digital Ink Pad (A4 format) DigiPro WP8060, DigiPro WP5540, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-pen G-Pen 4500 Genius Wizardpen Genius Mousepen Genius Easypen i405 M610 Genius PenSketch 9x12, Genius MousePen i608, Genius MousePen 8x6, Genius MousePen / WizardPen 5x4, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-Pen F610 Genius G-Pen M610 Genius G-Pen 340 (UC-LOGIC Tablet WP4030U) Genius G-Pen 450 (UC-LOGIC Tablet WP5540U) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius UC-LOGIC iBall Tablet PF8060 iBall Iball Pen Tablet 8060U, Iball Pen Tablet 5540U, Iball Pen Tablet 4030U, Iball Design Tablet PF1209, NGS CADBOY (UC-LOGIC Tablet WP5540U) Pentagram QWare | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust TB-3100 Trust TB-5300 Trust 15356 Trust TB-6300 Trust 15357 WP8060U Slimline but bulky with metal backing A5 size Trust 16486, Trust 16447, Sketch Design Tablet, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|clashes with usb and crashes AROS }} |- | <!--Description-->UC-Logic Tablet WP1062 Aiptek HyperPen 10000U Monoprice 10X6.25 Inches Graphic Drawing Tablet Pickle 10x6.25 Inch Graphic Drawing tabletguess | <!--Vendor ID-->5543:0064 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | [ VTech KidiPhoto Art Studio] | | | | {{yes|works}} |- |} Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position, Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer. Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531&nbsp;kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity. In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer. If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [http://tech.groups.yahoo.com/group/highway_usb/message/2394]}} === Handheld Barcode Scanner Readers === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Farsun 9100 barcode scanner 0-12" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola Symbol LS2203 CMOS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Tysso | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Simple}} Code 11, Code 39, Code 93, Code 128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, MSI/Plessey, Telepen, Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5 |- | <!--Description-->Unitech MS320 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WCS3905 CCD 1" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Code 93, Matrix 2 of 5, Industrial 2 of 5, Code 39, UCC/EAN-128, ISBN, Code 32, EAN/JAN-8 , EAN/JAN-13 , UPC-A, UPC-E, Codabar, Code 128, Code 11, Interleaved 2 of 5, MSI-Plessey, China Post, IATA 2 of 5, ISSN, UK-Plessey |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic Touch 90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Intermec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Metrologic MK9540-32A38 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola LS2208 Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WWS800 Laser 1D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic GD4130-BK-C066 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell 1202G-1USB-5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola / Symbol DS6707-DC20007ZZR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->DataMan 8000 2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Voyager 9520/40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Metrologic MS1690 USB 2D Barcode Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} QR Code GS1 Databar PDF417 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Syscan GM800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} [http://www.scandit.com/2011/11/04/types-of-barcodes-choosing-the-right-barcode-type-ean-upc-code128-itf-14-or-code39/ Types of Barcode] <pre> UPC-A Grocery most common Code 128 EAN-13 Library Books ISBN & ISSN, Code 39 Codabar blood bank, 2D barcodes such as Data Matrix PDF417e Maxicode Aztec QR Code old Nokia handsets, MicroPDF417 </pre> ===TouchScreens=== Projected capacitive (PCAP) touch screen product, amongst many options the widely used are I2C and USB *USB host–device structure which dominates consumer and industrial electronics devices where higher bandwidth needed and user-friendly (multiswipes) *I2C Inter-Integrated Circuit simple serial standard for LCD display in embedded systems because of cost and low power *SPI arduino and rpi single boards We cover the USB here {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | eGalax Touch 4a | 0eef | 0001 | 0001 | {{yes|2009 works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lilliput HDMI Monitors 669GL-70NP/C/T (7 inch) 869GL-80NP/C/T (8 inch) FA1011-NP/C/T (10 inch) FA1046-NP/C/T (10 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iilyama Prolite Monitors PROLITE T1513SR-1 (15 inch) PROLITE T1730 (17 inch) PROLITE T1713SR-1 (17 inch) PROLITE T1913SR-1 (19 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Smart Display Company (SDC) Touchscreens TFT Monitors TOUCH-TFT-TS07 (7 inch) TOUCH-TFT-TS08 (8 inch) TOUCH-TFT-TS10 (10 inch) TOUCH-TFT-TS12 (12 inch) TOUCH-TFT-TS15 (15 inch) TOUCH-TFT-TS17 (17 inch) TOUCH-TFT-TS19W (19 inch wide) TOUCH-TFT-TS22W (22 inch wide) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC Monitors 7 inch models 700TSH 700TSU 700TSV 702TSV 705TSV 706TSA 700IDT MDT-X7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC 8 inch models: 800TSV 805TSV 10 inch models: 1020TSV 1026TSA 1040TS 12 inch models: 1200TS 1200TR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Asus VT229H 21.5" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CUQI 7" Monitor Touchscreen 1024x600 IPS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Espresso 15" Portable Touchscreen Display Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hannspree HT225HPB 21.5 inch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->WaveShare 13.3inch HDMI LCD (H) (with case) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ===GPS tracking, running, cycling, biking, walking, hiking, ORIENTEERING, boaters and mapping=== Support for OpenStreetMap but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb, Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs, NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case). Equivalent apps - merkator, mapsource, {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Garmin gpsmap 180 GPS/chart plotter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->1992 GARMIN GPS 55 AVD Portable System | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPS V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - waas pinpoint within 3 metres - nmea - 4AA battery}} |- | <!--Description-->Garmin GPS 12 12XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Legend C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin eMap | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|possibly through usbmodem rs232 connection nmea 0183 protocol}} |- | <!--Description-->Garmin eTrex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} rs232 these older units supported it and would provide the stream in either the standard NMEA 0183 format or a proprietary Garmin format. |- | <!--Description-->Garmin GPS 75 AVD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Map 7000 model 45006 (1994) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Tracker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan Pioneer Satellite Navigator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS 300 315 320 Mentor Receiver (2003) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Not for dedicated sat nav units like the Nuvi, TomTom, etc | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NaviLock NL-402U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested u-blox 5 SuperSense® chipset with receivers for GPS, GLONASS, Galileo, BeiDou and QZSS}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->GM1-86UB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| U-BLOX UB-6010 GGA,GSA,GSV, RMC and support VTG, GLL, TXT ublox binary and NMEA Command Dynamic Condition }} |- | <!--Description-->NAVILOCK GPS NL-602U USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|works via usbmodem.device - ublox ag 6 chipset - 50 channel}} |- | <!--Description-->TOPGNSS ton Receiver & Antenna GM702 u-blox 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|UBLOX7020 chip design bloc u-blox}} |- | <!--Description-->VK-162 G-MOUSE u blox 7 | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A|UBX G70xx with RMC VTG GSV TXT GLL GGA GSA}} |- | <!--Description-->VK-172 u-blox 7 G7020-KT gps gnss white pen stick receiver - over 1 inch long | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A| detected as cdc controlled plug in device - 18x18x2mm patch antenna but can be slow to update - nmea 0183 and ublox binary protocol}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GlobalSat BU-353 WaterProof USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested SiRF Star III}} |- | <!--Description-->Haicom HI-206 USB GPS receiver with RS-232 interfaces, RJ11 and PS/II connector EB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|usb-serial prolific pl2303 detected but GSP3F SiRF Star IV technology not detected or bound}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->BT760Y, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 5 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 6 GPS chipset - 65 channel}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 7 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 8 GPS chipset - 167 channels}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Garmin Colorado 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB |- | <!--Description-->Garmin Geko 101 201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} limited waas enabled only - waypoints - aaa battery |- | <!--Description-->Garmin Edge 200 bike mount | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin ForeRunner 10 15 watch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Montana 600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Dakota 10 20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Map76s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Oregon 450T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB nmea 0183 |- | <!--Description-->Garmin eTrex 10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - no nmea0183 sentences data stream output - configuration an option to set it to "Garmin" mode, or "Mass Storage" mode. Since the mass storage mode seems to be required for waypoint/track/etc data exchange, the 'Garmin' mode would be for this data stream. Yet putting it in that mode doesnt seem to produce anything.}} |- | <!--Description-->Garmin Oregon 650T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPSMAP 64S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->GPSMap 78S or GPSMap 76CSX which has a NMEA port for talking to Nav equipment | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->Garmin eTrex Vista Cx GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - 2AA battery}} |- | <!--Description-->Garmin GPSmap 276c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 2000 XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan Triton 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} SiRFstarIII™, Antenna Type Multidirectional Patch with WAAS, EGNOS, MSAS support |- | <!--Description-->Magellan Triton 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==massstorage.class (MSC/UMS - most cameras and mp3 players)== === USB Card Readers === {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Installing ! width="15%" |Booting ! width="30%" |Opinion |- | A-Tec Model CR-362 | | | | <!--Installing--> | <!--Booting--> | {{N/A|untested}} |- | [http://www.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=200406&pcount=&Product_Id=179164 Belkin 15 in 1 Card Reader] | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Conrad CP440 60 in 1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works on a1k forum}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Genesys Gtech Logic 19 in 1 | 0x05E3 | 0x0710 | High 0200 | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Hama 19 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | Hama 35 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Integral Single Slot SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kingston USB 3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexar microsd adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} but wider than Sandisk version - could block other slot if below |- | Pretec CardDriver | | | | <!--Installing--> | <!--Booting--> | {{no|no driver}} |- | Sandisk MicroMate | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Sandisk MobileMate SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Sandisk MobileMate Micro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} has satisfying 'click' when microsd inserted |- | <!--Description-->Sandisk MobileMate Duo MicroSD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} no 'click' insertion uses pressure so future wear and tear issues |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Serena metal cased microsd only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | <!--Description-->Serena "Sandisk MobileMate" look-alike | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | SilverCrest 16in1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Transcend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P5 8 in 1 TSRDP5K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P8 15 in 1 TSRDP8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Zyxel integralmemory 8 in 1 | 0x0aec | 0x3260 | | <!--Installing--> | <!--Booting--> | {{no|not detected}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- |} === USB Hard Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Datel MaxDrive | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Inateck 2.5 Inch USB 3.0 Hard Drive Disk Enclosure/ Case (FE2001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Full USB 3.0 port but plastic teeth keeping drive in place can snap |- | <!--Description-->Inateck case (FE2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} full USB 3.0 port - updated design |- | <!--Description-->Inateck case (FE3001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} wider USB 3.0 port and no on/off switch Jmicron JMS578 chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Iomega Desktop Hard Drive 500GB, 3,5“, USB2.0 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Samsung | | | | {{N/A|untested}} |- | Samsung | | | | {{N/A|untested}} |- | Samsung T3 SSD | | | | {{N/A|untested}} USB 3.1 Gen 1 space grey / black metal/ plastic |- | Samsung T5 SSD | | | | {{N/A|untested}} USB 3.1 Gen 2 256GB 512GB alluring blue 1Tb 2Tb black unibody metal |- | Samsung | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Toshiba Canvio 1TB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|partition fat32 or sfs to 100GB max - ntfs partitions not detected out of the box - select usb drive in trident prefs and press disable to shutdown}} |- | Verbatim 160GB Smartdisk | | | | {{yes|works }} |- | Western Digital USB | | | | {{N/A|untested}} |- | <!--Description-->WD Essential | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->WD Passport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === USB DVD CD ROM Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm enclosure mini-sata dvd-rw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested needs sole usb3 port to power it}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->9.5mm enclosure ECD829 mini-sata dvd-rw with Initio Corporation INIC-1618L SATA | <!--Vendor ID-->0x13fd | <!--Product ID-->0x0840 | <!--Revision--> | <!--Opinion-->{{N/A|untested but probably needs sole usb3 port to power it}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === USB to NGFF NVMe SDD HDD DVD CD ROM Drives === The older Jmicron JMS539B seems to result in massive filesystem corruption given the amount of corrupted content. Prehaps always avoided Jmicron and opted for Asmedia even if it costed a bit more. Realtek seems to be working okay for me generally speaking and newer Jmicron chipsets are less buggy – but evidently not perfect. From [https://goughlui.com/2025/08/17/psa-validate-your-storage-jmicron-jms583-kioxia-bg4-series-ssd-issue/ thread] Here is a [https://forums.anandtech.com/threads/stable-nvme-usb-adapter.2572973/ very long thread] that discusses data corruption and stability issues with these bridges. The majority of the posts are complaining of dropouts, hangs and the like, which usually down to either a poor USB 3.x implementation (SuperSpeed connections are very picky as to cables, ports and trace routing) or problematic compatibility. Regardless, the [https://www.legitreviews.com/jmicron-jms583-controller-version-matters-for-portable-usb-drives_219422 JMS583 is known to have several versions] noting that the last revision (C) in that article is a 2021 release which should fix earlier stability and cable quality compatibility issues. JMS583-STD-Release-v00.02.01.04-Bus Power.bin is the latest JMS583 firmware as of August 2025. Early firmware RTL9210 seems to have issues as well * RTL9210B * JMS583 rev1 with firmware A2 or A3 * RTL9210A * JMS583 firmware 2.0.9 * Asmedia ASM2362 * RTL9201A The reference Hardware ID for the JMS583 chipset from JMicron is: VID_152D&PID_0583&REV_0209 where "VID_152D" identifies a JMicron product; "PID_0583" is the generation chipset; "REV_0209" is the firmware version installed. In the same way, the reference Hardware ID for the RTL9210 from Realtek is: VID_0BDA&PID_9210&REV_3100 "VID_0BDA" is for a Realtek product, "PID_9210" is referred to the chipset and "REV_3100" to the firmware. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ASM1153E / ASM1153 with firmware 140509_A1_82_40 or 141126_A1_EE_82. Both supports UASP and TRIM on USB 3.1 Gen.1 adapter | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->ASM235CM Ugreen aluminum bridging the USB3.2 Gen2x1 to Serial ATA host interface | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TI 9261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASM225 | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->JMicron JMS578 issues USB 3.1 Gen.1 adapter | <!--Vendor ID-->152d | <!--Product ID-->0578 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMicron JMS576 issues USB 3 to usb-c adapter | <!--Vendor ID-->152d | <!--Product ID-->0576 | <!--Revision--> | <!--Opinion-->{{maybe|orico}} |- | <!--Description-->JMS562 JMicron Technology Corp | <!--Vendor ID-->152d | <!--Product ID-->0562 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMS561U | <!--Vendor ID-->0x152d | <!--Product ID-->0x1561 | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->VL716Q4 Orico black meshed aluminum usb c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053E | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASmedia ASM1051E | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053 | <!--Vendor ID-->0x174C | <!--Product ID-->0x1536 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM104x | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x1042 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Unknown Chinese version | <!--Vendor ID-->0x0bc2 | <!--Product ID-->0x2312 | <!--Revision--> | <!--Opinion-->{{maybe|sometimes works}} |- | <!--Description-->JMicron N5321 gr | <!--Vendor ID-->0x152d | <!--Product ID-->0xa583 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Initio Corp INIC-1618L mini slimline sata 6 + 7 pins to usb2 adapter | <!--Vendor ID-->0x13FD | <!--Product ID-->0x0840 | <!--Revision-->0114 | <!--Opinion-->{{maybe|sometimes works mini sata to usb2 detects 201x laptop DVD as MassStorage(CD/DVD) but may need powered USB hub}} |- | <!--Description-->Unknown mini sata to usb3 adaptor | <!--Vendor ID-->0x01F75 | <!--Product ID-->0x0621 | <!--Revision-->0036 | <!--Opinion-->{{maybe|sometimes works mini sata to usb3 detects 201x notebook DVD drive as MassStorage(SCSI) but 5V 1.5Amp needs powered hub to burn }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === External Floppy === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->[http://techtravels.org/amiga/amigablog/ Amiga Floppy Project] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=842 Catweasel Mk4] | 0xE159 | 0x0001 | 0x00 | {{yes|[http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage works]}} |- | <!--Description-->[http://hxc2001.free.fr/floppy_drive_emulator/ HxC Floppy Emulator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.softpres.org/glossary:kryoflux KyroFlux] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->Samsung SFD-321U/EP USB Floppy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.cbmstuff.com/proddetail.php?prod=SCP SuperCard Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://www.facebook.com/groups/greaseweazle Greaseweazle STM hardware], [https://cowlark.com/fluxengine/index.html Greaseweasel support], [https://github.com/keirf/Greaseweazle/wiki software], [https://amigakit.amiga.store/greaseweazle-p-91279.html buy], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->FL-2501 USB Portable Diskette Drive | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2009 usb - [https://amiga.robsmithdev.co.uk/ Drawbridge] [https://github.com/RobSmithDev/ArduinoFloppyDiskReader software] ribbon cable compat with p/n 19308801-19 and s/n U356244 - model ASM P/N 27l4226 and FRU P/N 05k9283 - |- | <!--Description-->Dell Floppy Drive Module USB External 3.5" - Teac FD-05PUB 1.44mb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2004 usb 1.1 |- | <!--Description-->USB FLOPPY DISK DRIVE (USB External Floppy Disk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/SukkoPera/OpenFlops OpenFlops] with [https://github.com/keirf/flashfloppy FlashFloppy] Gotech clone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/hmerrett/HenryFlops HenryFlops reworked OpenFlops] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} ==ptp.class (PTP and MTP - other cameras and mp3 players)== === Cameras === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Canon EOS 20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | <!--Description-->Canon 350D (also known as the Digital Rebel XT/Kiss Digital N) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 DIGIC II processor 8-megapixel }} |- | <!--Description-->Canon PowerShot A430 A560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | <!--Description-->Canon EOS 400D (XTi) digital SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Canon EOS 1000D also known as Rebel XS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2mp 720p }} |- | <!--Description-->Canon 450D aka Rebel Xsi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 12.2mp }} |- | <!--Description-->Canon PowerShot S90 S95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 2010 720p video - 10Mpixel }} |- | <!--Description-->Canon Powershot SD960 IS Digtal ELPH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 Still Image: Exif 2.2 (JPEG), Movie: MOV (Image: H.264; Audio: Linear PCM) Lithium-ion Battery Pack NB-4L }} |- | <!--Description-->Canon EOS 500D aka Rebel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 1080p 15.1MP Lithium }} |- | <!--Description-->Canon EOS 550D 600D aka Rebel T2i T3i DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010-2011 1080p 18MP Lithium LP-E8 }} |- | <!--Description-->Canon Powershot S100 S110 S120 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011-2013 720p-1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1100D DSLR Camera aka Rebel T3 SLR, EOS Kiss X50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p 10Mpixels Lithium }} |- | <!--Description-->Canon EOS 650D 700D aka Rebel T4i T5i T6i SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2013 1080p 18Mpixels Lithium LP-E8 articulating flip out twistable screen }} |- | <!--Description-->Canon ELPH 300 HS (IXUS 220 HS) 230 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 blogging camera }} |- | <!--Description-->Canon PowerShot N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 12.1 MP CMOS, DIGIC 5 Wifi Lithium Battery Pack NB-9L }} |- | <!--Description-->Canon Powershot G7 X, G7X-II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014-2016 1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1300D DSLR Camera aka Rebel T6 SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 1080p 16Mpixels Lithium }} |- | <!--Description-->Canon Powershot G7x G5X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| G7X flip up and G5X flip out - same batteries - no external microphone input - }} |- | <!--Description-->Canon EOS M3 M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| flip out - same batteries - }} |- | <!--Description-->Canon EOS 60D 70D 80D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon 6D 7D 8D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Canon 5D Mark II III IV DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix A850 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FujiFilm Finepix F100fd | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix F810 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xf1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| pocketable exr cmos 12mp }} |- | <!--Description-->Fuji xt1 x-t1 x10 x-t10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 1080p }} |- | <!--Description-->Fujifilm x100 x100s x100t | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xPro1 xPro2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xt2 / x-t2 x-t20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K video }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->GoPro HERO 3 HERO4 HERO 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon D100, D60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 Compact flash storage - non interchangeable lenses up to 12.3MP sensor }} |- | <!--Description-->Nikon D50, D50x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 storage - 6.1MP sensor }} |- | <!--Description-->Nikon D70, D80, D90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 Compact flash storage - 10MP sensor }} |- | <!--Description-->Nikon D40, D40x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 storage - 10MP sensor }} |- | <!--Description-->Nikon D300, D700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 storage - 12.3MP sensor }} |- | <!--Description-->Nikon D2Xs, D2Hs, D3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006-2008 storage - sensor }} |- | <!--Description-->Nikon D3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 720p video }} |- | <!--Description-->Nikon D5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 720p video unlike D3000 }} |- | <!--Description-->Nikon D6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16mpixel}} |- | <!--Description-->Nikon D7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16.2mp 720p video }} |- | <!--Description-->Nikon L26 L27 L28 L29 L31 Coolpix compact cameras | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video - 2 AA - pocket sized }} |- | <!--Description-->Nikon D3100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video 14.2mp}} |- | <!--Description-->Nikon D5100 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16.2mp 720p}} |- | <!--Description-->Nikon L810 L820 L830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 720p video }} |- | <!--Description-->Nikon D4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 storage - sensor }} |- | <!--Description-->Nikon D7100 D7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 up to 24.2mp 1080p video }} |- | <!--Description-->Nikon D3200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 1080p 24MPixel}} |- | <!--Description-->Nikon D5200 D5300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 24.1MP 1080p }} |- | <!--Description-->Nikon D800 D600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 1080p video sd card storage - dust/oil issue at start}} |- | <!--Description-->Nikon D3300 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24.2MP 1080p }} |- | <!--Description-->Nikon D500, a high-performance DX-format (APS-C) DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description-->Nikon D3400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP 1080p }} |- | <!--Description-->Nikon D5500 D5600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016-2018 24.1MP 1080p }} |- | <!--Description-->Nikon D810 D610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 1080p video sd card storage }} |- | <!--Description-->Nikon D7300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K UHD video }} |- | <!--Description-->Nikon D900 D850 D820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4k 46MP }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus C-370 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3.2mp }} |- | <!--Description-->Olympus Camedia C-725 Ultrazoom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3mp aa batteries, }} |- | <!--Description-->Olympus Evolt E-500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 8mp }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus Evolt E-410 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Olympus Evolt E-510 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 10MP Live MOS sensor with TruePic III processor, }} |- | <!--Description-->Olympus E-420 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-620 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 12.3mp, compactflash, xD and microdrive cards, }} |- | <!--Description-->Olympus E-30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Olympus E-450 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10mp, }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pentax * ist DS DSLR camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1mp }} |- | <!--Description-->Pentax K10D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 10.2mp APS-C CCD no video and older manual Pentax K-mount lenses}} |- | <!--Description-->Pentax K20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2008 14.6MP APS-C but no video recording mode }} |- | <!--Description-->Pentax K30 K-5 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2012 16MP full HD (1080p) recording at 24/25/30 fps}} |- | <!--Description-->Pentax K-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP 1080p }} |- | <!--Description-->Pentax K-3 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24MP }} |- | <!--Description-->Pentax K-3 III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 25.7MP BSI CMOS sensor }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix LZ10 LZ20 DMC-LZ30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 720p video }} |- | <!--Description-->Panasonic TZ1 TZ5 TZ9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix GH1 GH2 like the DMC-GH2HEB-K - GH3 DMC-GH3HEB-K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Four Thirds (GH2) MFT Micro Four Thirds (GH3) limited to 29mins recording }} |- | <!--Description-->Panasonic AF series AF100 AF101 AF102 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix DMC-G2 DMC-G3 G5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic TZ60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic DMC LX7 10 LX15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic GF7 GX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic G80 G85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 }} |- | <!--Description-->Panasonic GH4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 - shooting in MOV or MP4 formats recording limited to sd card size but split files because the FAT32 file system only supports files up 4GB in size, which amounts to around 5 minutes of 4K (100mbps) footage - GH4 appears to create 4GB files as a rule, regardless of whether the memory card’s file system supports larger files or not - }} |- | <!--Description-->Panasonic GH5 gx80 gx85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Effective: 20.3 Megapixel 5184 x 3888 - 2 sd card slots compatible with high-speed, high capacity UHS-II - sd card v rating like the v90 should record at 60MB/s to be compatible with the GH5 in the All-I format - possible file corruption with .mdt files - new firmware 2.0 update, the Panasonic GH5 becomes the first 5K - }} |- | <!--Description-->Panasonic FZ2000 FZ2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung WB100 WB1100 WB150 WB2200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 16MP }} |- | <!--Description-->Samsung NX11 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung NX200, NX20, NX1000 and NX210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 20.3Mp APS-C sized CMOS image sensor }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo Xacti CG65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony Alpha DSLR-A100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1MP }} |- | <!--Description-->Sony Cyber-shot DSC camera models W110 W220 H300 H400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Sony Alpha DSLR-A200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2MP }} |- | <!--Description-->Sony Alpha DSLR-A230 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10.2MP }} |- | <!--Description-->Sony A290 DSLR Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 14.2MP }} |- | <!--Description-->Sony Cybershot HX20V HX30V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 18mp 720p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony Cybershot HX50V HX60V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 20.2MP 1080p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony A77 A99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description-->Sony WX100 WX150 wx220 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 2014 }} |- | <!--Description-->Sony NEX-6 Sony NEX-7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16 to 24MP }} |- | <!--Description-->Sony NEX-3N Sony NEX-5N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 16MP }} |- | <!--Description-->Sony α58 Sony α68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 20.1 MP 2014 24mp }} |- | <!--Description-->Sony rx100 mk III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1MP 1.0-type back-illuminated Exmor R CMOS sensor, often after boot-up, the motor starts running for no reason for first versions' - }} |- | <!--Description-->Sony α5000 a5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1 Megapixel APS-C Exmor APS HD CMOS 1080p Sony E-mount [https://github.com/ma1co/Sony-PMCA-RE hack] using [https://www.youtube.com/watch?v=8M4hR9HiOzM this] }} |- | <!--Description-->Sony α6000 a6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP APS-C sensor }} |- | <!--Description-->Sony α7 A7S a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 mirror less - more compact }} |- | <!--Description-->Sony α77 II, α99 II, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24.3 MP, 2016 42.4mp }} |- | <!--Description-->Sony rx100 mk IV V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2016 }} |- | <!--Description-->Sony RX0 RX zero, RX0 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2017 }} |- | <!--Description-->Sony α6500 a6500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP APS-C sensor 4K }} |- | <!--Description-->Sony α7 Alpha 7 II E-mount interchangeable lens mirrorless camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 24.2mp, }} |- | <!--Description-->Sony α7 A7Sii a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 mirror less - more compact }} |- | <!--Description-->Sony a7 III α77 ILCE7M3/B Full-Frame Mirrorless Interchangeable-Lens Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 24.2mp, }} |- | <!--Description-->Sony ZV-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 24mm optical zoom, }} |- | <!--Description-->Sony ZV-1F | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 entry-level vlogging, 1-inch 20.1MP, ultra-wide 20mm f/2 prime lens}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} <pre > Lens Mounts Canon EF EF-S Nikon F Panasonic Olympus OM Pentax DA, FA, F, A, M, and K series Fujifilm X mount </pre > <pre > Sensors APS-C S35 Full Frame 43 Four Thirds M43 MFT Micro four thirds </pre > === Digital Voice Recorder Dictaphone Dictation Machine Handheld === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2011 }} |- | <!--Description-->Olympus VN-7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested 2012 no usb }} |- | <!--Description-->Olympus VN-7500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2012 }} |- | <!--Description-->Olympus VN-7600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2013 }} |- | <!--Description-->Olympus WS-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested usb}} |- | <!--Description-->Olympus VN-7700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-8600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-711PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-712PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-731PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus WS-811 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested slide out usb-a - aaa battery - ok recordings }} |- | <!--Description-->Olympus VN-540PC Olympus VN-541PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Philips DVT1250 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX470 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX570 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} === USB eBooks Readers drm free EPUB version 2.0.1 (2007), 3.0 (2011), 3.1 (2015) or [https://www.w3.org/TR/epub-33/ 3.3 (2024)] [https://github.com/thansen0/sample-epub-minimal epub examples] formats access === EPUB file format is an open standard based on XHTML for content and XML for metadata, contained in a zip file archive PDF v2.0 in 2017, 2009 takeover by ISO Org, 1.7 in 2006 , 1.6 in 2005, 1.4 in 2001, 1.3 in 1999, 1.0 in 1993 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Barnes and Noble Nook Simple Touch NST BNRV300 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0003 | <!--Revision--> | <!--Access-->when finding the right micro usb cable that works, internal nook memory not accessible but sd card fat32 readable and writable outside | <!--Opinion-->{{N/A|2011 6in 600x800 e-ink 16 grayscale .jpg}} battery remove sd card and Torx T5 back top for Cameron Sino CS-BNR003SL - USA 1.2.2 md5sum 351e26527e80156183e74be2da2ce89f *nook_1_2_update.zip - 1.2.1 UK fdba3981f7f221cc5143db6329645bc2 *nook_1_2_update.zip - skip registration, Turn on the device, but do NOT start setting it up. Hold down the top right button on the front of the device and slide your finger from left to right across the top of the E Ink screen. A ‘Factory’ button should appear in the top left corner of the screen. Press it. Once in the Factory menu, hold down the top right button on the front of the device and tap the bottom right corner of the screen should now see a ‘Skip Oobe’ button. Tap that and the Nook should finally load the home screen. Poor battery management - |- | <!--Description-->Barnes and Noble Nook Simple Touch with Glowlight *2012 Nook Simple Touch with GlowLight BNRV350 *2013 Nook GlowLight BNRV500 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0004 0x0007 | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2012 untested }} perform a hard reset: Turn off the nook completely, turn it on, as soon as you see the screen flash begin holding the bottom page turn buttons until the screen flashes with a message asking reset, press the 'n' key twice to start the reset - Poor battery management - |- | <!--Description-->Nook Glowlight 4 Plus 7.8-inch screen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} Poor battery management - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *NOOK 1st Edition (2009-2018) BNRZ100 *NOOK Color (2010-2024) BNRV200 *NOOK Tablet (8GB/16GB) (2011-2024) BNTV250A / BNTV250 *NOOK HD (2012-2024) BNTV400 *NOOK HD+ (2012-2024) BNTV600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Elonex 511EB | <!--Vendor ID-->045e:ffff | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 untested Preferences->advanced->debug device detection}} |- | <!--Description-->[https://jaforeck.wordpress.com/2012/08/05/ready-to-meet-viktor-navorski-gained-access-to-elonex-621ebs-terminal-52/ Elonex 621EB] eBook | <!--Vendor ID-->0x1f85 | <!--Product ID-->0x1688 | <!--Revision--> | <!--Access-->unlocked ootb | <!--Opinion-->{{N/A|2010 untested usb mini charging 6" diagonal eInk Screen - 800 x 600 pixels, 8 Level 166dpi Paperlike screen, Embedded 1GB Flash NAND, full SD Card Slot up to 16GB - WAV, MP3, JPG, PNG, BMP, GIF support and ePub and PDF(with reflow) (TXT, HTML) support}} |- | <!--Description-->Elonex 700eb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2011 untested adjust screen blanking by menu then settings then device standby, you can then turn it off}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->iRiver Story HD eBook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} freescale imx.508 arm mcimx508cvkbb cpu with 2gb samsung nand, m13892aj charging chip, eb07_main_mp1_110321 mobo, mini usb, atheros ar61026 wifi - |- | <!--Description-->iRiver Story | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Rakuten Touch A/B kobo3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Touch C, Kobo Mini, Kobo Glo N613, Kobo Aura HD N514 N204 kobo4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura, Kobo Aura H2O, kobo5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2013 6in untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v1, Kobo Glo HD, Kobo Touch 2.0, Kobo Aura ONE N709, Kobo Aura ONE Limited Edition, Kobo Aura Edition 2 v1 N236, kobo6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v2, Kobo Aura Edition 2 v2, Kobo Nia, Kobo Clara HD, Kobo Forma, Kobo Libra H2O kobo7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Elipsa, Kobo Sage kobo8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *Kobo Libra 2 kobo9, Kobo Clara 2E kobo10, Kobo Elipsa 2E kobo11 *Kobo Libra Colour kobo13, Kobo Clara BW, Kobo Clara Colour kobo12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pandigital Personal eReader aka? Papyre 6.2 very similar to BQ Avant Firmware | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 350 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 epub bbeb cbz untested }} |- | <!--Description-->Sony PRS-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle K1 D00111 - Main Menu=: Settings: Menu=: Device Info shows S/N | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0002 | <!--Revision-->100 | <!--Access-->256mb | <!--Opinion-->{{N/A|2007 untested Marvell Xscale PXA255}} |- | <!--Description-->Kindle K2, D00511 170-1012-00, D00701 D00801 S11S01B * k2 means K2 US * k2i means K2 GW * dx means KDX US * dxi means KDX GW * dxg means KDX Graphite | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0003 | <!--Revision-->100 | <!--Access-->2gb unless jb | <!--Opinion-->{{N/A|2010 untested Freescale i.MX31 }} the Kindle is a small computer running Linux 2.6 on an ARM processor |- | <!--Description-->AMAZON Kindle D00901 3rd Gen with keyboard - Menu, Settings for S/N and then Menu again to choose Update * S/N starts B006 means k3g aka K3 3G US * S/N starts B008 means k3w aka K3 WiFi * S/N starts B00A means k3gb aka K3 3G UK EU - debug mode with ;debugON and ~help | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0004 | <!--Revision-->100 | <!--Access-->{{yes|4Gb internal no access until jailbroken JB}} | <!--Opinion-->2010 with mobi and azw3 formats only - micro usb 5v 0.85a - freescale i.mx35 ARM soc with 12bit parallel interface with epson e-ink cpu, 256MB synchronous dynamic RAM, 4GB eMMC internal memory only but no sd slot, MC13892 PMIC - atheros wifi 54mbit pci-e a e keyed wifi - ?? later models wm96103 audio codec - display has 2Mbit serial memory ic on ribbon cable with 4bpp inverse grayscale display not touchscreen - 3g module - screen replacement really annoying - 4 test points near T07 = TX RX GND ? - as of 2025, JB v0.13.N, MKK2014, MKK2025, KUAL, KoReader Legacy2025, and maybe later SS v0.47.N, Python 0.14.N, Fonts v5.16.N, USBNet v0.57.N - USB-downloader mode when Vol+ is pressed during startup - Shift + Alt + M for Minesweeper - |- | <!--Description-->Amazon Kindle 4th Generation k4 D01100 two buttons, square movement and two buttons at bottom *B00E plastic back clipped in [https://www.youtube.com/watch?v=LV1dyNkjjro many places] and strongly taped down to battery cover | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0005 | <!--Revision-->100 | <!--Access-->2gb unless jb with USB MS, USBMS aka also known as USB MSC or UMS | <!--Opinion-->{{unk|2012 once back off use Torx T5 to remove battery cover screws - battery glued down S2011-001-A 515-1058-01 DR-A015 MC-265360 - Freescale i.MX508 SOC, 2Gb eMMC storage, 256MiB of LPDDR1, MC13892 PMIC - vendor modified u-boot imximage based on u-boot v2009.08 - USB-downloader mode press the fiveway down button during startup resetmykindle - as of 2025 upgrade firmware from 4.1.x and to 4.1.4, sign into account and copy jb.1.8 bits, mkk-2014, mkk-2025, kual and then uninstall kual, koreader2025 - }} |- | <!--Description-->Kindle Touch WiFi (Kindle 5th Gen) D01200 K5, KT *Once signed into an Amazon Account get S/N under Settings -> Device Options *B00F Kindle Touch 3G + WiFi (Kindle 5) (U.S. and Canada) [Mostly] *B011 Kindle Touch WiFi (Kindle 5) *B010 Kindle Touch 3G + WiFi (Kindle 5) (Europe) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0006 | <!--Revision-->100 | <!--Access-->4gb unless jb | <!--Opinion-->{{unk|2013 touchscreen i.MX508 SOC, 256MiB of LPDDR1 and USB-downloader mode by the SOC microcode when a specific key is pressed during startup: the home button on model D01200 - update firmware 5.3.2 to 5.3.7.3, access account, }} |- | <!--Description-->Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] PW <pre> B024 Kindle PaperWhite WiFi B01B Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] B020 Kindle PaperWhite 3G + WiFi (Brazil) B01C Kindle PaperWhite 3G + WiFi (Canada) B01D Kindle PaperWhite 3G + WiFi (Europe) B01F Kindle PaperWhite 3G + WiFi (Japan) </pre> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0007 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk|2013 Freescale i.MX508 }} |- | <!--Description--> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0008 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle PaperWhite 2 (2013) PW2 *B0D4, 90D4 WiFi (U.S., Intl.) *B05A, 905A WiFi (Japan) *B0D5, 90D5 3G + WiFi (U.S.) [Mostly] *B0D6, 90D6 3G + WiFi (Canada] *B0D7, 90D7 3G + WiFi (Europe) *B0D8, 90D8 3G + WiFi (Russia) *B0F2, 90F2 3G + WiFi (Japan) *B017, 9017 WiFi (4GB) (U.S., Intl.) *B060, 9060 3G + WiFi (4GB) (Europe) *B062, 9062 3G + WiFi (4GB) (U.S.) [Mostly] *B05F, 905F 3G + WiFi (4GB) (Canada) *B061, 9061 3G + WiFi (4GB) (Brazil) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0009 | <!--Revision-->100 | <!--Access-->2gb or 4gb | <!--Opinion-->{{unk| PW2 uses Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Paperwhite 3 PW3 i.e. Kindle 7th gen *G090G1 (2015) WiFi *G090G2 (2015) 3G + WiFi (U.S.) [Mostly] *G090G4 (2015) 3G + WiFi (Mexico) *G090G5 (2015) 3G + WiFi (Europe, Australia) *G090G6 (2015) 3G + WiFi (Canada) *G090G7 (2015) 3G + WiFi (Japan) *G090KB (2015) WiFi *G090KC (2015) 3G + WiFi (Japan) *G090KE (2016) 3G + WiFi (International) White *G090KF (2016) 3G + WiFi (International) White *G090LK (2016) WiFi, 32GB (Japan) *G090LL (2016) WiFi, 32GB (Japan) White | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000A | <!--Revision-->100 | <!--Access-->4gb | <!--Opinion-->{{unk| ease up glued down front bezel rim panel gently, remove 11 screws underneath and lift screen up from bottom end - battery underneath - }} |- | <!--Description-->Kindle PaperWhite 4 (2018) PW4 *G000PP, G8S0PP WiFi, 8GB *G000T6, G8S0T6 WiFi, 32GB *G000T1 WiFi+4G, 32GB *G000T2 WiFi+4G, 32GB (Europe) *G00102 WiFi, 8GB (India) *G000T3 WiFi+4G, 32GB (Japan) *G0016T, G8S16T WiFi, 8GB Twilight Blue *G0016Q, G8S16Q WiFi, 32GB Twilight Blue *G0016U WiFi, 8GB Plum *G0016V, G8S16V WiFi, 8GB Sage *G00103 WiFi, 32GB (India) *G0016R WiFi, 32GB Plum *G0016S WiFi, 32GB Sage | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000B | <!--Revision-->100 | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Oasis 2 and 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| NXP i.MX7D }} |- | <!--Description-->Kindle Paperwhite 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8110 }} |- | <!--Description-->Kindle 11 Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8113 }} |- | <!--Description-->Kindle Paperwhite 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->16gb or 32gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle Paperwhite Gen 11 and 12 - Signature | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0 | <!--Revision--> | <!--Access-->16Gb or 32Gb | <!--Opinion-->{{unk|2024 account not blocked, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Modos-Labs Modos Labs] open source e-ink 60Hz 75Hz caster controller and glider monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xteink X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.xteink.com Xteink X4] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->2025 4.3in 220ppi no touchscreen so [https://www.youtube.com/watch?v=R7RuokaVauo buttons navigation] - 650mAh battery - micro-sd slot up to 512Gb covering epub, txt, and jpg in directories with [https://github.com/crosspoint-reader crosspoint reader] esp32 cpu custom rom firmware using [https://xteink.dve.al/ Flash website] on usb-c but no ecosystem store |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description-->Amazon D01400 Kindle Fire (1st Generation) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{No|2010 too old }} android 2.3 and touchscreen digitizer fails often, battery SWE P/N 1002000004742 Model KC1 (EU) QP01 (US) 16.28whr, ti 257epl9l omap 4430 with elpida 88164b3pf-10-f88164b3pf or hynix, mobo ??,, DAOKC1MB8F0 Rev F, ti aic3110 audio codec, |- | <!--Description-->Amazon Fire 7in X43260 X43Z60 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2012 untested FireOS Android 4 omap 4460 and PowerVR SGX540}} |- | <!--Description-->Amazon Kindle Fire HD (3rd Gen) P48WVB4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2013 untested }} |- | <!--Description-->Amazon *Amazon Fire HD10 (2015) *Amazon Fire HD8 (2015) *Amazon Fire HD7 (2015) (5th Generation) 7 inch 8GB SV98LN *Amazon Fire HD7 (2014) *Amazon Fire HD6 (2014) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|untested android 5.1 max}} |- | <!--Description--> *Amazon Fire 10 (2017) *Amazon Fire 8 (2017) 7th Gen 8 inch SX034OT *Amazon Fire 7 (2017) (7th Generation) 7 inch 16GB (SR043KL) *Amazon Kindle Fire 7 (7th Generation) 7 inch 8GB WIFI Tablet (SR043KL) *Amazon Fire HD8 (2016) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| Android 5.1 max 7in screen resolution of 1024 x 600, }} |- | <!--Description--> *Amazon Fire 10/10+ (2021) *Amazon Fire 8/8+ (2020) *Amazon Fire 10 (2019) *Amazon Fire 7 (2019) *Amazon Kindle Fire 7 9th Gen 16GB M8S26G *Amazon Fire 8 (2018) 8th Gen 8 inch 32GB L5S83A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 9 max}} |- | <!--Description-->Amazon *Amazon Fire HD 10 (2023) *Amazon Fire Max 11 (2023) *Amazon Fire 8 (2022) *Amazon Fire 7 (2022) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 11 max}} |- | <!--Description-->Amazon Kindle Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Amazon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Minimal Phone, Mudita Kompakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| eink }} |- | <!--Description-->Bigme B751C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2022 android untested }} |- | <!--Description-->Bigme B7 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Bigme B6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 android based color eink small - 300dpi b/w 150ppi color -}} |- | <!--Description-->Bigme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink }} |- | <!--Description-->Bigme Hibreak Pro, Hisense A9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->iFlyTech AINote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->iFlyTech AINote 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Meebook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Page Palma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2016 android untested }} |- | <!--Description-->Onyx Boox Leaf3C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go Color 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 untested 7in e-ink e-reader android tablet }} |- | <!--Description-->Onyx BooxTab Ultra X C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Note Max Air4 C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Leaf5C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Poke6S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go 10.3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox MC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| color e-ink 13.3in }} |- | <!--Description-->Onyx Boox Go 10.3 (Gen 2) Lumi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 b/w eink with front light, no EMR annd capacitance pen, }} |- | <!--Description-->Onyx Moaan Pantone 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->reMarkable 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2021 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2023 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable Paper Pro Move | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2024 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 untested but subscriptions needed for some features}} |- | <!--Description-->reMarkable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Supernote A5 X2 Manta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Supernote A6 X2 Nomad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 }} |- | <!--Description-->Supernote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Vision 2 3 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Epos2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viwoods AI Paper and AI Paper Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} ==printer.class - PostScript 3 and internal ghostscript drivers== As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes and since the general Joe Public finds postscript capable printer very expensive, postscript interpreters (eg ghostscript) have been developed aas a cheaper option which sit in between postscript data streams and non postscript (HP PCL?) printers. Set up Printer Prefs for Postscript and set the print to file option. Ghostscript has internal printer drivers gs -h and with something like gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps copytopar ram:tempfile It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file. gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf the ljet4 output device generates PCL also the pxlmono driver, which generates more generic PXL (PCL 6) gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl Printers supported by ghostscript...Explanation [http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u151.htm here] or [http://www.gnu.org/software/ghostscript/devices.html here] and [http://pages.cs.wisc.edu/~ghost/doc/printer.htm here] <pre> bit cljet5 ljet4d pjxl300 pxlcolor bitcmyk cljet5c ljetplus pkm pxlmono bitrgb deskjet nullpage pkmraw stp bj10e djet500 pbm pksm tiff12nc bj200 epswrite pbmraw pksmraw tiff24nc bjc600 faxg3 pcx16 png16 tiffcrle bjc800 faxg32d pcx24b png16m tiffg3 bmp16 faxg4 pcx256 png256 tiffg32d bmp16m ijs pcxcmyk pnggray tiffg4 bmp256 jpeg pcxgray pngmono tifflzw bmp32b jpeggray pcxmono pnm tiffpack bmpgray laserjet pdfwrite pnmraw uniprint bmpmono lj5gray pgm ppm x11 bmpsep1 lj5mono pgmraw ppmraw x11alpha bmpsep8 ljet2p pgnm psgray x11cmyk cdeskjet ljet3 pgnmraw psmono x11gray2 cdj550 ljet3d pj psrgb x11gray4 cdjcolor ljet4 pjxl pswrite x11mono cdjmono </pre> === Internal Ghostscript support === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | Canon BJ10e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Canon BJ200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Epson Stylus Color 600 parport inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - internal ghostscript support}} |- | <!--Description-->HP Deskjet 500 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | HP1220C/PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | HP 1700PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->LJ-III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested HP PostScript Cartridge Plus (C2089A) a.. Press <ON LINE> (and take machine off line) b.. Press <Plus & Minus>, and while holding, press <ALT> and <RESET> together and watch the LCD and let go when the desired mode is displayed.}} |- | <!--Description-->HP Laserjet 4 4M 4MP (1992) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation HP 4 with optional ps cartridge - HP 4M and 4M+ built in}} |- | <!--Description-->HP Laserjet 4L Parport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 HP 4L only - no postscript}} |- | <!--Description-->HP Laserjet 5M (1995) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS2 emulation | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested you can try the ljet4 for the various lj5 drivers which produce various flavours of PCL. The 4, 4+ and 5 only really had one issue that plagued them, and it's hardly an issue at all. You would get accordian jams at the exit. A lot of people worked through this by pulling the sheet out before it got caught. Easily fixed by opening back door and scrubbing grime off of rubber rollers. }} |- | HP Laserjet 5L Parport (1997) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{N/A}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 support only.}} |- | HP Laserjet 5P 6P (1995) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested HP 5p, 6p - Less tiny, slightly less slow. They are pretty bullet proof for low volume best to get postscript module though }} |- | HP Laserjet 2100 2100N 2100TN (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation }} |- | HP Laserjet 4000 Series Parport (1998) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|PS3 emulation only (4200 and 4600 have issues)}} |- | HP Laserjet 4050 Parport (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|works }} |- | HP Laserjet 5000 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|}} |- | HP LaserJet 6M, 1200, 1300, 2100, 2200, P2050 (and P2055) P3005, M3025, M3027, 3050, 3300, 4000, 4050, 4100, 4200, 4300, M4345, P3005, P3015, P4010, P4410, M5025, M5035, 5100, 5200, 8000, 8100, or 9000 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation optional only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{untested }} |- | <!--Description-->HP Color LaserJet 2550, 3700, 4650, 8500 and 8550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexmark Optra C, T, and W series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Xerox Phaser 850, 860 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Monochrome === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->Brother HL-1270N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-3070CW Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|BR-Script3 (PS3) untested}} |- | <!--Description-->Brother HL5240 HL5240L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript (PostScript Level 2) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-7050N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-7860DW Monochrome B/W BW | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script BRScript (PostScript Level 3) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL4570CDWT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epson EPL-6200 Laser Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-1370DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | HP LaserJet CP1515n USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description-->Lexmark Optra E312 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->built in? | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Color === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother hl-3075cw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script 3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-9120CN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRS3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->HP Color LaserJet 2500L (2003) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet 2550L 2550Ln (2004) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet CP1218, 2605, 3700, 4500, 4600, or 4650 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Konica Minolta Magicolour 4650EN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-1010 FS-1010N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-C5200DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Kyocera Mita FS-1030D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-C5150DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Lexmark C540n | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Lexmark [http://www1.lexmark.com/products/view/Printers/Lexmark%20C780n/catId=cat10006-category&prodId=3907-product C780n] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{yes|works PS3 emulation only}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | OKI C3600 Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Samsung CLP-315 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->untested | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Xerox 618x Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} See [http://www.irseesoft.de/tp_drive7.htm here] for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga, OS3.x support via [http://aminet.net/package/comm/tcp/NetPrinter NetPrinter] and [http://www.os4depot.net/index.php?function=browse&cat=driver/printer OS4 drivers] and [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33955&forum=27#622365 experiences]. usbparallel.device untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). Sticking to the same units is generally a good idea I think (and therefore this mechanism is also used with all other classes creating exec.devices). You may not send a short packet (packet less than maxpktsize == 64) nor zero byte packets until the very last byte of your printout. Otherwise the printer will silently ignore the data you sent. Some printer drivers print very short sequences that never fill the endpoint buffer, so printer ignore them. Bufferize all printer driver writes in the ieee1284.device and send them by epsize packets. So my hppsc2210 works fine with a classic HP560C driver, on a classic A2000 subwayized :) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Beige cream D shape centronics end (Prolific chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002v1 centronics end (chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002VEA v2 centronics end (Prolific PL2305L chipset) | | | | {{N/A|untested}} |- | DYNAMODE USB-C-PP-1284 USB to 36pin (Prolific 2305 chipset) | 0x067b | 0x2305 | 0x02 | {{N/A|untested but similar to BAFO below}} |- | IOGear GUC1284B | | | | {{N/A|untested}} |- | My-Link (raised ellipse on centronics plastic end) (unknown chipset) | | | | {{N/A|untested but more expensive }} |- | NEWLink (Prolific chipset?) | | | | {{N/A|untested}} |- | Targus PA096E centronics end (chipset?) | | | | {{N/A|untested}} |- | TRENDnet ware TU-P1284 | | | | {{N/A|untested}} |- | True PnP (Prolific chipset 2305) cheap 36pin Centronics (series of ridges along both short sides) | 0x067b | 0x2305 | 2.00 | {{N/A|untested on BAFO BF-1284 but reports of poor quality and lack of support on other OSs }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Transparent See Through Blue | | | | {{N/A|untested but possible poor quality build }} |- | Dynamode USB-PARALLEL 25pin female (prolific) | 0x067b | 0x2305 | 0x02 | {{N/A|untested}} |- | FDL USB to 25pin | | | | {{N/A|untested}} |- | PlusKom USB to 25pin female connector for printer (IEEE 1284) | | | | {{N/A|untested}} |- | QinHeng Electronics (CH340S chipset) | 0x1a86 | 0x7584 | | {{N/A|untested curvy sides - flat top }} |- | StarTech | | | | {{N/A|untested}} |- | Syba SD-USB-DB25 | | | | {{N/A|untested}} |- |} ==rawwrap.class - some old flatbed scanners supported== Scandal is the MUI frontend to [http://www.ppa.pl/bugtracker/ Betascan Bugtracker] and [http://aminet.net/search?query=betascan Search for Betascan scanner drivers] derived from [http://www.sane-project.org/sane-backends.html sane backends] [http://www.sane-project.org/sane-backends.html#S-EPSON2 Epson2] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Expression 1600 1640XL 1680 10000XL | 0x04b8 | 0x0107 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Prefection 1200U, 1200 Photo, | 0x04b8 | 0x0104 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 1240U | 0x04b8 | 0x010b | <!--Revision--> | <!--Opinion-->{{[https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=45760&forum=25 works]|Needs 24V 0.8A psu but in Trident, click on "Classes", then on "rawwrap.class", then on "Configure". There, under "Global", activate the Option "Bind to Vendor/Unknown Interfaces". Now go to the second tab "Default Interface" and select/enter these values: Default usbraw.device Unit: 0 Exclusive access: Yes Out NAK Timeout: 20000ms In NAK Timeout: 20000ms In Buffer Mode: No buffering Buffer Size: 36 KB Short Reads Terminate: Yes Now click on "Use as Default" and select "Devices" on the left. There, click on your scanner and click on "Class Scan". Now close Trident by clicking on "Save". }} |- | Perfection 1640SU Photo | 0x04b8 | 0x010a | 0x0104 | {{yes|works, even the transparency unit}} |- | Perfection 1650 Photo, 1660 Photo, 3200 Photo | 0x04b8 | 0x011c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 2400 Photo, 2450 Photo | 0x04b8 | 0x011b | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 4870 Photo, 4990 Photo, | 0x04b8 | 0x0128 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection V700 V750 Photo | 0x04b8 | 0x012c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus CX2800 2900 3200 3500 3600 3650 3700 3800 3900 Stylus CX4100 4200 3500 4600 4700 4800 4900 500 5100 5200 5300 5400 5900 | 0x04b8 | 0x0802 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus Office BX300F USB | 0x04b8 | 0x0848 | | {{yes| works with good scan quality}} |- |} [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx] scanners based on the Grandtech GT-6801 and GT-6816 "System-On-Chip" scanner chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Artec Ultima 2000 and e+, Trust Flat Scan USB 19200 (ePlus2k.usb / Gt680xfw.usb) | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Genius Colorpage Vivid3x 4x 1200x | 0x0458 | 0x2011 to 0x201f | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | <!--Description-->Lexmark X70 also X73 [http://subfusion.net/drivers/oslo3071b2.usb OSLO3071b2.usb] | <!--Vendor ID-->0x043d | <!--Product ID-->0x002d | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Medion/Lifetec/Tevion/Cytron MD/LT 9375 and Artec Ultima 2000, MD LT 9385 Gt680xfw.usb | <!--Vendor ID-->0x05d8 | <!--Product ID-->0x4002 | <!--Revision--> | <!--Opinion--> |- | BearPaw 2448 CS and TA Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A2Nfw.usb A2Nfw.usb] | 0x055f | 0x021a | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | Mustek BearPaw 1200 CS | 0x055f | 0x021e | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A1fw.usb A1fw.usb])}} |- | <!--Description-->Mustek 1200 CU Plus Scanner [http://www.meier-geinitz.de/sane/gt68xx-backend PS1Dfw.usb / SBSfw.usb] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2000 }} |- | Mustek ScanExpress 1200 UB plus, Trust Compact Scan USB 19200, ScanMagic 1200 UB Plus | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb])}} |- | Mustek ScanExpress 1248 UB aka PC-World PC Line PCL-3000 | 0x055f | 0x021f | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb SBSfw.usb])}} |- | Mustek BearPaw 2400CS TA aka Goodmans GSC 12/24 | 0x055f | 0x0218 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter untested) }} |- | BearPaw 2400 CS aka TA Plus | 0x055f | 0x0219 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter) }} |- | Packard Bell Diamond 1200 Plus | 0x055f | 0x021c or 0x021b | 0x0 | {{yes|works - [http://www.meier-geinitz.de/sane/gt68xx-backend/ firmware required] but slow usb 1.1 speed with poor quality output (scanner fault not scandal)}} |- | Packard Bell Diamond 2400 Plus aka BearPaw 2400 CU Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/ PS2Dfw2.usb firmware rename to PS2Dfw.usb] | 0x055f | 0x021d | 1.00 | {{yes|works slow usb 1.1 speed with ok quality output (scanner fault not scandal)}} |- | Plustek OpticPro 1248U | 0x07B3 | 0x0400 0x0401 | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | Plustek OpticSlim 2400 | 0x07b3 | 0x0422 | <!--Revision--> | <!--Opinion-->{{unk| (cis3R5B1.fw)}} |- | Visioneer OneTouch 7300 | 0x04a7 | 0x0444 | <!--Revision--> | <!--Opinion-->{{unk| (Cis3r5b1.fw)}} |- | <!--Description-->Mustek ScanEpress 1200 UB (Plus) clone [http://www.meier-geinitz.de/sane/ use mustek_usb backend] | <!--Vendor ID-->0x055f | <!--Product ID-->0x0006 | <!--Revision--> | <!--Opinion-->{{no| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Lexmark - needs testing {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Lexmark X1110 | | | | {{N/A|untested}} |- | Lexmark X1140 | | | | {{N/A|untested}} |- | Lexmark X1150 | | | | {{N/A|untested}} |- | Lexmark X1170 | | | | {{N/A|untested}} |- | Lexmark X1180 | | | | {{N/A|untested}} |- | Lexmark X1185 | 0x043d | 0x007c | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Lexmark X12xx | | | | {{N/A|untested in USB1.1, not fully tested in USB2.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dell A920 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} HP - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | HP ScanJet 4100C | 0x03f0 | 0x0101 | | {{no|no driver}} |- | HP ScanJet 5200C | 0x03f0 | 0x0401 | | {{no|no driver}} |- | HP ScanJet 62X0C | 0x03f0 | 0x0201 | | {{no|no driver}} |- | HP ScanJet 63X0C | 0x03f0 | 0x0601 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0102, 0x0105, 0x0205, 0x0305, 0x0405 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0705, 0x0805, 0x0901, 0x0a01 | | {{no|no driver}} |- | HP | 0x03f0 | 0x1205, 0x1305, 0x2005, 0x2205 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Plustek [http://www.sane-project.org/sane-backends.html#S-PLUSTEK LM983x] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Plustek OticPro U12 UT12 UT16 U24 UT24 | 0x07B3 | 0x0010 to 0x0017 | | {{no|no driver}} |- | KYE/Genius Colorpage HR6-V2 HR6A HR7 HR7LE HR6X | 0x0458 | 0x2008 to 0x2016 | | {{no|no driver}} |- | Hewlett-Packard ScanJet 2100C and 2200C | 0x03F0 | 0x0505 and 0x0605 | | {{no|no driver}} |- | Mustek BearPaw 1200 and 2400 | 0x0400 | 0x1000 and 0x1001 | | {{no|no driver}} |- | UMAX 3400/3450 and 5400 | 0x1606 | 0x0050, 0x0060 and 0x0160 | | {{no|no driver}} |- | Epson Perfection 1250 and 1260 | 0x04B8 | 0x010f and 0x011d | | {{no|no driver}} |- | CANON CanoScan N650/656U N1220U D660U N670/676U N1240U LIDE20 LIDE25 LIDE30 | 0x04A9 | 0x2206 to 0x2220 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} [http://snapscan.sourceforge.net/ SnapScan] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Acer Benq 310U, 320U, 340U | 0x4a5 | 0x0 | | {{no|no driver}} |- | Acer Benq 620U, 620UT, 640U, 640UT | 0x4a5 | 0x20 | | {{no|no driver}} |- | Acer Benq 1240 3300 4300 | 0x4a5 | 0x020 | | {{no|no driver}} |- | Agfa SnapScan e10 e20 e25 e26 e40 e42 e50 e52 | 0x06bd | 0x20 | | {{no|no driver}} |- | Epson Perfection 660 | 0x04b8 | 0x0114 | | {{no|no driver}} |- | Epson Perfection 1270 1670 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 2480 2580 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 3490 3590 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Mitsubishi | 0x0 | 0x0 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ==hub.class (self-powered and external ac powered hubs)== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Dynamode USB-H41 4 ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Belkin 4 Port | | | | {{yes|works}} |- | Conrad | | | | {{yes|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum] }} |- | DLink DUB-H4 AC Adapter | 0x05e3 | 0x0608 | High 0200 | {{maybe|WARNING Genesys Logic Hub Broken - Will cause failures with USB}} |- | [http://service.targa.co.uk/faq.php?lang_id=2&baseid=178&artdesc=SilverCrest+USB+Hub+2040&artid=760&artpic=silvercrestHUB2040.jpg SilverCrest 4-port slim USB 2.0 HUB - HUB2040 (40775) - Targa GmbH] | 0x05e3 | 0x0608 | 0901 | {{yes|works Genesys Logic, Inc., [http://service.targa.co.uk/dokumente/USB_HUB_2040_0109_manual_EN.pdf Manual]}} |- | Skymaster | 0x05e3 | 0x0605 | 060B | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | No Name active 4-port | 0x1a40 | 0x0101 | 0111 | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Thinkpad USB 3.0 Dock DU9019D1 | <!--Vendor ID-->0x17e9 | <!--Product ID-->0x4302 | <!--Revision-->0014 | <!--Opinion-->{{Maybe|works a bit}} classed as dfu.class with two further USB 2.0 hubs - USB 3.0 ports detected and work (2.0 backwards compatibility) - DisplayLink DL-3900 with VIA VL811 chipset - usb ethernet not working - two dvi not working - 20V psu 2a (40w) with a 5.5 - 2.5mm tip (no bus power) - data through a-b printer/scanner usb lead - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} ==Internet== ===rndis.class USB Tethering === The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported including smartfones. Before opening Network Prefs, activate USB Tethering on the Smartfon, on Network prefs, type in usbrndis.device and tick "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed. When restart AROS my Smartphone deactivates the connection and to access the network again, have to reactivate it before starting the browser. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Alcatel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | Huawei U8800 | 0x12d1 | 0x1039 | | {{yes|works}} |- | <!--Description-->Huawei | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | HTC (Android phone) | 0x0bb4 | 0x0ffe | | {{Yes|any android phone with usb tethering option}} |- | <!--Description-->Nokia | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Oppo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Samsung Galaxy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- |- | <!--Description-->iPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft winPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ===USB &rarr; ethernet lan adaptor=== *2002 playstation 2 usb1.1 era - a little support but very old and slow *2006 wii asix era - a little support but very much miss than hit *2026 usb0: or eth0: of CDC Ethernet protocol (cdcether) with Ethernet Control Model (ECM) and [https://www.usb.org/document-library/class-definitions-communication-devices-12 others like Wireless Mobile Communication Devices WMC] and later CDC EEM (Ethernet Emulation Model) and NCM (Network Control Model) are USB Communication Device Class (CDC) protocols packing more Ethernet traffic over every USB bundle. For CDC Ethernet - NCM is better than EEM is better than ECM * USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 poor speeds * USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88772 a little especially the 2010 apple version but buy many as very very poor odds of working one * USB3.0 Over 400 meg broadband (60+MBytes/s) - not supported at the moment SANA (Standard Amiga Network Architecture) to usb ADMtek Infineon ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="50%" |Opinion |- | 3Com 3c460b | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Abocom UFE1000 / Abocom DSB650TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Accton USB320-EC / Accton SpeedStream Ethernet | 0x083a | 0x0320 | <!--Revision--> | {{unk|2002 }} |- | AEI USB Fast Ethernet / Allied Telesyn AT-USB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2002 }} |- | ATEN UC-110T | 0x0557 | 0x4000 | | {{unk|2001 }} |- | BAFO USB To Ethernet Adapter BF-310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Belkin F5D5050 v1 1101 | 0x050D | | <!--Revision--> | {{maybe|2002 sometimes works from old amiga.org post which is now removed}} |- | Belkin F5D5050 v2 2101 | 0x050D | 0x0121 | <!--Revision--> | {{no|2006 does not works}} |- | Belkin F5U122-PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USB-100 / Billionton USBLP-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USBEL-100 / Billionton USBE-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Compex LinkPort/UE202A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-H3ETX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-650 / D-Link DSB-650TX / D-Link DSB-650TX-PNA | 0x2001 | 0x4000 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DU-E10 / D-Link DU-E100 | 0x2001 | | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Edimax USB Ethernet Adapter EU-4201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Elsa AG MicroLink USB2 Lan Ethernet adapter | 0x05cc | 0x3000 | <!--Revision-->1.01 | <!--Opinion-->{{unk| }} |- | GetNet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | GIGABYTE GN-BR402W Wireless Router | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goodway Fellowes USB UE-120 REV:V1 UE120 ADMTek 1011594 HO2419741 | <!--Vendor ID-->0x07a6 | <!--Product ID-->0x0986 | <!--Revision-->0001 | <!--Opinion-->{{maybe|2001 USB Specification 1.1 compliant}} |- | GWC Tech USB Ethernet Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hawking UF100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | HP HN210E / I/O DATA USB ETTX / Kingston KNU101TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Jinco USB Ethernet Adapter 10/100 Base-T UE-110 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Kouwell USB to Ethernet 588A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Linksys USB10T / TA / TX | 0x066b | 0x2202 | <!--Revision--> | <!--Opinion-->{{unk|untested - possible peg1/peg2}} |- | Linksys (Cisco) USB100TX / H1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitec LAN-TX/U1 H2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.mayflash.com/psps2/ps2024/ps2024.htm Mayflash PS2024] Playstation2 compatible clone of Proxim/Farallon NetLine? | 0x07a6 | 0x8511 | <!--Revision-->1.01 | <!--Opinion-->{{maybe|works with DHCP router option on old 32bit distros but not on newer 64bit, best to go asixeth apple 2010 but buy many of them as poor success rate i.e. a lottery}} |- | Netgear FA101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Philips CPWUE01/00 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Planet UE-9500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | PlayStation 2 SCPH-10000 50000 models | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Proxim (formerly Farallon) NetLine USB PN796-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Siemens SpeedStream USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SOHOware NUB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SMC EZNET-USB 2202USB/ETH / SMC 2206USB/ETH | 0x0707 | 0x0100 0x0200 0x0201 | <!--Revision--> | {{unk|untested but should work very well }} |- | Surecom EP-1427X 100/10M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Target USB to 10/100M Fast Ethernet Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Trendnet TU-ET100C | 0x07a6 | 0x8511 | <!--Revision-->0x0 | {{yes| sometimes works well, very stable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Digitus USB NIC DN-3016-A | 0x07a6 | 0x8513 | 1.01 | {{unk|untested new chipset }} |- | Digitus lanusb ADM8515 | 0x07a6 | 0x8515 | 1.01 | {{unk|untested because new chipset }} |- | VE285 usblan ADMtek 8515 | 0x07a6 | 0x8515 | 1.01 | {{no|not working as new chipset }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Davicom USB-100 see clone below | 0x0a46 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | [http://wiki.maemo.org/USB_to_ethernet_networking chinese translucent transparent crystal blue] but variants are also found in clear, white and black. Just over 6&nbsp;cm long. | 0x0a46 | 0x9601 | 0x0 | {{yes|2002 success can be sporadic so technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked. One case cracked open. }} |- | Corega FEther USB-TXC | 0x07aa | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dynamode USB-NIC-1427-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hirose USB-100 | 0x0a47 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | KY-RS9600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585358&postcount=12 works] }} |- | ShanTou ST268 USB NIC | 0x0a46 | 0x0268 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | ZT6688 USB NIC | 0x0a46 | 0x6688 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ICS Advent DM9601 USB 2.0 10/100M Ethenet Adaptor JP1081B | <!--Vendor ID-->0x0FE6 | <!--Product ID-->0x9700 | <!--Revision-->0101 | <!--Opinion-->{{No|not working 32bit and 64bit - USB 1.1 10M ethernet}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} MosChip MCS7830 (USB 2) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Digitus DN-10050 | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | Edimax [http://www.edimax.co.uk/images/Image/datasheet/USB/EU-4206/EU-4206.pdf EU-4206] | | | <!--Revision--> | <!--Opinion-->{{unk|2005 }} |- | Speed Dragon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | STLabs | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | StarTech Compact USB2105S [http://www.kustompcs.co.uk/acatalog/info_6790.html USB2106S] | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | Sunrich Technologies [http://www.st-lab.com/admin/upfile/UploadFile/manual/manual(u-250).zip U-250] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | Syba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MCS 7832 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2008 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} * USB2 [https://www.asix.com.tw/en/product/USBEthernet Asix Ethernet] AX88178A, AX88772C, AX88772B, AX88772A (wii), AX88172A * USB3 AX88179A, AX88179 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AirLink101 AGIGAUSB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 AX88172}} |- | ATEN UC210T | 0x0557 | 0x2009 | 0x | <!--Opinion-->{{unk| AX88172}} |- | <!--Description-->Billionton Systems USB2AR | <!--Vendor ID-->0x08dd | <!--Product ID-->0x90ff | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->Buffalo LUA-U2-KTX | <!--Vendor ID-->0x0411 | <!--Product ID-->0x003d | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->corega FEther USB2-TX | <!--Vendor ID-->0x07aa | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{no| }} |- | D-Link DUB-E100 up to rev A4 | 0x2001 | 0x1a00 | | <!--Opinion-->{{No| }} |- | <!--Description-->D-Link DUB-E100 rev B1 onwards | 0x07d1 or 0x2001 | 0x3c05 | <!--Revision--> | <!--Opinion-->{{Maybe|AX88172 works on Deneb with [http://amigax.com/2010/02/21/usb-ethernet-speed-test-amigaos-4-0-classic/ Amiga OS4 Classic] and [http://www.a1k.org/forum/showthread.php?t=11432 on a1k] }} |- | <!--Description-->goodway corp USB gwusb2e | <!--Vendor ID-->0x1631 | <!--Product ID-->0x6200 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hawking UF200 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[Linksys USB200M] | 0x077b | 0x2226 | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585601&postcount=20 works] }} |- | <!--Description-->Netgear FA120 | 0x0846 | 0x1040 | <!--Revision--> | <!--Opinion-->{{N/A|untested 2002 10/100 Rev.B1" is silkscreened on the board of the device populating this entry (S/N: FA12254CB100409, date code 0508). This device may be manuf. by [http://www.cameo.com.tw/ Cameo] "AX88172 L", "F05040157", and "ED3" Chip1 ASIX AX88172 Chip2 Realtek RTL8201BL}} |- | <!--Description-->Intellinet | 0x0b95 | 0x1720 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->JVC MP-PRX1 Port Replicator | <!--Vendor ID-->0x04f1 | <!--Product ID-->0x3008 | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->ST Lab USB Ethernet | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1720 | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter" | <!--Vendor ID-->0x6189 | <!--Product ID-->0x182d | <!--Revision-->0 | <!--Opinion-->{{No| }} |- | <!--Description-->Surecom EP-1427X-2 | <!--Vendor ID-->0x1189 | <!--Product ID-->0x0893 | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->TrendNet TU2-ET100 v2 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{Maybe|version 2}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->A-LINK NA1GU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 88772}} |- | <!--Description-->AirLink101 ASOHOUSB Wii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AirLive EtherWe-1000U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->APPLE AX88772 Model No. A1277 MC704LL/A P/N 825-7098-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{No|2008 usb2, }} |- | <!--Description-->APPLE Model No. A1277 (MB442Z/A 0885909217434) MC704ZM/A PN 825-7579-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{Maybe|2010 model, usb2 and controller AX88772 where prehaps 1in3 units working with owb - really poor odds i.e. a lottery, could be situation where various ethernet phy chipsets are used - press Use in network prefs after Save initial setup typing in usbasixeth.device, }} |- | <!--Description-->ASIX AX88772 bulbous casing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{maybe|2008 works on 32bit and 64bit though setup can take a few attempts but may have issues with phy ethernet chip changing, }} |- | <!--Description-->Datel Wii Lan Adapter DUS0204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->EdiMax EU-4207 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Goodway HE2230 Maplin ASIX 88772 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Intec LAN G5626 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0202 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0301 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Linksys USB200M Rev 2 | <!--Vendor ID-->0x13b1 | <!--Product ID-->0x0018 | <!--Revision--> | <!--Opinion-->{{maybe|2008 sparsely randomly working AX88772 or with "Sana-II Meter Tool 37.11" network monitoring program, showing continuous "Bad Packet" errors which could means "CRC" errors}} |- | <!--Description-->Linksys USB300M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{maybe|2009 AX88772 }} |- | <!--Description-->Mayflash W001 or clones Lupo/PEGA S-Wii-0680 light gray rectangular with third of one top 45 degree angled slope | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{unk| may have randomly changed phy ethernet chips, }} |- | <!--Description-->Max Value MVF00446 ASIN B006EG568A | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises as AX88772 sometimes works on 32bit and 64bit}} |- | <!--Description-->NEWLink N14050 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NEWLink Wii-ETH USB2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nintendo Wii LAN Adaptor 2110566 and clones | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{Maybe|Poseidon recognises as AX88772 with usbasixeth.device sometimes works seems different ethernet phy chips can be matched affecting compatibility}} |- | <!--Description-->Nyko Wii Net Connect 87024 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585624&postcount=22 works] }} |- | <!--Description-->0Q0 cable ethernet | <!--Vendor ID-->0x1557 | <!--Product ID-->0x7720 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB2-E100 (2009/2010) Bulbous housing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises it as ax88772A and typing in usbasixeth.device sometimes works}} |- | <!--Description-->Sabrent KINAMAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SpeedLink SL-3401-SGY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGreen 20254 USB2 to 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88772}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Afunta Apple-style White USB2.0 I/O Crest SY-ADA24005 ASIX Electronics Corp. AX88772A Fast Ethernet Adapter | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x | <!--Opinion-->{{no|usbasixeth.device accepted by network prefs but does not work}} |- | <!--Description-->Amazon Basics USB 2.0 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Digitus DN-10050-1 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x0 | <!--Opinion-->{{unk| }} |- | <!--Description-->Edimax EU-4230 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sabrent KINAMAX NT-USB20 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88772B USB 2.0 to 10/100M | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EdiMax EU-4208 | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x772b | <!--Revision-->0x | <!--Opinion-->{{No|Detected but not working}} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB2100 ASIX AX88772C | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772D AX88772D] | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772E AX88772E] | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->AX88178 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2004 }} |- | <!--Description-->Plugable USB2-E1000 i.e. USB 2.0 to Gigabit Ethernet 10/100/1000 LAN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 ASIX AX88178 Controller and Realtek RTL8211CL PHY}} |- | <!--Description-->AX88178A USB 2.0 to 10/100/1000M Gigabit Ethernet controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AmazonBasics USB3.0 adapter [https://github.com/nothingstopsme/AX88179_178A_Linux_Driver AX88179] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cable Matters SuperSpeed USB 3.0 RJ45 adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hori Nintendo Switch 1 USB3 ethernet AX88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2017 AX88179 not binding to asixeth.class }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2020 ASIX AX88179 not binding to class, USB 3.2 Gen1 to Gigabit Ethernet controller with integrated 10/100/1000Mbps Gigabit Ethernet PHY}} |- | <!--Description-->Plugable AX88179 = [https://plugable.com/products/usb3-e1000-deal USB3-E1000] before mid-2023 or USB3-E1000; AX88179A = USBC-E1000 after mid-2023 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 controller is AX88179 phy is ??, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTW ax88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no| AX88179 not binding to asixeth.class, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000NDS AX88179 USB-A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC301AU AX88179 USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC30B2 AX88179A USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB32000SPT AX88179A USB-c Rev 1 (AX88179) Rev 2 (AX88179A) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->USB32000SPT the Lot code sticker will have a bar code accompanied by a 10 digit number. The 5th and 6th digits of this lot code number would signify the revision. (Ex. xxxx02xxxx which would indicate rev. 2) |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SYBA SY-ADA24029 Gigabit AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} may depend on the PHY chip connected to the controller chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TP-Link UE306 AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® Orico UL677G 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® UL688G USB 3.0 10/100/1000 Base-T Ethernet port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->AX88179 178A |- | <!--Description-->Tecknet UL699G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v6 | <!--Vendor ID-->0x07b8 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|no support }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen 50922 USB3-A to 100/1000 dark grey rounded barrels | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{no| ax88179 not binding to asixeth.class, }} |- | <!--Description-->UGreen USB3-C to 100/1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen CR111 20256 usb3 a black plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88179}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 USBC-E1000 after mid-2023 i.e. AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTB | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| AX88179A USB-A, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==USB &rarr; SerialPort Converter== *2002 some support for early revisions of PL2303 *2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support *2025 FTDI 232R [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1135&highlight=232r&rowstart=20 work in progress] *2026 CDC-ACM i.e. Serial port over USB standard serialpl2303.class make sure you specify serialpl2303.device or Echo "Test" >SER1: {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | ATEN UC-232A | 0x0557 | 0x2008 | Full 0x0300 | {{N/A|untested}} |- | IOGear GUC232A | 0x0557 | 0x2008 | Full 0x0110 | {{N/A|untested}} |- | Alcatel | 0x11f7 | 0x02df | | {{N/A|untested}} |- | BAFO BF-810 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Belkin F5U103 | 0x | 0x | 0x0 | {{N/A|untested}} |- | Davibe SP611 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Dcu10 | 0x0731 | 0x0528 | | {{N/A|untested}} |- | Elcom | 0x056e | 0x5003 | | {{N/A|untested}} |- | IOData | 0x04bb | 0x0a03 | 0x0 | {{N/A|untested}} |- | Itegno | 0x0eba | 0x1080 | | {{N/A|untested}} |- | Nokia CA42 | | | | {{N/A|untested}} |- | Radioshack | 0x1453 | 0x4026 | | {{N/A|untested}} |- | Ratoc | 0x0584 | 0xb000 | | {{N/A|untested}} |- | Samsung | 0x04e8 | 0x8001 | | {{N/A|untested}} |- | Siemens DCA-510 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Sitecom CN104 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Sitecom CN116 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Some Cut Ma620 | 0x0df7 | 0x0620 | | {{N/A|untested}} |- | Speed Dragon Multimedia MS3303H | | | | {{N/A|untested}} |- | Syntech | | | | {{N/A|untested}} |- | <!--Description-->Tripp | 0x2478 | 0x2008 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Airlink101 AC-USBS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Belkin F5U103v | 0x067B | 0x2303 | 0x0 | {{no|no driver }} |- | Dynamode U232-P9 | 0x067B | 0x2303 | 300 | {{no| no driver [http://koti.mbnet.fi/lonnberg/pl2303x.html linux patch] and using lsusb -v -d 067b:2303 gave bMaxPacketSize as 64 - pl2303x }} |- | Konig CABLE-146/2 USB to RS232 | 0x067b | 0x2303 | 400 | {{no|no driver }} |- | MANHATTAN 205146 USB to Serial Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | Sabrent SBT-USC1M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Trendnet TU-59 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Unbranded black case and lead USB 232 Converter | <!--Vendor ID-->0x067B | <!--Product ID-->0x2303 | <!--Revision-->0300 | <!--Opinion-->{{No| }} |- |} [http://www.ftdichip.com/index.html Future Technology Devices International Ltd FTDI]-FT232R.class [https://ftdichip.com/software-examples/code-examples/c-builder/ FTProg src], [http://rtr.ca/ft232r/ ft232r src], [https://ftdichip.com/wp-content/uploads/2020/08/DS_FT232R.pdf FT232R datasheet], [], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID-->0x0403 | <!--Product ID-->0x6001 | <!--Revision--> | <!--Opinion-->{{no|no driver}} [https://www.youtube.com/watch?v=1GE-gKgHxZI beware of cheap clones fake with s/n A50285BI SN] |- | <!--Description-->Lynx Astro FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232R |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Sabrent CB-FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | {{no|no driver TTL-232R cables use FTDI's [http://n1mm.hamdocs.com/tiki-index.php?page=USB+Interface+Devices FT232RQ ic device] }} |- | <!--Description-->Startech.com 1 Port FTDI USB to Serial RS232 DB9M Adapter Cable with COM Retention ICUSB2321F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL Chipset |- | <!--Description-->StarTech.com 2 Port FTDI USB to Serial RS232 Adapter Cable ICUSB2322F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FTDI FT2232D Chipset |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL is the SSOP-28 and the FT232RQ is the QFN-32 package option |} [https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html ch341a.class] *I2C EEPROMS (3.3V and 5V) compatible and also SPI FLASH memories (3.3V devices) making sure 1.8V is covered *each having their own [https://winraid.level1techs.com/t/guide-how-to-use-a-ch341a-spi-programmer-flasher-with-pictures/33041 4x2 connection blocks] using [https://github.com/flashrom/flashrom flashrom] sudo flashrom --programmer ch341a_spi -r backup.bin sudo flashrom --programmer ch341a_spi -w <new bios name> {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Jiangsu QinHeng Ltd CH341A emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI) | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x5512 | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->QinHeng USB2.0-Serial HL-340 | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x7523 | <!--Revision-->0252 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |} ==simplemidi.class and CAMD== Currently support includes * simplemidi.class SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate a musical keyboard * camdusbmidi.class follows the rules of the m68k implementation of Commodore's CAMD midi specification and usb class compliant for * usb host like a computer * usb device controllers - keyboards, drum machines, djay turntables, grooveboxes, etc * interfaces - cables or boxes which convert usb to 5pin DIN plug midi What is needed is a fully class-compliant '''brand name''' USB MIDI keyboard, especially manufactured in the last 10 years are best *Arturia *Novation *M-Audio *Akai Plugging this in one of your USB ports, the camd.library will make the keyboard's MIDI IN/OUT ports available in the system. Then select the keyboard's MIDI IN port (known as a "cluster" in CAMD) for input, and the software instrument's cluster as output ShowCluster (shows midi ports available in and out) MidiWatch (usually port usbmidi.in.0 less often usbmidi.out.0) (Ctrl-C to end output stream) usbmidi.in.0 Message on channel 01, NoteOn 90 39 08 00 usbmidi.in.0 Message on channel 01, NoteOff 80 39 00 00 MidiThru (forwards messages from one port to another) run >nil: c:midithru usbmidi.out.0 usbmidi.out.2 MidiSendC (sends a middle C to a specific port) Midi Controller + Sound Module (together aka as a synth) -> Audio Output The difference between midi and midi over USB is that in old school Midi the transmitter transmits whenever it wants and the receiver always has to be prepared to receive data. Easy to do at the rate of a 1990's modem speed these days. USB over midi.. turns midi into a polled protocol.. So the USB host (typically the computer) has to ask "do you have anything for me" before the remote will send. If the USB host gets busy doing other things or there is a lot of things on the USB bus to get polled, you can get delays. For its age midi is still a great protocol for music * [https://www.usb.org/sites/default/files/midi10.pdf USBIF's "USB Device Class Definition for MIDI Devices" document, version 1.0 from Nov 1, 1999] * [https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf MIDI v2.0 from 2020 which AROS still needs, adds support for MIDI 2.0, MIDI-CI, and Universal MIDI Packet] Nearly all synthesizers now use the 16 MIDI channels available on a MIDI bus in one instrument alone, requiring multiple MIDI busses in a typical setup with more than one MIDI instrument. In addition, by handling multiple "virtual" cables, USB offers a solution to go beyond MIDI's 16-channel limit. MIDI data is transferred over USB using 32-bit USB-MIDI Event Packets. These packets provide an efficient method to transfer multiple MIDI streams with fixed length messages. The 32-bit USB-MIDI Event Packet allows multiple "virtual MIDI cables" routed over the same USB endpoint. This approach minimizes the number of required endpoints. It also makes parsing MIDI events easier by packetizing the separate bytes of a MIDI event into one parsed USB-MIDI event. {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Computer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{Yes|which acts as USB midi host to get all usb devices talking together}} |- | <!--Description-->Hobbytronics usb host standalone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->bomebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->raspberry pi with several midi interface(s) and linux scripting | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Kenton MIDI USB Host mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |} {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Acorn Instruments Masterkey 49 device | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested usb powered 5V regulated - similar keybed to keystation 49es but unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Akai SynthStation 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 - sticky rubber keys - usb |- | <!--Description-->Akai MPK Mini Laptop Production Keyboard | <!--Vendor ID-->0x09e8 | <!--Product ID-->0x007c | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and camd usb to use, not tested with apps}} | <!--Opinion-->2010 25 mini key self powered by mini USB lead - sustain port - no top left corner joystick - tested icaros 2.3 - |- | <!--Description-->Akai LPK25 LPK37 LPK49 Laptop Production Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2012 untested velocity sensitive mini keys with synth action - weak mini USB port - latency issues - |- | <!--Description-->Akai Professional APC Key 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 |- | <!--Description-->Akai MPK49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2012 untested 49 key 49-key full-sized, semi-weighted keyboard with aftertouch - |- | <!--Description-->AKAI Max25 MAX49 control keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2014 usb compliant |- | <!--Description-->Akai Professional MPK249 MPK261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 USB2 USB-b - full keys semi-weighted aftertouch - midi in out - sustain and peddle port |- | <!--Description-->Akai Professional Advance 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 |- | <!--Description-->Akai MPK Mini MKII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 untested USB2 USB-b midi connection only - 4 way thumb joystick top left - 25 tiny keys - velocity drum pads - plastic build quality - |- | <!--Description-->AKAI Professional APC Key 25 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| driver}} | <!--Opinion-->2017 |- | <!--Description-->Akai MPK Mini Play | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2021 untested USB2 USB-b midi connection only - synth basic samples - class compliant? - small led display top centre - 25 mini keys - press and hold the "Prog Select" button then use the "Program" knob to assign a MIDI channel - |- | <!--Description-->Akai MPK Mini 3 MKIII MK3 | <!--Vendor ID-->0x09E8 | <!--Product ID-->0x1049 | <!--Revision-->0200 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2021 USB2 USB-b midi controller connection no 5pin legacy - small led display top centre - 25 mini keys goofy uneven feel of the akai keyboards - press and hold the "Prog Select" button and press pad 1 to 8 to assign a MIDI channel - tested on AROS One 2.4 usb |- | <!--Description-->Akai Force / MPC One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Akai Pro MPK Mini Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2023 untested 37 mini keys - class compliant device - usb-b bus powered only with 5pin midi in and out - Shift and Global for Midi Ch - |- | <!--Description-->Akai Pro Ableton Push Mk 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Akai Professional MPC Key 37 49 61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2023 untested USB2 usb-b |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Alesis Photon PH-25 X25 Midi & USB keyboard/synth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2005 midi keyboard controller |- | <!--Description-->Alesis Q25 Q49 Q61 Q88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2014 untested |- | <!--Description-->Alesis Coda Pro Portable 88-Key Digital Piano USB MIDI Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 |- | <!--Description-->Alesis V25 V49 V61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 |- | <!--Description-->Alesis V Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VI49 VI61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VX49 VX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 1 5-pin MIDI input, 1 5-pin MIDI output, 1 USB port, |- | <!--Description-->Alesis Q25 Q49 Q61 Mk2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 |- | <!--Description-->Alesis Recital 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Alesis V25 V49 V61 MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 |- | <!--Description-->Alesis Qmini portable 32-key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->audiothingies MicroMonsta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested synth - |- | <!--Description-->audiothingies MicroMonsta 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 synth - |- | <!--Description-->Arturia Analog Experience “The Player” USB MIDI Master Keyboard Model APE25 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 usb-b bus powered - |- | <!--Description-->Arturia MiniLab Mk1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 maybe class complaint |- | <!--Description-->Arturia MiniLab MkII Mk2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 maybe class complaint |- | <!--Description-->Arturia Keystep 32 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2016 untested 32 mini keys usb compliant |- | <!--Description-->Arturia KeyLab 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2017 untested hammer-action Fatar keybed - reset Press and hold Oct + and Oct – buttons then insert the USB cable - |- | <!--Description-->Arturia MiniLab mkII | <!--Vendor ID-->0x1C75 | <!--Product ID-->0x2209 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2017 USB2 usb-b bus power - metal base heavier than most - Shift and press a key to select the MIDI Channel - To reset to original factory, unplug the USB cable, hold down the Oct- and Oct + buttons, plug the USB cable back in and continue to hold the buttons until the pads turn white - need software to change parameters like velocity sensitive assistance - |- | <!--Description-->Arturia KeyLab MK2 MKII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2017 untested hammer-action Fatar keybed |- | <!--Description-->Arturia MicroFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 hybrid digital/analog synthesis, |- | <!--Description-->[https://www.youtube.com/watch?v=PeYIAfn3UMs Arturia Minilab 3] [https://www.youtube.com/shorts/chj1WgMupGw ] [https://www.youtube.com/shorts/FMVdfhzg1Dw ] | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2020 untested usb-c bus powered - 25 mini keys semi - |- | <!--Description-->Arturia Keystep Pro | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Arturia MiniLab 3 Mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 maybe class complaint |- | <!--Description-->Arturia MiniFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 |- | <!--Description-->Arturia KeyLab Essential 49 61 88 mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested usb-c and 1 midi out - lack of aftertouch - |- | <!--Description-->Arturia AstroLab | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description-->Arturia KeyLab MK3 MKIII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 untested hammer-action Fatar keybed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer UMX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe|untested}} | <!--Opinion-->2007 |- | <!--Description-->Behringer U-Control UMX490 UMX610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 |- | <!--Description-->Behringer U-Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer Swing 32-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer MOTOR 49 - 49-Key USB/MIDI Master Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Creative EMU Xboard 25 E-MU X-Board 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2008 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->CME M-Key Mkey 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2008 stops sending MIDI on a regular basis. The simplest "fix" is to flip it off and on via the power switch at the back |- | <!--Description-->CME Ukey U-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2009 |- | <!--Description-->CME Xkey | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 low-profile aluminium full size pressure sensitive with polyphonic aftertouch but keys make too much noise and that they can be too sensitive to velocity - low power draw 25ma |- | <!--Description-->CME M-Key 49 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 simplified version of the U-key Mobiltone |- | <!--Description-->CME XKEY AIR 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 |- | <!--Description-->cme xkey 37 le | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Donner Spaceline DMK-25 Donnerdeal Rantion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Donner DMK25 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 25 mini velocity keys with limited aftertouch - usb-c powered - 8 drum pads - 3.5mm "midi out" socket - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Elektron Digitakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 expensive later midi usb class compliant with since 1.5 Update |- | <!--Description-->Elecktron Digitone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Digitone Keys 37-key Digital FM Synthesizer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 expensive |- | <!--Description-->Elektron Analog Four MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Octatrak MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->ESI keycontrol | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 49+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 25xt | <!--Vendor ID-->0x2702 | <!--Product ID-->0x2702 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and usb driver working}} | <!--Opinion-->2011 bus powered or 12v 0.5a dc in - metal base so heavy - midi out 5pin - sustain pedal port - modulation slider - rubber coated knobs becomes sticky - |- | <!--Description-->ESI keycontrol 49xt 61xt 88xt | <!--Vendor ID-->0x2702 | <!--Product ID--> | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected}} | <!--Opinion-->2011 12v 0.5a center pin +ve external psu required - USB i/o and 1 legacy 5pin out - full sized keys - heavy aluminium case keyboard metal base - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Evolution MK-125 MK-149 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2000 9v |- | <!--Description-->Evolution MK-225C MK-249C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 9v |- | <!--Description-->Evolution USB/Midi Controller MK-425C MK-449C MK-461C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|25, 49, 61 keys - }} | <!--Opinion-->2006 9V or 12V - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->IK Multimedia iRig Keys Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 37 full keys |- | <!--Description-->IK Multimedia iRig Keys Pro Mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 25 or 37 mini keys |- | <!--Description-->IK Multimedia iRig Keys 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 mini velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys 2 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 full velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Kawai VPC 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> weighted keys - heavy build - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Keith McMillen Instruments K-Board | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? each keypad makes them velocity, pressure, and location sensitive but not really suited for piano playing |- | <!--Description-->Keith McMillen BopPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Korg NanoKontrol 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->mini usb |- | <!--Description-->Korg Prophecy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->KORG microKONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2010 |- | <!--Description-->Korg microKEY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2011 velocity-sensitive Natural Touch keys but joystick is an alternative to the common pitch/modulation wheel design - power draw - |- | <!--Description-->Korg nanoKey nanoPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 |- | <!--Description-->Korg Taktile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg microKEY2 25 37 49 61 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|2015 untested}} | <!--Opinion-->2015 USB powered - semi weighted - |- | <!--Description-->Korg MiniList | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg MinKey nanoPad nanoPad 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg Nautilus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Kurzweil PC3 7 series - Artis 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->fatar TP-8 semi-weighted action |- | <!--Description-->Kurzweil PC1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Kurzweil PC3 A8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Line 6 Mobile keys 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 POD Studio KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 Tone Port KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Midiman (later M-Audio) Oxygen8 Ozone Ozonic 25 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|not class compliant - untested 5pin legacy }} | <!--Opinion-->2002 2004 untested - 25 full keys - slider/fader to left of lcd display - |- | <!--Description-->m-audio oxygen keystation (61 key) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 |- | <!--Description-->M-Audio eKeys 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 |- | <!--Description-->M-Audio Axiom 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 bus powered and 12v psu - if sliders/faders are on right - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Oxygen 8v2, 49, 61 (silver) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Keystation 37e 49e, 61e MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2006 - ok key action - |- | <!--Description-->M-Audio Keystation 37es 49se 61es, 88es MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 - |- | <!--Description-->M-Audio Oxygen 25/49/61/88 (blue) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 [https://m-audio.com/products/view/oxygen-25-legacy advised Class-compliant and GM/GM2/XG SysEx messages] with full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Axiom 25, 49, 61 (2nd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 semi-weighted mini keys - bus powered and 9v psu for 25/49 and 12v for 61 - if sliders/faders are on left - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Axiom Pro 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 poor construction |- | <!--Description-->MAudio Axiom AIR 25 M-Audio Axiom Air Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->M-Audio Oxygen 25 III (3rd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 untested - usb only - rubber keys sticky - |- | <!--Description-->MAudio Keyrig 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 - mini usb - plays a few notes and then stops responding randomly - try plugging it into port 1 or 2 on your pc - |- | <!--Description-->M-Audio Keystation 49 MK2 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 USB port and class compliant |- | <!--Description-->M-Audio Keystation 61 MK3 MKIII MIDI keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 usb compliant untested |- | <!--Description-->M-Audio Oxygen 25 IV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2016 choice |- | <!--Description-->M-Audio CTRL-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2017 |- | <!--Description-->M-Audio ProKeys 88, 88sx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 mini usb - some power or incompatibility issue with the native USB ports of the laptop, plugged in a passive USB 2.0 HUB (not USB 3.0, not powered) |- | <!--Description-->[https://www.youtube.com/watch?v=3328SvuJsLw M-Audio Oxygen25 MKV] | <!--Vendor ID-->0x0763 | <!--Product ID-->0x0001 | <!--Revision-->0023 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - midi in out untested}} | <!--Opinion-->2020 25 full size semi keys - USB2 usb-b but no 5pin classic plugs - channel select SHIFT button and CHANNEL on keybed - plastic build - holding down both the Octave + and - for factory reset - more limited in what you can do with it than IV 4th one - tested on AROS One 2.4 usb |- | <!--Description-->M-Audio Oxygen Pro 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 untested semi full keys |- | <!--Description-->M-Audio Oxygen Pro Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 32 smaller keys - not endless encoders - usb only - |- | <!--Description-->M-Audio Hammer 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog Minitaur | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-VAVE SMK-25mini 25key MIDI Control Keyboard Y6I0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Native Instruments NI Primus A25 JamMate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->Native Instruments Maschine MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 not compliant uses snd-usb-caiaq module, |- | <!--Description-->Native Instruments Komplete Kontrol S88 S61 S49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 - weighted keys - |- | <!--Description-->Native Instruments Maschine MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 maybe compliant, |- | <!--Description-->Native Instruments Maschine Micro Mikro MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe? |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 all MK2 MK3 power up the keyboard using USB, it will set the keyboards MIDI port to computer MIDI only without any option to set it to use the MIDI DIN, meaning you cannot connect the keyboard to hardware and power from USB, you MUST power with the power adapter and physically unplug from any USB connection - |- | <!--Description-->Native Instruments Komplete Kontrol A25 A49 A61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 maybe compliant, |- | <!--Description-->[https://github.com/sikorak666/maschine-mikro-mk3-driver Native Instruments Maschine Micro Mikro Plus MK3 MKIII] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Native Instruments Komplete Kontrol M32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 untested 32 smaller keys - no drum pads - USB only - |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkIII MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description-->NI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neusonik iBoard 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Impact LX25+ LX49+ LX61+ LX88+ SE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 budget full-size velocity-sensitive synth-action keyboard - |- | <!--Description-->Nektar Impact GX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB port - |- | <!--Description-->Nektar Panorama P4 P6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB & USB Micro B, 5-pin MIDI out, 2 x TRS inputs with 49 semi-weighted, velocity sensitive with aftertouch |- | <!--Description-->Nektar SE25 SE49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> mini keys - micro usb bus powered - velocity and sustain button |- | <!--Description-->Nektar Panorama P6 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Panorama T6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nord Stage 3 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> sysex |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation ReMote 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 lhs XY touchpad and the joystick - |- | <!--Description-->Novation LaunchKey 25 49 61 88 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 not USB class compliant |- | <!--Description-->Novation 49 61 SL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation ReMote 25SL 49SL 61SL soft label | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 - two long top liquid-crystal display LCD strips - XY touchpad and the joystick - |- | <!--Description-->Novation ReMOTE 25LE | <!--Vendor ID-->0x1235 | <!--Product ID-->0x0004 | <!--Revision-->0001 | <!--CAMD-->{{Yes|detected, usb driver in devs/midi for camd to use}} | <!--Opinion-->2007 USB-b powered, 9v center pin positive or 6 MN1500 AA batteries - X/Y touchpad and the combined pitch and modulation joystick - no aftertouch but can use both the legacy MIDI OUT and USB port simultaneously |- | <!--Description-->Novation Nocturn 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| }} | <!--Opinion-->2008 untested sending random pitchbend info |- | <!--Description-->Novation 49 61 SL MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation MiniNova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 |- | <!--Description-->Novation Impulse 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 velocity aftertouch‑sensitive semi-weighted keyboards and eight backlit pads - USB, 5-pin MIDI out - |- | <!--Description-->Novation Circuit Tracks / Rhythm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Novation LaunchKey 25 49 61 88 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 USB class compliant - full keys - |- | <!--Description-->Novation Launchpad Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested 8x8 buttons with 16 backlit |- | <!--Description-->Novation LaunchKey Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested - 25 soft mini keys - 2 rotary wheels lhs - |- | <!--Description-->Novation LaunchKey 25 37 49 61 88 MK3 MKIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 USB class compliant choice - full keys - |- | <!--Description-->Novation LaunchKey Mini MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 25 soft mini keys - 2 sliders lhs - |- | <!--Description-->Novation 61SL Mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Nymphes Dreadbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 6 voice analog synth |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Oberheim MC 2000 EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 88 keys fully weighted - very heavy - |- | <!--Description-->PreSonus ATOM SQ Hybrid MIDI Keyboard/Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[https://polyend.com/tracker/ Polyend Tracker] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Roland ED PC-300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 USB MIDI keyboard controller 49-key |- | <!--Description-->Roland EDIROL PCR-M30 PCR-M50 PCR-M80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol PCR-30 PCR-50 PCR-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 untested 32 key - |- | <!--Description-->Roland PC-50 PC-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- | <!--Description-->Roland PCR-500 PCR-800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 61 velocity-sensitive keys with aftertouch |- | <!--Description-->Roland A-88 a-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 USB port - weighted keys velocity no aftertouch - class compliant with press FUNCTION so it is lit. Press the key labelled "ADV.", Press the "+" button so it is lit - |- | <!--Description-->Roland PC-200 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 some had fatar keys |- | <!--Description-->Roland MC-707 Groovebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 |- | <!--Description-->Roland MC-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Roland A-500 A500Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland A-300 A300Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland JUNO DS, FA, Fantom, JUPITER X / Xm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 (be sure that USB driver is set to "Generic" - requires device rebooting) |- | <!--Description-->Roland A-88 a-49 MKii MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 expensive with USB-c port - hammer-action keyboard weighted keys - Class-compliant if USB-C enables bus power - MIDI 2.0 later - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ROLI Seaboard RISE 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Samson Graphite 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Samson Carbon 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Sequential TAKE 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK-161 and VMK-161 Plus Organ version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->TP-8O action is the unweighted, organ-style waterfall keybed - usb midi in out - 9v psu - |- | <!--Description-->Studiologic SL990XP midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK176 Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->USB and midi connectivity |- | <!--Description-->Studiologic SL880 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic SL73 SL88 Studio midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> hammer-action Fatar TP semi-weighted keys |- | <!--Description-->Studiologic Numa Organ 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 73 key TP-8O action is the unweighted, organ-style waterfall keybed used in nearly all clonewheels |- | <!--Description-->Studiologic Numacompact 2/2x, Numa X Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero CommandKey49 CommandKey25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SZ-MiniCommand Mini-Command USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SPC61 MIDI Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> bus powered - 5 octave |- | <!--Description-->SubZero ControlKey49S 49 Key Slim MIDI Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Synido TempoKey K25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 25 mini keys - usb-c powered |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Worlde Panda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha KX8 KX49 KX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2008 not compliant |- | <!--Description-->Yamaha CMC-PD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2010 |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 not class compliant |- | <!--Description-->Yamaha P45B P-45 Digital Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2011 not compliant |- | <!--Description-->Yamaha P-115 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested weighted keys - USB midi port |- | <!--Description-->Yamaha MX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 should compliant untested |- | <!--Description-->Yamaha Montage, CP73/88, YC, MODX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Yamaha PSR-E353, PSR-E443 PSR-S670, PSR-S770, PSR-S970, PSR-A3000, TYROS-5 NP-12, NP-32 DGX-650, DGX-660 P-105, P-115, P-255 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha MX49 II V2 Black Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->DJM V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> dj |- | <!--Description-->Native Instruments Kontrol DJ Pro midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> detected but untested |- | <!--Description-->Numark Mixtrack Pro II USB DJ Controller Djay | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->older generation pioneer DDJ-SX2 dj | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Alyseum AL-22 AL22c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum AL-88 Schneidersladen AL88c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum U3-88c Midi Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no CopperLan support Midi network using a UTP Ethernet patch cable) |- | <!--Description-->Behringer BCF2000 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->[http://www.behringer.com/EN/home.aspx Behringer] BCR2000 1in 2out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer B-CONTROL DEEJAY BCD3000 DJ Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer UMD404 UMD202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Creative EMU 0404/USB midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 |- | <!--Description-->DigiDesign / Focusrite Command 8 Control Surface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 supports MIDI continuous controller (CC) and note data. SysEx dumping and loading is also supported |- | <!--Description-->Digidesign Digi 002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 firewire only |- | <!--Description-->Digidesign Digi 003 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 firewire only |- | <!--Description-->emagic m4 2x4 AMT8 Unitor 8 Mk2 8x8 | <!--Vendor ID-->0x00d0 | <!--Product ID--> | <!--Revision-->0x010 0x0103 | <!--CAMD-->{{No| }} | <!--Opinion-->2000 offers MTS (Midi Time Stamping) - 12v 2a psu centre pos - usb mini with rs232 and rs422 serial ports - 16 channels (8-in / 8-out), this rack-mountable unit - |- | <!--Description-->Evolution U-Control UC-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| detected}} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Guillemot Maxi Studio ISIS Vintage Sound Card MIDI Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->1998 |- | <!--Description-->[http://www.ucapps.de/mbhp_usb.html MidiBox] Hardware Platform USB Module | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2001 |- | <!--Description-->Mackie Control Universal Pro XT with One Two Extenders | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->M-Audio Audiophile USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 not compliant, |- | <!--Description-->M-Audio Midisport UNO old version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio MidiMan 1x1 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 [http://sourceforge.net/projects/linux-hotplug/ firmware update] |- | <!--Description-->M-Audio Midisport 2x2 yellowy green blue, green or silver chassis plastic box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|MIDISPORT 2x2 or 4x4 interfaces from previous production series (blue, green or silver chassis) are not class-compliant}} | <!--Opinion-->2004 |- | <!--Description-->MAudio Audiosport Quattro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2004 not usb compliant as [http://usb-midi-fw.sourceforge.net/ firmware required and that is buggy], |- | <!--Description-->M-Audio UC-33 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio Midisport 1x1 2x2 4x4 Anniversary Edition, black box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 maybe class compliant, |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->[http://www.amiga.org/forums/showthread.php?t=52920 Mark of the Unicorn Motu Fastlane] 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|[http://www.amiga.org/forums/showpost.php?p=560852&postcount=8 not working on OS4]}} | <!--Opinion--> not class compliant, |- | <!--Description-->Motu Micro Lite 1x1 and MOTU microlite 5x5 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> good unit but poor just plug in support and not class compliant - USB2 usb-b - |- | <!--Description-->Motu MIDI Express 128 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->poor support serial port only - offers MTS (Midi Time Stamping) A serial port based MIDI interface or a USB interface without MTS will have a MIDI slop of up to 2ms on record and playback. MTS provides accuracy for record and playback to around .3ms - five times more accurate than serial or non-MTS." |- | <!--Description-->MOTU.com MIDI Express XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2008 for many USB should have octocoupled connection to reduce groundloop humm, usually the timing is off |- | <!--Description-->MOTU MIDI Timepiece AV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> not class compliant is one of the best multi-port MIDI interfaces ever made as USB model connects to the computer as an 8x16 interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Native Instruments GmbH Audio 8 DJ, 4 DJ, 2 DJ | <!--Vendor ID-->0x17CC | <!--Product ID-->0x | <!--Revision--> | <!--CAMD-->{{no|needs dedicated driver}} | <!--Opinion-->2006 not class compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Qcon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Roland Edirol UA-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|did not match to camdusbmidi.class USB audio midi with onboard DSP}} | <!--Opinion-->1998 |- | <!--Description-->Roland Corp Edirol UM-2 | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0005 | <!--Revision-->0200 | <!--CAMD-->{{no|is not bound via camdusbmidi.class }} | <!--Opinion-->1999 not bound to any midi class - 2x2 - tested Aros One USb 2.4 |- | <!--Description-->Roland Edirol UA-100G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->1999 USB audio midi with onboard DSP |- | <!--Description-->Roland Edirol UM-880 8x8 midi interface | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2000 under poseidon but could work with run >nil: c:midithru out.0 "EDIROL UM-880.out.2" |- | <!--Description-->Roland Edirol UM-1 blue plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| bound??? via camdusbmidi.class - untested midi in out}} | <!--Opinion-->2000 UM-1 - 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 |- | <!--Description-->Roland Edirol UM550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1X midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1SX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0052 | <!--Revision-->0200 | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-2C - 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-1G 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->Roland Edirol Cakewalk UM-2G 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->[https://github.com/spotify/linux/blob/master/sound/usb/usbquirks.h Roland Edirol UA20 UA-20] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2004 |- | <!--Description-->Roland UM-1EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol UM-2EX 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 adds a second MIDI OUT |- | <!--Description-->Roland Cakewalk UM-3G - 3x3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Roland Cakewalk ua-25excw 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2009 not class compliant mode |- | <!--Description-->[https://alsa.opensrc.org/Edirol_UA-25EX Roland Edirol UA55 UA-55 Cakewalk UA25 EX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2011 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus B2M Bass MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus G2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg CMC Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Subzero SZ-MB44 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Swisssonic MIDI1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2012 AmigaOS there is no output at midichannel one and two but if play a midi file there is only output on some channels and if pressed stop the prog freezes or the whole system crashes |- | <!--Description-->Teac Tascam US-428 US-422 midi interface | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> 2000 not compatible |- | <!--Description-->Teac Tascam [http://web.archive.org/web/*/http://www.tascam.com/Products/US-224.html US-224] | <!--Vendor ID-->0x1604 | <!--Product ID-->0x8004 | <!--Revision-->0100 | <!--CAMD-->{{No| }} | <!--Opinion--> 2002 does not bind to any class |- | <!--Description-->Teac Corp Tascam US-1x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 |- | <!--Description-->Teac Tascam US-122 MKII midi interface | <!--Vendor ID-->0x0644 | <!--Product ID-->0x8021 | <!--Revision-->0100 | <!--CAMD-->{{No|not detected / binding to camdusbmidi.class on AROS 2.4 usb }} | <!--Opinion-->2004 detected but not working 2-in/2-out USB two XLR microphone preamps with phantom power for condenser microphones |- | <!--Description-->Teac Tascam US-200 US-400 US-600 US-800 US-1200 US-1800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 may not be totally usb compliant |- | <!--Description-->Yamaha UX-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Akai EIE and Pro version midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 dc 6v power - 3 USB hubs, midi in out , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alesis I/O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2007 powered USB hub required, not compliant |- | <!--Description-->Alesis IO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 usb compliant? |- | <!--Description-->Alesis IO4 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->Behringer XTouch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> psu needed |- | <!--Description-->Behringer X-Touch Compact | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant? |- | <!--Description-->Behringer X-Touch Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant?, usb to 5pin midi interface |- | <!--Description-->Behringer U-Phoria UMD404HD UMD202HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 maybe class compliant - volume low, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->CME U2 MIDI Pro 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> current model |- | Creative EMU XMIDI 1X1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 early versions with sysex checksum errors |- | <!--Description-->Creative E-MU Xmidi 1x1 Tab (V3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 tab version class compliant but report that when transferring 'System Exclusive' messages (SysEx) the unit could not handle the highest data rate leading to data corruption |- | Creative EMU XMIDI 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 sysex errors |- | <!--Description-->Digidesign Mbox 2 Mini now Avid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 USB powered but not compliant |- | <!--Description-->Digidesign Mbox II Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 USB powered but not compliant |- | <!--Description-->Engl Z7 MIDI Interface (E660/E610/E360/E930) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitar? |- | <!--Description-->Elektron TurboMidi TM-1 1in 1out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U 4x4 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->supposedly class compliant - USB bus powered - |- | <!--Description-->ESI MidiTerminal M8U 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U XL 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> ploytec chipset |- | <!--Description-->ESI MidiTerminal M8U XL 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no hardware routing e.g. x on input 5 to synth y on output 7 - ploytec chipset |- | <!--Description-->ESI MidiMate 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->ESI MidiMate II 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI ROM I/O | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2005 romio version |- | <!--Description-->ESI M4U XT | <!--Vendor ID-->0x2573 | <!--Product ID-->0x0002 | <!--Revision-->0100 | <!--CAMD-->{{Maybe|is bound via camdusbmidi.class AROS One 2.4 - untested midi in out}} | <!--Opinion-->2010 - |- | <!--Description-->ESI M8U XT 8in 8out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 discontinued 2018 |- | <!--Description-->ESI M8UEX USB3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI M4U eX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI MidiMate eX midi interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 curent model, well liked and might class compliant?? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->icon midiport 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iCON CubeMi 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? |- | <!--Description-->iConnectivity | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iConnectivity mio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 class compliant but reported issues with sending System Exclusive (SysEx) MIDI messages and MIDI signals getting cut off |- | <!--Description--> iConnectMidi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->iCM2 iCM4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->iConnectivity iConnectMIDI4+ L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 class compliant?? |- | <!--Description-->iConnectivity MioXL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->IK Multimedia iRig MIDI 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant |- | <!--Description-->iRig Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Electronics pro solo mk2 midi to cv converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Midi Thru-25 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Keytech MT18E 8 Way Midi Thru box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 9 to 12v psu required |- | <!--Description-->MidiPlus Midi 2x2 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiPlus Midi 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->MidiTech MIT-00151 Midiface 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiTech Midiface 4x4 8x8 16x16 thru merge | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Miditech Midilink mini 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->M-Audio Midisport UNO only if box is labeled Class Compliant and latest MIDISPORT 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 not usb compliant, - |- | <!--Description-->M-Audio Midiman Midisport 2x2 Anniversary Edition [https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1133862-why-there-hardly-any-midi-interfaces.html not stable enough] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 USB2 usb-b - does not need firmware and supposedly plug and play - |- | <!--Description-->M-Audio Midisport 4x4 Anniversary Edition | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> rumored does not need firmware - supposedly plug and play - issues with its firmware for some and lacks configurable routing |- | <!--Description-->Maudio Fast Track Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Native Instruments Komplete Audio 6 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 maybe usb compliant but bus powered, |- | <!--Description-->Nektar Midiflex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 class compliant and usb-b powered - used as a 1 in / 3 out, 2 in / 2 out or 4 out 5pin sockets - |- | <!--Description-->Neusonik IM-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Peavey Xport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitars only |- | <!--Description-->Roland UM-ONE UM-1 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 USB class compliant if switch to TAB for class compliant mode rather than the COMPUTER mode |- | <!--Description-->Squarp Hermid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg Midex 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? supporting MIDI Time Stamping protocol |- | <!--Description-->Swissonic MidiConnect 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Tapco LiNK.midi USB 4x4 (Loud technologies) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|dedicated driver}} | <!--Opinion-->2005 |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion--> 2014 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Zoom U-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description-->Unbranded cable | 0x552d | 0x4348 | F110 | <!--CAMD-->{{Maybe|detected but no usb driver in devs/midi for camd to use}} | <!--Opinion-->detected but not working the USB-MIDI conversion functionality of the cheapo USB MIDI "cable" interface is simply lacking, possibly being incapable of handling MIDI strings longer than 3 bytes long SysEx strings (e.g. SysEx dumps) - tested in Icaros 2.3 - |- | <!--Description-->USB2.0-MIDI Unbranded cable with clear braided underneath leads | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x752D | <!--Revision-->0254 | <!--CAMD-->{{Maybe|detected binding to camdusbmidi.class but untested midi in / out}} | <!--Opinion-->untested but better to get a branded version - tested AROS One 2.4 usb |- | <!--Description-->LogiLink USB to Midi In-Out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|}} | <!--Opinion-->untested cheap cable version but issues with latency on other systems |- | <!--Description--> gm5 USB midi chip DIY option only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Doremidi LEKATO MIDI USB C Interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Thomann Midi USB 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> Prodipe made |- | <!--Description-->Prodipe MIDI 1i/1o | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} Classic 5pin DIN controllers for above interfaces {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Akai s5000 s6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi digital samplers |- | <!--Description-->Akai AX80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-3000 CZ-1000 CZ-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Cheetah MS6 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2000 multi-timbral, six-voice (twelve-oscillator), analogue synthesiser module is loaded with CEM 3396s |- | <!--Description-->Ensoniq ESQ1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Integra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Wavestation Ex A/D SR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1986 ex has piano and drum sounds |- | <!--Description-->Korg DW-8000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg DW-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Poly 800 MK1 Poly-800ii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> all plastic and can run on batteries - 49 keys non-velocity dco synt analogue filter |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland D-50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1987 untested greater concern would be moisture and wear}} |- | <!--Description-->Roland A50 (76) A80 (88) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1989 untested}} |- | <!--Description-->ROLAND JUNO-D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland Juno 106 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->80s kx73 or kx88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland ED PC-160A PC-180A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} legacy DIN5 MIDI port only - 6 AA batteries or 9v psu - One regular source of failure for me were emty batteries (even with red control light still active). Another source was a bad MIDI cable - unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description-->Roland M1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland S-550 S-760 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> digital samplers kontakt replaced these? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha DX7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1983 12bit |- | <!--Description-->Yamaha DX7S DX72IID DX7IIFD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1987 16bit versions |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- |} The MIDI standard was published in August 1983. The inventors, Kakehashi and Smith finally received a Technical Grammy Award in 2013 for their work. The MIDI files that contained just the note data, velocity and timing meant you could transfer an entire studio session from one place to another on one floppy disk and it could control all the synths and drum samplers. Pass-thru meant that one computer could run an entire bands worth of instruments. It's bulletproof too. MIDI never goes wrong, it's always a bug in software that causes any issue - you can absolutely rely on it to go gigging with, take your synths, controllers and computers and not crash an entire gig at your 100,000 person venue. The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work. The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in. The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times. For midi, the hardware/software combination at various connection points handles the translation to/from midi (or other protocols). Drivers would be needed for midi, including clock and SysEx signal (actually claiming to handle ALL midi quirks transparently All the important MIDI data types can be sent (CC, NRPN, RPN, MMC, Note On/Off, program change) There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues. Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late. Ethernet network cable to transport MIDI over large distances, connect 2 MIDI In and 2 MIDI Out ports to patch, remap, filter and merge MIDI flows on a fine channel basis for tight MIDI throughput, latency and jitter Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info. Preemptible, low latency and accuracy are essential for good communication. One of the first things you need to do, is make sure your MIDI software sets the interface to the same MIDI channel as your keyboard (usually 1) Do you want to send just your master keyboard to other synths or to be able to use any keyboard with any synth? 1st option is relatively simple. Just need to send midi from your master keyboard into a midi splitter that redistributes the signal onto your synths. Each synth will be set up to receive midi on a specific channel so the only challenge is to find a way to select to which channel you are sending midi. Some master keyboards can do that although not many that have a dedicated knob or switch on the panel and most require a bit of menu diving. Could use a midi box that offers channel selection but usually this is not very workflow friendly. The software route would require using the mouse. 2nd option is a bit more complex but superior workflow by sending midi messages into a merge box, from there into a hardware sequencer that allows to select midi channel, then on to a midi interface that distributes the signal to the synths. Master keyboard MIDI-in to computer. External hardware sampler MIDI-out from computer. Audio-out from sampler to audio-in on computer/device. Blue Ribbon Soundworks Bars & Pipes Professional (1993/4) GM (1984), GS (1987), XG level 1-3 (1994-1997), GM level 2 (1999) GM GM1 imposes several requirements beyond the MIDI 1.0 specification. While MIDI 1.0 by itself provides a communication protocol which ensures that different instruments can interoperate at a fundamental level e.g sound modules. GM goes further in two ways. First, GM requires that all compliant MIDI instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony). Second, GM attaches specific interpretations to many parameters and control messages which were left unspecified in the MIDI 1.0 specification. A minimum of 128 MIDI Program Numbers (conforming to the GM 1 Instrument Patch Map) and 47 percussion sounds (conforming to the GM 1 Percussion Key Map). Support for controller number 1, 7, 10, 11, 64, 100, 101, 121 and 123; support for channel pressure and pitch bend controllers. General MIDI Level 2 or GM2 is a specification for synthesizers which defines several requirements beyond the MIDI standard and is based on General MIDI (GM) and Roland GS extensions. It was adopted in 1999 by the MIDI Manufacturers Association (MMA). * Number of Notes: 32 simultaneous notes * MIDI Channels: 16 * Simultaneous Melodic Instruments – up to 16 (all Channels) * Simultaneous Percussion Kits – up to 2 (Channel 10/11) Program and bank change events General MIDI 2 compatible synthesizers access all of the 256 instruments by setting cc#0 (Bank Select MSB) to 121 and using cc#32 (Bank Select LSB) to select the variation bank before a Program Change. Variation bank 0 contains the full GM (General MIDI 1) sound set. Variations using other bank numbers are new to General MIDI 2, and correspond to variation sounds introduced in Roland GS. [https://www.youtube.com/watch?v=CluuHrr7HG4 Major WWHWWWH, Minor WHWWHWW scale], [https://www.youtube.com/watch?v=Jjm7Ti-iwz0 Chords], ==usb audio== AROS currently does not support natively any USB audio interface for recording audio USB audio is only available for limited Amiga like OSs, independent of the USB protocol version USB1.x USB2, USB3.x, which are not backwards compatible. *Introduced 2000 and from 2014 USB Audio 1 UAC1 16bit 44.1kHz *Introduced 2006 and from 2014 USB Audio 2 [https://www.usb.org/document-library/usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through-april UAC2] 24bit 192kHz *Introduced 2016 and from 2024 USB Audio 3 [https://www.usb.org/documents UAC3] 32bit 384kHz USB group decided to rewrite the audio standard, so [https://os4depot.net/?function=showfile&file=audio/record/usbaudio2.lha UAC2] and [https://archive.fosdem.org/2019/schedule/event/linux_and_usb_audio_class_3/attachments/slides/3345/export/events/attachments/linux_and_usb_audio_class_3/slides/3345/Linux_and_USB_Audio_Class_3___FOSDEM_2019.pdf UAC3]. They added clock selection and control, timing domains and others. Part of the changes included changing many of the descriptors that an audio device uses to describe itself to the machine. PsdErrorlog/PsdDevlister? The AHI driver generated only supports mono/stereo at any bit rates between 8 and 32 bit per sample, but not multichannel modes and only rates up to 65KHz (because AHI uses a 16-bit word for frequencies). If the soundcard does not offer such a PCM 8-32 bit mode at frequencies lower than 65 KHz, there's nothing much that can be done about it on the computer side other than revising and expanding the AHI standard. Most cheap USB soundcards do though. AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI. Untested but most likely to work, at least 2 mic inputs (low impedance) & instruments (high impedance) and made in the last 10 years *[https://www.youtube.com/watch?v=gMuA-2FbJxE Entry level <100Euro] BOMGE U202, Behringer UMC, Presonus Studio, *[ Next tier <200Euro] Audient iD, Solid SSL2 and SSL2+, Lewitt, Focusrite Scarlett, Arturia MiniFuse, *[ Prosumer <300Euro] Focusrite Clarett+, *[ Professional <500Euro] RME Babyface, *[ Studio >500Euros] Bands may need 4 or more mic inputs [http://forum.xda-developers.com/showthread.php?p=38364030 XDA Forum thread], <pre> <- Computer <- Mobile Phone / Tablet (OTG) <- Digital Cameras <- Video <- Webcams Base Computer <-> OBS like <- Audio Mixer <- Microphone(s) -> Internet -> Youtube & Chat </pre> USB AUDIO CARDS - UAC Compliant {| class="wikitable sortable" width="90%" ! width="20%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Records ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Antelope Galaxy 64 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant and a high-end 64-channel AD/DA converter HDX, Dante connectivity and a Thunderbolt Audio interface |- | <!--Description-->Antelope Galaxy 32 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->may not be compliant as Antelope Audio does not provide official drivers, control software, or an Antelope Launcher |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Arturia Mini Fuse 1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant, okay pre amp 1 combi input, cirrus logic cs4272 ad converter, |- | <!--Description-->Arturia MiniFuse 2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant usb-c with usb2.0, okay pre amps with good dynamic range 110dB, cirrus logic cs4272 ad converter, two combi inputs for mic, line or guitar, |- | <!--Description-->Arturia MiniFuse 4 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, okay 110dB dynamic range, -129dB EIN, |- | <!--Description-->Arturia AudioFuse 16Rig | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audient iD44 mk1 mki | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2018 maybe usb compliant, good, |- | <!--Description-->Audient evo4 EVO8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, |- | <!--Description-->Audient iD4 mk2 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, |- | <!--Description-->Audient id14 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description-->Audient iD24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant and usb-c bus powered, good, , 0-in/14-out audio interface with ADAT expandability, balanced inserts |- | <!--Description-->Audient iD44 Mk2 Mkii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer U-PHORIA UMC22 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer U-PHORIA UMC202HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps ein -129 dBu, 24bit ADC, |- | <!--Description-->Behringer U-PHORIA UMC404HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps, 24bit adc, |- | <!--Description-->Behringer U-PHORIA UMC204HD 192 Empower Tribe | <!--Vendor ID-->0x1397 | <!--Product ID-->0x0508 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer UMC1820 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2016, bus complaint?, okay midas pre amps, adc, |- | <!--Description-->Behringer U-PHORIA UM2 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, poor zenyx pre-amps with high noise floor, plastic build no rf shielding, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, , , midi, strictly NEC USB 2.0, |- | <!--Description-->Focusrite Scarlett 8i6 Gen 1 MOSC0001 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, but |- | <!--Description-->Focusrite Scarlett 2i2 Gen 1 MOSC0003 *TP1 - 3.3V, tested ok *TP2 - U4 control signal, 3.3V present at all time. *TP4 - Ground *TP6 - 48V, tested ok *TP7 - Ground *TP8 - Ground | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 usually avoid early Gen 1, |- | <!--Description-->[https://khronscave.blogspot.com/2021/08/75-focusrite-scarlett-2i4-1st-gen.html Focusrite Scarlet 2i4 Gen 1 (slide toggles) MOSC0004] *TP1 - 3.3V, tested 3.22v *TP2 - U4 control signal, 3.3V present *TP4 - Ground *TP6 - measure 47.72v * AKM 4384ET (VDD 5v) * Cirrus Logic CS4272-CZZ (VA 4.94v/ VD 3.2v/ VL 3.2v) * all four HC4066 (VCC 4.96v) * XMOS XS1-L01A-TQ128-C5 (all VDD 1.08v/ all VVDIO 3.23v/ PPLAVDD 0.99v/ PCU-VDDIO 3.23v) 2i4S *TP1 seems to be 0V *TP2 should be 5V *TP3 should be *TP6 should be 48V *TP8 should be 3.3V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps JRC NJM2122 and NJM4565, [https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf CS4272 adc], [https://pdf.datasheet.live/e5e5fd1c/akm.com/AK4384.pdf AK4384 output pair], Xmos XS1-L8A-64-TQ128 processor and firmware in Winbond 25X40CL 4Mbit, an SMSC Microchip USB3343 interface and a Microchip PL611 clock generator - two Intersil / Renesas ISL97519A for the phantom power rail, two OnSemi NCP1521B for the 3.3V (digital) and 1V (Xmos core) rails - |- | <!--Description-->Focusrite iTrack Solo USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2012 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 1st Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->[http://wiki.linuxaudio.org/wiki/current_audio_gear Focusrite ] Scarlett 4i4 Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->Focusrite Scarlett 6i6 Gen1 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , , 12v psu, the headphone outs mirror the outs on the back panel, so that's six independent outs. 4 independent analog output paths, plus two over spdif, |- | <!--Description-->[https://khronscave.blogspot.com/2019/03/38-focusrite-scarlett-18i8-gen1-teardown.html Focusrite Scarlett 18i8 1st Gen MOSC0008] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, JRC NJM4565 provide most of the opamps, pair of JRC NJM2122's for inputs 1 and 2, [http://www.mouser.com/ds/2/76/cs4272_f1-43250.pdf Cirrus CS4272], 12v 1a +central psu to a pair of National Semiconductor LM2672 for 3.3V rail and the +6.9V rail, Xmos XS1–L16A–128 dual-row QFN package, firmware a Winbond 25X40C 4Mbit SPI Flash and an SMSC USB3343 interface chip, the two headphone outs are completely independent so 6 independent analog output paths, plus two over spdif, |- | <!--Description-->Focusrite Clarett+ 8Pre | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 great, expensive, maybe usb compliant? |- | <!--Description-->Focusrite Scarlett 2i2 Gen 2 (slide toggles) MOSC0006 *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8202 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz CS4272 as well as an additional AKM AK4384ET for the second stereo output pair, 4 screws under bottom rubber, |- | <!--Description-->[https://khronscave.blogspot.com/2021/07/focusrite-scarlett-2i4-2nd-gen-teardown.html Focusrite Scarlett 2i4 Gen 2 (slide toggles) MOSC0014] *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps NJM2122's, NJM4565's and CMOS switches (HEF4053 and HEF4066), CS4272 and a AKM AK4384ET, Xmos XU208-256-TQ64-C10 with firmware stored in a Macronix MX25L8006E 8Mbit flash memory, clocking by a Cirrus Logic CS2100, an MP1542 boost converter creates +6V and -6V rails, powering the opamps and the rest of the analog circuitry, |- | <!--Description-->Focusrite Scarlett 6i6 Gen2 MOSC0016 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo 2nd Gen MOSC0019 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->[https://khronscave.blogspot.com/2024/03/focusrite-scarlett-18i8-gen2-teardown.html Focusrite Scarlett 18i8 2nd Gen MOSC00] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Red 16Line | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 may not be compliant as Focusrite provides no drivers - 64-in/64-out Pro Tools - dual Thunderbolt 3 audio interface with ultra-low latency A-D/D-A conversion - Red Evolution mic preamps |- | <!--Description-->Focusrite Scarlett Solo 3rd Gen MOSC0024 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant usb-c but usb2, preamps, ad/dc 24bit 192kHz, most Focusrite gen3 interfaces have encrypted processors, |- | <!--Description-->Focusrite Scarlett 18i6 Gen3 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB2 class compliant device, but with custom mixer interface |- | <!--Description-->Focusrite Scarlett 2i2 Gen 3 (push in switches) MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8210 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB-c bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz Cirrus Logic xfr002c and cs4272 chips, |- | <!--Description-->Focusrite Scarlett 18i20 3rd gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i8 3rd Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8214 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, , , no screws under the rubber pads on the bottom, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo Studio Mk3 USB Audio Interface MOSC0030 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2020 |- | <!--Description-->Focusrite Scarlett 2i2 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 4i4 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Studio 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Solo 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Fractal Audio Quad Cortex platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 neuralDSP plugins not working |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Lewitt Connect 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Lewitt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Motu UltraLite AVB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb not compliant? |- | <!--Description-->MOTU M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant?, usb-c, good pre amps, ad/dc, |- | <!--Description-->MOTU M4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->MOTU U2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, good but latest had hardware revision |- | <!--Description-->MOTU UltraLite-mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 not usb compliant, great |- | <!--Description-->MOTU UltraLite-mk5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nuemann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb audio compliant, great pre-amps |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neve Genesys Black G16 G32 G64 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant - very good very expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Presonus AudioBox USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe not usb compliant, usb1.1 usb-b bus powered, okay pre-amps, 24bit ADC 48Khz max, |- | <!--Description-->Presonus Audiobox 1818VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Presonus AudioBox 44VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 may not be usb compliant, 12v psu, |- | <!--Description-->PreSonus AudioBox 22VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->|PreSonus Studio 2|4 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, usb-b, |- | <!--Description-->|PreSonus Studio 2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->|PreSonus Studio 6|8 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe compliant, needs ext psu, |- | <!--Description-->PreSonus Studio 24c 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, good, adc, |- | <!--Description-->PreSonus Studio 26c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus® Studio 68c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus AudioBox USB 96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, high preamp noise, |- | <!--Description-->Presonus Quantum ES2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism Lyra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Platane UP1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb- UAC2 asynchronous protocol, 64dB Low-noise Mic amplifier, 32Bit High End ADC and DAC, 16dBu High-power ti headphone amplifier |- | <!--Description-->Platane UP2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Platane | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->RME Babyface/UC/UFX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 might be able to put into class compliant cc although a firewire device, pre amps, adc, |- | <!--Description-->RME Babyface Pro FS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 might be class compliant usb-b, pre amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Solid State Logic SSL2 SSL2+ Mk1 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, good, adc, |- | <!--Description-->Solid State Logic SSL12 SSL18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, bus powered, good pre-amps, up to 32-bit 192kHz AD/DA converters, 12-in 8-out, |- | <!--Description-->Solid State Logic SSL2 SSL2+ MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, good pre amps ein -130 dBu, ad/dc, okay latency, |- | <!--Description-->Solid State Logic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Topping E1x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description-->Topping Pro E2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->UAD UA Apollo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->UA apollo 2nd Gen twin X (Duo/Quad), X4, X6, X8, X8P, and X16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 bus compliant?, usb- |- | <!--Description-->UA apollo twin x quad 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 bus compliant?, usb- |- | <!--Description-->Universal Audio Volt 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->|Universal Audio Volt 276 2|76 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->Universal Audio Volt 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Akai EIE Pro AI01 Electromusic Interface Expander - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, 4-in/4-out USB 2.0 audio interface with a built-in USB hub and MIDI I/O, up to 24-bit/96kHz |- | <!--Description-->Akai EIE Pro AI02 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Alesis io2 io|2, io14 io|14, io26 io|26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 bus powered but not usb compliant, okay pre-amps, 2, 4 or 8 mics respectively, |- | <!--Description-->Alesis iO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 not usb compliant, poor pre-amps, |- | <!--Description-->Alesis Core 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe cc, mini usb, poor latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Apogee Duet 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire only, not usb compliant micro-usb with most features, , , two‑channel two‑in, two‑out, |- | <!--Description-->Apogee Ensemble | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire, not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee One USB 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant micro-usb for basic features, , , single‑channel up to 48kHz |- | <!--Description-->Apogee One USB 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant usb- and maybe aa batteries, |- | <!--Description-->Apogee Duet 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee One USB 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->Apogee Ensemble Thunderbolt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee Boom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c, , , |- | <!--Description-->Apogee Duet 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ART PRO Audio Usb Mix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant bus powered, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Avid Digidesign Mbox 1 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID-->01000 | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2002 mbox original was usb1 and not a usb class compliant device, and had the much hated "focusrite designed" mic preamps, light blue front plate and the sticky out feet |- | <!--Description-->Avid Digidesign Mbox 2 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 midi not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Pro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Mini USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Micro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant |- | <!--Description-->AVID MBox 3rd gen Mini or Standard but Pro is Firewire | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2010 maybe usb compliant, |- | <!--Description-->behringer u-control uca202 | <!--Vendor ID-->0x8bb | <!--Product ID-->0x2902 | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, draws a lot of power - dac ti burr-brown - no microphone pre-amp - |- | <!--Description-->Behringer U-CONTROL UCA 222 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2009 maybe usb compliant, - no microphone pre-amp - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Black Lion Audio 2x2 evolution | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant but , okay with 109dB range - poor noise floor, 24-bit 192kHz Cirrus Logic CS4272, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Bomge 11s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge 22s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge BMG22 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 usb-c, 24bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower , may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TI Burr-Brown PCM2702E PCM2704 PCM2704C Muse Audio Mini USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2704 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description-->TI Burr-Brown PCM2900 PCM2902 PCM2906 USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2900 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Depusheng MD22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description-->Depusheng USB Audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Emagic emi 2|6 em2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2002 not uac |- | <!--Description-->|Emagic emi 6|2m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description-->|Emagic emi 6|2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Ego Systems, Inc. in Korea (ESI) joining with RIDI GmbH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->esi Mixvibes U46 Mk II USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant, usb-b powered, |- | <!--Description-->ESI ESU22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe not usb compliant, |- | <!--Description-->esi U24XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, 24 bits, 2 analogue inputs and outputs with 6.3 mm jack connection, Output L can be used as a headphone output, S / PDIF digital input - |- | <!--Description-->esi U46XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, |- | <!--Description-->ESI Originals, Inc ESIO MAYA22USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI MAYA44USB+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, xlr, |- | <!--Description-->ESI Originals, Inc ESIO MARA22XTU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI U22XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb class compliant |- | <!--Description-->ESI Gigaport Ex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 usb compliant?, usb-c usb3.1, , , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->iConnectivity iConnectAUDIO2+ icaudio-02 USB audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->LexiconPro - Omega 8x4x2 (USB-1.1) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2003 not usb complaint |- | <!--Description-->Lexicon Alpha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Lexicon Lambda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 may not be compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Line 6 Toneport UX1 and Tone Port UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Line 6 TonePort UX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 maybe not class compliant, |- | <!--Description-->Line 6 POD Studio UX1 UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Lokchonk UX22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://www.youtube.com/watch?v=ljSiNmudMm0 Lokchonk UX44HD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b , , , 2in 2out only, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Mackie Onyx Artist 1·2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 maybe not usb compliant, usb-b powered, |- | <!--Description-->Mackie Onyx Producer 2X2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b midi |- | <!--Description-->Mackie Onyx Blackjack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 USB powered but maybe not usb compliant, Two Onyx Preamps, 2-in, 2-out which are combo Neutrik-type connectors to handle XLR, instrument or line level |- | <!--Description-->Mackie | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, , , |- | <!--Description-->Media Assistance USB-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not uac cc comliant, |- | <!--Description-->M-Audio Fast Track USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2004 maybe not usb compliant, - guitar |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe usb cc providing 24-bit/96kHz audio capabilities but requires manual configuration of the mixer settings |- | <!--Description-->M-Audio M-Track | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 usb compliant?, okay - guitar and vocal mainly |- | <!--Description-->[https://htyp.org/M-Audio/Fast_Track_Ultra/Linux M-Audio FastTrack Ultra] and Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe usb compliant, low round-trip latency, okay octane pre amps, adc, |- | <!--Description-->M-Audio M-Track 2x2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre-amps, , |- | <!--Description-->M-Audio M-Track (MkII) 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre amps, , |- | <!--Description-->M-Audio M-Track Solo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf shielding, |- | <!--Description-->M-Audio M-Track DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf sheild, |- | <!--Description-->M-Audio Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, okay |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->NI AK1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, |- | <!--Description-->[https://www.pogo.org.uk/~mark/linuxdj/ Native Instruments Traktor Audio 8 DJ], [ Traktor Audio 4 DJ], [ Traktor Audio 2 DJ], | <!--Vendor ID-->0x17cc | <!--Product ID-->0x1978, 0x0839, 0x041C | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant uses snd-usb-caiaq module, [https://mixxx.discourse.group/t/problems-with-native-instruments-audio-8-dj-on-linux/14719/2 Audio 8 device has 4 subunits which are not recognized correctly], Cirrus Logic DACs spec'd at 24-bit/96KHz over a USB2, |- | <!--Description-->NI Komplete Audio 6 Mk1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps, 24bit 96kHz adc, ocassional dropouts, plastic build top with metal around 3/4, |- | <!--Description-->Native Instruments NI Komplete Audio 1 and 2 USB | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, good pre amp ein -129.5 dBu, ad/dc, |- | <!--Description-->[https://support.native-instruments.com/hc/en-us/articles/360014683497-Apple-Silicon-Compatibility-News Native Instruments Komplete Audio 6 Mk2] | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, pre amps, 24bit 192kHz adc, black aluminum glass build, |- | <!--Description-->[ Native Instruments Traktor Pro] | <!--Vendor ID-->0x17cc | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation AudioHub 2x4 NOVHUB01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, no xlr, focusrite sounds inside, |- | <!--Description-->Novation AudioHub | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Prodipe Studio 22 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Schiit HEL 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Schiit HEL 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 gaming headsets mostly |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland Edirol UA-3 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->1998 maybe not usb compliant, |- | <!--Description-->Roland Edirol UA-30 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->1999 not usb compliant, |- | <!--Description-->Roland Edirol UA1A UA-1D Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-5 Audio Capture (Roland) | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-1000 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Roland Edirol UA-1EX, Cakewalk UA-1G | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant driver also supports ASIO (Steinberg Audio Stream I/O Interface), noisy |- | <!--Description-->Roland Duo Capture UA-11 | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Roland QUAD-CAPTURE Analog 2x2 Digital 2x2 USB 2.0 4in/4out | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant, usb-b powered |- | <!--Description-->[https://wiki.debian.org/DebianEdu/Documentation/Manuals/Rosegarden/Setup Roland Edirol UA-101 and UA-1000 (Clemens Ladisch driver)] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->[https://github.com/mmueller-kaffeeschluerfercom/UA-25-Firmware-Modification Roland Edirol ua-25] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2007 maybe usb compliant 16bit 44.1kHz sampling without MIDI but not USB class complient when in Advanced mode for 24bit or midi |- | <!--Description-->Edirol by Roland USB AudioCapture UA-25EX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x00e6, 0x00e7 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant if ADVANCED DRIVER switched to OFF might play and record at 44.1kHz and 16-bit samples |- | <!--Description-->Roland Audio Interface V-Studio 20 VS-20 Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 maybe not usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->Roland Edirol UA55 UA-55 Quad Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID-->0x012f | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2011 not USB class compliant, |- | <!--Description-->Roland DUO-CAPTURE EX UA-22 USB Audio | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0159 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant but not be used with a USB 3.0 port that is not compatible with USB 2.0 specification, vs pre amps, adc, three AA batteries in base, or an AC adapter psb-1u 9V 2A - |- | <!--Description-->Roland Rubix series Roland Rubix22 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland Rubix series Roland Rubix24 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant |- | <!--Description-->Steinberg MI2, Steinberg MI4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Steinberg (2004 Yamaha buys) MIDI interface hardware including the CC like CC121 CC-121 and CI1 CI2 series. | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2008 not usb compliant, |- | <!--Description-->Steinberg UR12 UR22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR44 usb audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR242 audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, usb powered or 5v psu, okay pre-amps, |- | <!--Description-->Steinberg UR22mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, okay pre-amps ein -123 dBu, ad/dc, |- | <!--Description-->Steinberg UR-RT 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, usb2.0 usb-b, pre-amps, ad/dc, |- | <!--Description-->Steinberg UR44C (USB3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Steinberg URX22C UR22C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, preamps okay but little noisy, ad/dc. |- | <!--Description-->Steinberg UR22 MkIII UR series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb-c, okay pre-amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Tapco LiNK.USB 2x2 (Loud technologies WA, USA) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 maybe not compliant, usb-b, poor pre-amps hum, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=usx2yloader/README;hb=3843634ef0310a952b256bcb6a4ddd0ad4ebe396 Teac Tascam US-422 US-428 US2XYloader] | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Tascam US-122 US-224 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2003 not usb compliant, needing firmware usx2yloader/us122fw.ihx for audio sound card - Tascam US-122 and US-122L are not the same - |- | <!--Description-->Tascam US-122L | <!--Vendor ID-->0x0644 | <!--Product ID-->0x800e | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, obsolete needs tascam_loader.ihx and us122fw.ihx firmware loaded each time unless automated |- | <!--Description-->Tascam US122 US-122 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Tascam US144 US-144 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 maybe usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Teac TASCAM US-200 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac US-366 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-600 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-800 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 may not be totally usb compliant |- | <!--Description-->Teac Tascam iU2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 usb compliant?, 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb compliant?, |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->teyun q12 Q-12, q22 Q-22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description-->Teyun q26 Q-26, q24 Q-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Yamaha UW500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2000 not class compliant, |- | <!--Description-->Yamaha Audiogram 3 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe usb compliant, okay pre amp, 16bit 44kHz adc no advanced features without dedicated asio driver, 1 xlr, 1 instrument, |- | <!--Description-->Yamaha Audiogram 6 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, okay, 2 xlr, 2 instrument, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Zoom UAC-232 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->Zoom UAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.arcam.co.uk/products,rseries,usb-dacs,rPAC.htm Arcam rPac] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioquest Dragonfly | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioengine D1 Premium 24-bit DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 (Burr Brown PCM 1716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 + Burson Buffer + MK3 JKSPDIF | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[http://epiphany-acoustics.co.uk/products-page/dacs/e-dac-24bit-miniature-usb-dac/ Epiphany E-DAC 24bit] ES9023 DAC chip | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio FUBAR II Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio iLoveTW 24Bit USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO D5 ta2020 chip amp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E07K Andes | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E17 Alpen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Magnum | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Martini-U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Vulcan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Halide Design DAC HD (Wolfson WM8716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->HRT Steamer II USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->John Kenny JKDAC uses a 24-bit/192&nbsp;kHz Sabre ES9022 DAC or better JKDAC32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> iBasso D12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Leckerton UHA-6S MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->MyST 1866 PortaDAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Objective DAC ODAC+O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Rega DAC (Wolfson WM8742) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.henryaudio.com/open-source.php Henry Audio USB DAC 128 also known as QNKTC AB-1.2 open source DAC] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Henry Audio mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->AKM4430 DAC chip comes from Asahi Kasai |- | <!--Description-->DevilSound USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Zoom U series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->KingRex UD-01 SE (Burr-Brown PCM 2702E) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SuperPro 24/192 USB DAC (24bit 192&nbsp;kHz, CS-4398 D/A chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM108 7.1ch emulation I2S in and out | 0x1926 | 0x0003 | 0x0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | [http://www.lindy.co.uk/usb-2-audio-adapter/42961.html Lindy USB 2.0] (Chipset CM108) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Speed-Link SL-8850-SBK Vigo ([http://mightyohm.com/forum/viewtopic.php?p=1036#p1030 CMedia CM108]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode USB SOUNDCARD 2.0 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x1130 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode Virtual 7.1 USB-SOUND7 (C-Media ) | 0x0d8c | 0x000c 0x000e | 1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Generic White box with very little red led and white USB lead (CMedia ) | <!--Vendor ID-->0x0d8c | <!--Product ID--> 0c000e | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | CM109 CiT SC-U119 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM1197.1ch I2C MCU port Penguin | 0x0D8C | 0x0000 | 0x010 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Sweex 7.1 Startech External USB, WMA Blue metal box SYBA SD-AUD20040, Sabrent USB-SND8, Sewell Vantec NBA-200U (C-Media CM6206 CM106 like) | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x0102 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->50/50 if the item is detected but does not work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Creative Labs SoundBlaster X-fi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi Go | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative Sound Blaster Play! USB sound adapter (SB1140) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> working with [http://www.amiga.org/forums/showpost.php?p=646431&postcount=15 Deneb on OS3] |- | <!--Description-->Asus Xonar U1 (ASUS UA100 USB Audio Chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Asus Xonar U3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Griffin iMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->M-Audio Transit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Icemat Siberia (steel series) (Cmedia chipset) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->JMTek HY554, ZyXEL NSA-220, Logilink (Tenx Technology TP6911 and SSS-1623 headphone set) | 0x0C76 0x1130 | 0x1605 0x1607 0xf211 | 0x | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> reports on other OS not good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Plantronics "DSP Adapter-01" (or "USB Adapter-02") | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Rocksmith Real Tone Cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->RSA Intruder Predator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->StarTech ICUSBAUDIO7 | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x000c | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Stoner Acoustics UD100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Teac UDH01-B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TerraTec Electronic GmbH Aureon Dual USB | 0x0ccd | 0x0077 | <!--Product ID--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Phase26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trust 510 EX 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Logitech A-5572A USB 2.0 to 3.5mm jacks Virtual 7.1 Surround Sound Adapter or accessory of Logitech Clearchat pro USB or Logitech USB Headset H530 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x046D | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trumix TM-10 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 maybe cc |- | <!--Description-->Trumix TM-12 USB-C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe cc usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Turtle Beach Audio Advantage Amigo Micro II USB Sound Card & Headset Adapter | <!--Vendor ID-->0x10F5 | <!--Product ID-->0x0211 | <!--Revision-->0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Vantec NBA-100U 7.1 Channel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |} Companies including Access, Alesis, Allen&Heath, American Audio, CME, ESI, Infrasonic, Lexicon, Numark, Presonus, Reloop, SIMS, Sound Devices, Steinberg, Swissonic, Tascam, Terrasoniq, Terratec, Yamaha and Yellowtec decided to license and bundle this driver. So fully functional custom drivers are available for Access Virus TI, Access Virus TI snow, Alesis Multimix 8 USB2.0, Alesis Multimix 16 USB2.0, Allen&Heath XONE:2D, Allen&Heath XONE:3D, Allen&Heath XONE:4D, Allen&Heath XONE:DX, Allen&Heath XONE:DB4, American Audio Versa Port, CME XCORPIO, ESI ESU1808, ESI Gigaport AG / DG, ESI Maya 44 USB, Infrasonic Amon, Lexicon I-ONIX U22, Lexicon I-ONIX U42S, Lexicon I-ONIX U82S, Mindprint DI-MOD USB, Numark DJ IO, Numark NS6, Numark NS7, Numark Omni Control, Numark V7, Presonus Audiobox USB, Reloop Digital Jockey, SIMS Primus, Sound Devices USB pre, Steinberg MI2, Steinberg MI4, Swissonic Easy USB, Tascam M-164UF, Tascam US-122L, Tascam US-144, Tascam US-Tascam US-144mkII 122mkII, Tascam US-200, Tascam US-600, Tascam US-1641, Tascam US-1800, Tascam US-2000, Terratec Area 61, Terrasoniq Phase X64, Terratec Phase 26 USB, Yamaha UW10, Yamaha UW500, Yellowtec PUC2 and many others. Well, those companies are using the same driver framework because all of those interfaces use the same microprocessor/firmware architecture to communicate with the USB bus. Just like almost all FireWire audio interfaces use the same TC Dice or BridgeCo chipsets. Usually it does not make sense for companies to develop their own USB1.1/USB2/FW framework for a product they are going to sell for <$500. However, that isn't the end of the story. The companies who develop audio interfaces implement different features into their devices and must update the driver and firmware to accommodate those features. That is where things can go wrong. Sometimes there is miss-communication about how things are coded, sometimes the developer who started a project leaves without transferring his knowledge to his successor, etc. You have to keep in mind that there are no "big" computer audio companies. Even the companies that seem big in the scale of the market, probably have fewer employees than you'd think. A very well made interface that is designed from scratch from the ground up would be a very expensive device, regardless of whether it's USB, FW, PCIe or whatever. Round-trip latency is the sum of the following: <pre> ASIO input buffer ASIO output buffer A/D D/A converter latency The driver's hidden safety buffer </pre> At a 64-sample ASIO buffer size/44.1k, Tascam units yield ~18ms total round-trip latency. Typical USB audio interfaces use a large hidden safety buffer. This helps ensure glitch-free playback... even under less than ideal circumstances. But... this comes at the expense of much higher round-trip latency. Short of doubling the sample-rate, there's no means of mitigating the higher round-trip latency. If you have no plans of ever monitoring in realtime thru software based EFX/processing (ie: playing/monitoring DI bass thru an AmpSim plugin as you're playing), then this may not matter to you. If you want the ability this play/monitor in realtime thru software based EFX/processing, make sure to get an audio interface that yields low round-trip latency. As a point of reference the best PCI/e audio interfaces yield about 5ms total round-trip latency at a 64-sample ASIO buffer size/44.1k The best Firewire and USB units yield 5.5-5.6ms total round-trip latency at those same settings. Typical USB and Firewire units (that use a large hidden safety buffer) yield 12-18ms total round-trip latency at those same settings. Anything above ~6ms starts to feel sluggish. Anything above ~10ms feels like playing thru molasses. USB Microphones {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->C-Media Electronics, Inc. CM108 Audio Controller Mic | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x013c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato WaveMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Wave:1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver }} |- | <!--Description-->Elgato Wave:3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver lightweight }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->hyperx solocast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description-->hyperx quadcast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sennheiser CC510 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Alesis USB-Mic microphone podcasting kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2020 (AT202) AT4040 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2035 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer B1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball iCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardioid only }} |- | <!--Description-->Blue Microphones Yeti | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description-->Blue Microphones Yeti Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL 2001A/600 Studio Microphone Pack / MXL 2003A Studio Condenser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft LifeChat LX-3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Namtai SingStar(TM) PS2 SCEH-0001 USBMIC | <!--Vendor ID-->0x1415 | <!--Product ID--> | <!--Revision-->0.01 | <!--Opinion-->{{unk| mono microphones }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren Mini USB Condenser Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rockband USB Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode NT1A VideoMic Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode Podcaster 2 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| RODECaster Pro usb audio compatible}} |- | <!--Description-->Rode NT1A NT2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| NT2 better }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Roland R-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Go Mic - Portable USB Microphone for Recording | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| mini usb r.h.s. and clip on the bottom left hand side}} |- | <!--Description-->Samson Go Mic Clip On USB Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| switch to choose between Cardiod, Omni and -10&nbsp;dB modes, a 3.5mm headphone socket and a USB socket}} |- | <!--Description-->Samson C01U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardoid only}} |- | <!--Description-->Samson C03U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shure MV7 USB Podcast Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->SONY PCM-D50 handy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb 5V, }} |- | <!--Description-->Sony PCM-M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out 5V, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->TASCAM DR-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008, one mini usb out, lithium battery}} |- | <!--Description-->Tascam DR-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009, one mini usb out, aa battery}} |- | <!--Description-->Tascam DR05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011, one mini usb port for file transfer and charging the AA batteries }} |- | <!--Description-->Tascam DR-40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 mini usb aa battery }} |- | <!--Description-->Tascam DR-07mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 , one mini usb out, }} |- | <!--Description-->Tascam DR-05X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-07X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-40X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb 3 aa battery }} |- | <!--Description-->Tascam DR-05XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-07XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-40XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c, }} |- | <!--Description-->Tascam DR-100mkIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Tascam | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Zoom H4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 no driver, mini usb 5V }} |- | <!--Description-->Zoom H2 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0095 | <!--Revision--> | <!--Opinion-->{{unk|2007 no driver, mini usb 5V audio i/f USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 no driver, mini usb 5V }} |- | <!--Description-->Zoom H1 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0120 | <!--Revision--> | <!--Opinion-->{{unk|2010 no driver, mini usb 5V and display will alternate between USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H2n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V audio i/f press the Record. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n PRO | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 untested, 2xlr, 5v mini usb, }} |- | <!--Description-->Zoom H5 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 no driver, 5v mini usb, 2 xlr, }} |- | <!--Description-->Zoom H1n-vp handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6studio | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested}} |- | <!--Description-->Zoom | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} |- | <!--Description-->Zoom Q3 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 untested usb a cord, no hdmi, 480p}} |- | <!--Description-->Zoom Q3HD Handy Video Recorder | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 untested, built in usb-a cord, mini hdmi, 1 hour on 2 AA batteries, H.264 movies 480p }} |- | <!--Description-->Zoom Q2HD Handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 untested, up 720p but no stablisation, mini usb cord, 1 hour on 2 AA batteries}} |- | <!--Description-->Zoom Q4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 untested, li-ion battery}} |- | <!--Description-->Zoom Q4N | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 untested, li-ion battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio Technica ATR4697-USB Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CAD Audio CAD USB Condenser Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL AC-44 Boundary Conferencing Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Audio SAUB1 Boundary Microphone (USB) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} USB Speakers {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Focal XS 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} USB Headset Wired/Wireless {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Logitech Vantage Wired (came free with PS2 Socom3) | | | | <!--Opinion-->{{unk| }} |- | Logitech G330 | | | | <!--Opinion-->{{unk| }} |- | Logitech Premium USB Stereo Headset 350 | | | | <!--Opinion-->{{unk| }} |- | Plantronics DSP-300 | | | | <!--Opinion-->{{unk| }} |- | Plantronics GameCom 777 | | | | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitech G-930 Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.makeuseof.com/tag/set-usb-wireless-earphones/ Plantronics Audio 995 Wireless RF] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Sennheiser Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} [https://www.youtube.com/watch?v=Be1e0QPIPK0 Mixers] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ALESIS MULTIMIX 4 CHANNEL USB MIXER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Alesis - MultiMix 8 USB FX (USB 1.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2010 usb compliant?, up to 16-bit/48kHz, 18v 500mA - |- | <!--Description-->Alesis - MultiMix 8 USB 2.0 FX (USB 2.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2012 usb compliant?, up to 16-bit/48kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Allen&Heath MixWiz16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description-->Allen and Heath ZED Power 1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 8 xlr, usb-b out, }} |- | <!--Description-->Allen & Heath ZEDi-10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer XENYX 302USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 5-Input Mixer/Audio Interface - 1 xlr - }} |- | <!--Description-->Behringer Xenyx Q502USB Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} Behringer 2*18.5V 250ma psu - 1 xlr - phanton power - |- | <!--Description-->Behringer Xenyx Q802USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 2*18.5V 250ma psu - 2 xlr - phanton power - |- | <!--Description-->BEHRINGER XENYX 1204USB 8-Channel 2-Bus Mixer USB/Audio Interface Studio/Live | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle psu lead - can develop constant background hiss over time |- | <!--Description-->Behringer XENYX X1222USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver - 12-Channel Analog Mixer with USB Interface and Effects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Depusheng HT-7 HT7USB 7 Channel Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2023 cheap no driver, USB MP3 player to work, format your USB stick Fat32 as a Logical drive - not primary}} |- | <!--Description-->Depusheng XT7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description-->Depusheng DT8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Spirit soundcraft Folio FX8 with Lexicon Effects Processor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} unusual power connector - [https://github.com/lack/soundcraft-utils usb routing] - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Weymic Professional F7 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver, cheap mixer with 3pin ac input (introduces noise) and 1 usb-a port}} |- | <!--Description-->Weymic Professional F7-Pro 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver}} |- | <!--Description-->Weymic A80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2024 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} Mixer no hardware usb {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->ALTO Lynx MIX82FX Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Alto L16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MXUL5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MX602A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Eurorack UB502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 17.5V 3pin psu needed}} |- | <!--Description-->Behringer Eurorack UB802 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 4 xlr, }} |- | <!--Description-->Behringer Eurorack UB1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer RX1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer 802 XENYX 8-Input 2-Bus Mixer Small Format Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 18.5V ???ma psu - 2 xlr - phanton power - |- | <!--Description-->Behringer Xenyx 502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Xenyx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->IMG stage Line MMX-122 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, iec cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Mackie 802VLZ4 Mackie 802-VLZ4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb , psu}} |- | <!--Description-->Mackie 1202-VLZ Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, mains iec}} |- | <!--Description-->Mackie Mix5 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 18v 300mA psu - 5 Channel - |- | <!--Description-->Mackie Mix8 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 9v x2 600mA psu - |- | <!--Description-->Mackie MIX12FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, 9v 500mA x2 psu, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->[https://www.soundcraft.com/en/product_documents/en/owners_manual Soundcraft] Spirit Folio F1 Fader 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} 16 Channel Mixer - |- | <!--Description-->Soundcraft EPM6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft EPM8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Harman Soundcraft EPM 12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle power lead - |- | <!--Description-->Soundcraft EPM 16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Soundcraft Notepad 8FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft Notepad UI12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad UI16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad 124FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, 14.8V x2 3 pin psu}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->t.mix xmix 1402fx mp usb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, mains iec, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- |} ==Webcameras== A USB camera has two dedicated chips: a controller or bridge and an image sensor. There was no Commodore support for video interfaces. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit. ===OLD standards=== See [http://www.e3b.de/usb/main_supported_e.html support pages] and [http://www.e3b.de/usb/main_faq_e.html here] and some [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=status further compatibility] Pencam STV680 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AIPTEK stv680 | 0x0553 | 0x0202 | | {{N/A|untested}} |- | Konica e-mini | 0x04c8 | 0x0722 | | {{N/A|untested }} |- | DigitalDream l'espion XS | 0x1183 | 0x0001 | | {{N/A|untested}} |- | [http://reviews.cnet.com/webcams/creative-webcam-go/1707-6502_7-1446174.html Creative WebCam Go mini] | 0x041e | 0x4007 | | {{N/A|untested}} |- |} SonixcamTool (Sonix webcams and derivates) '''Note [http://amigadev.free.fr/sonix/ some] Sonix Webcams with a Sonix SN9C1xx controller ''and'' a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device!''' {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Macally IceCam II | 0x0c45 | 0x05d8 | | {{N/A|untested}} |- | Sweex MiniCam 100K | 0x0c45 | 0x6005 | | {{N/A|untested - sensor tas5110c1b}} |- | Macally IceCam Portable | 0x0c45 | 0x6007 | | {{N/A|untested - sensor tas5110d}} |- | Sweex 100K | 0x0c45 | 0x6009 | 0x0101 | {{yes|bulk works - sensor pas106b}} |- | [http://www.epinions.com/pr-Chicony_TwinkleCam_Webcam/display_~full_specs Chicony Twinkle DC-2110A] | 0x0c45 | 0x600d | | {{no|no}} |- | Unknown | 0x0c45 | 0x601e | | {{no|no}} |- | USB PC Camera (SN9C102) | 0x0c45 | 0x6028 | | {{no|no - sn9c10x + pas202b}} |- | Trust SpaceC@m 120 and 150 | 0x0c45 | 0x6029 | | {{N/A|untested - sensor pas106a}} |- | HiRes Webcam Live | 0x0c45 | 0x602c | | {{no|no - sensor ov7630}} |- | [http://www.sweex.com/en/assortiment/sound-vision/webcams/JA000020 Sweex USB Webcam 300K] | 0x0c45 | 0x608f | | {{no|no - sensor ov7630}} |- | Speedlink Sphere Webcam SL-6820, 350K | 0x0c45 | 0x613c | 0x0101 | {{N/A|untested - sensor HV7131R}} |- | WB-3250P | 0x0c45 | 0x613e | | {{no|no - sensor ov7630}} |- | Unknown | 0x0c45 | 0x6207 | | {{no|no}} |} <pre> micromaxx USB Camera STM 1363 514 works --- USB Tower Lego 1684 1 works need NCQ Trust Spycam 100plus STM 1363 514 works </pre> ov51x.class - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link VGA Webcam (640x480) | 0x05a9 | 0x8519 | | {{no|no driver}} |- | Sony PS2 EyeToy Logitech/Logicool Black (ov519) SCEH-0004 | 0x054c | 0x0154 | | {{no|no driver}} |- | Sony PS2 EyeToy Namtai Silver (ov519) SLEH-00031 SLEH-00030 | 0x054c | 0x0155 | | {{no|no driver}} |- |} ===UVC.class - [https://www.usb.org/document-library/video-class-v15-document-set USB Device Class Definition for Video Devices or USB Video Class]=== AROS needs realtime isochronous transfers in EHCI and XHCI, then a usb uvc.class which might create a virtual UVC.VHI type device driver for use by AROS apps since 2019 the market is filled with UVC Compliant USB HDMI Capture {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acasis 4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Acasis 4K60 HD VS009 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k 60hz ok for chat streams}} |- | <!--Description-->Acasis 4K60 HDMI HDR Game Live Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| for chat streams }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AJA U-tap HDMI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->ASUS TUF CU4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATEN CAMLIVE HDMI to USB-C UVC Video Capture adapter UC3020 HDMI (F) TO USB-C M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 possibly UVC and UAC standard support allows up to 1080P @ 60}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia Live Streamer Cap 4K - BU113 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc usb3}} |- | <!--Description-->AVerMedia GC515 video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia Live Gamer Ultra GC553 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description-->AVerMedia Live Gamer Ultra S GC553PROW 302AGC553DL2 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1553 | <!--Revision--> | <!--Opinion-->{{unk|2021 powered by good quality type C USB3 cable and 4K HDMI 2.0 cable}} |- | <!--Description-->AVermedia Live Gamer Mini GC311 302AGC311DG9 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1311 | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc compliant up to 1080p 60fps capture and supports internal hardware H.264 encoding - if flashing blue light try another '''quality''' micro usb cable - }} |- | <!--Description-->AVerMedia Ez Recorder 330 (ER330) | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 designed to work independently and is generally not compatible as a plug-and-play UVC capture card }} |- | <!--Description-->AVerMedia Live Gamer extreme3 GC551G2 (LGX3) | <!--Vendor ID-->0x07ca | <!--Product ID-->0x3551 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc compliant for intensive gaming streams, some vrr but no hdr with maximum recording resolution of 4K30/1080p60 from fully wired usb3 compatible cable - passing through 4K60/1080p120 Game Capture video capturing device HDMI}} |- | <!--Description-->AVerMedia Live Gamer Ultra Pro GC553Pro | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 usb3 }} |- | <!--Description-->AVerMedia Live Gamer Ultra 2.1 GC553G2 61GC553G20BV video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia GC575 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AVMatrix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ClonerAlliance Flint 4KP Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->DIGITNOW U600 video capture card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Cam Link 4K | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 uvc }} |- | <!--Description-->[https://github.com/elgatosf/capture-device-support Elgato HD60 S+] | <!--Vendor ID-->0x0FD9 | <!--Product ID-->0x006C, 0x006E | <!--Revision--> | <!--Opinion-->{{unk|2019 4K 30FPS capture, 1080p 60FPS uvc}} |- | <!--Description-->Elgato HD60 X | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc }} |- | <!--Description-->Elgato Cam Link 4K HDMI video capture card | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 uvc compliant but can have usb disconnects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EVGA XR1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description-->EVGA XR1 lite USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 USB 3.0 device }} |- | <!--Description-->EVGA XR1 Pro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EZcap Game Link Raw - ezcap321 usb3.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 2160p30, 1080p120 and 1440p60 HDMI input and pass-through. - 1080p120, 2160p30 and 1440p60 recording. - Latency less than 50ms uvc}} |- | <!--Description-->EZCap GameDock Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 record at 4K30, 1440p60, and 1080p120}} |- | <!--Description-->EZcap 360 Game Capture Extreme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 USB 3.0, 4K 60FPS passthru and 1080p 240FPS}} |- | <!--Description-->EZCAP 364 GameDock Extreme 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genki ShadowCast 1 & 2, the Pro version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HAUPPAUGE HD PVR Pro 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 4K in/Out 1080P 60fps Capture and Streaming PC Connected and Stand Alone }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Inogeni HDMI 4K to USB 3.0 UHD 1080p Video Capture Card 4K2USB3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 uvc compliant made in Canada}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kondor Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nanjing Magewell Electronics Co ltd USB 3.0 XI100DUSB-HDMI Pro Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 }} |- | <!--Description-->Magewell USB3.0 Silver HDMI Full HD Video Capture Device 1080p 32011 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 usb audio extract HDMI embedded audio output via headphones}} |- | <!--Description-->Magewell USB capture HDMI PLUS 2K 32040 320400000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 captures video up to 1920×1200, 1920×1080 or 2048×1080 at 60 fps over an HDMI capture from devices such as game consoles in up to DCI 4Kp60 4:2:0 input resolution, and it automatically upscales/downscales the signal to 2K for recording or streaming}} |- | <!--Description-->Magewell USB capture HDMI Gen2 32060 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 1080p gets hot, 165M HDMI receiver, max input 2048x1080 60fps 4:4:4, RGB/YUV 4:4:4 8/10/12-bit, YUY 4:2:2 12-bit, up to 8-channel 24-bit HDMI-embedded audio at 192kHz, HDMI 1.4a, output from 480p to 1080p, YUY2/UYVY/RGB24/RGB32 support video cropping, up/down scaling, de-interlacing, aspect ratio conversion, color format conversion, frame rate conversion, flip and mirror, up to 2-channel IEC60958 audio streams, 5V 0.5A 2.5W, }} |- | <!--Description-->Magewell USB Capture 4K Plus 32090 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 limited by the bandwidth of USB 3.0, the maximum frame rate can only reach 30 fps when capturing}} |- | <!--Description-->Magewell USB Capture 4K PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Magewell Pro Convert IP to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Captures one network eth NDI® High Bandwidth, NDI® HX2, NDI® HX3 sources or H.264/H.265 video source into software at resolutions up to 1080p60}} |- | <!--Description-->Magewell USB Fusion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|versatile USB video capture device that allows users to switch between two HDMI inputs and one USB webcam input for live presentations}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ROLAND UVC-01 USB Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sunplus Innovation Technology Inc. MiraBox HSV321 ARX321 Video Capture device | <!--Vendor ID-->ox1bcf | <!--Product ID-->0x2c99 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGREEN CM716 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| uvc uac but disable HDCP on your source device (PS4/PS5, Xbox) }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->VisionTek UVC HD60 Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acer Aspire Crystal Eye AOA110 AOA150 0.3M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2008 webcam }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->AVerMedia Live Streamer CAM 313 (PW313) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2019 uvc 1080p/30 webcam}} |- | <!--Description-->AVerMedia Live Streamer DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2021 uvc 1080p/60 webcam}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->[http://reviews.cnet.co.uk/webcams/creative-live-cam-optia-af-review-49294183/ Creative Live Cam Optia AF] 2.0M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|2008 }} |- | <!--Description-->DSLR macro extensions + a cheap 50mm E-Series lens + some PVC tubing and a negative holder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera chosen}} |- | <!--Description-->DSLR scanning using a macro lens, for the adapter, for a 3d printed negative holder) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera used }} |- | <!--Description-->Logitech C270 | <!--Vendor ID-->0x046d | <!--Product ID-->0x0825 | <!--Revision--> | <!--Opinion-->{{unk|720p }} |- | <!--Description-->Logitech C910 C920 HD Pro 5Megapixels 720p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech C920s c922 HD Pro 5Megapixels 1080p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Logitech Brio 100 300 500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} 1080p |- | <!--Description-->Logitech MX Brio 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Microsoft's LifeCam HD-3000 HD-5000 | <!--Vendor ID-->0x045e | <!--Product ID--> 0x0779 | <!--Revision-->1.06 | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Cinema | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Studio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} sony imx179 1080p |- | <!--Description-->Pi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 1/2.8” Sony IMX291 image sensor, it's a 2MP, UVC-compliant, ultra-wide-angle, low light, high-speed USB 2.0 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} OV5648 |- | <!--Description-->razer kiyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 4 megapixel sensor 1080p 30fps 720p 60fps - 12 led ring light adjustable |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->TeckNet C068 1.3mpixel HTD USB2.0 Camera Vimicro Z-Star Corp | <!--Vendor ID-->0x0AC8 | <!--Product ID--> 0x3420 | <!--Revision-->0x01FA | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->YEALINK(XIAMEN) NETWORK UVC50 is compatible with the UVC 1.1 protocol CP960-UVC50 and CP960-UVC80 kits PTZ, CP960-UVC30 Kit is UVC 1.5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Amcrest ProHD 1080P WiFi Wireless IP Security Camera - 1080P (1920TVL), [https://www.ispyconnect.com/man.aspx%3Fn%3DAmcrest IP2M-841] nvr | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} h264/rtsp, motion detection, features Sony image sensor and Ambarella processor - rtsp://[username]:[password]@[IPaddress]:[port]/cam/realmonitor?channel=[channel]&subtype=[stream] - [username] - username to login to the DVR or NVR, [password] - password, [IPaddress] - IP address of the device. If you are not on the same local network, this should be the external IP address of the device's network, [port] - port number, [channel] - channel number of the stream, [stream] - view the Main or Sub stream. (main stream is 0, sub stream is 1) , eg. rtsp://admin:admin@192.108.1.108:80/cam/realmonitor?channel=1&subtype=1 - utilizing RTSP ( rtsp://user:pass@ipcam1 ) |- | <!--Description-->Axis all modern ones | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg or MJPEG over HTTP |- | <!--Description-->PTZ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->DLink DCS-5222 5222L network camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} camera streams H.264 over RTP controlled by RTSP |- | <!--Description-->Dlink DCS900 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Wansview 1080p [http://marc.merlins.org/perso/linuxha/post_2013-11-10_Reviewing-IP-Webcams-for-Linux-and-Zoneminder_Dlink-DCS900_-Ubnt-Aircam_-Foscam-FI8904W-FI8910W_-FFI9820W_-FI9821W_-Wansview-NCB541W_-and-Zavio-F3210.html#NCM625GA NCM625GA] IP Camera WiFi Wireless IP Security Camera , Full HD Plug n Play Home Surveillance / Baby Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg - play its HD stream without problem with vlc rtsp://ip/live/ch0 and getting jpegs http://ipaddr/mjpeg/snap.cgi?chn=0 - methods involve transcoding h.264 video from the camera into jpeg's, which is cpu intensive - able to pull images manually, using http://username:password@ip/mjpeg/snap.cgi - |- | <!--Description-->Wansview NCB541W | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Avermedia Game Capture HD C281 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2011 standalone h.264 recording of up to component cable not hdmi but not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia GL310 Live Gamer Portable (LGP Lite) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working usb2 and USB Lite no uvc}} |- | <!--Description-->Avermedia AVerMedia Live Gamer Portable ([https://github.com/Trouffman/octv_gears_lgp Model C875]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 usb2 no uvc}} |- | <!--Description-->AVerMedia LGX Live Gamer extreme GC550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2015 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->AVerMedia LGX2 Live Gamer extreme2 gc550 plus gc551 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->Avermedia ExtremeCap UVC - BU110 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 maybe not uvc and uac}} |- | <!--Description-->AVerMedia Live Gamer Portable 2 Plus GC513 Micro-USB Capture Box LGP2 Plus | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1513 | <!--Revision--> | <!--Opinion-->{{no|2017 powered by a standard Micro-USB cable, video capture output up to 1080p60 capture to hdmi in, standalone sd card recording on exFAT or FAT32 of .MOV, 2160p pass-through hdmi out to tv - no vrr - [https://www.avermedia.com/uk/support/download#ans_part firmware latest 2.1.7.13, 2.1.7.14], SN74AVC8T245 8bit, DRV604 stereo, iTE IT6663FN hdmi 2.0 splitter, TLV320DAC3101 DAC, CS42L73 audio codec, CDCE913 PLL clock, W29N01HVSINA nand bios, I-Catch V35MA SOC CPU 32bit MIPS24K, ADV7480 hdmi mhl, }} |- | <!--Description-->AVerMedia Live Gamer 4K LG4K GC573 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc but [https://github.com/derrod/lg4k-linux drivers here], }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Blackmagic intensity Extreme Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->BlackMagic Intensity Pro 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2015 }} |- | <!--Description-->Elgato Video Capture (1VC108601000) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Elgato Game Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, mini usb}} |- | <!--Description-->Elgato Game Capture HD60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, }} |- | <!--Description-->Elgato Game Capture HD GCHD 2GC309901000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc https://github.com/tolga9009/elgato-gchd needs firmware mb86h57_h58_idle.bin and mb86h57_h58_enc_h.bin - mini usb}} |- | <!--Description-->Elgato HD60S Elgato Game Capture 4K60 S+ Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|non uvc, }} |- | <!--Description-->August EZCap.tv model 116 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} poor audio recording |- | <!--Description-->E-SDS Diamond Maplin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1212 HD PVR | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} analog and component only - PlayStation (.m2ts), AVCHD (ts), or XBox(.mp4) recording formats - switched the component output from the default YPbPr to RGB. |- | <!--Description-->Hauppauge 1431 1445 HD PVR Gaming Edition HDMI Capture | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working, can get warm}} |- | <!--Description-->Hauppauge HD Rocket | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Hauppauge HD-PVR2 (model 145210 Rev E4) | <!--Vendor ID-->0x2040 | <!--Product ID-->0xE502 | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1480 1482 HD PVR 2 GE Gaming Edition HDMI Capture green LED - 1498 1503 1504 Plus version with Mac support | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe514 0xe524 | <!--Revision--> | <!--Opinion-->{{No| can get warm - [https://ez.analog.com/video/w/documents/581/adv7482-design-support-files ADV7482] [https://patchwork.kernel.org/patch/9201075/ video chip] with Magnum DXT H.264 encoder blob, IDR keyframe generation poor - best for model 157210 and not 157221 and Game Edition Plus (model 157320) 2040:E505 E505-00-00AF1234 [http://www.hauppauge.com/site/support/linux.html#tabs-3 ]}} * HDMI: 1920x1080p50/60, 1920x1080i50/60, 1280x720p50/60, 720x480i, 720x576i, 640x480p60. * Component: 1920x1080p50/60, 1920x1080i50/60*, 1280x720p50/60, 720x480p60, 720x480i, 720x576i. * Composite: 720x480i and 720x576i * Audio Inputs : HDMI PCM and RCA support with Adjustable Bitrate Quality 2 Channel AAC/AC3 audio codec |- | <!--Description-->Hauppauge 1512 HD PVR 2 PC blue LED with optical in input on the back | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe525 | <!--Revision--> | <!--Opinion-->{{No| }} can get quite warm - IR Blaster added - |- | <!--Description-->Hauppauge Colossus2 E585-00-00AF4321 | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe585 | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion SLIDES2PC 35mm Portable Slide & Film Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion Pics 2 PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->ION PowerScan USB film and slide scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->Koolertron Sunny | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->FilmScan35 35mm Film Negative Scanner 1304 marks spencer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->U3 HD Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->[https://github.com/openrazer/openrazer Razer Ripsaw HD] Game Capture (RZ20-01780100) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2017 not uvc put in usb2 slot and use video BGR3 (Emulated) and OpenRazer drivers }} |- | <!--Description-->Razer Ripsaw HD USB HDMI Capture Card | <!--Vendor ID-->0x1532 | <!--Product ID-->0x0d01 | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc compliant}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Silvercrest 35mm Photo Slide Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc but not great quality}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Z-Star Microelectronics Corp. Traveler TV 6500 SF Dia-scanner | <!--Vendor ID-->0x0ac8 | <!--Product ID-->0x3370 | <!--Revision--> | <!--Opinion-->{{No|2010 not uvc and poor scans}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- |} === AR VR XR Headset === AROS needs realtime isochronous transfers in EHCI and XHCI, then an usb based uvc.class to vhi type driver for virtual display and maybe more The primary engineering challenge of VR is motion sickness caused by a mismatch of visual and inner ear information, which is extremely well established as causing people to throw up in a wide range of contexts outside of VR. The experiences that make some people sick are low framerate. Foveated rendering doesn't solve vergence accommodation. Your eye will still be focused at infinity regardless of where you are looking, you'll just have the illusion that the foreground or background are out of focus. Eye tracking plus dynamic lenses (perhaps liquid lenses) or real light fields are necessary. First start with apps that have simple static features at first, then advance to dioramasa and teleportation options for 10, 20 minutes and then gradually upgrade over a timespan of four weeks to train your brain. Avoid smooth motion stuff like rollercoaster or mountain heights until much later. Even with this preparation, VR makes 40% of people seasick nausea. If so, you may be able to use VR glasses just to watch videos and some slow moving apps [https://www.emuvr.net/ emuVR] instead. *2014-2019 1st Gen, low resolution, *2020-2025 2nd Gen, higher resolution, *2026- Most hardware typically has a 1-3 year retail lifespan with 1-3 years of updates after. Really need "right" tethered PCVR rather than wireless. The advantage to being tethered to a PC is processing power. Any standalone headset is going to be running purely off of batteries. VR and AR are known as XR Technology will get immersed enough so not making people sick. Higher resolution, faster frame rates, and [https://github.com/opentrack/opentrack better tracking]. Eventually, hyper reality brings VR, AR and MR digital layers together as a less chaotic, optic tracking with no delay, agents understanding, experiences with objects 3Dgs 4Dgs gassian splats bullet time slice photo snaps .ply for WebXR [https://lvra.gitlab.io/docs/hardware/ ], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Big Screen Beyond 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 pcvr 2560 x 2560, fixed IPD, }} |- | <!--Description-->bigscreen Beyond 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr oled 5120 x 2560 @75Hz 2688x2688 @90Hz over pancake lenses, 116 FOV, virtual screens, custom facial plate from iphone app, streamvr 2.0 basestations and controllers not included, no passthrough, 107g-196g, }} |- | <!--Description-->bigscreen Beyond 2e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr oled 5120 x 2560 total up to 90Hz pancake lens 116 FOV adjustable IPD app needed for adjustment, eye tracking, custom face mask cushion, streamvr 2.0 basestations and controllers not included, seperate head strap and speaker modules extra costs, 110g-300g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Dpvr P1 Pro 4k Ultra Vr Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 wireless snapdragon, }} |- | <!--Description-->DPVR P2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Play for Dream MR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android modular 3840x3552 uoled per eye 90Hz or qled mura issues, Arm snapdragon XR2+ Gen 2, eye tracking and 11 cameras 7 sensors 22 ir leds 14ms latency and foveated rendering, 1.5hrs battery, }} |- | <!--Description-->Play for Dream GravityXR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 ultralight head gear gx100 3w }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://lvra.gitlab.io/docs/community/ Valve Index HMD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 tethered PC VR headset 1440 x 1600 120Hz, 108° and 104° FOV, fresnel lenses, SteamVR2 compatible tracking ir basestations, controllers aka Knuckles, dp 1.2 and usb3 cable proprietary cable end, no battery, }} |- | <!--Description-->Valve Steam Frame (Valve Deckard / Valve’s Index 2) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 - 2160 x 2160 up to 144Hz pancake lens, 108° and 96° FOV, wifi 6 fovelated streaming, Qualcomm Snapdragon 8 Gen 3 with [https://github.com/FEX-Emu/FEX fex] arm-to-x86 x64 translation layer, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PSVR2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 PCVR with adapter, two, one for each eye, 2000 x 2040 resolution OLED panels from 90Hz 120Hz refresh rates, fresnel lenses, 116° and 102° FOV, sony proprietary headset cable end, needs additional comfort options, }} |- | <!--Description-->VisionPro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goertek glasses | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive ? | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| 2016 2x 1080x1200 needs external power supply, }} |- | <!--Description-->HTC Vive Original | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 108° and 96° FOV}} |- | <!--Description-->HTC Vive Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 , uvc, at least 2 powered steamvr basestations so 3 to 5 wall warts in total, proprietary cable end, }} |- | <!--Description-->HTC Vive Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 dual 1440x1600 oled displays, 116° and 100° FOV - steamvr 2.0 basestation 2 for 5m2 area 4 for 10m2 - steamvr 2.0 joypads - low latency wireless later - type USB-c headphone adapter required, [https://github.com/CertainLach/VivePro2-Linux-Driver Rust on Linux] with [https://github.com/santeri3700/vive-pro-2-on-linux Shell], proprietary cable end, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lynx R1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 android Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->Lynx R2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 company liquidated, 2 x 2312x2160 110 FOV pancake lenses, LynxOS android Qualcomm Snapdragon XR2 Gen, openxr 1.1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oculus Rift prototype development kit [https://www.virtual-boy.com/forums/t/the-oculus-rift-dk1-thread/ DK1] with [https://www.youtube.com/watch?v=X_T4DJyy2Bo wired razer hydra controllers] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2013 pcvr LCD 1280 × 800 resolution 640 × 800 per eye up to 110° FOV, and 3DoF rotational tracking via a 1000Hz 9-axis IMU (Accelerometer, gyroscope, and magnetometer), no positional optical tracking either inside-out or outside-in, 380g, nausea issues, , }} |- | <!--Description-->Oculus Rift prototype development kit [https://github.com/facebookarchive/RiftDK2/tree/master DK2], [https://www.ifixit.com/Teardown/Oculus+Rift+Development+Kit+2+Teardown/27613 ifixit teardown] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 pcvr, 5.7" Super AMOLED display with a resolution of 960 x 1080 per eye 100° field of view, 1 usb Positional Tracker DK2 camera, lots of wires}} |- | <!--Description-->Facebook [https://github.com/thaytan/OpenHMD/tree/rift-kalman-filter Oculus Rift CV1] [https://noraisin.net/diary/?m=202201 some Linux support] [] [https://github.com/OpenHMD/OpenHMD/issues/330 AMD usb issues] [https://github.com/OpenHMD/OpenHMD/wiki/Xorg ] [https://github.com/Doc-Ok/OculusRiftCV1Camera Live Video] [https://www.youtube.com/@thaytan Youtube] [https://github.com/Fredrum/riftOnLinux Pi] [https://github.com/OhioIon/riftDriverPi ], but not quite there with the [https://www.youtube.com/watch?v=DSsCN6HFkWc consumer CV1], [https://forum.dcs.world/topic/142259-cv1-not-working-in-dcs/#comment-2878168 orange led could be HDMI Signal is not within HDMI Spec and might be Overclocked or usb3 not getting enough power frustrating], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x3031, 0x2031, 0x0031 and 0x0211 for 3p-a basestations lighthouses, 0x045e 0x02e6 for xbox wireless adapter | <!--Revision--> | <!--Opinion-->{{No|2016 powered run from your PC maybe uvc via wired dual PenTile OLED 2160x1200 (1080x1200 per eye) @ exactly 90Hz but screen door effect (space between pixels), 87 FOV, IPD from 58mm to 72mm, good 3D audio and okay mic, constellation headset 6DOF (3-axis rotational tracking + 3-axis positional tracking) with up to 3 usb infrared basestation (1 in front and 2 behind pointing upwards) on usb3 and usb2 to your PC but the tracking can be fragile so set it up on a weekly basis, wired only HDMI 1.3, USB 3.0 bus powered with proprietary plug in headset, 470g 1lb front heavy, 2 robust 1st Gen touch controllers with external sensors i.e. outside-in - 1 aa alkaline over rechargable battery each , press occulus and B buttons for 2 secs to connect, headset traps air so gets very warm inside and random disconnects due to twisting action on the top of the headset and/or cables, t4 torx screws }} |- | <!--Description-->Facebook Occulus Go 32Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 discontinued 2020 android based, 1280x1440 per eye 60Hz LCD, not gaming, no inside-out and limited self tracking, }} |- | <!--Description-->Facebook Oculus Rift S [https://noraisin.net/diary/?m=202201 some Linux support] | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0051 headset (cdc, audio, tracking data), 0x2052 usb hub, | <!--Revision--> | <!--Opinion-->{{No|2019 PCVR wired dual LCD 1080 by 1200, 88 horizontal FOV, display port (fibre optic strands) and annoying USB3 copper cables (power, audio and other data) but proprietary port in the headset, cameras on the headset ("inside-out") tracking so no base stations, non removeable head band and cushions and ipd hard to set, requires specific fragile Rift S/Quest1 2nd Gen Touch controllers which has a ring of translucent plastic with leds inside - t5 torx to disassemble for sticks drifting}} |- | <!--Description-->Facebook Occulus Quest 1 *032Gb *064Gb | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0183 (single adb boot), 0x0 | <!--Revision--> | <!--Opinion-->{{No|2019 android standalone wireless, 1440 x 1600 72Hz oled, front heavy though, play area 2m x 2m or bigger, low clocked Qualcomm Snapdragon 835 (MSM8998) (4x Kryo 280 Gold cores ARM Cortex-A73) + (4x Kryo 280 Silver A53), 2 to 3 hrs play time, 575g, 2nd Gen touch controllers, }} |- | <!--Description-->Meta Oculus Quest 2 KW49CM aka Codename Del Mar [https://www.meta.com/en-gb/help/quest/967070027432609/ fragile 3rd Gen Touch controllers] [https://www.youtube.com/watch?v=Cgejky8ZeoM internal battery] and selling over 20 million, more than all other quest headsets combined *064Gb *128Gb (110Gb free) *256Gb Setup continuous wifi, create Meta Oculus account, [https://developers.meta.com/horizon/ verify dev account, click on My apps], [ create Organization -> My Organization Groupings], [https://www.youtube.com/watch?v=QPInS5xxF-0 finally, meta quest mobile app to switch on adb], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x5010 (), 0x0083 (massstorage), 0x0086 (), 0x0186 (adb and xrsp [https://github.com/shinyquagsire23/xrsp_tests tests]), 0x0090 (composite adb), 0x0081 (), | <!--Revision-->0419 | <!--Opinion-->{{unk|2021 android stand alone, lcd 1832x1920 per-eye 90Hz refresh rate, 97 FOV, fresnel lenses, 6DOF (degrees of freedom), 58-63-68 IPD settings, low clocked Arm snapdragon xr2 gen 1 apps with Meta Link cable USB-C usb3.2 pcvr maybe, b/w but no color passthrough, 6 t2 torx and 5 ph00 screws in headset (long bit), discontinued December 31, 2024, feature updates until December 2026, critical bug fixes and security updates until December 2027, 470g, Oculus + B button on right controller (move) and Menu + Y button on left controller (click) for about 3 seconds, 10W 5v 2a, RTL8153 chipset usb support, *V60 unable to *V77 pcvr issues *V79 unable to }} |- | <!--Description-->Facebook Occulus Quest Pro aka Codename Seacliffe | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 android standalone wireless 1440 x 1600 72Hz oled, 106° and 96° FOV mini lcd local dimming, pancake lenses, limited eye tracking, play area 2m x 2m or bigger, higher clocked snapdragon xr2 gen 1 arm cpu Arm apps, 1 to 2 hrs play time, new pro controllers with 3 cameras each, battery at rear, wireless charging, color passthrough, 9V 3A or 5V 3A, *v77 capped wifi }} |- | <!--Description-->Meta Oculus Quest 3 aka Codename Eureka [ Air Light ALVR] or [ WiVRn] with fragile touch plus q3 controllers *128Gb *512Gb streaming from PC with [https://github.com/alvr-org/Monado-ALVR ALVR], runtime of [https://monado.freedesktop.org/ Monado steamvr alternative openxr openVR], with Envision GUI, | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 standalone, pancake lenses on lcd 2064 x 2208 res panel per eye 1200ppi - 104° and 96° FOV - up to 120Hz, Arm snapdragon xr2 gen 2 apps, foveated rendering, Meta Link cable USB-C 3.2, headstrap clamshell or halo style, speaker arms fragile, color passthrough, 510g, 18W 9v 2A or 15W 5V 3A, *v74 ok }} *v76 pcvr issues }} |- | <!--Description-->Meta Quest 3S aka Codename Ventura *128Gb *256Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 Arm snapdragon xr2 gen 2 cpu, lcd 1832 x 1920 fresnel lenses, 97 FOV, headphone arms fragile, better air flow, no promixity sensor inside, Meta Link cable USB-C 3.2, passthrough, }} |- | <!--Description-->Meta Boba 3 | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 ultra-wide 180° x 120° FOV, snapdragon XR2 G2, }} |- | <!--Description-->Meta Tiramisu | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 µOLED displays with 90 pixels per degree, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pimax 5K Super Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 }} |- | <!--Description-->Pimax 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description-->Pimax 8K-X 8KX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 }} |- | <!--Description-->Pimax Crystal Light | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 2160 x 2160 4k 120Hz, 115° and 96° FOV, inside-out tracking, no battery, display port cable, variable qc and customer service, }} |- | <!--Description-->Pimax Crystal Super | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 3640 x 3640 4k 90hz, 116°+ and 100° FOV, eye tracking, inside-out tracking, no battery, display port cable, }} |- | <!--Description-->Pimax Dream Air with Lighthouse(s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 tethered 3840 by 3552 @90Hz micro oled with pancake lens, 100 HFOV 96 VFOV but FOV IPD changes in app, link box for headset 2 split y cables, removable face gasket, 290g, steamVR2 bases and controllers, eye tracking, }} |- | <!--Description-->Pimax Dream Air SLAM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 Simultaneous Localization and Mapping (SLAM) tracking inside-out so no base stations, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://somniumspace.com/ Somnium VR One VR1] [https://portal.vrgineers.com/user-guide/software/ open source] VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr 2880 x 2880 per eye @90 @120Hz, 125° horizontal 100° vertical FOV, 2 x SteamVR 2.0 bases, passthrough, 900g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero VR-1 Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 psu needed, 2 x Mini LED binocular of 150 nits, 2880x2720 per, 90Hz, FOV 102° horizontal, 73° vertical, 720g with headstrap, 2 x SteamVR 2.0 basestations, no speakers/mic, hdmi and usb3.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Camelo La Melaza Music Shield | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 no usb only bluetooth , }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->InAir 2 elite suite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar nits 46FOV , , 4h battery life, 80g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oakley Vanguard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->RayNeo Air 3s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 100in 46FOV 650nits, usb-c 79g }} |- | <!--Description-->RayNeo Air 3S Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 135in virtual display 46FOV 1200nits, usb-c 80g }} |- | <!--Description-->RayNeo Air 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AR oled vision 4000 processing, HDR10, 47 FOV }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rokid Max 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 50 FOV 650nits, usb-c back left, 76g, }} |- | <!--Description-->Rokid AI Spatial with Station 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 600nits 147in 50FOV 75g, }} |- | <!--Description-->Rokid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| ar ai smart glass}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 135in 46 FOV 1000nits, magnetic connector, 77g, }} |- | <!--Description-->VITURE XR Luma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 1200p 50 FOV, }} |- | <!--Description-->Viture Luma Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 152in 52 FOV 1000nits 1200p, 3dof, , 79g, }} |- | <!--Description-->Viture Luma Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 in FOV, 2 cameras, 3dof 6dof, }} |- | <!--Description-->[https://github.com/wheaney/XRLinuxDriver Viture Luma Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Beast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 1250nits 58FOV 174in, magnetic, 88g, }} |- | <!--Description-->VITURE Beast X Glasses models (Immersive 3D Moonlight) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 based 2D to 3D conversion with support DP Alt Mode (DisplayPort over USB-C), 1200p, 3df tracking, practic lenses 58deg POV, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xreal One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 600nits, 50FOV, 3dof, usb-c 84g, }} |- | <!--Description-->XReal One Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 700nits 57FOV 171in, usb-c, x1 3dof, }} |- | <!--Description-->Nreal now Xreal Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , micro-oled 1080p, audio, virtual uvc ar displays, }} |- | <!--Description-->Nreal now Xreal Real3D 1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AI based 2D to 3D conversion 57 FOV, , virtual uvc ar displays not vr, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xiami XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xtal 8k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Apple Vision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 tethered AR mixed reality glasses, 3300ppi, 800g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Google XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Focus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 standalone }} |- | <!--Description-->HTC Vive Focus Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 android with 2 1440 x 1600 75Hz amoled, inside-out, durable motion controllers, Vive port, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Pro EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 dual-OLED displays 2880 x 1600 combined resolution), SteamVR 2.0 tracking, foveated rendering, Tobii, it enables gaze-based menu navigation with avatar eye contact, proprietary cables, }} |- | <!--Description-->HTC Vibe Cosmos | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 poor tracking and lifespan on controllers, }} |- | <!--Description-->HTC Vibe Cosmos Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2020 1440x1700 per eye resolution, 90 Hz refresh rate, 6 DoF tracking, 2880 x 1700 combined pixel resolution, 97° FoV, two controllers and two base stations. Lighthouse tracking, }} |- | <!--Description-->HTC Vive Focus Vision Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->HTC Vive Focus 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 per-eye resolution of 2448×2448 at 90 Hz, a 120-degree field of view, Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->HTC Vive XR Elite VR Headset Deluxe Pack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 snapdragon xr2 gen 1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pico Goblin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 android based, 2.5K 1280x1440 per eye @70Hz, 92° FoV, and 3DoF (three degrees of freedom) tracking (Orientation tracking only—yaw, pitch, roll), single controller, snapdragon 820, ipd adjustment 54-71 mm, 600g, }} |- | <!--Description-->ByteDance Pico G2 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 android standalone VR headset, 3840 x 2160 (4K) LCD screen, Snapdragon 835 processor, 3DoF so rotational movement (looking around, pointing) rather than positional movement (walking, leaning), does not support hand or eye tracking, 800g }} |- | <!--Description-->ByteDance Pico NEO 2 EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 6DoF 360g snapdragon 845 display 4k 75Hz tracking inside-out - magnetic field for controllers - pico software on android 8 - eye tracking }} |- | <!--Description-->ByteDance Pico Neo 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 Snapdragon XR2 Gen, 4K 3664 x 1920 90Hz lcd, battery at rear, displayport, Pico apparently emulates Oculus controllers, }} |- | <!--Description-->ByteDance Pico Neo 3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico Neo 3 Link | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160x2160 panel per eye 75Hz 90Hz 105 FOV, Arm snapdragon xr gen 1, }} |- | <!--Description-->ByteDance Pico 4 ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160 x 2160 @90 105 FOV, snapdragon XR2 G2, streaming from PC with alvr, wireless streaming from PC with WiVRn, Pico apparently emulates Oculus controllers, not plug and play, }} |- | <!--Description-->ByteDance Pico 5 aka Project Swan aka Vision Pro Competitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 micro-oled BOE 3840 x 3840 4000ppi per eye, MLA pancake lenses, custom pico arm cpu, pico os 6 android, eye and hand tracking, 300g, }} |- | <!--Description-->ByteDance Pico | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung Galaxy XR VR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 3552 x 3840 @60-90 109 FOV , Arm snapdragon XR2+ Gen 2, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shiftall MeganeX 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 android }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8k MeganeX Superlight 8K] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android (3552 x 3840 pixels) into pixel count yields 27.27MP 10-bit HDR-compatible 4K resolution micro OLED panels @90Hz, pancake lenses 94 FOV, SteamVR™ tracking, 180g, 5V 2A, }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8kmk2 MeganeX 8K Mk2 MkII] [https://github.com/sboys3/CustomHeadsetOpenVR community] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr linux, 4K per eye (1.35inch micro OLED 3552x3840 10 bit HDR) 27MP @90Hz 75Hz 72Hz pancake, upto 108 hor 100 vert FOV, usb-c and dp cables to breakout box, 5V 2.1A, 200g}} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Acer Windows(TM) MR AH101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Dual 2.89” LCD panels 2880 x 1440 combined (1440 x 1440 per eye) Up to 90Hz (HDMI 2.0), or 60Hz (HDMI 1.4), Field of View FOV 95, Tracking Inside-out, lots of light leak, }} |- | <!--Description-->Acer H7001 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 wmr 1440 x 1440 per-eye resolution @90Hz refresh rate, and 100-degree field of view FOV, inside-out tracking with front-mounted cameras so no external sensors, flip-up visor design but has a "screen door effect," subpar foam padding, win10 to win11 24H2, }} |- | <!--Description-->Dell Visor Mixed Reality VRP100 VR118 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 2x 1440x1440 a bit of nose light leak }} |- | <!--Description-->Fujitsu | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 cheap and lots of light leak }} |- | <!--Description-->[https://github.com/HadesVR HadesVR] with [https://github.com/ManoloMancelli/Persephone-Classic-Controller Persephone Controller] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.youtube.com/watch?v=HFaVjB1uNOM Persephone 3 Pro DiY 6Dof SteamVR Headset], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HP Reverb G1 VR1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 WMR 2160 x 2160 @90Hz, 115 FOV, , hp proprietary headset cable end, 2 camera tracking but poor and controllers can be unresponsive, 500g front heavy, flight sims rather than gaming, }} |- | <!--Description-->HP 1440p Spatial Computing | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dim display }} |- | <!--Description-->[https://forums.x-plane.org/forums/topic/294764-vr-in-linux-without-steam/ HP Reverb G2] WMR VR3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 2 2160 x 2160 90Hz, needs Windows10 or Win 11 24H2, 4 camera tracking, controllers can be unresponsive, hp proprietary headset cable end, , }} |- | <!--Description-->HP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Mirage Solo is a Standalone VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Qualcomm Snapdragon 835, 1280x1440 per eye resolution, 75 Hz refresh rate, }} |- | <!--Description-->Lenovo Explorer VR2511N (G0A2) VR windows mixed reality (WMR) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 LCD 2.89" 1440 x 1440 per eye @90Hz, 6 DOF position tracking, 400g, }} |- | <!--Description-->[https://github.com/relativty/relativty open source relativty] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung MHD Odyssey XE800ZAA WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 9V 500mA oled screens 2x 1440x1600 with usb3 and hdmi cables but bluetooth dongle required }} |- | <!--Description-->Samsung MHD Odyssey+ Plus WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dual 3.5-inch AMOLED displays 2880 x 1600 total @90Hz, 6DOF inside-out tracking with usb3 and hdmi cables but bluetooth dongle required, use only win10 or win11 24H2, }} |- | <!--Description-->Sony PSVR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2016 2x 1080x960 up to 120Hz, lots of cables and computation brick, sony camera needed for tracking, ps4 or move controllers, }} |- | <!--Description-->Virtuality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|1992 , , Amiga 3000 with TI chips, }} |- | <!--Description-->Virtuix Omni | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 VR treadmill changed course to commercial VR and pivotted back again 2020, }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === HDMI CEC transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === TV Remote Control MCE IR transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Compro K100 K300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Elitegroup Computer Systems | <!--Vendor ID-->0x1019 | <!--Product ID-->0x0f38 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GMYLE MCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|acts as usb-hid with limited keyboard like controls }} |- | <!--Description-->Hauppauge WinTV-PVR kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Logitech Harmony 300 i300 600 650 800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Microsoft MCE Commander | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2005 need extra software support}} |- | <!--Description-->Microsoft 1039 rev 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 home top of square shape direction keys}} |- | <!--Description-->Microsoft 1039 rev 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2006 home under circle spaced direction keys}} |- | <!--Description-->Microsoft 1069 SMK Manufacturing, Inc | <!--Vendor ID-->0x0609 | <!--Product ID-->0x0334 | <!--Revision--> | <!--Opinion-->{{No|2007 untested}} |- | <!--Description-->Philips RC1974506/00 | <!--Vendor ID-->0x0471 | <!--Product ID-->0x0815 | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Sony RM-MCE10E PC REMOTE CONTROL VGN-AR21M VGX-XL100 VGN-AR21B/AR21S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE20E PC REMOTE CONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE30E PC REMOTE CONTROL VGN-AW21XY VGX-TP3E VGX-TP3G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE50E PC REMOTE CONTROL VGC-LA2R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TSDX-IR14 USB MCE Media Center External Infrared IR Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->chipsets support CIR (consumer IR) Winbond W83977F/AF, SMC IrCC 2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|technical reasons it's not possible to use USB IrDA dongles}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Zotac RC2604323/01G Zbox Media Remote Control with IR USB Receiver OVU710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Anycubic Cobra 2 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Bambu Labs A1 Mini 3D printer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 EMS proprietary slicer app and cloud use, eSUN}} |- | <!--Description-->Bambu Labs X1 Carbon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Bambu Labs X2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elegoo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lulzbot | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Prusa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Qidi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Snapmaker U1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tool changer }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sovol SV08 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| open source voron model, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->desktop pick and place machines AFARCO PNP running OpenPnP for Desktop SMT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==ethwrap.class - Host Data Link "Cable Bridge" for data transfer== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Advance USBNET (eTEK design) | 0x0525 | 0x9901 | | {{N/A|untested}} |- | ALi Uli M5632 (chip) | | | | {{N/A|untested}} |- | Aten (Ali Corporation) UN201 | 0x0402 | 0x5632 | | {{maybe|force binding from rawwarp to ethwrap}} |- | Belkin (eTek design see below) | 0x050d | 0x0004 | | {{N/A|untested}} |- | Digitus DN-3004 - USB Host Link | | | | {{yes|works}} |- | EPSON USB client | 0x0525 | 0x2888 | | {{N/A|untested}} |- | eTEK | 0x056c | 0x8100 | | {{N/A|untested}} |- | KC-190 | 0x050f | 0x0190 | | {{N/A|untested}} |- | GeneSys GL620USB | | | | {{no|no driver the half-duplex GL620USB is NOT supported, products using it include the Inland Pro USB Quick Link}} |- | GeneSys GL620USB-A | | | | {{N/A|untested}} |- | Laplink Gold (uses NetChip 1080) | | | | {{N/A|untested}} |- | Prolific 2301/2302 (Jaton USB ConNET) (BAFO DirectLinq) | 0x067b | 0x0000 and 0x0001 | 0x0004 | {{maybe|detected but untested}} |- | Xircom PGUNET (uses AnchorChips 2720) | 0x0547 | 0x2727 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==cdcacm.class - USB modem== The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream). {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Alcatel OT-I650 | 0x1bbb | 0x0003 | | {{N/A|untested}} |- | Acatel Dymamode/Dynamite | 0x06b9 | 0xa5a5 | | {{N/A|untested Zyxel Prestige 630-13 - untested PROLiNK Hurricane 8000 external link }} |- | AnyData ADU-100A ADU-E100A ADU-E100D ADU-E100H D10 | 0x16d5 | 0x6501 | | {{N/A|untested}} |- | AnyData ADU-310 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | AnyData ADU-500A ADU-510A ADU-510L ADU-520A | 0x16d5 | 0x6502 | | {{N/A|untested}} |- | AnyData ADU-610 ADU-620 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | BT On-Air USB MODEM | 0x079b | 0x000f | | {{N/A|untested}} |- | Conexant USB MODEM CX93010 | 0x0572 | 0x1321 | | {{N/A|untested}} |- | Conexant USB MODEM RD02-D400 | 0x0572 | 0x1324 | | {{N/A|untested}} |- | Conexant Chipset | 0x06ea | 0x0002 | | {{N/A|untested AUS N367 Roadster II 56 USB (Model AM5050R3) - untested }} |- | [http://accessrunner.sourceforge.net/ Conexant AccessRunner] | 0x0586 | 0x330a | | {{N/A|untested }} |- | Creative Modem Blaster USB DE5670 | 0x1690 | 0x0101 | | {{N/A|untested}} |- | FIREFLY, MediaTek Inc | 0x0e8d | 0x0003 | | {{N/A|untested}} |- | Huawei E122 | 0x12d1 | 0x1446 | | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=49126#forumpost49126] |- | Huawei E160, E160E, E160G | 0x12d1 | 0x1003 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=51888#forumpost51888] (Chipset: Qualcomm MSM6246) |- | Huawei E169 also known as Vodafone K3715 and Huawei K3715 | 0x12d1 | 0x1001 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4941&forum=4&post_id=44683#forumpost44683] (Chipset: Qualcomm MSM7200) |- | Huawei E220 "Vodafone EasyBox II" "T-Mobile wnw Box Micro" also known as Huawei K3565 | 0x12d1 | 0x1003 | | {{yes|works, see E169 above (Chipset: Qualcomm MSM6280)}} |- | Huawei E1750 | 0x12d1 | 0x1001 | | {{N/A|untested (Chipset: Qualcomm MSM6290)}} |- | Huawei E170, E172, E176 | 0x12d1 | 0x1003 | | {{N/A|untested (Chipset: Qualcomm MSM7200)}} |- | Huawei E180 | 0x12d1 | 0x1406 | | {{yes|Works (Chipset: Qualcomm MSM7200)}} |- | KYOCERA AH-K3001V | 0x0482 | 0x0203 | | {{N/A|untested}} |- | LG CU515 | | | | {{N/A|untested}} |- | MediaTek Inc GPS | 0x0e8d | 0x3329 | | {{N/A|untested}} |- | Metricom GS Modem | 0x0870 | 0x0001 | | {{N/A|untested}} |- | Motorola MOTOMAGX phones | 0x22b8 | 0x6425 | | {{N/A|untested}} |- | Motorola Q Phone | 0x22b8 | 0x7000 | | {{N/A|untested}} |- | Hummingbird huc56s (Conexant) | 0x0572 | 0x1329 | | {{N/A|untested}} |- | Netcomm Roadster II 128 ISDN | | | | {{N/A|untested}} |- | Nokia n70 N95 HSDPA | | | | {{yes|works - see [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=4415&viewmode=flat&order=ASC here]}} |- | OGO | 0x045E | 0x0079 | 0090 | {{no|no driver}} |- | Olitec ADSL Modem V2 | 0x08e3 | 0x0100 / 0x0102 | | {{N/A|untested}} |- | <!--Description-->Onda PT502HS | <!--Vendor ID-->0x19D2 | <!--Product ID-->0x0001 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | Radicom V92HU-E2 | | | | {{N/A|untested}} |- | <!--Description-->Samsung i8510 Innov8 Symbian smartphone | 0x04e8 | 0x6651 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Samsung Tocco Lite (aka GT-S5230) | 0x04e8 | 0x6795 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Shiro / Aztech USB MODEM UM-3100 | 0x0572 | 0x1328 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1602 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1608 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM - new version | 0x0ace | 0x1611 | | {{N/A|untested}} |- | Zoom Telephonics Model 3095F USB MODEM | 0x0803 | 0x3095 | | {{N/A|untested}} |- | Ugobe Pleo | 0x6962 | 0x0100 | 0x0100 | {{Yes|Works}} |} ==Misc== palmpda.class - no [http://aminet.net/package/util/libs/PdaLinkPoseidon pdalink.library and tools] in AROS Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools through virtual usbpalm.device. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Palm IIIx (OS3.1) serial rs-232 only | | | | {{no|no }} |- | Palm IIIc (OS3.5) | | | | {{no|no }} |- | Palm V | | | | {{no|no }} |- | Palm m100 | | | | {{no|no }} |- | Palm m125 first USB - last with aaa batteries | | | | {{no|no }} |- | Palm m500 (OS4) | | | | {{no|no }} |- | Tungsten T (OS5) first arm cpu | 0x | 0x | 0x | {{no|no }} |- | Zire 31 (OS 5.28) color arm-based | | | | {{no|no }} |- | [[:w:Handspring (company)|Handspring Visor]] – USB support out of box | | | | {{no|no }} |- | Handspring Treo 600 – last one for [[:w:Handspring (company)|Handspring]] | | | | {{no|no }} |- | Treo 700w | | | | {{no|no }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} bluetooth.class - needs Bluetooth (Viking King Harald "Bluetooth" Gormsson (Old Norse: Haraldr Blátǫnn Gormsson; Danish: Harald Blåtand Gormsen) stack to work (not written due to licensing fees to use the symbol merging the Younger Futhark runes for H (ᚼ) and B (ᛒ), representing Harald's initials) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} ccid.class - Chip/Smart Card Interface Devices (not implemented) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->cyberJack RFID basis | <!--Vendor ID-->0x0C4B | <!--Product ID-->0x9102 | <!--Revision-->0001 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} dfu.class - DFU firmware upgrade {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->iPhone 3, 4, 5, 5c | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1290 0x1292 0x1294 | <!--Revision--> | <!--Opinion-->{{unk| 32bit use with caution could cause damage}} |- | <!--Description-->iPhone 5s, 6, 7, 8, X | <!--Vendor ID-->0x05ac | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 64bit use with caution could cause damage}} |- | <!--Description-->M-Audio/Midiman USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->iPad 1, iPad 2 A1395 A1430, iPad 3, ipad mini A1432, iPad A1458 4th Gen (MD512LL/A), | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2008-2013 32bit A4, A5 up to Apple A6X, iOS 1 to 10, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->iPad Air (1st generation) A1474, A1475, A1476, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2014-2015 [https://github.com/AsahiLinux 64bit], A7, iOS 11 up to |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2015 64bit A8, A8X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2016 64bit A9, A9X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2017 64bit A10, A10X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2018 64bit A11 |- | <!--Description-->iPad Air 3rd Gen A2153, A2123, A2154, iPad Mini 5th Gen, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2019 64bit A12 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} RocketTool (USB Rocket Launchers - Toy missile launchers) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Original Launcher and StrikerII (includes laser) | 0x1130 | 0x0202 | | {{yes|works }} |- | Dream Cheeky USB Missile Launcher or USB Cirus Cannon | 0x1941 | 0x8021 | | {{no|no driver }} |- | Dream Cheeky USB Webcam Missile Launcher | 0x1941 | | | {{no|no driver }} |- | Rocket Baby | 0x0a81 | 0x0701 | | {{no|no driver }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} DRadioTool (FM Radios - USB radio devices D-Link/Gemtek) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link DSB-R100 USB | 0x04b4 | 0x1002 | 0x0410 | {{yes|works }} |- | [http://www.neoseeker.com/forums/383/t257009-link-usb-dru-r100-radio/ GemTek USB FM Radio 21] | 0x04b4 | 0x1002 | | {{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} UproarTool (Valencia MPX mp3 player and others) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Korean D Square Valencia MPX-Player | 0x04e8 | various | | {{N/A|untested }} |- |} [https://www.youtube.com/watch?v=vIuT7rJgc8w with unlocked android bootloader], <pre> Kill and restart the server a few times sudo adb kill-server sudo adb start-server And finally type in sudo adb devices adb devices Lists connected devices adb shell Opens a terminal shell on the device hollywood:/ $ su id df -h top ls -la ls sdcard ls sdcard/Android ls sdcard/Oculus wm size cd .. cd data/system look inside bad Corejava folder cd data/system/etc/init look cd data/system/app cd /data cd /dev/block adb shell pm disable-user --user 0 com.oculus.nux.ota adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over adb shell 'setprop debug.oculus.cpuLevel 5 && setprop debug.oculus.gpuLevel 5 && setprop debug.oculus.adaclocks.force 0 && setprop debug.oculus.phaseSync 1 && settings put global always_finish_activities 1 && settings put global wifi_scan_throttle_enabled 1 && settings put global window_animation_scale 0.25 && settings put global transition_animation_scale 0.25 && settings put global animator_duration_scale 0.25 && sync' settings list --user 0 secure or global or system user_setup_complete=0 adb shell screenrecord adb shell reboot adb install <path_to_apk> Installs an app like adb install -g -r alvr_client_android.apk or adb install -r app.apk memtester lsmod adb command to enable hand tracking, possible, but root access is required adb root oculussetting --set hand_tracking_opt_in 1 hand_tracking_enabled 1 adb push <local> <remote> Copies files to the device adb pull <remote> <local> Copies files from the device pull them using CFB, extract original apk using LL adb forward tcp:9943 tcp:9943 (Used for advanced, such as ALVR streaming) adb shell pm disable-user --user 0 com.oculus.partnercustomization Enterprise versions adb reboot Performs a standard system restart adb reboot bootloader Restarts the device into fastboot/bootloader mode adb reboot recovery Restarts the device into recovery mode adb reboot download Reboots Samsung devices into Download Mode adb reboot fastboot Directly enters fastboot mode [https://gist.github.com/pantasio/3d0eb4bb03a1e696aae8696f60730859#file-enable-usb-debug-adb usb dev debug adb] </pre> {{BookCat}} auxhjyb6047kiiwadr6metqo0xozbdc 4656809 4656808 2026-08-09T14:20:34Z Jeff1138 301139 4656809 wikitext text/x-wiki {{ArosNav}} ==Host Adapter Protocol USB1 OHCI UHCI USB2 EHCI USB3.0 USB3.1 xHCI == Please let us know any mistakes or any information to be added, use Prefs/Trident to confirm Vendor and Product IDs Please chat at [https://www.arosworld.org/index.php AROS World] *1996 USB1.0 *1998 USB1.1 *2000 USB2.0 *2008 USB3.0 *2013 USB3.1 *2017 USB3.2 [https://github.com/aros-development-team/AROS/tree/master/rom/usb AROS has these USB transfers] *Control - *Bulk - Midi 1.0 ( 'send my data when you can' ) *Interrupt - Midi 2.0 *Isochronous - USBAudio, Webcams, etc (wip) Isochronous is the starting point of modern types of multimedia creativity. IsoChronous isoc code is already in place in poseidon.library and '''scheduled''' transfers are queued to be later rerouted in the host driver code (needs to be written for each host protocol e.g. OCHI, UCHI, EHCI and [https://cdrdv2-public.intel.com/625472/625472_xHCI_Rev1_2b.pdf#:~:text=Page%203.%20Document%20Number:%20625472%2C%20Revision:%201.2b.%203. XHCI rev1.2], [https://www.intel.com/content/www/us/en/content-details/868296/extensible-host-controller-interface-for-universal-serial-bus-xhci-requirements-specification-r2-0.html rev2], etc). There seems to be 2 types of isoc transfers, one is just the normal isoc transfer and the other is realtime implementation of isoc transfer. For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped (in or out) and that they happen at the right time. It all gets difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth for the packet based periodic transfers that are initiated by the host which have fixed but guaranteed bandwidth. Host controllers guarantee this bandwidth by planning a schedule of transfers ahead of time to ensure there is enough time reserved on the bus. [https://www.intel.co.uk/content/www/uk/en/products/docs/io/universal-serial-bus/ehci-specification.html EHCI] [https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/ bus-bandwidth] vs payload-bandwidth and the algorithm of the EHCI scheduler. The bandwidth of the endpoint in terms of payload data (stuff we put in a packet) and the protocol overhead, signalling imposed bit stuffing, host delays etc. Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one. [[File:Psd.svg|220px|right]] ; Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI), ; Early support - [https://github.com/aros-development-team/AROS/commit/03c5252d962941a56c816a9f2315134362089349 XHCI USB3.0, USB3.1 & gen 2 Type-A Type-B Type-C] ; Next Best Set - General OHCI, SIS (OHCI + EHCI), ; Buggy Chipset - [ Early AMD OHCI], ALi OHCI, VIA UHCI, Nvidia OHCI & EHCI, === USB1.1 === OHCI USB 1.1 - USB-IF sanctioned standard but hardware physical form removed with USB2.0 and replaced with virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 M5237 Lucent USS-312 | | | | <!--Boots-->{{Maybe}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | StarTech PCI425USB, CompUSA Iogear GIC220U-b, Nvidia 220 mobo, USBA2041P, ALi SU2A-PS, |- | AMD 756 Chipset (onboard motherboard) | 0x1022 | 0x740c | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=31308#forumpost31308 usb devices detected] Geode GX1, |- | CMD DU-A2 Silicon Image 0670 (pci AMD chipset) | 0x1095 | 0x0670 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Silicon Image 0673 (pci AMD chipset) | 0x1095 | 0x0673 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Nvidia Nforce2 USB | 0x10de | | | <!--Boots-->{{Maybe|Bios options vary but does with Plop Boot}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Tested with 20th Aug 2012 improvement |- | NEC µPD720100AGM | 0x1033 | 0x0035 | 0x | <!--Boots-->{{Unk}} | <!--Detects-->{{Unk}} | <!--Works-->{{Maybe|}} | untested - Amiga Spider card with possible bottleneck issues at higher speeds |- | NEC µPD720101AGM 720101GJ | 0x1033 | 0x0035 | 0x43 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Mac mini, Belkin F5U219vea (2+1 ports), Belkin F5U220vea1 (4+1 ports), Adaptec 3100LP, BAFO BF-460, GWC UC-160, IOGear GIC250U, Keyspan U2PCI-5, O'toLink U2-C2B U2-C2A U2-P20N U2-P50, Ratoc PCIU5, USBWholesale UII-PCIP |- | NEC µPD720102 | 0x1033 | 0x00 | 0x | <!--Boots-->{{Unk|untested }} | <!--Detects-->{{Unk|untested }} | <!--Works-->{{Maybe|}} | |- | Opti 82C861 2-port | 0x1045 | 0xc861 | | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no USB devices detected - Belkin F5U005, |- | SIS 7001 OCHI | 0x1039 | 0x7001 | 0x0f | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | 20th Aug 2012 - not booting stalls on GRUB word with Plop Boot |- |} UHCI USB 1.1 - Intel standard but since 2009 no hardware support as USB2 introduced virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | Intel | 0x8086 | 0x | 0x01 | <!--Boots-->{{No|not in bios use AROS floppy disc boot}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | Intel 82371AB EB MB PIIX4 | 0x8086 | 0x7112 | 0x01 | <!--Boots-->{{No|none in bios use other booting options}} | <!--Detects-->{{Maybe|Detects most devices}} | <!--Works-->{{Maybe|most devices but not RTL8187b WG111v3 blue led not on and does not work}} | |- | Intel 82801DB/DBL/DBM (onboard i830 mbd) | 0x8086 | 0x24c4 | 0x01 | <!--Boots-->{{Yes|but not from bios but floppy options}} | <!--Detects-->{{Yes|}} | <!--Works-->{{Yes|}} | RTL8187b WG111v3 blue led on and although device has software failure and recoverable error IT STILL WORKS. Fresh start sometimes needs Network Prefs Saved to work. |- | VIA MVP4 (onboard mbd) | 0x1106 | 0x30 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless options}} | RTL8187b WG111v3 detected but blue led not on and does not work |- | VIA VT82xx (onboard mbd) | 0x1106 | 0x3038 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless usb}} | RTL8187b WG111v3 blue led on but does not work |- | VIA VT6202 (VIA VT83C572) | 0x1106 | 0x3038 | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | A-Best USB-200, Cables N Mor USBPCI, CompUSA, D-Link DSB500, Digital/Research DRUSBCARD, Kouwell IOFlex 580, StarMount USB VIA, |- | VIA VT6112 | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3038 | 0x61 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | 2011 seems to have issues with other identical via based USB controller(s) present |- | VIA VT6214L | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- |} === USB 2.0 EHCI === The USB-IF insisted on only one implementation of EHCI but it creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through most newer USB3.0 chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 Lucent USS-344 | | | | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested}} belkin F5U006, |- | Nvidia Nforce2 USB | | | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | Intel 82801DB/DBM (onboard mbd) | 0x8086 | 0x24cd | 0x01 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | NEC µPD720100AGM | 0x1033 | 0x00E0 | 0x | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested - Amiga Spider card}} |- | NEC 72101 GJ | 0x1033 | 0x00e0 | 0x04 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Belkin F5U219 VEA1 (pci), |- | SIS ECHI | 0x1039 | 0x7002 | 0x00 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|issues about which port is used if it works at all}} | <!--Works-->{{Maybe|}} | |- | VIA VT6202 | 0x1106 | 0x3104 | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3104 | 0x62 | <!--Boots-->{{No}} | <!--Detects-->{{Yes|detects}} | <!--Works-->{{Maybe|}} | |- |} === USB 3.x SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) aka xHCI eXtensible === USB Attached SCSI (UAS or UASP) is a protocol used for high-speed data transfer between computers and external storage devices like SSDs, HDDs, and some flash drives. It provides up to 70% faster read/write speeds than traditional Bulk-Only Transport (BOT) by allowing multiple commands to run in parallel, rather than waiting in a queue {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic FL1000 FL 1000 | <!--Vendor ID-->0x1B73 | <!--Product ID-->0x1000 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->link power management (LPM, USB 3.0 power saving) cannot be disabled so random connection issues |- | <!--Description-->Fresco Logic FL1009-200 FL 1009 | <!--Vendor ID--> | <!--Product ID-->0x1009 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->Orico PFU3-2P |- | <!--Description-->Fresco Logic FL1100-100 FL 1100SX | <!--Vendor ID--> | <!--Product ID-->0x1100 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->LPM cannot be disabled so issues with disconnecting WD drives etc - CalDigit, ORICO PFU3-2P, FASTA-6GU3 Pro, inatech KTU3FR-2P 2 port USB 3.0, and Inateck KT4004 (KTU3FR-4PA rev B2) for storage and hubs, etc |- | <!--Description-->Fresco Logic FL1400 FL 1400 | <!--Vendor ID--> | <!--Product ID-->0x1400 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic | <!--Vendor ID--> | <!--Product ID-->0x | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->NEC Renesas xHCI µPD720200 uPD720200a chip | <!--Vendor ID-->0x1d6b | <!--Product ID-->0x0194 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|no USB3 but seems to works like USB2}} | <!--Opinion-->recognized but not supported for USB3 but works like USB2 - ORICO PRU3-4P 4 Port USB, early Dell Wyse zx0 thin client, |- | <!--Description-->NEC Renesas xHCI µPD720201 uPD720201 chip | <!--Vendor ID--> | <!--Product ID-->0x114 0x0115 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->NEC Renesas xHCI µPD720202 uPD720202 chip | <!--Vendor ID-->0x1912 | <!--Product ID-->0x0015 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->[http://www.ti.com/product/tusb7340 TI] tusb7340 TUSB732 | <!--Vendor ID--> | <!--Product ID-->0x8241 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported Koutech IO-PEU436 but only one with open docs |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported - integrated since Ivybridge |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL800 xHCI 0.96 support in VL800, VIA VL811 | <!--Vendor ID--> | <!--Product ID-->0x3432 0x3438 0x3515 and 0x9201 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|}} 2.0 backwards support | <!--Opinion-->Anker 68UPPCIE-2S20PU 2 port, Plugable 4-Port, GA-z77x-ud5h rev. 1.1 mobo, |- | <!--Description-->Via Labs VL811+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL812 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->xHCI 1.0 support in VL805 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- |} USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Asmedia ASM1142 | <!--Vendor ID-->0x1B21 | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion-->Connector: USB Type C and USB Type A x 1 - Ugreen USB C PCI Card 2 Port USB 3.1 Type C |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 1.8 1.9 Updated | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->AUKEY 4 Ports USB C , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->Startech - PEXUSB312C - 2-port Usb 3.1 10Gbit/s |- |} USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 2.6 Update | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion--> |- |} === USB 4 (40Gbps thunderbolt, pcie 3.0 tunnelling, ) === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->AMD Ryzen7 6800U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->Intel Goshen Ridge JHL8440 Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | |- |} == hid.class (Human Interface Device) == === Keyboard === Some multi-finger touchpad support works but not on all touchpads {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->8BitDo Retro N C64 edition Keyboard, the super button accessory and optional N30 mouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 87 keys Kailh white}} |- | <!--Description-->8bitdo 108 Retro Mechanical Keyboard (white kailh) and two superbuttons (green) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Apple Pro Keyboard | 0x05ac | 0x0205 | 0x0122 | {{yes|works (its two hub ports) but mouse scroll wheel issues}} |- | Apple Pro Keyboard | 0x05AC | 0x020B | | {{yes|works (two onboard ports also)}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Aigo K68 60% red switches, A68 A87 wireless 2G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?cPath=49&products_id=973 AmigaOne Keyboard] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko TAC87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 80% TKL }} |- | <!--Description-->Akko MonsGeek FUN60 PRO&MAX HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 60% hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 hall effect, good but expensive and software poor}} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATTACK SHARK X98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 98% maybe silent linear feel with Two-color PBT keycap}} |- | <!--Description-->ATTACK SHARK X68HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Azio Cascade | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Chilkey ND75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% expensive}} |- | <!--Description-->Chilkey ND104 (Wuque Studios) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 premium clicky (WS Blue) or silent (WS White) key options with Ansi and ISO formats also numpad and calculator, aluminum machined, tri mode, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2026 untested magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Corsair K65 Mech MX no numeric keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair CH-9000045 K70 Blue MX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cherry G80 G80-3000L[x]C[yy]-[z] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cooler Master CM Storm Quickfire Rapid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K100 Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 okay low profile but expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Dell SK-8135 Dell USB Keyboard for Internet and Multimedia rev H for Dimension 4500, Dimension 8250, OptiPlex GX260n, OptiPlex GX60n, Precision 350 (R42232) | <!--Vendor ID-->0x413C | <!--Product ID-->0x2010 | <!--Revision-->0200 | <!--Opinion-->{{Yes| usb1.1 keyboard hub 0x413C 0x1003 works as well - multimedia keys not mapped }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Deepcool KG722 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 65% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Ducky Channel Zero DK2108 Mech Mechanical Cherry MX Red | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ducky Shine 3 Brown or Blue (DK9087) MX keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Das Keyboard Model S Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epomaker Cidoo V75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->epomaker rt100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 plastic build and no screws, numpad with small 0, mostly quiet seasalt switches, gimmick usb-c 1in screen}} |- | <!--Description-->EPOMAKER TH99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} USB-C full numpad keyboard |- | <!--Description-->eopmaker P75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->eopmaker p87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->epomaker x Leobog Hi75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Feker Galaxy80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Galaxy100 gmk/via | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 96% }} |- | <!--Description-->epomaker Aula F75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget version good 75% choice of 4 leobog switches}} |- | <!--Description-->eopmaker Tide75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% and not too expensive}} |- | <!--Description-->Epomaker Ajazz AK820 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Epomaker Ajazz AK35I V3 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 104 keys - two models: wired and tri-mode connection - }} |- | <!--Description-->epomaker Aula F108 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pricy but okay 100% but only leobog graywood switches but hotswap available afterwards}} |- | <!--Description-->eopmaker Ajazz AK980 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 97 keys }} |- | <!--Description-->Epomaker G87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT82 RT85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT100 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 96% }} |- | <!--Description-->epomaker x Galaxy100 lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 good 96% }} |- | <!--Description-->Epomaker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Filco Ninja Majestouch-2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Focus FK-760 Wireless Keyboard & Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} but quality build issues raised |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->GMMK Tenkeyless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested default Gateron Brown switches for Kailh Box Jades default Gateron Brown switches for Kailh Box Jades}} |- | <!--Description-->GK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->GMK67 GMK87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested budget good option}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hengchangtong HCT Limeme gk103s Entry Keyboard | <!--Vendor ID-->0xC0F4 | <!--Product ID-->0x0009 | <!--Revision-->0100 | <!--Opinion-->{{yes|half Keyboard left side only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hexgears M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested hotswap kaihl green switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hexgears | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iqunix mq80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 good 75% low profile keys |- | <!--Description-->Iqunix Magi65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 65% low profile keys }} |- | <!--Description-->iqunix ez60 ez80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested specific hall effect switches - actuation point, rapid trigger, etc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Jomaa YiChip Wireless 50% key with touchpad | <!--Vendor ID-->0x3151 | <!--Product ID-->0x3000 | <!--Revision--> | <!--Opinion-->{{No|dongle detected, keys and pad not working - 2 AAA NM}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Keychron q0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested numpad only}} |- | <!--Description-->Keychron q1 v1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested okay}} |- | <!--Description-->Keychron Q6 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 75% with numeric numpad, barebones so choose switches and keycaps to suit }} |- | <!--Description-->Keychron q1 MAX V1 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->Keychron Lemokey P1 QMK | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested best option to customise switches and keycaps}} |- | <!--Description-->Keychron LemoKey X1 X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested keycap swap only not switches}} |- | <!--Description-->Keychron K2HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested okay}} wireless hall effect analogue on all keys |- | <!--Description-->Keychron K4HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested hall effect but software }} |- | <!--Description-->Keychron K5 K17 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested okay low profile but }} |- | <!--Description-->Keychron Q5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Keychron K10 HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Kiiboom Breeze 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 good 75% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Meletrix Boog 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 magnetic hall effect, good but expensive and software poor}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Melgeek O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 low profile 75% but not repairable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->MOSART 2.4G Wireless 60% Keyboard Trackball | <!--Vendor ID-->0x062a | <!--Product ID-->0x4105 | <!--Revision--> | <!--Opinion-->{{Yes|dongle recognised HID, keys worked, roller worked, scroll wheel works and shoulders works but buttons around left, top and right hand side (RHS) do not work and plastic and 2 AA MN1500}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Mucai SiGma Micro MKA610 | <!--Vendor ID-->0x1c4f | <!--Product ID-->0x0084 | <!--Revision--> | <!--Opinion-->{{No| unknown red keys - rgb backlighting - }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->[http://hjldemo.clsc.cn/ Guangzhou Zhentian Electronics Ltd] Perixx Periboard 505 Plus with Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard - poor trackball}} |- | <!--Description-->Guangzhou Zhentian Electronics Co., Ltd Perixx Periboard 706 Plus with Trackball Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|generally okay dome with good sized keys but piano black surround fingerprint magnet, occasional brief trackball freezes after no use, takes some time to get used to the trackball size}} |- | <!--Description-->Perixx Periboard-716 Wireless (Chicony) | <!--Vendor ID-->04f2:1013 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard and trackpad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Lenovo SK-8825 41A5327 SIL12-W07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->works manufactured for |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lite-On USB NetVista Full Width Keyboard | <!--Vendor ID-->0x04b3 | <!--Product ID-->0x3025 | <!--Revision--> | <!--Opinion-->works |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech K320 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech USB Unifying, Bolt, Lightspeed, or Nano receiver pairing}} |- | <!--Description-->Logitech K340 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech Unifying Receiver pairing}} |- | <!--Description-->Logitech K400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description--> [http://www.logitech.com/en-us/product/wireless-touch-keyboard-k400r Logitech Wireless Touch Keyboard k400] | <!--Vendor ID--> 0x046D | <!--Product ID--> 0xC52B | <!--Revision--> 1201 | <!--Opinion--> {{yes|All (including multimedia) keys work. Some keys requires remapping with Trident. Touchpad works and acts as normal mouse. Presents itself in Trident as USB Receiver from Logitech with 3 HID bindings}} |- | <!--Description-->Logitech K400 Plus K400+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech K600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech G915 TKL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard TKL means no number pad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lofree Lite84 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Lofree Flow Lite100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 silent switches and low profile keys}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MACHENIKE K500 Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 94 keys untested Hot Swappable 94 Keys 90% Layout }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MechLands Vibe99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 100 keys untested Gasket-mounted Wired/Bluetooth/2.4GHz Wireless Mechanical Keyboard}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft Comfortable Curve 2000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no| recognized but not supported}} |- | <!--Description-->Microsoft Natural Ergonomic Keyboard 4000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|recognized but not supported}} |- | <!--Description-->Microsoft Wireless Media Desktop 1000 (1356) | <!--Vendor ID-->0x045e | <!--Product ID-->0x00f9 | <!--Revision--> | <!--Opinion-->{{maybe|working but not mouse part}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Niz Micro84 Duo82 X87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 electro capacitive }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->nuphy gem80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->nuphy kick 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 low profile 75% }} |- | <!--Description-->nuphy Air75 V3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 75% }} |- | <!--Description-->nuphy node 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 96% layout, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Qpad MK-50 MK-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Qpad MK-90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Razer Chroma | <!--Vendor ID-->0x1532 | <!--Product ID-->0203 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://openrazer.github.io/ Razer] Lycosa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Blackwidow 2013 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razr Blackwidow Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Cynosa Lite V2 | <!--Vendor ID-->1532 | <!--Product ID-->0x023f | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer DeathStalker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer HuntsMan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Ornata | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Orbweaver Chroma Keypad | <!--Vendor ID-->0x1532 | <!--Product ID-->0207 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Tartarus Keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested not hall effect and very expensive}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Redragon K668 RGB Gaming Keyboard Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys Upgraded Hot-swappable Socket,Red Switch}} |- | <!--Description-->Redragon K689 PRO Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested Gasket RGB Gaming Keyboard, 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys, Upgraded Hot-swappable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Risophy 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 75% mechanical, hotswap so okay for price untested }} |- | <!--Description-->Risophy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Royal Kludge RK65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested cream switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SINO WEALTH Gaming KB SkyLion K68 | <!--Vendor ID-->0x258a | <!--Product ID-->0x003a | <!--Revision--> | <!--Opinion-->{{No| blue stalks with rgb lighting}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SKYLOONG GK104 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested gateron }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->SteelSeries | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->TeckNet x300 2.4G Keyboard Mouse MosART | <!--Vendor ID-->0x062A | <!--Product ID-->0x4101 | <!--Revision-->0312 | <!--Opinion-->{{Yes|1 AAA for each and works well - mouse slightly better built than keyboard rubberised membrane}} |- | <!--Description-->TeckNet X331 HDE 2.4G Keyboard wireless RCMCU | <!--Vendor ID-->0x0C45 | <!--Product ID-->0x7000 | <!--Revision-->0001 | <!--Opinion-->{{Yes|wireless can be glitchy but few extra keys are mapped }} |- | <!--Description-->TeckNet X500 2.4G Keyboard Mouse MOSArt | <!--Vendor ID-->0x062A | <!--Product ID-->0x2901 | <!--Revision-->0112 | <!--Opinion-->{{Yes|works well especially large touchpad - usual rubber domed membraned keyboard mechanism }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tecware Specter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 75%}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Unicomp Model M USB 104 key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} IBM's and later Lexmark buckling spring switches |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varmilo Minilo Bluebell (prestige silent) and Eculapytus (violet tactile) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 75% plastic build no screws not great to mod}} |- | <!--Description-->Varmilo Sword 68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->Varmilo 98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 expensive but good and Kailh silent}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Weikav Velocifire Choice65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Weikav Velocifire Lucky65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Wobkey Crush80 Reboot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 very good but expensive Aluminum Hotswap Wireless RGB}} |- | <!--Description-->Wobkey Rainy 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% but not as expensive CNC Aluminum HMX/JWK/Cocoa Switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wooting HE60 HE80 HE90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 hall effect but expensive with good software}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Womier WK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2021 untested }} |- | <!--Description-->Womier Sk71 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xenta White Wireless HK6718B+HM3302--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|works with Raspberry Pi untested on AROS native}} |- | <!--Description-->Xinmeng X87 MAGIC_REFINER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 untested keycap swap but not hotswapable switches}} |- | <!--Description-->Yunzii AL66 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| milk switches, cherry PBT, }} |- | <!--Description-->Yunzi B75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget good with cocoa cream switches }} |- | <!--Description-->Yunzii AL75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|good budget option with swappable switches, }} |- | <!--Description-->Yunzii AL80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 switches }} |- | <!--Description-->Yunzi C75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 budget good with switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} <pre> linear - creamy tactile - thocky clicky - clacky </pre> <pre > Cherry MX Black are linear switches (no feedback); good for gaming. Cherry MX Red are linear (less noise no click) but more squishy; Cherry MX Brown are in between Blue and Red in style and tactile; Cherry MX Clear switches have soft tactile feedback (with no click). Cherry MX Blue have tactile feedback with a click (noisy); good for typing. Gateron Yellows KS-3, KS-3x47 or better Pros have a milky top and black bottom and linear TTC Silent Frozen v2. Linear and dead silent Mouse the huano brown with yellow dot for silent mouse clicks Kailh red dust proof encoder for smooth and close to silent scrolling Boba U4 Silent Tactile switches Husky linears HMX </pre > === Mouse === if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in '''s''' drawer/folder/directory sys:prefs/trident NOGUI > NIL: {| class="wikitable sortable" width="90%" ! width="10%" | Brand ! width="20%" | Description ! width="10%" | Model ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | 3Dconnexion | 3D Mouse | <!--Model-->[http://www.3dconnexion.com/products/spacenavigator.html SpaceNavigator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | 3D Mouse | <!--Model-->SpacePilot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Mouse | <!--Model-->SpaceExplorer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Wireless Mouse | <!--Model-->SpaceMouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->3D Optical | <!--Description-->Wired | <!--Model--> | <!--Vendor ID-->0000:3825 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Belkin | Combo mouse | | 0x05FE | 0x0011 | Low 0100 | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Cytec | <!--Description-->Wired Mouse Gaming | <!--Model-->R.A.T 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Dell | Mouse | MO56UC | 0x413C | 0x3200 | | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->equatech / clone logitech | <!--Description-->wireless mouse | <!--Model-->49779 / M185 | <!--Vendor ID--> 3151:2020 later 3151:3020 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{Yes|detected and works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Hama | RF Optical Mouse | AM-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keycron | <!--Description-->Optical Wireless | <!--Model-->M6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling and 16k dpi }} |- | <!--Brand-->Keychron | <!--Description-->Optical Wireless | <!--Model-->M7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested barebones 1k polling and 16k dpi, great for small hands, loud clicks}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->LogiCAD 3D | <!--Description-->3D Mouse | <!--Model-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Logitech | Cordless Desktop Navigator | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | Logitech Inc. | First/Pilot Wheel Mouse | N48/M-BB48 M-BE58 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested }} |- | Logitech | Wireless mouse | [http://www.logitech.com/en-roeu/mice_pointers/mice/devices/5484 M305] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} |- | Logitech | Wireless RF Mouse | MK710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | <!--Brand-->Logitech | <!--Description-->Wireless Mouse | <!--Model-->MX Master Anywhere 2S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|untested}} micro USB charge port on front |- | <!--Brand-->Logitech | <!--Description-->Wireless | <!--Model-->M220 silent | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|}} |- | <!--Brand-->Logitech Logi | <!--Description-->Optical | <!--Model-->MX Master 3S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|2021 untested usb-c bluetooth, inbuilt battery but muted clicks}} |- | <!--Brand-->Logitach | <!--Description-->Optical | <!--Model-->G502 X Plus | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|2022 very clicky}} |- | <!--Brand-->Logitech | <!--Description-->Optical | <!--Model-->MX Master 4 MXM | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{No|Bluetooth usb-c dongle, inbuilt lithium battery}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Brand | Description | Model | Vendor ID | Product ID | Revision | Opinion--> |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8566 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8518 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->OrzerHome Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8514 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1 aa with no on/off switch }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Microsoft | Wheel Mouse optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Sidewinder Mouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | IntelliMouse Explorer USB optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Wireless Optical Mouse 2000 | | 0x045E | 0x00F9 | | {{no|not working see keyboard Media Desktop 2000 above}} |- | <!--Brand-->Microsoft | <!--Description--> | <!--Model-->1461 1447 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|usb dongle matched to one mouse only no others}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Orochi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Mamba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Naga | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} 17 buttons |- | <!--Brand-->Razer | <!--Description-->USB Optical | <!--Model-->Naga Hex V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} MOBA Gaming Mouse, Professional Grade 16,000 DPI Sensor - RGB lighting |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->DeathAdder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Viper | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Basilisk V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling, 35k dpi, }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Trust | Slimline Lasermouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | SteelSeries | Tobii EyeX EyeMobile PCEye | Eye Tracking Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} gaze interaction track technology for augment augmentative and alternative communication (AAC). |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->The Eye Tribe Tracker | <!--Description-->Eye | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description-->USB Optical Mouse | <!--Model-->MV3000 | <!--Vendor ID-->0x192f | <!--Product ID-->0x0916 | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |} === Trackball === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->3Dconnexion SpaceBall 5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} Labtec designed and rolled into new company 3dconnexion 2001 by owners Logitech |- | <!--Description-->ACCO Kensington Orbit optical F1233A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kensington Turbo Mouse 64210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Clearly Superior Technologies. Model:CST 1000-RC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Trackman Marble Mouse Wired USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Cordless Trackman Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Optical Trackman T-RB22 - Cordless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech M570 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft Trackball Mouse Optical 1.0 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft X05-87473 Trackball USB Optical | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === KVM === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->NanoKVM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === Gamepad === Controllers have mostly decided that the left analog joystick is keyboard equivalent of WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice. Testing can be done with the TRIDENT Prefs, [https://devicetests.com/controller-tester html5], [https://greggman.github.io/html5-gamepad-test/ html5], or [https://gamepad-tester.com/ Tester] ==== Dinput Poseidon Default Plugin - Playstation(TM) style ==== {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Betong Bat D2E BTP-BD2E XD4D2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gravis Eliminator Gamepad Pro USB | <!--Vendor ID-->047d | <!--Product ID-->4005 | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick-->{{N/A}} | <!--Opinion-->2002 2d only |- | Hama Black Force USB Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2003 psx clone look |- | <!--Description-->Jess Tech Game Elements Philips GGE909 PC Recoil Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | [http://www.youtube.com/watch?v=TCbAmIhj6P4 Logitech Wingman Precision USB] G-UC3B | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{N/A| }} | 2002 no 3D but good for 2D retro games like Turrican II |- | <!--Description-->Logitech Wingman Action Pad G-UB3A | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | <!--Opinion-->2002 1 blue lucid translucent - thin analog stick N64 type - |- | Logitech Wingman RumblePad UB05B | <!--Vendor ID-->0x046d | 0xc20a | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untesed }} | 2000 twin blue analogue sticks N64 type - poor 2d controls with single molded blue piece - vibration feedback - single shoulder buttons with throttle control below right one |- | Logitech Wingman Cordless RumblePad G-RA4A | <!--Vendor ID-->0x046d | 0xc211 | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | 2001 twin blue analogue sticks N64 type - poor 2d controls with single molded black piece - vibration feedback - dual shoulder buttons L1 L2 R1 R2 with blue throttle control below right one - 4 aa mn1500 batteries; life not great - C-UD10A usb dongle - overall big and bulky |- | <!--Description-->Logitech Precision Wired G-UG15 | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech Cordless Precision G-X2E14A | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 ps2 styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech G-X5C11A Cordless Precision Wireless Controllers | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling black outer shell - no 3D analog and no shoulder buttons - no rumble |- | [http://www.testfreaks.co.uk/game-console-accessories-controls/logitech-dual-actiontm-gamepad/ Logitech Dual Action] * G-UD8 has no mode (2D only?) button and no rumble * G-UF13A later | <!--Vendor ID-->0x046d | 0xc2 | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 G-UF13A tested only]}} | 2003 New body shape psx style - dual analog 3D sticks - 4 small travel shoulder triggers no 5,6,7,8 |- | Logitech RumblePad 2 G-UF13 | <!--Vendor ID-->0x046d | 0xc218 | 1.00 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | 2006 light blue top/black base - twin analogues 3D along with dual short travel shoulder buttons - rumble present - |- | <!--Description-->[Logitech RumblePad 2 Cordless] * G-RC?? OLD version that take FOUR batteries and RED Logitech logo * G-RC14 uses TWO batteries has an ORANGE logo - dongle C-UE10 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc219 | <!--Revision-->0x0200 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|mostly}} | <!--Opinion-->2008 may have to remove 1 battery - G-RC?? 5 + 7 buttons - G-RC14 use buttons 6 + 8 to reset sticks - replace battery and push large button on receiver - |- | <!--Description-->Logitech F310 Wired Dual Action G-U0001 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|D mode switch}} | <!--Opinion-->2010 dual analog 3D with pc-xbox/psx switch on back (only D works) - both rear shoulder RT LT buttons have excess travel - no rumble vibration - |- | <!--Description-->Logitech F510 Wired G-UG0002 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2010 dual analog with dual xbox pc/psx X/D switched compatibility modes - |- | Logitech F710 Wireless / Cordless RumblePad 2 G-R0001 | <!--Vendor ID-->0x046d | 0xc219 | 3.05 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | When switch on top set to D and nano receiver for each controller to pair - 2 aa mn1500 batteries required - rumble support sometimes - rear back shoulder buttons excessive travel needed |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Megaworld 'TIME' USB pad | <!--Vendor ID-->0x0735 | <!--Product ID-->0x9902 | <!--Revision-->Low 0100 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{No |}} | <!--Opinion-->2000 Poor quality |- | <!--Description-->Microsoft * SideWinder Precision Pro USB (1997) * SideWinder Precision 2 (1998) * Game Pad Pro (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Sidewinder Game Pad USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{yes| }}} | <!--Analogue Hack with Analog Stick-->{{yes| }} | <!--Opinion-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5934#post_5931 must setup first] |- | <!--Description-->Microsoft Sidewinder Gamepad X04 Freestyle | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A }} | <!--Opinion-->{{N/A|untested}} 1998 might need USB adapter |- | <!--Description-->Microsoft Sidewinder X05 63895 92626 Flight stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{unk| }} | <!--Opinion-->{{Yes|2000 [https://ae.amigalife.org/index.php?topic=929.msg11309#new tested]}} |- | <!--Description-->Microsoft Sidewinder Flight Stick X08-58736 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Plug & Play Game Pad (2000) SideWinder Joystick (2000) Game Pad 2.0 (2001) SideWinder Force Feedback 2 (2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2002 long-standing static buildup problem and Force Feedback 2 was the removal of the power brick |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | Saitek [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps1000/ PS1000 Cyborg V.1], [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps2700-rumble-pad/ PS2700] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek [http://www.youtube.com/watch?v=xG0v-hf6ZPA P2600] [http://compactiongames.about.com/od/hardware/tp/gamepads.htm P3600], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek P2900 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested but runs on 1 AA battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Sony Batoh PS3 mini USB Wired hookup [http://ps3.jim.sh/sixaxis/usb/ SIXAXIS] *PCB Ribbon Notes *Protos ALPS MSU Rev3 M3 and the later CBEH-1019 *? SA1Q135A for sixaxis *PP4 *V2 *V25 *VX SA1Q146A first dualshock 3 model *VX SA1Q147A CECHZC2U (USA) *VX35 SA1Q159A *VX3 SA1Q160A *VX? SA1Q188A *VX4 SA1Q189A shipped with a CECH-2504 datecode 0C *VX5 SA1Q194A changed design ALPS, PS button changes *VX6 SA1Q195A red case, *VX7 SA1Q222A superslims 2 ribbons *VX8 SA1Q224A superslims 2 ribbons | <!--Vendor ID-->0x054c | <!--Product ID-->0x0268 | <!--Revision-->1.00 | <!--Merge with USB on Digital Pad-->{{No|}} | <!--Analogue Hack with Analog Stick-->{{No|}} | <!--Opinion-->Sometimes detected but no support - no sixaxis features detected - mini usb lead will have varying results - |- | <!--Description-->Sony PS4 *JDM JDS 001 010 011 *JDM 030 040 055 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Sony PS5 Dual Sense | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speed Link Strike 2 FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster Firestorm Dual Power 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 only 1 axis joystick only]}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Trust Predator GM-1500 GM-1520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 M series Aluminum Metal Joystick Hitbox Controller Arcade Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 T series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 G series Gamefinger G12 G13 G16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> plastic - |- | <!--Description-->Haute42 S series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> thinner and lighter than G series |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mad Catz sf2 fightstick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Datel Paewang Arcade Pro Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F300 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F500 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Pico Flatbox GP2040-CE Hot Swappable Mini Hitbox Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> default it is configured for PS4 but before plugging usbc cable in, X for Dinput, B Xinput, RT HID - plastic build case - Rev4 based on RP2040 chip and firmware is based on GP2040-CE (Community Edition) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Shenzhen Onebitdo Tech 8bitdo Fighting stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Venom 8 button | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} ==== Xinput Xbox Style Plugin ==== 2018 extension added originally called AROSx but later redacted. Latest [https://github.com/medusalix/xone linux driver] might be useful. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->8bitdo Ultimate C Wired 82CB (Shenzhen ONEBITDO TECH - GWOWO) | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x3106 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2022 - 4 t6 torx screws - non hall effect so drifting issues - triggers go faulty often - |- | <!--Description-->8bitdo Ultimate 2C Wired Controller 82CD | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x310A | <!--Revision-->0114 | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - HID keyboard assigned - 4 t6 torx screws - hall effect analogs and triggers - 1000Hz polling - |- | <!--Description-->8bitdo Ultimate 2C wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - 400mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad poor for retro games - |- | <!--Description-->8bitdo ULtimate Mini Wired Controller for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->8BitDo Pro 2 *Wired Controller *Wireless *Bluetooth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect - playstation style layout for pc - slide button for S-A-D-X switch, android, dinput or xinput - |- | <!--Description-->8BitDo Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 tmr hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description-->8bitdo Ultimate 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2026 - mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad for retro games - |- | <!--Description-->8BitDo Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Ace Aurora | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks with no deadzone mode, gyro, linear rumble, trigger stops, back paddles, button swap, macro, turbo, RGB LED effects - tri-mode connection - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Beitong Spartan BTP-2270U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect |- | <!--Description-->Betop Betong Asura 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect - noble linear trigger potentiometer and alps shoulder LB/RB micro switch |- | <!--Description-->BEITONG ASURA 2 Pro+ Game Controller Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Beitong Zeus 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BebonCool Dinofire Model Number: Q218 / TP28 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 - triggers aren't progressive but ON/OFF - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect analog and triggers - tri mode connection - |- | <!--Description-->EasySMX Wireless Controller PC PS3, 9013pro ESM-9013PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 linear hall effect but device sometimes will not connect tried multiple attempts with the dongle |- | <!--Description-->EasySMX X10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY MICRO SWITCH - Bumpers Tactile switch Hall Effect analog |- | <!--Description-->EasySMX X15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect analog and triggers - membrane buttons - |- | <!--Description-->EasySMX S10 Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 TMR Hall effect and compatible with Switch 2/PC/Phone/TV/Steam, NFC, Gyro, HD Rumble - |- | <!--Description-->EasySMX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->202 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Fantech World EOS Pro WGP15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect trigger and sticks,2 back paddles, motion controlling |- | <!--Description-->Fantech EOS PRO II S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 controller with TMR hall effect analogues, mechanical face buttons and D-pad, 63 input macro, back paddles, turbo - analog triggers with trigger stops - tri mode bt wifi and wired - slide switch on back for switch, macos/android and xinput - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Flydigi Apex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 luxury model |- | <!--Description-->Flydigi Vader Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 the Pro(Hall Effects) and Non-Pro (No Hall) |- | <!--Description-->Flydigi Direwolf 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 hall effect sticks and triggers - poor wifi connection - |- | <!--Description-->Flydigi Apex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 luxury model |- | <!--Description-->Flydigi Vader 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - hall effect, DInput mode (o+A hold) - |- | <!--Description-->Flydigi Direwolf 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 hall effect analog and triggers but membrane buttons with gold contacts - 800mhA battery - |- | <!--Description-->Flydigi Dunefox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 basic model hall effect analog and triggers but membrane buttons - 500mha battery - no gyros - |- | <!--Description-->Flydigi Vader 5 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2025 - hall effect stick with tension control, linear triggers, DInput mode (o+A hold) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir T4K Keleid, T4C Cyclone wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 poor to ok switch |- | <!--Description-->Gamesir Nova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no|| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - switch type layout |- | <!--Description-->Guangzhou Chicken Run Network Tech Nova Lite GameSir-T4n LITE - Zikway HID gamepad *[https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 4200 seems to be xbox so B then Home for Xinput (green LED), A then Home for HID BT Android (green/yellow LED), Y then Home for Switch Pro (Red LED)] or X then Home for Wifi and start and select to alternatively swap modes * and if on [https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 5700 ds4 so Home + B (blue LED), ] * firmware 6900 | <!--Vendor ID-->0x3537 | <!--Product ID-->0x1040 0x1041 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - hall effect 3d nubs - no usb-c cable - rubber membrane analog trigger travel and bumpers shoulder buttons - wifi 2.4G and bluetooth - xbox layout so ab and xy might need to be swapped via m and a buttons for switch type [https://www.youtube.com/watch?v=po-nNuC5fps fixes video] - 250Hz polling - 600mah battery - rigid carry case - poor d-pad esp diagonals - gamesir settings software only on android 6+ or ios based only - |- | <!--Description-->Gamesir Nova 2 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir G7 SE Wired Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->GameSir G8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir TEGENARIA T3 Lite Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 playstation aesthetic hall effect analog and membrane buttons - X+Home button connects as an Xbox controller |- | <!--Description-->GameSir Cyclone 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR Joysticks with anti-friction rings and metal anti-friction rings around the stems, gyro, rumble, macro, turbo, 2 back paddles, hall analog triggers with micro-switch trigger - tri mode bluetooth, 2.4GHz wifi and wired, 1000hz polling rate - gamesir connect software - |- | <!--Description-->GameSir G7 Pro for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR hall effect - hall effect triggers, tri mode connection - gamesir nexus software - |- | <!--Description-->GameSir Super Nova Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect sticks and triggers, 1000Hz polling, tri mode connectivity, |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->GuliKit KingKong 2 NS08 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->Electromagnetic Stick hall effect - hall linear triggers - Mechanical face buttons - wired and wireless - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong 2 PRO NS09 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall efect - wired and wireless - Mechanical face buttons - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong MAX 3 KK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall effect - wired and wireless - lithium battery - |- | <!--Description-->Gulikit KK3 Max USB-c Bluetooth Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Hall Joysticks and Triggers, Maglev/Rotor/HD Vibration, 1000Hz Polling Rate, 4 Back Buttons, |- | <!--Description-->GuliKit KK3 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 smaller version of KK3 MAX - hall effect analog and triggers, face buttons , maglev rumble, gyro, 4 back paddles - rigid case - 950mAh up to 8 hrs - |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hyperkin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hori EX2 Turbo UHX3-45 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Machenike G1 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Wireless Gaming Controller with 1K Polling Rate Hall Effect Trigger Joystick For Nintendo Switch PC iOS Android |- | <!--Description-->Machenike G5 Pro Wireless Gaming Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY Switch Membrane, Bumpers Tactile switch and hall effect analog |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->microsoft sidewinder precision pro | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | 0x045e | 0x028e | 0x | <!--Merge with USB Digital Pad-->{{No|needs specific driver and has poor 2D control pad}} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | Microsoft (R) [https://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ Xbox 360] (TM) Wireless Receiver for Windows(R) Model 1086 and Controller | 0x045e | 0x0719, 0x or 0x0291 | 0x0100 | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->{{No|separate standalone usb dongle detected and shows as 8 vendor interfaces but no class associated and so not working - may need new class from code from xpad or xboxdrv to work the controllor}} |- | <!--Description-->Xbox 360 Kinect [http://hackaday.com/2010/11/10/kinect-open-source-driver-demo-and-hacking/ Video] [http://git.marcansoft.com/?p=libfreenect.git;a=commit;h=7655fcf7239ba4907654089dba535a196685dbe5 GIT] | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2007 proprietary 2.4GHz RF protocol, |- | <!--Description-->Xbox One Wired Controller | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion--> |- | <!--Description-->Xbox One wireless controller newer model with the 3.5mm headphone jack 1537 1697 and microsoft adapter | <!--Vendor ID-->0x045E | <!--Product ID-->0x02d1 or 0x02dd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2014 |- | <!--Description-->Microsoft Elite Series 1 | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e3 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2016 ok - |- | <!--Description-->Xbox later models 1708+ Xbox One and Series use 5GHz and use Bluetooth, | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e0 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2017 |- | <!--Description-->Xbox One S | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ea 0x02fd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2019 |- | <!--Description-->Microsoft Elite Series 2 Core | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ff | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2022 ok - no hall - 125Hz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Minisform MGP01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MOBAPAD N1HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 has liquid silicone face buttons, hall effect analog, D-Pad swap, two back paddles, USB-A dongle, HD Rumble - |- | <!--Description-->Mobapad Huben 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 |- | <!--Description-->Mobapad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Gale 墨将 mòjiāng | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Blitz PRO 2 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON now MOJHON AETHER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks, hall effect triggers, mechanical bumpers, 1000hz polling rate, mechanical D-pad, membrane face buttons, mechanical back paddles, rumble, deadzone issues - tri mode |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MSI FORCE GC20 GC30 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 not hall effect |- | <!--Description-->MSI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mytrix Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->NACON GC-100XF Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 average |- | <!--Description-->PXN P5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect joysticks & triggers, limited trigger stops, 1000hz polling rate on wired, 4 back paddles, 32 macro record, anti-deadzone mode, RAW mode, gyro, turbo, tri-mode connection - |- | <!--Description-->PXN P50L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->PowerA | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Stellar T5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Junior E5 Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Razer Wolverine V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->RetroFlag | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speedlink XEOX Pro Analog Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->enclosed lithium battery? - xbox layout - switchable on back of controller to directinput (dinput) or xinput - USB dongle switchable to pc and ps3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SCUF Instinct Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2022 good |- | <!--Description-->SCUF Envision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Steel Series Stratus Duo XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->usb adapter needed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[https://inputlabs.io/Inputlabs InputLabs Alpakka Open Source and build yourself] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY it with 3d printer, pcb and components - pi pico needed - 2 gyros for better accuracy - |- | <!--Description-->[https://inputlabs.io/kapybara Inputlabs kapybara] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY one handed version wip |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Vilcorn Z03 BT Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - other Bluetooth modes (green, red, blue, purple, etc.) Select + M1 (or M2) - 400mAh - not great latency wired - 800mhz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd ultimate legend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd 0+ elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description-->zd 0+excellent | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} <pre> #ifndef AROSX_LIBRARY_H #define AROSX_LIBRARY_H #include <exec/types.h> #define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00 #define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01 #define AROSX_GAMEPAD_DPAD_UP 0x0001 #define AROSX_GAMEPAD_DPAD_DOWN 0x0002 #define AROSX_GAMEPAD_DPAD_LEFT 0x0004 #define AROSX_GAMEPAD_DPAD_RIGHT 0x0008 #define AROSX_GAMEPAD_START 0x0010 #define AROSX_GAMEPAD_BACK 0x0020 #define AROSX_GAMEPAD_LEFT_THUMB 0x0040 #define AROSX_GAMEPAD_RIGHT_THUMB 0x0080 #define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100 #define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200 #define AROSX_GAMEPAD_A 0x1000 #define AROSX_GAMEPAD_B 0x2000 #define AROSX_GAMEPAD_X 0x4000 #define AROSX_GAMEPAD_Y 0x8000 struct AROSX_GAMEPAD { ULONG Timestamp; UWORD Buttons; UBYTE LeftTrigger; UBYTE RightTrigger; WORD ThumbLX; WORD ThumbLY; WORD ThumbRX; WORD ThumbRY; }; #define AROSX_EHMB_CONNECT 0x00 #define AROSX_EHMB_DISCONNECT 0x01 #define AROSX_EHMF_CONNECT (1L<<AROSX_EHMB_CONNECT) #define AROSX_EHMF_DISCONNECT (1L<<AROSX_EHMB_DISCONNECT) struct AROSX_EventHook { struct Node eh_Node; struct MsgPort *eh_MsgPort; ULONG eh_MsgMask; }; struct AROSX_EventNote { struct Message en_Msg; ULONG en_Event; APTR en_Param1; APTR en_Param2; }; #endif /* AROSX_LIBRARY_H */ </pre> === Joystick === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CH Products CombatStick 568 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Cyborg X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Extreme 3D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | [Logitech Attack 3 Joystick] | 0x0464 | 0xC214 | 0205 | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek X-52 x52 pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek aviator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | Speedlink Competition Pro USB | | | | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{maybe|works but games not working "out of the box"}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust Predator QZ 501 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator TH 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator GM-2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust XK 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- |} ===[https://github.com/JacKeTUs/linux-steering-wheels Gaming Racing Steering Wheels]=== {| class="wikitable sortable" width="90%" ! width="25%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="40%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> [https://www.usb.org/sites/default/files/documents/pid1_01.pdf USB PID standard not supported], |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cammus C5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fanatec CSL Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 and Xbox - belt driven wheel - 30cm wheel swapping |- | <!--Description-->Fanatec Club Sport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt $600 £500 system |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FFBeast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genius TRIO RACER F1 Racing Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Cheap and cheerful but not great - may need calibrating |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hama PC Racing Wheel Thunder V18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Average |- | <!--Description-->Hori Racing Wheel 3 with pedals | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PC |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logic3 PXU450 TopDrive GT450 Steering Wheel for PS3, PS4, XBox One and PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logitech MOMO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Very good |- | <!--Description-->Logitech Driving Force GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Logitech Drive Force Pro DFP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> wheel 900 degree - weighs in at 15&nbsp;lbs |- | <!--Description-->Logitech Formula Force EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->200 degrees turn for the EX model is arcade-like driving - adds PS3 compatibility via the PSx/2 adaptor - weighs in at 9&nbsp;lbs |- | <!--Description-->Logitech G25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> - needs external psu - |- | <!--Description-->Logitech G27 PC/PS3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> comes with gear shifter - needs external psu - |- | <!--Description-->Logitech G29 PC PS3/PS4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G920 PC XboxOne | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G923 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft(R) SideWinder Precision Racing Wheel (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R3 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R5 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R9 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R12 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Ultrawipf/OpenFFBoard OpenFFBoard], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simagic M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> base direct drive $900 £800 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simplicity Simwheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> direct |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simxperience Accuforce V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SPEEDLINK Drift O.Z. Racing Wheel with Pedals and Gear Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SteelSeries Simraceway SRW-S1 Steering Wheel (PC) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Nascar Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Ferrari Challenge Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> Poor |- | <!--Description-->Thrustmaster Ferrari FGT Rumble GT Experience 3-in-1 (PC/PS3) | <!--Vendor ID-->0x044f | <!--Product ID-->b658 | <!--Revision-->0102 | <!--Merge with USB Digital Pad-->{{Yes|Wheel and all buttons detected}} | <!--Analogue Hack with Analog Stick-->{{Maybe|}} | <!--Opinion-->Not great - gear driven 240deg wheel rotation - no psu needed - 2 peddle - flappy gear change - rumble untested - red switch for PC PS3 selection |- | <!--Description-->Thrustmaster F430 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T500 RS Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> belt driven wheel/rumble for GT5 |- | <!--Description-->Thrustmaster T60 Challenge | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T150 Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> gear / belt combo wheel / rumble - 2 peddle |- | <!--Description-->Thrustmaster TMX Pro PC/XboxOne | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> direct drive rumble - no manual gear shift included |- | <!--Description-->Thrustmaster T80 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Base level and OK - PS4 - 270deg rumble - 2 peddle |- | <!--Description-->Thrustmaster T300 RS GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PS4 - belt driven - 900deg rotation and modular 28cm wheel out - 2 peddles but 3 available |- | <!--Description-->Thrustmaster TX Leather | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->TX Xbox version - 900deg rotation |- | <!--Description-->Thrustermaster TS PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PC only belt wheel |- | <!--Description--> TS XW Racer PC Xbox1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt system |- | <!--Description-->Thrustmaster T-GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 $700 £600 with T-DFB |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Tracer Zonda Racing Steering Wheel PC PS3 Vibration Feedback Pedals Gearbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- |} ===Gamepad Joypad Adapters=== * Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted. * Some adapters do not work with some [http://www.stepmania.com/wiki/Dance_Pads dance pads] because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems. * If using an adapters should be compatible with '''original''' PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->[http://www.maplin.co.uk/psx-usb-bridge-34887?tabid=3&worldid=&doy=21m9&faqitem=playstation%20controller%20to%20pc%20adaptor Maplin] [http://www.rockfire.com.tw/ Padix Co. Ltd. Rockfire] PX-205 PSX/USB Bridge | <!--Vendor ID-->0x0583 | <!--Product ID-->0x2050 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes}} but buttons mapped different from others | <!--Analogue Hack with Analog Stick-->{{Maybe|poor}} | <!--Opinion-->Ok with dpads, but very poor support with analogue hack |- | Boom PS Joy Converter adaptor | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | discontinued (2004/5). Hold Up, Start, and Select for three seconds. Very good [http://www.stepmania.com stepmania] recommendation. |- | [http://www.hkems.com/m_main.htm EMS] [http://www.hkems.com/product/ps2/ps2-usb2.htm USB2] grey plastic box with 2 PSX ports, one on either side - UP and Select pressed for 3 seconds at the same time or the dance code (start+select+up) | | | | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows the PS port works in digital mode on d-pad}} | <!--Analogue Hack with Analog Stick--> | Set in PC switch mode. Does not work when using 2 pads at the same time, likely higher power requirements. FPSE emu DualShock untested, Mat and Guitar untested but known lag involved |- | Joytech (play.com) (EMS USB2 bad clone) Black box twin PSX | 0x0b43 | 0x0003 | 0x0 | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | but poor on dance ddr mat and guitar hero as the left and right keys do not like being pressed together, Dual shock untested |- | [ EMS Trio Linker ] 1 PSone connection at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued 2005 |- | [http://psxemulator.proboards.com/index.cgi?board=support&action=display&thread=421 EMS Trio Linker Plus] (blue box) 1 PSx at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued |- | Gamtec [http://www.gamestone.co.uk/gradius/guides_usb_smartjoy_guide.php SmartJoy Plus] Lik Sang PS->USB converter Red 2005 | 0x0925 | 0x0005 | Low 0110 | <!--Merge with USB Digital Pad-->{{Maybe|detected and digital dpad works with [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4138&forum=2&post_id=35952#forumpost35952 joystick and testjoystick tests] but the second analog control is not mapping correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue Hack - hardware buggy not useable}} | Dual shock untested, Mat and Guitar untested. Nothing picked up upon plugging it in. Quite common, these items have grounding issues or feed voltage back into the USB host and freeze the host controller, preventing any plugins or removals being detected. |- | Gamtec SmartJoy Plus Dual PS->USB converter Red | 0x0925 | 0x00 | Low | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | |- | [http://uk.gear.ign.com/articles/700/700334p1.html Lik-Sang Super SmartJoy PSX] | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX |- | Soyo Kiki Kiky | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | eXcel PSX adaptor shaped a little like a stealth bomber with USB pass through | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Venom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Dragon Plus (Radio Shack) Pantherlord GreenAsia USB to PS2/PS3 converter single black cable | 0x0e8f | 0x03 | 1.07 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | |- | Deal Extreme 2 PSX black cables from 1 USB port | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested }} |- | <!--Description-->HDE 2014 Personal Communication Systems Inc | <!--Vendor ID-->0x0810 | <!--Product ID-->0x0001 | <!--Revision-->0106 | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Same as single cable above but with black block midway along cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> |- | <!--Description-->TigerGame Ltd Mayflash PC001 Super Joy Box 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Ltd Mayflash PC016 Super Joy Box arrowhead triangle twin PSX] Original was lack with RED Leds. Clones Dilong pu203, Blue HDE Neewer ShineData SD-APS2USB, Red Octane and Black PC Power Box (NS3454) '''embossed circle''' on top | 0x0810 | 0x0001 | 1.06 | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows one PS port does not work with analog control at all but the other port does and maps correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works }} | Still available 2013, poor construction though, falls to pieces easily. Dual Shock untested, Mat and Guitar untested |- | <!--Description-->TigerGame Ltd [http://www.mayflash.com/pc/pc038/pc038-1.htm Mayflash PC038 Super Joy Box Pro triangle twin PSX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Limited Mayflash SuperJoy Box 5 PC006 long V-shaped 4 port PS/PS2 Game Controller Adapter | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | |- | <!--Description-->TigerGame Limited Mayflash SuperJoy Box 5 PRO PC039 PS/PS2 Game Controller Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | Boom PSX+N64 USB converter (purple or blue see through box) (2003/4) - red led for psx and green led for n64 | 0x6666 | 0x0667 | 0x0 | <!--Merge with USB Digital Pad-->{{No|not detected by Tests/joystick}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue hack }} | Rumble Pak untested |- | [http://www.hkems.com/product/ps2/TrioLinkerPlus2.htm EMS Trio Linker Plus II] | | | | <!--Merge with USB Digital Pad-->{{Yes| }} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4753&forum=24&post_id=43102#forumpost43102 ] | <!--Analogue Hack with Analog Stick--> | 1DC 1GC 1PSX but not for ddr mat games |- | TigerGame Mayflash PC043 clone HuiJia Black twin N64 converter for PC USB | 0x0e8f | 0x3013 | 0x0 | <!--Merge with USB Digital Pad-->{{No|detected by Tests/joystick though two digital pads have their settings wrong}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works well with middle handle/grip little joystick}} | Rumble Pack untested |- | TigerGame Mayflash PC MagicBox SuperBox 3 | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | untested 1SS 1DC 1PSX } |- | <!--Description-->Lik Sang SmartJoy X | <!--Vendor ID-->0x045e | <!--Product ID-->0x0285 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SmartJoy X2 | <!--Vendor ID-->0x045e | <!--Product ID-->0x0289 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Mayflash PC018 Super Joy Box 9 Xbox (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work. Hub(s) 0x0288 detected but 0x0289 xbox1 joypads are not detected as hid let alone as [http://www.amiga.org/forums/archive/index.php/t-62940.html xpad] or [http://pingus.seul.org/~grumbel/xboxdrv/ linux xboxdrv driver] |- | TigerGame Mayflash PC019 Super Joy Box 10 Xbox Twin ports (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work with the big Fatty Duke or smaller S Akebono controller(s) |- | TigerGame Ltd Mayflash PC020 Super Joy Box 11 Xbox Quad ports (NOT 360) | 0x05e3 | 0x0604 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | |- | <!--Description-->TigerGame Ltd Mayflash PC035 3 in 1 Magic Joy box PS GC Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to NES [http://wiki.nesdev.com/w/index.php/Standard_controller SPI like protocol] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Buffalo Classic USB Pad SNES like | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC044 USB to SNES | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to MEGADRIVE GENESIS Joypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[http://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB to 9 pin ATARI RETROPORT style JOYSTICK PORT] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Atari RetroLink 9pin to SB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SLS Sega Saturn USB pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC050 Dual Saturn ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Guitar Hero for PC/Mac | <!--Vendor ID-->0x1430 | <!--Product ID-->0x474C | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Cronus Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BrookX One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Gamecube to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Magic NS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> WiiU |- | <!--Description-->Brook Converter WiiU P3 P4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->CooV Xbox One Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} * [http://www.bemanistyle.com/forum/f6/best-metal-pad-19066/ Metal dance pads with LEDs] - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool), * Hard foam mat - [http://www.mayflash.eu/3in1-deluxe-dansmat-ignition-foam-ps2xboxpc-p-5.html Mayflash] FutureMax Deluxe 3 in 1 Ignition, [http://www.gamerose.com/ Gamerose] (Stay Cool), TrinPad orange, * Soft foam mat - Logic3 (PS420N), [http://www.positivegaming.com/index.php?id=36 Positive Gaming Impact], Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz *PS1 PS2 PS3 PS4 flex ribbon big source of button/trigger issues with all controllers *PS2 Phat KSA1Q40A (Board), SA1Q33A (Membrane) SCHP-10010 H *PS2 SA1Q42A SCHP-10010 A *PS2 SA1Q43-A SCHP-10010 H The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action. {| class="wikitable sortable" width="90%" ! width="10%" | Joypad ! width="5%" | HATS ! width="5%" | Button 01 ! width="5%" | Button 02 ! width="5%" | Button 03 ! width="5%" | Button 04 ! width="5%" | Button 05 ! width="5%" | Button 06 ! width="5%" | Button 07 ! width="5%" | Button 08 ! width="5%" | Button 09 ! width="5%" | Button 10 ! width="5%" | Button 11 ! width="5%" | Button 12 ! width="5%" | Button 13 ! width="5%" | Button 14 ! width="5%" | Axes 1 ! width="5%" | Axes 2 ! width="5%" | Axes 3 ! width="5%" | Axes 4 ! width="5%" | Axes 5 ! width="5%" | Axes 6 ! width="10%" | Comment |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | | A (down-green) | B (right-red) | X (left-blue) | Y (up-yellow) | LB (white) | RB (black) | Back | Start | Guide | L3 | R3 | | | | Left X | Left Y | LT | Right X | Right Y | RT | Poor 2D, Good 3D |- | <!--Description-->Gravis GamePad / Original PlayStation Controller | <!--HATS DPAD--> | <!--Button 01-->Red (Sqleft) | Yellow X (X down) | Green O (O right) | Blue (Tri up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | | | | | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Older Adapters | <!--HATS DPAD--> | <!--Button 01-->Blue X (down) | Red O (right) | Pink Sq (left) | Green Tri (up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | Stick 1 | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Newer Adapters | <!--HATS DPAD--> | <!--Button 01-->Up | Right | Down | Left | L2 | R2 | L1 | R1 | Select | <!--Button 10-->Start | Stick 1 (analogue Hack) | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> Wish Technologies N64 Adaptoid | <!--HATS DPAD--> | <!--Button 01--> A | C Down | C Right | B | C Left | C Up | L | R | Start | <!--Button 10-->Z | Pad Up | Pad Down | Pad Left | Pad Right | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- |} Just plug in your digital/analogue joystick or gamepad into USB port. The device will be handled by Poseidon USB stack. Poseidon is the USB stack with Trident adding a GUI (graphical user interface) prefs. the context sensitive page would come up right on pressing the help key inside the relevant window. The manual is in this archive, just in case it isn't in SYS:Locale/Help *How to change joystick mode to analogue? By default a connected USB joystick emulates Amiga digital joystick. To change this behaviour so that the joystick is presented as analogue you need to use Trident preferences application (System:Prefs/Trident). Open Trident and go to Devices on the left hand side (mouse click once on it). Select your controller from the list to the right and then click on Settings button below. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section near the bottom. Find ports which are set to "Merge with USB" or "Override with USB" and change them to "Analogue Hack". Please note that analogue joystick support is an extension of original Amiga functionality, thus an Amiga application must be explicitly written to use it. AROS SDL library uses this functionality, thus all SDL applications that use joystick, can use the analogue joystick feature. The HID class has several options how to handle the input data: * Don't touch: The movement and button data for is not modified by the hid class. This is the default for the ports 0, 2, and 3. * Overwrite with USB: This will kill the original data that might had come from the internal ports and overwrites it with the joypad data for this USB interface. Note well: If you have multiple joypads connected, take care which setting you have selected for each port, because only the last interface with this option will actually send the joypad data to the game. * Merge with USB: This option merges the input data of the lowlevel.library with the USB stream. This only works, if the connected device on the original Amiga ports is NOT a mouse (because then the streams are incompatible). Merging should be the preferred method, because it leaves the original joysticks working. * Disable: Turns off the port for the application. * Analogue Hack: Tells Poseidon to force reporting of analogue data at the port. Please note that this only works with programs that understand the analogue data, because it's an extension to the original lowlevel.library standard made by Commodore. If you want to incorporate this feature in your software, just contact me and I will send you the necessary information. * Rumble Port: As addition to the analogue data, the HID class supports applications and games that want to utilize a rumble pack or force feedback motors in the gamepads. This field selects to which lowlevel port the hid device responds, when attempting to use the rumble pack. Normally, this corresponds to the port that has been set in the actions for the joypad. *How to change joystick port assignment? The low level library supports up to four ports. Port 0 is usually used by the mouse, port 1 is the standard port for joysticks/joypads. By default a connected USB joystick is present in Port 1. To change its location to Port 0 you need to use Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section. Port 1 should be set as either "Merge with USB" or "Override with USB". Change this setting to "Don't touch". Change Port 0 setting to "Merge with USB". Go to "Actions" tab. In the "Reports and collection" select first entry named "Joystick". in the "Usage items" select "X axis". Go to "Performed actions" area. On the left there will be a list of triggers. Each of them should have (port1) in their params. Click on the first trigger and using buttons to the right of the list change port1 into port 0. Repeat this for all triggers and for all items on "Usage items" list. *How to make joystick simulate keyboard keys? With Poseidon it is possible to make the joystick simulate the keyboard pressings. This might enable using joystick for playing games which only have keyboard support. This feature is configured in Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. Go to "Actions" tab. On the right top window select X axis. On the left bottom list select an entry "Digital Joystick, Push left(port 1)". On the panel to the right change "Digital joystick" into "Raw Key". A list of keys will be displayed. Select key you wish to send. Repeat the same procedure for "Digital Joystick, Release left (port 1)" option but this time check "Send key up even instead of key down". Open shell and move your joystick to the left - your selected letter should appear in the shell. *Analogue in Trident Prefs * Open the Trident USB Prefs -> Devices -> Select your joypad -> Settings button -> Action TAB * See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s) * Check [x] Track Incoming Events which is half way down the window on the left And you should see some axis activity in "Usage items" when you move the analog stick *Actions HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area Reports and collections -> Usage Items -> Performed actions Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers. Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it. Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them. Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right. Set them to Raw, then assign an up and down button for each character, etc. when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release. The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input. check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down. misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics. *Rumble in Trident Prefs Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the '''General''' TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. '''Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected.''' The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect. ===Graphic Drawing Tablet=== There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones. to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events (which AROS has) * Entry level - A6 (6x4) work area * Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported) * Semi Pro A3 (12x9) * Pro Cintiq * 2005/6 Some support added for Wacom tablets * 2008 Wacom's patent on battery free pens expires {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Micrograf Tabby (late 1980s and early 1990s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->podscat pt 3030 graphics tablet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Summagraphics | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom IV compatible (Graphire, ArtPad, A3, A4, A5 and PenPartner CT-0405-P - Wacom intuos GD-0405-R) Waycom Digitiser II UD-0608-R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom Artpad II (KT-0405-R) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AceCad boards | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Calcomp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 8000 - Aldi/Medion MD 9310 and Aldi/Tevion LT 9310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Tablet PC penabled | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based like x61t X60t NC4200 NC4400 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> * Wacom PenPartner * PenPartner 2 * PenStation 2 | <!--Vendor ID-->0x056a | <!--Product ID-->0x0000 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Graphire - Wacom Tablet ET-0405-U UV1.1-1 (Slate Blue) ET-0405UL (lime) (orange) (red) (purple) | <!--Vendor ID-->0x056A | <!--Product ID-->0X0010 | <!--Revision-->0100 | <!--Opinion-->{{Yes|late 90s with A6 size - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511 under Trident prefs. Air pen mouse type movements }} |- | <!--Description--> * Grapphire 2 4x5 ET-0405A-U UV2.0-3 (Steel Blue) * Graphire 2 5x7 ET-0507A | <!--Vendor ID-->0x056A | <!--Product ID-->0x0011 and 0x0012 | <!--Revision-->0110 | <!--Opinion-->{{Yes|A6 and A5 versions - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511. Air pen mouse type movements - mouse EC-120-0K tested}} |- | <!--Description-->Wacom Graphire 3 * cte-430/w 4x5 pearl sapphire * cte 630 6x8 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0013 and 0x0014 | <!--Revision-->0314 | <!--Opinion-->{{Yes|A6 and A5 size - [Wacom Support] Xaxis 0-10207 yaxis 0-7423 tip pressure 0-511 and the erase end appears to respond but avoid bluetooth BT versions }} |- | Wacom Graphire 4 * cte-440/B Blue cte 440/s Silver 4x5 * cte-640 6x8 cte 640 u 0403 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0015 and 0x0016 | <!--Revision-->403 | {{Yes|A6 and A5 work area detected [Wacom Support] x-axis 0000-10207 Y axis 0000-7423 Tip Pressure 000-511 and delete rub out end of the pencil seems detected but avoid bluetooth BT versions }} |- | <!--Description--> * Wacom Intuos 4x5 GD-0405 * Intuos 6x8 GD-0608 * Intuos 9x12 GD-0912 * Intuos 12x12 GD-1212-U * Intuos 12x18 GD-1218 | <!--Vendor ID--> | <!--Product ID-->0x0020 0x0021 0x0022 0x0023 0x0024 | <!--Revision--> | <!--Opinion-->{{Yes|detected and responses delivered back - x axis up to 30479 and y axis 31679, tip pressure up to 1023 and x and y tilt up to 127 - Wacom intuos GD-0912-A for Apple Macs NOT SUPPORTED}} |- | <!--Description--> * Intuos 2 4x5 A6 - XD-0405-U * Intuos 2 6x8 A5 - xd 0608u uoc * Intuos 2 9x12 XD-0912-U * Intuos 2 12x12 XD-1212-U * Intuos 2 12x18 XD-1218-U | <!--Vendor ID-->0x056a | <!--Product ID-->0x0041 0x0042 0x0043 0x0044 0x0045 | <!--Revision-->0126 | <!--Opinion-->{{No|various sizes and recognised as [Wacom Support] but not working. x-axis 00000-20319 y-axis 00000-16239 tip presure 0000-1023 x-tilt y-tilt 000-127. HID mouse xc-100-03 works but never could use it as a real tablet with pressure with TVPaint 3.6 }} |- | <!--Description--> * Intuos 3 4x5 (PTZ-430) * Intuos 3 4x6 (PTZ-431W ) * Intuos 3 6x8 (PTZ-630 PTZ630) * Intuos 3 6x11 (PTZ-631W A3 wide) * Intuos 3 9x12 (A4 PTZ-930 PTZ930) * Intuos 3 | <!--Vendor ID-->056a | <!--Product ID-->0x00b0 0x00b1 0x00b2 0x00b3 0x00b4 0x00b5 | <!--Revision--> | <!--Opinion-->{{No}} Actions in HID setup window definitively locks the Pointer (mouse) reports settings and even after a clear and save, nothing changes, the configuration returns to default values. "[Wacom]" reports don't see any events from the tablet, even with "Pointer" reports cleared and save, so is locked a in "mouse" state - but can send a special command to the tablet in order to put it into a special vendor mode. This mode enables Wacom specificities like pressure, tilt, absolute position, buttons, etc... you should send an HID report feature with ReportID=2 and data=2, the current HID class driver doesn't give a way to change that, even using the "initial startup actions" item in the extra collection. No listed features work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Volito - Promethean FT-0405-U06 UV1.4-1 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0060 | <!--Revision-->0141 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - appears to be the budget option with some but limited features}} |- | <!--Description-->Wacom Volito 2 * CTF-??? 2x3 * CTF-420G CTF-420 V2.0-0 4x5 * Serif Penabled 6742 rebadge of CTF 420/020-B CTF-420/02 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0062 | <!--Revision-->0200 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - no erase function on the end of the pen - nylon nibs value option}} |- | <!--Description--> * Wacom PL-400 LCD * PL-500 * PL-510 * PL-550 | <!--Vendor ID--> | <!--Product ID-->0x0030 0x0031 0x0032 0x0034 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> * PL-600 * PL-600 SX * PL-700 * PL-710 * PL-800 | <!--Vendor ID--> | <!--Product ID-->0x0033 0x0035 0x0036 0x0037 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Cintiq 21 UX and Cintiq Partner DTF-720 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wacom PenTablet Bamboo (MTE), Bamboo Craft (CTH), Bamboo Fun (CTE), Bamboo Pen (CTL) and Bamboo Pen & Touch (CTH) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Bamboo Fun Medium CTE-650 | | 0x0018 | | {{Maybe|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum]}} |- | <!--Description-->Bamboo Fun Small CTE-450 white | <!--Vendor ID--> | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Bamboo One CTF-430 V2.0-0 CTF 430/S | <!--Vendor ID-->0x056A | <!--Product ID-->0x0069 | <!--Revision-->0200 | <!--Opinion-->{{Maybe|A5 wired air pen and acts like a mouse only}} |- | <!--Description-->Wacom Intuos 4 * Small PTK-440 PTK-540 * Medium - PTK-640 - PTK 540WL Wireless - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Intuos4 surface sheet was revised in October 2010 to reduce nib wear}} |- | <!--Description-->Wacom Intuos 5 Touch * * Medium - PTH-650 - USB Wired and Wireless Kit | <!--Vendor ID--> | <!--Product ID-->0x0027 | <!--Revision--> | <!--Opinion-->{{N/A|untested work, however wireless may glitch or drag }} |- | <!--Description-->Wacom Intuos Pro Medium - PTH-651 - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bamboo Small Pen Tablet - MTE 450 MTE-450A (MTE-450/k) - | <!--Vendor ID-->0x056A | <!--Product ID-->0x0065 | <!--Revision-->0116 | <!--Opinion-->{{Maybe|A6 work area - mouse movement but no pen detection except x-axis 2 to -2 and y-axis 2 to -2 - mini usb lead - 4 blue led lit buttons not detected as well as circular touch button?? }} |- | <!--Description-->Bamboo Pen CTL 460 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested all Bamboo versions were criticized for the drawing surface's roughness (which got smoother over time), which caused the small pressure-sensitive 'nib' to wear down, and become slanted or scratchy in the same way as pencil lead, albeit more slowly}} |- | <!--Description-->Wacom Bamboo Fun CTH-461/S wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x00D2 | <!--Revision-->0106 | <!--Opinion-->{{Maybe|A6 size - Pen tracking not working but finger touch works }} |- | <!--Description-->Wacom Bamboo Connect Pen Tablet CTL-470 CTL-470K 470-DE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CTH 470K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom CTH 480/S wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} lithium battery for pad - |- | <!--Description-->Wacom Intuos Pen Small CTL-480/S CTL 480 K wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x030E | <!--Revision-->0200 | <!--Opinion-->{{No|A5 detected as Intuos PS but not working although the RHS blue led responds to pen on tablet }} |- | <!--Description-->CTH 490 PK S Photo - CTH-490CK-S Comic - CTH-490AK-S Art | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested lower hovering height pen nibs wear fast and input lag/responsiveness}} |- | <!--Description-->Intuos Pen & Touch Medium - CTH-680 - USB Wired and Wireless Kit work | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Intuos Pro (PTH-660 and PTH-860) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Waltop Media Tablet 10.6" Genius G-Pen M609 Genius G-Pen M609X iVista Media Tablet 10.6 Aiptek MediaTablet 10000u | <!--Vendor ID-->172f:0501 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Slim Tablet 12.1" | <!--Vendor ID-->0x172F | <!--Product ID-->0x0034 | <!--Revision-->0x1105 | <!--Opinion-->{{yes|works}} |- | <!--Description-->Waltop Media Tablet 12 by 9" Aiptek HyperPen 12000u T-12000U Tablet Series Nisis T-12000u USB Tablet Series Version 1.05 (aiptek rebadged) Trust item #1535 ADESSO Cyber Tablet 12000 Graphic design tablet iVista Media Tablet 12 PENTAGRAM O'pen Wide P 2003 Genius G-Pen M712 | <!--Vendor ID-->172f:0500, 0x08ca | <!--Product ID-->0x0010 | <!--Revision-->0105 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet, untested with others - Puck (mouse) x axis 0000 to 6000 y axis 0000 to 6000 - stylus (pen) x axis 00000 to 12000 y axis 00000 to 12000 tip pressure 0000 to 1023 - 16 function keys - AAA battery needed for pen and another for the mouse}} |- | <!--Description-->Waltop Media Tablet 14.1" v5.1e Genius G-Pen M714X Aiptek MediaTablet 14000u WMK-H141 Trust item #15358 Adesso CyberTablet 14000 M14 iVista Media Tablet 14.1 PENTAGRAM O'pen Wide P 2004 | <!--Vendor ID-->0X172f | <!--Product ID-->0X0500 | <!--Revision-->0114 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet - Stylus (Pen) X 16838 Y 16838 Tip Pressure 1023 }} |- | <!--Description-->Waltop PID 0038 Genius G-Pen F509 Manhattan 177405 | <!--Vendor ID-->172f:0038 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop PID 0052 Yiynova MSP19 | <!--Vendor ID-->172f:0052 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Q Pad Aiptek HyperPen Mini NGS Flexi Style VisTablet PenPad iVistaTablet Q Flex Pad Bravod Q-PD65-S Trust Flex Design Tablet (#16937) | <!--Vendor ID-->172f:0037 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Sirius Battery Free Tablet VisTablet Muse PENTAGRAM Designer P 2700 Princeton PTB-S1BK | <!--Vendor ID-->172f:0502 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 12.1" Genius G-Pen F610 Trust Slimline Widescreen Tablet (#16529) VisTablet Original 12" Adesso CyberTablet Z12 Adesso CT-Z12A PenPower Tooya Pro Aiptek Slim 12.1 Inch Aiptek SlimTablet 600u Premium II NGS Slim Proguess iVistaTablet Slim 12.1 PENTAGRAM ThinType P 2006 | <!--Vendor ID-->172f:0034 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 5.8" Genius G-Pen F350 Trust item #16485 VisTablet Mini iVistaTablet Slim 5.8 | <!--Vendor ID-->172f:0032 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Venus S Tablet Trust eBrush Widescreen Tablet (#17939) | <!--Vendor ID-->172f:0503 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Aiptek GmBH MediaTablet Ultimate II - 16:10 Professional Graphic Tablet Model 1400U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Hanvon Beijing HanWang HW Micro Drawing Tablet ET0504U | <!--Vendor ID-->0x0b57 | <!--Product ID-->0x8030 | <!--Revision-->01111 | <!--Opinion-->{{No|does not work - recognised as an HID mouse - no tablet extensions detected}} |- | <!--Description-->KYE EasyPen 340, Genius EasyPen 340 | <!--Vendor ID-->0458:5014 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Aiptek Hyper Pen 6000u PC Tablet APT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|detected but does not work - win98 era cordless 6in by 4.5in - }} |- | <!--Description-->nisis T-8000U APT-2 Aiptek rebadge | <!--Vendor ID-->0x08CA | <!--Product ID-->0x0021 | <!--Revision--> | <!--Opinion-->{{No|A5 detected but no responses }} |- | <!--Description-->Acecad Flair II GT-504 Init Fkt Fkt 0x5ab450c0 AIPTEK HyperPen 10000 U Aiptek HyperPen 10000U, AIPTEK Slim Tablet U600 Premium II | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ace Cad Enterprise Co., Ltd Tablet - 5x3.75 drawing area | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bosto's | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} UCLogic Digitizer |- | <!--Description-->Adesso CyberTablet Z7, Adesso CyberTablet 12000, Adesso CT-12000A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->UC-Logic / Lapazz WP8060, UC-Logic / Lapazz PF1209, UC-Logic / Lapazz Artistic Tablet 5540, Manhattan 8"x6", Manhattan 3"x4", Manhattan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested but suspect not working}} |- | <!--Description-->DigiPro 5.5×4” Graphics Tablet Digital Ink Pad (A4 format) DigiPro WP8060, DigiPro WP5540, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-pen G-Pen 4500 Genius Wizardpen Genius Mousepen Genius Easypen i405 M610 Genius PenSketch 9x12, Genius MousePen i608, Genius MousePen 8x6, Genius MousePen / WizardPen 5x4, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-Pen F610 Genius G-Pen M610 Genius G-Pen 340 (UC-LOGIC Tablet WP4030U) Genius G-Pen 450 (UC-LOGIC Tablet WP5540U) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius UC-LOGIC iBall Tablet PF8060 iBall Iball Pen Tablet 8060U, Iball Pen Tablet 5540U, Iball Pen Tablet 4030U, Iball Design Tablet PF1209, NGS CADBOY (UC-LOGIC Tablet WP5540U) Pentagram QWare | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust TB-3100 Trust TB-5300 Trust 15356 Trust TB-6300 Trust 15357 WP8060U Slimline but bulky with metal backing A5 size Trust 16486, Trust 16447, Sketch Design Tablet, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|clashes with usb and crashes AROS }} |- | <!--Description-->UC-Logic Tablet WP1062 Aiptek HyperPen 10000U Monoprice 10X6.25 Inches Graphic Drawing Tablet Pickle 10x6.25 Inch Graphic Drawing tabletguess | <!--Vendor ID-->5543:0064 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | [ VTech KidiPhoto Art Studio] | | | | {{yes|works}} |- |} Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position, Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer. Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531&nbsp;kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity. In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer. If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [http://tech.groups.yahoo.com/group/highway_usb/message/2394]}} === Handheld Barcode Scanner Readers === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Farsun 9100 barcode scanner 0-12" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola Symbol LS2203 CMOS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Tysso | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Simple}} Code 11, Code 39, Code 93, Code 128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, MSI/Plessey, Telepen, Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5 |- | <!--Description-->Unitech MS320 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WCS3905 CCD 1" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Code 93, Matrix 2 of 5, Industrial 2 of 5, Code 39, UCC/EAN-128, ISBN, Code 32, EAN/JAN-8 , EAN/JAN-13 , UPC-A, UPC-E, Codabar, Code 128, Code 11, Interleaved 2 of 5, MSI-Plessey, China Post, IATA 2 of 5, ISSN, UK-Plessey |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic Touch 90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Intermec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Metrologic MK9540-32A38 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola LS2208 Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WWS800 Laser 1D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic GD4130-BK-C066 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell 1202G-1USB-5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola / Symbol DS6707-DC20007ZZR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->DataMan 8000 2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Voyager 9520/40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Metrologic MS1690 USB 2D Barcode Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} QR Code GS1 Databar PDF417 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Syscan GM800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} [http://www.scandit.com/2011/11/04/types-of-barcodes-choosing-the-right-barcode-type-ean-upc-code128-itf-14-or-code39/ Types of Barcode] <pre> UPC-A Grocery most common Code 128 EAN-13 Library Books ISBN & ISSN, Code 39 Codabar blood bank, 2D barcodes such as Data Matrix PDF417e Maxicode Aztec QR Code old Nokia handsets, MicroPDF417 </pre> ===TouchScreens=== Projected capacitive (PCAP) touch screen product, amongst many options the widely used are I2C and USB *USB host–device structure which dominates consumer and industrial electronics devices where higher bandwidth needed and user-friendly (multiswipes) *I2C Inter-Integrated Circuit simple serial standard for LCD display in embedded systems because of cost and low power *SPI arduino and rpi single boards We cover the USB here {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | eGalax Touch 4a | 0eef | 0001 | 0001 | {{yes|2009 works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lilliput HDMI Monitors 669GL-70NP/C/T (7 inch) 869GL-80NP/C/T (8 inch) FA1011-NP/C/T (10 inch) FA1046-NP/C/T (10 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iilyama Prolite Monitors PROLITE T1513SR-1 (15 inch) PROLITE T1730 (17 inch) PROLITE T1713SR-1 (17 inch) PROLITE T1913SR-1 (19 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Smart Display Company (SDC) Touchscreens TFT Monitors TOUCH-TFT-TS07 (7 inch) TOUCH-TFT-TS08 (8 inch) TOUCH-TFT-TS10 (10 inch) TOUCH-TFT-TS12 (12 inch) TOUCH-TFT-TS15 (15 inch) TOUCH-TFT-TS17 (17 inch) TOUCH-TFT-TS19W (19 inch wide) TOUCH-TFT-TS22W (22 inch wide) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC Monitors 7 inch models 700TSH 700TSU 700TSV 702TSV 705TSV 706TSA 700IDT MDT-X7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC 8 inch models: 800TSV 805TSV 10 inch models: 1020TSV 1026TSA 1040TS 12 inch models: 1200TS 1200TR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Asus VT229H 21.5" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CUQI 7" Monitor Touchscreen 1024x600 IPS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Espresso 15" Portable Touchscreen Display Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hannspree HT225HPB 21.5 inch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->WaveShare 13.3inch HDMI LCD (H) (with case) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ===GPS tracking, running, cycling, biking, walking, hiking, ORIENTEERING, boaters and mapping=== Support for OpenStreetMap but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb, Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs, NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case). Equivalent apps - merkator, mapsource, {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Garmin gpsmap 180 GPS/chart plotter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->1992 GARMIN GPS 55 AVD Portable System | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPS V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - waas pinpoint within 3 metres - nmea - 4AA battery}} |- | <!--Description-->Garmin GPS 12 12XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Legend C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin eMap | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|possibly through usbmodem rs232 connection nmea 0183 protocol}} |- | <!--Description-->Garmin eTrex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} rs232 these older units supported it and would provide the stream in either the standard NMEA 0183 format or a proprietary Garmin format. |- | <!--Description-->Garmin GPS 75 AVD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Map 7000 model 45006 (1994) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Tracker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan Pioneer Satellite Navigator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS 300 315 320 Mentor Receiver (2003) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Not for dedicated sat nav units like the Nuvi, TomTom, etc | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NaviLock NL-402U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested u-blox 5 SuperSense® chipset with receivers for GPS, GLONASS, Galileo, BeiDou and QZSS}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->GM1-86UB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| U-BLOX UB-6010 GGA,GSA,GSV, RMC and support VTG, GLL, TXT ublox binary and NMEA Command Dynamic Condition }} |- | <!--Description-->NAVILOCK GPS NL-602U USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|works via usbmodem.device - ublox ag 6 chipset - 50 channel}} |- | <!--Description-->TOPGNSS ton Receiver & Antenna GM702 u-blox 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|UBLOX7020 chip design bloc u-blox}} |- | <!--Description-->VK-162 G-MOUSE u blox 7 | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A|UBX G70xx with RMC VTG GSV TXT GLL GGA GSA}} |- | <!--Description-->VK-172 u-blox 7 G7020-KT gps gnss white pen stick receiver - over 1 inch long | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A| detected as cdc controlled plug in device - 18x18x2mm patch antenna but can be slow to update - nmea 0183 and ublox binary protocol}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GlobalSat BU-353 WaterProof USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested SiRF Star III}} |- | <!--Description-->Haicom HI-206 USB GPS receiver with RS-232 interfaces, RJ11 and PS/II connector EB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|usb-serial prolific pl2303 detected but GSP3F SiRF Star IV technology not detected or bound}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->BT760Y, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 5 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 6 GPS chipset - 65 channel}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 7 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 8 GPS chipset - 167 channels}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Garmin Colorado 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB |- | <!--Description-->Garmin Geko 101 201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} limited waas enabled only - waypoints - aaa battery |- | <!--Description-->Garmin Edge 200 bike mount | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin ForeRunner 10 15 watch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Montana 600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Dakota 10 20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Map76s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Oregon 450T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB nmea 0183 |- | <!--Description-->Garmin eTrex 10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - no nmea0183 sentences data stream output - configuration an option to set it to "Garmin" mode, or "Mass Storage" mode. Since the mass storage mode seems to be required for waypoint/track/etc data exchange, the 'Garmin' mode would be for this data stream. Yet putting it in that mode doesnt seem to produce anything.}} |- | <!--Description-->Garmin Oregon 650T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPSMAP 64S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->GPSMap 78S or GPSMap 76CSX which has a NMEA port for talking to Nav equipment | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->Garmin eTrex Vista Cx GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - 2AA battery}} |- | <!--Description-->Garmin GPSmap 276c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 2000 XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan Triton 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} SiRFstarIII™, Antenna Type Multidirectional Patch with WAAS, EGNOS, MSAS support |- | <!--Description-->Magellan Triton 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==massstorage.class (MSC/UMS - most cameras and mp3 players)== === USB Card Readers === {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Installing ! width="15%" |Booting ! width="30%" |Opinion |- | A-Tec Model CR-362 | | | | <!--Installing--> | <!--Booting--> | {{N/A|untested}} |- | [http://www.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=200406&pcount=&Product_Id=179164 Belkin 15 in 1 Card Reader] | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Conrad CP440 60 in 1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works on a1k forum}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Genesys Gtech Logic 19 in 1 | 0x05E3 | 0x0710 | High 0200 | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Hama 19 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | Hama 35 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Integral Single Slot SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kingston USB 3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexar microsd adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} but wider than Sandisk version - could block other slot if below |- | Pretec CardDriver | | | | <!--Installing--> | <!--Booting--> | {{no|no driver}} |- | Sandisk MicroMate | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Sandisk MobileMate SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Sandisk MobileMate Micro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} has satisfying 'click' when microsd inserted |- | <!--Description-->Sandisk MobileMate Duo MicroSD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} no 'click' insertion uses pressure so future wear and tear issues |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Serena metal cased microsd only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | <!--Description-->Serena "Sandisk MobileMate" look-alike | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | SilverCrest 16in1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Transcend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P5 8 in 1 TSRDP5K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P8 15 in 1 TSRDP8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Zyxel integralmemory 8 in 1 | 0x0aec | 0x3260 | | <!--Installing--> | <!--Booting--> | {{no|not detected}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- |} === USB Hard Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Datel MaxDrive | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Inateck 2.5 Inch USB 3.0 Hard Drive Disk Enclosure/ Case (FE2001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Full USB 3.0 port but plastic teeth keeping drive in place can snap |- | <!--Description-->Inateck case (FE2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} full USB 3.0 port - updated design |- | <!--Description-->Inateck case (FE3001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} wider USB 3.0 port and no on/off switch Jmicron JMS578 chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Iomega Desktop Hard Drive 500GB, 3,5“, USB2.0 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Samsung | | | | {{N/A|untested}} |- | Samsung | | | | {{N/A|untested}} |- | Samsung T3 SSD | | | | {{N/A|untested}} USB 3.1 Gen 1 space grey / black metal/ plastic |- | Samsung T5 SSD | | | | {{N/A|untested}} USB 3.1 Gen 2 256GB 512GB alluring blue 1Tb 2Tb black unibody metal |- | Samsung | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Toshiba Canvio 1TB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|partition fat32 or sfs to 100GB max - ntfs partitions not detected out of the box - select usb drive in trident prefs and press disable to shutdown}} |- | Verbatim 160GB Smartdisk | | | | {{yes|works }} |- | Western Digital USB | | | | {{N/A|untested}} |- | <!--Description-->WD Essential | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->WD Passport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === USB DVD CD ROM Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm enclosure mini-sata dvd-rw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested needs sole usb3 port to power it}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->9.5mm enclosure ECD829 mini-sata dvd-rw with Initio Corporation INIC-1618L SATA | <!--Vendor ID-->0x13fd | <!--Product ID-->0x0840 | <!--Revision--> | <!--Opinion-->{{N/A|untested but probably needs sole usb3 port to power it}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === USB to NGFF NVMe SDD HDD DVD CD ROM Drives === The older Jmicron JMS539B seems to result in massive filesystem corruption given the amount of corrupted content. Prehaps always avoided Jmicron and opted for Asmedia even if it costed a bit more. Realtek seems to be working okay for me generally speaking and newer Jmicron chipsets are less buggy – but evidently not perfect. From [https://goughlui.com/2025/08/17/psa-validate-your-storage-jmicron-jms583-kioxia-bg4-series-ssd-issue/ thread] Here is a [https://forums.anandtech.com/threads/stable-nvme-usb-adapter.2572973/ very long thread] that discusses data corruption and stability issues with these bridges. The majority of the posts are complaining of dropouts, hangs and the like, which usually down to either a poor USB 3.x implementation (SuperSpeed connections are very picky as to cables, ports and trace routing) or problematic compatibility. Regardless, the [https://www.legitreviews.com/jmicron-jms583-controller-version-matters-for-portable-usb-drives_219422 JMS583 is known to have several versions] noting that the last revision (C) in that article is a 2021 release which should fix earlier stability and cable quality compatibility issues. JMS583-STD-Release-v00.02.01.04-Bus Power.bin is the latest JMS583 firmware as of August 2025. Early firmware RTL9210 seems to have issues as well * RTL9210B * JMS583 rev1 with firmware A2 or A3 * RTL9210A * JMS583 firmware 2.0.9 * Asmedia ASM2362 * RTL9201A The reference Hardware ID for the JMS583 chipset from JMicron is: VID_152D&PID_0583&REV_0209 where "VID_152D" identifies a JMicron product; "PID_0583" is the generation chipset; "REV_0209" is the firmware version installed. In the same way, the reference Hardware ID for the RTL9210 from Realtek is: VID_0BDA&PID_9210&REV_3100 "VID_0BDA" is for a Realtek product, "PID_9210" is referred to the chipset and "REV_3100" to the firmware. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ASM1153E / ASM1153 with firmware 140509_A1_82_40 or 141126_A1_EE_82. Both supports UASP and TRIM on USB 3.1 Gen.1 adapter | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->ASM235CM Ugreen aluminum bridging the USB3.2 Gen2x1 to Serial ATA host interface | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TI 9261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASM225 | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->JMicron JMS578 issues USB 3.1 Gen.1 adapter | <!--Vendor ID-->152d | <!--Product ID-->0578 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMicron JMS576 issues USB 3 to usb-c adapter | <!--Vendor ID-->152d | <!--Product ID-->0576 | <!--Revision--> | <!--Opinion-->{{maybe|orico}} |- | <!--Description-->JMS562 JMicron Technology Corp | <!--Vendor ID-->152d | <!--Product ID-->0562 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMS561U | <!--Vendor ID-->0x152d | <!--Product ID-->0x1561 | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->VL716Q4 Orico black meshed aluminum usb c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053E | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASmedia ASM1051E | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053 | <!--Vendor ID-->0x174C | <!--Product ID-->0x1536 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM104x | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x1042 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Unknown Chinese version | <!--Vendor ID-->0x0bc2 | <!--Product ID-->0x2312 | <!--Revision--> | <!--Opinion-->{{maybe|sometimes works}} |- | <!--Description-->JMicron N5321 gr | <!--Vendor ID-->0x152d | <!--Product ID-->0xa583 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Initio Corp INIC-1618L mini slimline sata 6 + 7 pins to usb2 adapter | <!--Vendor ID-->0x13FD | <!--Product ID-->0x0840 | <!--Revision-->0114 | <!--Opinion-->{{maybe|sometimes works mini sata to usb2 detects 201x laptop DVD as MassStorage(CD/DVD) but may need powered USB hub}} |- | <!--Description-->Unknown mini sata to usb3 adaptor | <!--Vendor ID-->0x01F75 | <!--Product ID-->0x0621 | <!--Revision-->0036 | <!--Opinion-->{{maybe|sometimes works mini sata to usb3 detects 201x notebook DVD drive as MassStorage(SCSI) but 5V 1.5Amp needs powered hub to burn }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === External Floppy === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->[http://techtravels.org/amiga/amigablog/ Amiga Floppy Project] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=842 Catweasel Mk4] | 0xE159 | 0x0001 | 0x00 | {{yes|[http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage works]}} |- | <!--Description-->[http://hxc2001.free.fr/floppy_drive_emulator/ HxC Floppy Emulator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.softpres.org/glossary:kryoflux KyroFlux] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->Samsung SFD-321U/EP USB Floppy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.cbmstuff.com/proddetail.php?prod=SCP SuperCard Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://www.facebook.com/groups/greaseweazle Greaseweazle STM hardware], [https://cowlark.com/fluxengine/index.html Greaseweasel support], [https://github.com/keirf/Greaseweazle/wiki software], [https://amigakit.amiga.store/greaseweazle-p-91279.html buy], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->FL-2501 USB Portable Diskette Drive | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2009 usb - [https://amiga.robsmithdev.co.uk/ Drawbridge] [https://github.com/RobSmithDev/ArduinoFloppyDiskReader software] ribbon cable compat with p/n 19308801-19 and s/n U356244 - model ASM P/N 27l4226 and FRU P/N 05k9283 - |- | <!--Description-->Dell Floppy Drive Module USB External 3.5" - Teac FD-05PUB 1.44mb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2004 usb 1.1 |- | <!--Description-->USB FLOPPY DISK DRIVE (USB External Floppy Disk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/SukkoPera/OpenFlops OpenFlops] with [https://github.com/keirf/flashfloppy FlashFloppy] Gotech clone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/hmerrett/HenryFlops HenryFlops reworked OpenFlops] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} ==ptp.class (PTP and MTP - other cameras and mp3 players)== === Cameras === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Canon EOS 20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | <!--Description-->Canon 350D (also known as the Digital Rebel XT/Kiss Digital N) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 DIGIC II processor 8-megapixel }} |- | <!--Description-->Canon PowerShot A430 A560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | <!--Description-->Canon EOS 400D (XTi) digital SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Canon EOS 1000D also known as Rebel XS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2mp 720p }} |- | <!--Description-->Canon 450D aka Rebel Xsi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 12.2mp }} |- | <!--Description-->Canon PowerShot S90 S95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 2010 720p video - 10Mpixel }} |- | <!--Description-->Canon Powershot SD960 IS Digtal ELPH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 Still Image: Exif 2.2 (JPEG), Movie: MOV (Image: H.264; Audio: Linear PCM) Lithium-ion Battery Pack NB-4L }} |- | <!--Description-->Canon EOS 500D aka Rebel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 1080p 15.1MP Lithium }} |- | <!--Description-->Canon EOS 550D 600D aka Rebel T2i T3i DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010-2011 1080p 18MP Lithium LP-E8 }} |- | <!--Description-->Canon Powershot S100 S110 S120 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011-2013 720p-1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1100D DSLR Camera aka Rebel T3 SLR, EOS Kiss X50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p 10Mpixels Lithium }} |- | <!--Description-->Canon EOS 650D 700D aka Rebel T4i T5i T6i SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2013 1080p 18Mpixels Lithium LP-E8 articulating flip out twistable screen }} |- | <!--Description-->Canon ELPH 300 HS (IXUS 220 HS) 230 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 blogging camera }} |- | <!--Description-->Canon PowerShot N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 12.1 MP CMOS, DIGIC 5 Wifi Lithium Battery Pack NB-9L }} |- | <!--Description-->Canon Powershot G7 X, G7X-II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014-2016 1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1300D DSLR Camera aka Rebel T6 SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 1080p 16Mpixels Lithium }} |- | <!--Description-->Canon Powershot G7x G5X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| G7X flip up and G5X flip out - same batteries - no external microphone input - }} |- | <!--Description-->Canon EOS M3 M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| flip out - same batteries - }} |- | <!--Description-->Canon EOS 60D 70D 80D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon 6D 7D 8D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Canon 5D Mark II III IV DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix A850 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FujiFilm Finepix F100fd | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix F810 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xf1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| pocketable exr cmos 12mp }} |- | <!--Description-->Fuji xt1 x-t1 x10 x-t10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 1080p }} |- | <!--Description-->Fujifilm x100 x100s x100t | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xPro1 xPro2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xt2 / x-t2 x-t20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K video }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->GoPro HERO 3 HERO4 HERO 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon D100, D60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 Compact flash storage - non interchangeable lenses up to 12.3MP sensor }} |- | <!--Description-->Nikon D50, D50x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 storage - 6.1MP sensor }} |- | <!--Description-->Nikon D70, D80, D90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 Compact flash storage - 10MP sensor }} |- | <!--Description-->Nikon D40, D40x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 storage - 10MP sensor }} |- | <!--Description-->Nikon D300, D700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 storage - 12.3MP sensor }} |- | <!--Description-->Nikon D2Xs, D2Hs, D3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006-2008 storage - sensor }} |- | <!--Description-->Nikon D3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 720p video }} |- | <!--Description-->Nikon D5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 720p video unlike D3000 }} |- | <!--Description-->Nikon D6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16mpixel}} |- | <!--Description-->Nikon D7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16.2mp 720p video }} |- | <!--Description-->Nikon L26 L27 L28 L29 L31 Coolpix compact cameras | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video - 2 AA - pocket sized }} |- | <!--Description-->Nikon D3100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video 14.2mp}} |- | <!--Description-->Nikon D5100 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16.2mp 720p}} |- | <!--Description-->Nikon L810 L820 L830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 720p video }} |- | <!--Description-->Nikon D4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 storage - sensor }} |- | <!--Description-->Nikon D7100 D7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 up to 24.2mp 1080p video }} |- | <!--Description-->Nikon D3200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 1080p 24MPixel}} |- | <!--Description-->Nikon D5200 D5300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 24.1MP 1080p }} |- | <!--Description-->Nikon D800 D600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 1080p video sd card storage - dust/oil issue at start}} |- | <!--Description-->Nikon D3300 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24.2MP 1080p }} |- | <!--Description-->Nikon D500, a high-performance DX-format (APS-C) DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description-->Nikon D3400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP 1080p }} |- | <!--Description-->Nikon D5500 D5600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016-2018 24.1MP 1080p }} |- | <!--Description-->Nikon D810 D610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 1080p video sd card storage }} |- | <!--Description-->Nikon D7300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K UHD video }} |- | <!--Description-->Nikon D900 D850 D820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4k 46MP }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus C-370 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3.2mp }} |- | <!--Description-->Olympus Camedia C-725 Ultrazoom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3mp aa batteries, }} |- | <!--Description-->Olympus Evolt E-500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 8mp }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus Evolt E-410 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Olympus Evolt E-510 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 10MP Live MOS sensor with TruePic III processor, }} |- | <!--Description-->Olympus E-420 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-620 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 12.3mp, compactflash, xD and microdrive cards, }} |- | <!--Description-->Olympus E-30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Olympus E-450 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10mp, }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pentax * ist DS DSLR camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1mp }} |- | <!--Description-->Pentax K10D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 10.2mp APS-C CCD no video and older manual Pentax K-mount lenses}} |- | <!--Description-->Pentax K20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2008 14.6MP APS-C but no video recording mode }} |- | <!--Description-->Pentax K30 K-5 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2012 16MP full HD (1080p) recording at 24/25/30 fps}} |- | <!--Description-->Pentax K-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP 1080p }} |- | <!--Description-->Pentax K-3 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24MP }} |- | <!--Description-->Pentax K-3 III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 25.7MP BSI CMOS sensor }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix LZ10 LZ20 DMC-LZ30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 720p video }} |- | <!--Description-->Panasonic TZ1 TZ5 TZ9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix GH1 GH2 like the DMC-GH2HEB-K - GH3 DMC-GH3HEB-K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Four Thirds (GH2) MFT Micro Four Thirds (GH3) limited to 29mins recording }} |- | <!--Description-->Panasonic AF series AF100 AF101 AF102 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix DMC-G2 DMC-G3 G5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic TZ60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic DMC LX7 10 LX15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic GF7 GX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic G80 G85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 }} |- | <!--Description-->Panasonic GH4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 - shooting in MOV or MP4 formats recording limited to sd card size but split files because the FAT32 file system only supports files up 4GB in size, which amounts to around 5 minutes of 4K (100mbps) footage - GH4 appears to create 4GB files as a rule, regardless of whether the memory card’s file system supports larger files or not - }} |- | <!--Description-->Panasonic GH5 gx80 gx85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Effective: 20.3 Megapixel 5184 x 3888 - 2 sd card slots compatible with high-speed, high capacity UHS-II - sd card v rating like the v90 should record at 60MB/s to be compatible with the GH5 in the All-I format - possible file corruption with .mdt files - new firmware 2.0 update, the Panasonic GH5 becomes the first 5K - }} |- | <!--Description-->Panasonic FZ2000 FZ2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung WB100 WB1100 WB150 WB2200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 16MP }} |- | <!--Description-->Samsung NX11 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung NX200, NX20, NX1000 and NX210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 20.3Mp APS-C sized CMOS image sensor }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo Xacti CG65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony Alpha DSLR-A100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1MP }} |- | <!--Description-->Sony Cyber-shot DSC camera models W110 W220 H300 H400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Sony Alpha DSLR-A200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2MP }} |- | <!--Description-->Sony Alpha DSLR-A230 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10.2MP }} |- | <!--Description-->Sony A290 DSLR Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 14.2MP }} |- | <!--Description-->Sony Cybershot HX20V HX30V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 18mp 720p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony Cybershot HX50V HX60V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 20.2MP 1080p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony A77 A99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description-->Sony WX100 WX150 wx220 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 2014 }} |- | <!--Description-->Sony NEX-6 Sony NEX-7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16 to 24MP }} |- | <!--Description-->Sony NEX-3N Sony NEX-5N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 16MP }} |- | <!--Description-->Sony α58 Sony α68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 20.1 MP 2014 24mp }} |- | <!--Description-->Sony rx100 mk III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1MP 1.0-type back-illuminated Exmor R CMOS sensor, often after boot-up, the motor starts running for no reason for first versions' - }} |- | <!--Description-->Sony α5000 a5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1 Megapixel APS-C Exmor APS HD CMOS 1080p Sony E-mount [https://github.com/ma1co/Sony-PMCA-RE hack] using [https://www.youtube.com/watch?v=8M4hR9HiOzM this] }} |- | <!--Description-->Sony α6000 a6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP APS-C sensor }} |- | <!--Description-->Sony α7 A7S a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 mirror less - more compact }} |- | <!--Description-->Sony α77 II, α99 II, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24.3 MP, 2016 42.4mp }} |- | <!--Description-->Sony rx100 mk IV V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2016 }} |- | <!--Description-->Sony RX0 RX zero, RX0 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2017 }} |- | <!--Description-->Sony α6500 a6500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP APS-C sensor 4K }} |- | <!--Description-->Sony α7 Alpha 7 II E-mount interchangeable lens mirrorless camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 24.2mp, }} |- | <!--Description-->Sony α7 A7Sii a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 mirror less - more compact }} |- | <!--Description-->Sony a7 III α77 ILCE7M3/B Full-Frame Mirrorless Interchangeable-Lens Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 24.2mp, }} |- | <!--Description-->Sony ZV-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 24mm optical zoom, }} |- | <!--Description-->Sony ZV-1F | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 entry-level vlogging, 1-inch 20.1MP, ultra-wide 20mm f/2 prime lens}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} <pre > Lens Mounts Canon EF EF-S Nikon F Panasonic Olympus OM Pentax DA, FA, F, A, M, and K series Fujifilm X mount </pre > <pre > Sensors APS-C S35 Full Frame 43 Four Thirds M43 MFT Micro four thirds </pre > === Digital Voice Recorder Dictaphone Dictation Machine Handheld === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2011 }} |- | <!--Description-->Olympus VN-7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested 2012 no usb }} |- | <!--Description-->Olympus VN-7500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2012 }} |- | <!--Description-->Olympus VN-7600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2013 }} |- | <!--Description-->Olympus WS-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested usb}} |- | <!--Description-->Olympus VN-7700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-8600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-711PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-712PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-731PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus WS-811 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested slide out usb-a - aaa battery - ok recordings }} |- | <!--Description-->Olympus VN-540PC Olympus VN-541PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Philips DVT1250 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX470 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX570 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} === USB eBooks Readers drm free EPUB version 2.0.1 (2007), 3.0 (2011), 3.1 (2015) or [https://www.w3.org/TR/epub-33/ 3.3 (2024)] [https://github.com/thansen0/sample-epub-minimal epub examples] formats access === EPUB file format is an open standard based on XHTML for content and XML for metadata, contained in a zip file archive PDF v2.0 in 2017, 2009 takeover by ISO Org, 1.7 in 2006 , 1.6 in 2005, 1.4 in 2001, 1.3 in 1999, 1.0 in 1993 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Barnes and Noble Nook Simple Touch NST BNRV300 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0003 | <!--Revision--> | <!--Access-->when finding the right micro usb cable that works, internal nook memory not accessible but sd card fat32 readable and writable outside | <!--Opinion-->{{N/A|2011 6in 600x800 e-ink 16 grayscale .jpg}} battery remove sd card and Torx T5 back top for Cameron Sino CS-BNR003SL - USA 1.2.2 md5sum 351e26527e80156183e74be2da2ce89f *nook_1_2_update.zip - 1.2.1 UK fdba3981f7f221cc5143db6329645bc2 *nook_1_2_update.zip - skip registration, Turn on the device, but do NOT start setting it up. Hold down the top right button on the front of the device and slide your finger from left to right across the top of the E Ink screen. A ‘Factory’ button should appear in the top left corner of the screen. Press it. Once in the Factory menu, hold down the top right button on the front of the device and tap the bottom right corner of the screen should now see a ‘Skip Oobe’ button. Tap that and the Nook should finally load the home screen. Poor battery management - |- | <!--Description-->Barnes and Noble Nook Simple Touch with Glowlight *2012 Nook Simple Touch with GlowLight BNRV350 *2013 Nook GlowLight BNRV500 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0004 0x0007 | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2012 untested }} perform a hard reset: Turn off the nook completely, turn it on, as soon as you see the screen flash begin holding the bottom page turn buttons until the screen flashes with a message asking reset, press the 'n' key twice to start the reset - Poor battery management - |- | <!--Description-->Nook Glowlight 4 Plus 7.8-inch screen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} Poor battery management - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *NOOK 1st Edition (2009-2018) BNRZ100 *NOOK Color (2010-2024) BNRV200 *NOOK Tablet (8GB/16GB) (2011-2024) BNTV250A / BNTV250 *NOOK HD (2012-2024) BNTV400 *NOOK HD+ (2012-2024) BNTV600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Elonex 511EB | <!--Vendor ID-->045e:ffff | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 untested Preferences->advanced->debug device detection}} |- | <!--Description-->[https://jaforeck.wordpress.com/2012/08/05/ready-to-meet-viktor-navorski-gained-access-to-elonex-621ebs-terminal-52/ Elonex 621EB] eBook | <!--Vendor ID-->0x1f85 | <!--Product ID-->0x1688 | <!--Revision--> | <!--Access-->unlocked ootb | <!--Opinion-->{{N/A|2010 untested usb mini charging 6" diagonal eInk Screen - 800 x 600 pixels, 8 Level 166dpi Paperlike screen, Embedded 1GB Flash NAND, full SD Card Slot up to 16GB - WAV, MP3, JPG, PNG, BMP, GIF support and ePub and PDF(with reflow) (TXT, HTML) support}} |- | <!--Description-->Elonex 700eb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2011 untested adjust screen blanking by menu then settings then device standby, you can then turn it off}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->iRiver Story HD eBook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} freescale imx.508 arm mcimx508cvkbb cpu with 2gb samsung nand, m13892aj charging chip, eb07_main_mp1_110321 mobo, mini usb, atheros ar61026 wifi - |- | <!--Description-->iRiver Story | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Rakuten Touch A/B kobo3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Touch C, Kobo Mini, Kobo Glo N613, Kobo Aura HD N514 N204 kobo4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura, Kobo Aura H2O, kobo5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2013 6in untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v1, Kobo Glo HD, Kobo Touch 2.0, Kobo Aura ONE N709, Kobo Aura ONE Limited Edition, Kobo Aura Edition 2 v1 N236, kobo6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v2, Kobo Aura Edition 2 v2, Kobo Nia, Kobo Clara HD, Kobo Forma, Kobo Libra H2O kobo7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Elipsa, Kobo Sage kobo8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *Kobo Libra 2 kobo9, Kobo Clara 2E kobo10, Kobo Elipsa 2E kobo11 *Kobo Libra Colour kobo13, Kobo Clara BW, Kobo Clara Colour kobo12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pandigital Personal eReader aka? Papyre 6.2 very similar to BQ Avant Firmware | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 350 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 epub bbeb cbz untested }} |- | <!--Description-->Sony PRS-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle K1 D00111 - Main Menu=: Settings: Menu=: Device Info shows S/N | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0002 | <!--Revision-->100 | <!--Access-->256mb | <!--Opinion-->{{N/A|2007 untested Marvell Xscale PXA255}} |- | <!--Description-->Kindle K2, D00511 170-1012-00, D00701 D00801 S11S01B * k2 means K2 US * k2i means K2 GW * dx means KDX US * dxi means KDX GW * dxg means KDX Graphite | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0003 | <!--Revision-->100 | <!--Access-->2gb unless jb | <!--Opinion-->{{N/A|2010 untested Freescale i.MX31 }} the Kindle is a small computer running Linux 2.6 on an ARM processor |- | <!--Description-->AMAZON Kindle D00901 3rd Gen with keyboard - Menu, Settings for S/N and then Menu again to choose Update * S/N starts B006 means k3g aka K3 3G US * S/N starts B008 means k3w aka K3 WiFi * S/N starts B00A means k3gb aka K3 3G UK EU - debug mode with ;debugON and ~help | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0004 | <!--Revision-->100 | <!--Access-->{{yes|4Gb internal no access until jailbroken JB}} | <!--Opinion-->2010 with mobi and azw3 formats only - micro usb 5v 0.85a - freescale i.mx35 ARM soc with 12bit parallel interface with epson e-ink cpu, 256MB synchronous dynamic RAM, 4GB eMMC internal memory only but no sd slot, MC13892 PMIC - atheros wifi 54mbit pci-e a e keyed wifi - ?? later models wm96103 audio codec - display has 2Mbit serial memory ic on ribbon cable with 4bpp inverse grayscale display not touchscreen - 3g module - screen replacement really annoying - 4 test points near T07 = TX RX GND ? - as of 2025, JB v0.13.N, MKK2014, MKK2025, KUAL, KoReader Legacy2025, and maybe later SS v0.47.N, Python 0.14.N, Fonts v5.16.N, USBNet v0.57.N - USB-downloader mode when Vol+ is pressed during startup - Shift + Alt + M for Minesweeper - |- | <!--Description-->Amazon Kindle 4th Generation k4 D01100 two buttons, square movement and two buttons at bottom *B00E plastic back clipped in [https://www.youtube.com/watch?v=LV1dyNkjjro many places] and strongly taped down to battery cover | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0005 | <!--Revision-->100 | <!--Access-->2gb unless jb with USB MS, USBMS aka also known as USB MSC or UMS | <!--Opinion-->{{unk|2012 once back off use Torx T5 to remove battery cover screws - battery glued down S2011-001-A 515-1058-01 DR-A015 MC-265360 - Freescale i.MX508 SOC, 2Gb eMMC storage, 256MiB of LPDDR1, MC13892 PMIC - vendor modified u-boot imximage based on u-boot v2009.08 - USB-downloader mode press the fiveway down button during startup resetmykindle - as of 2025 upgrade firmware from 4.1.x and to 4.1.4, sign into account and copy jb.1.8 bits, mkk-2014, mkk-2025, kual and then uninstall kual, koreader2025 - }} |- | <!--Description-->Kindle Touch WiFi (Kindle 5th Gen) D01200 K5, KT *Once signed into an Amazon Account get S/N under Settings -> Device Options *B00F Kindle Touch 3G + WiFi (Kindle 5) (U.S. and Canada) [Mostly] *B011 Kindle Touch WiFi (Kindle 5) *B010 Kindle Touch 3G + WiFi (Kindle 5) (Europe) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0006 | <!--Revision-->100 | <!--Access-->4gb unless jb | <!--Opinion-->{{unk|2013 touchscreen i.MX508 SOC, 256MiB of LPDDR1 and USB-downloader mode by the SOC microcode when a specific key is pressed during startup: the home button on model D01200 - update firmware 5.3.2 to 5.3.7.3, access account, }} |- | <!--Description-->Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] PW <pre> B024 Kindle PaperWhite WiFi B01B Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] B020 Kindle PaperWhite 3G + WiFi (Brazil) B01C Kindle PaperWhite 3G + WiFi (Canada) B01D Kindle PaperWhite 3G + WiFi (Europe) B01F Kindle PaperWhite 3G + WiFi (Japan) </pre> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0007 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk|2013 Freescale i.MX508 }} |- | <!--Description--> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0008 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle PaperWhite 2 (2013) PW2 *B0D4, 90D4 WiFi (U.S., Intl.) *B05A, 905A WiFi (Japan) *B0D5, 90D5 3G + WiFi (U.S.) [Mostly] *B0D6, 90D6 3G + WiFi (Canada] *B0D7, 90D7 3G + WiFi (Europe) *B0D8, 90D8 3G + WiFi (Russia) *B0F2, 90F2 3G + WiFi (Japan) *B017, 9017 WiFi (4GB) (U.S., Intl.) *B060, 9060 3G + WiFi (4GB) (Europe) *B062, 9062 3G + WiFi (4GB) (U.S.) [Mostly] *B05F, 905F 3G + WiFi (4GB) (Canada) *B061, 9061 3G + WiFi (4GB) (Brazil) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0009 | <!--Revision-->100 | <!--Access-->2gb or 4gb | <!--Opinion-->{{unk| PW2 uses Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Paperwhite 3 PW3 i.e. Kindle 7th gen *G090G1 (2015) WiFi *G090G2 (2015) 3G + WiFi (U.S.) [Mostly] *G090G4 (2015) 3G + WiFi (Mexico) *G090G5 (2015) 3G + WiFi (Europe, Australia) *G090G6 (2015) 3G + WiFi (Canada) *G090G7 (2015) 3G + WiFi (Japan) *G090KB (2015) WiFi *G090KC (2015) 3G + WiFi (Japan) *G090KE (2016) 3G + WiFi (International) White *G090KF (2016) 3G + WiFi (International) White *G090LK (2016) WiFi, 32GB (Japan) *G090LL (2016) WiFi, 32GB (Japan) White | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000A | <!--Revision-->100 | <!--Access-->4gb | <!--Opinion-->{{unk| ease up glued down front bezel rim panel gently, remove 11 screws underneath and lift screen up from bottom end - battery underneath - }} |- | <!--Description-->Kindle PaperWhite 4 (2018) PW4 *G000PP, G8S0PP WiFi, 8GB *G000T6, G8S0T6 WiFi, 32GB *G000T1 WiFi+4G, 32GB *G000T2 WiFi+4G, 32GB (Europe) *G00102 WiFi, 8GB (India) *G000T3 WiFi+4G, 32GB (Japan) *G0016T, G8S16T WiFi, 8GB Twilight Blue *G0016Q, G8S16Q WiFi, 32GB Twilight Blue *G0016U WiFi, 8GB Plum *G0016V, G8S16V WiFi, 8GB Sage *G00103 WiFi, 32GB (India) *G0016R WiFi, 32GB Plum *G0016S WiFi, 32GB Sage | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000B | <!--Revision-->100 | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Oasis 2 and 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| NXP i.MX7D }} |- | <!--Description-->Kindle Paperwhite 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8110 }} |- | <!--Description-->Kindle 11 Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8113 }} |- | <!--Description-->Kindle Paperwhite 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->16gb or 32gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle Paperwhite Gen 11 and 12 - Signature | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0 | <!--Revision--> | <!--Access-->16Gb or 32Gb | <!--Opinion-->{{unk|2024 account not blocked, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Modos-Labs Modos Labs] open source e-ink 60Hz 75Hz caster controller and glider monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xteink X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.xteink.com Xteink X4] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->2025 4.3in 220ppi no touchscreen so [https://www.youtube.com/watch?v=R7RuokaVauo buttons navigation] - 650mAh battery - micro-sd slot up to 512Gb covering epub, txt, and jpg in directories with [https://github.com/crosspoint-reader crosspoint reader] esp32 cpu custom rom firmware using [https://xteink.dve.al/ Flash website] on usb-c but no ecosystem store |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description-->Amazon D01400 Kindle Fire (1st Generation) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{No|2010 too old }} android 2.3 and touchscreen digitizer fails often, battery SWE P/N 1002000004742 Model KC1 (EU) QP01 (US) 16.28whr, ti 257epl9l omap 4430 with elpida 88164b3pf-10-f88164b3pf or hynix, mobo ??,, DAOKC1MB8F0 Rev F, ti aic3110 audio codec, |- | <!--Description-->Amazon Fire 7in X43260 X43Z60 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2012 untested FireOS Android 4 omap 4460 and PowerVR SGX540}} |- | <!--Description-->Amazon Kindle Fire HD (3rd Gen) P48WVB4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2013 untested }} |- | <!--Description-->Amazon *Amazon Fire HD10 (2015) *Amazon Fire HD8 (2015) *Amazon Fire HD7 (2015) (5th Generation) 7 inch 8GB SV98LN *Amazon Fire HD7 (2014) *Amazon Fire HD6 (2014) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|untested android 5.1 max}} |- | <!--Description--> *Amazon Fire 10 (2017) *Amazon Fire 8 (2017) 7th Gen 8 inch SX034OT *Amazon Fire 7 (2017) (7th Generation) 7 inch 16GB (SR043KL) *Amazon Kindle Fire 7 (7th Generation) 7 inch 8GB WIFI Tablet (SR043KL) *Amazon Fire HD8 (2016) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| Android 5.1 max 7in screen resolution of 1024 x 600, }} |- | <!--Description--> *Amazon Fire 10/10+ (2021) *Amazon Fire 8/8+ (2020) *Amazon Fire 10 (2019) *Amazon Fire 7 (2019) *Amazon Kindle Fire 7 9th Gen 16GB M8S26G *Amazon Fire 8 (2018) 8th Gen 8 inch 32GB L5S83A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 9 max}} |- | <!--Description-->Amazon *Amazon Fire HD 10 (2023) *Amazon Fire Max 11 (2023) *Amazon Fire 8 (2022) *Amazon Fire 7 (2022) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 11 max}} |- | <!--Description-->Amazon Kindle Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Amazon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Minimal Phone, Mudita Kompakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| eink }} |- | <!--Description-->Bigme B751C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2022 android untested }} |- | <!--Description-->Bigme B7 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Bigme B6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 android based color eink small - 300dpi b/w 150ppi color -}} |- | <!--Description-->Bigme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink }} |- | <!--Description-->Bigme Hibreak Pro, Hisense A9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->iFlyTech AINote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->iFlyTech AINote 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Meebook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Page Palma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2016 android untested }} |- | <!--Description-->Onyx Boox Leaf3C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go Color 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 untested 7in e-ink e-reader android tablet }} |- | <!--Description-->Onyx BooxTab Ultra X C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Note Max Air4 C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Leaf5C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Poke6S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go 10.3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox MC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| color e-ink 13.3in }} |- | <!--Description-->Onyx Boox Go 10.3 (Gen 2) Lumi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 b/w eink with front light, no EMR annd capacitance pen, }} |- | <!--Description-->Onyx Moaan Pantone 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->reMarkable 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2021 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2023 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable Paper Pro Move | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2024 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 untested but subscriptions needed for some features}} |- | <!--Description-->reMarkable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Supernote A5 X2 Manta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Supernote A6 X2 Nomad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 }} |- | <!--Description-->Supernote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Vision 2 3 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Epos2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viwoods AI Paper and AI Paper Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} ==printer.class - PostScript 3 and internal ghostscript drivers== As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes and since the general Joe Public finds postscript capable printer very expensive, postscript interpreters (eg ghostscript) have been developed aas a cheaper option which sit in between postscript data streams and non postscript (HP PCL?) printers. Set up Printer Prefs for Postscript and set the print to file option. Ghostscript has internal printer drivers gs -h and with something like gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps copytopar ram:tempfile It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file. gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf the ljet4 output device generates PCL also the pxlmono driver, which generates more generic PXL (PCL 6) gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl Printers supported by ghostscript...Explanation [http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u151.htm here] or [http://www.gnu.org/software/ghostscript/devices.html here] and [http://pages.cs.wisc.edu/~ghost/doc/printer.htm here] <pre> bit cljet5 ljet4d pjxl300 pxlcolor bitcmyk cljet5c ljetplus pkm pxlmono bitrgb deskjet nullpage pkmraw stp bj10e djet500 pbm pksm tiff12nc bj200 epswrite pbmraw pksmraw tiff24nc bjc600 faxg3 pcx16 png16 tiffcrle bjc800 faxg32d pcx24b png16m tiffg3 bmp16 faxg4 pcx256 png256 tiffg32d bmp16m ijs pcxcmyk pnggray tiffg4 bmp256 jpeg pcxgray pngmono tifflzw bmp32b jpeggray pcxmono pnm tiffpack bmpgray laserjet pdfwrite pnmraw uniprint bmpmono lj5gray pgm ppm x11 bmpsep1 lj5mono pgmraw ppmraw x11alpha bmpsep8 ljet2p pgnm psgray x11cmyk cdeskjet ljet3 pgnmraw psmono x11gray2 cdj550 ljet3d pj psrgb x11gray4 cdjcolor ljet4 pjxl pswrite x11mono cdjmono </pre> === Internal Ghostscript support === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | Canon BJ10e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Canon BJ200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Epson Stylus Color 600 parport inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - internal ghostscript support}} |- | <!--Description-->HP Deskjet 500 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | HP1220C/PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | HP 1700PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->LJ-III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested HP PostScript Cartridge Plus (C2089A) a.. Press <ON LINE> (and take machine off line) b.. Press <Plus & Minus>, and while holding, press <ALT> and <RESET> together and watch the LCD and let go when the desired mode is displayed.}} |- | <!--Description-->HP Laserjet 4 4M 4MP (1992) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation HP 4 with optional ps cartridge - HP 4M and 4M+ built in}} |- | <!--Description-->HP Laserjet 4L Parport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 HP 4L only - no postscript}} |- | <!--Description-->HP Laserjet 5M (1995) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS2 emulation | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested you can try the ljet4 for the various lj5 drivers which produce various flavours of PCL. The 4, 4+ and 5 only really had one issue that plagued them, and it's hardly an issue at all. You would get accordian jams at the exit. A lot of people worked through this by pulling the sheet out before it got caught. Easily fixed by opening back door and scrubbing grime off of rubber rollers. }} |- | HP Laserjet 5L Parport (1997) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{N/A}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 support only.}} |- | HP Laserjet 5P 6P (1995) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested HP 5p, 6p - Less tiny, slightly less slow. They are pretty bullet proof for low volume best to get postscript module though }} |- | HP Laserjet 2100 2100N 2100TN (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation }} |- | HP Laserjet 4000 Series Parport (1998) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|PS3 emulation only (4200 and 4600 have issues)}} |- | HP Laserjet 4050 Parport (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|works }} |- | HP Laserjet 5000 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|}} |- | HP LaserJet 6M, 1200, 1300, 2100, 2200, P2050 (and P2055) P3005, M3025, M3027, 3050, 3300, 4000, 4050, 4100, 4200, 4300, M4345, P3005, P3015, P4010, P4410, M5025, M5035, 5100, 5200, 8000, 8100, or 9000 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation optional only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{untested }} |- | <!--Description-->HP Color LaserJet 2550, 3700, 4650, 8500 and 8550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexmark Optra C, T, and W series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Xerox Phaser 850, 860 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Monochrome === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->Brother HL-1270N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-3070CW Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|BR-Script3 (PS3) untested}} |- | <!--Description-->Brother HL5240 HL5240L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript (PostScript Level 2) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-7050N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-7860DW Monochrome B/W BW | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script BRScript (PostScript Level 3) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL4570CDWT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epson EPL-6200 Laser Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-1370DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | HP LaserJet CP1515n USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description-->Lexmark Optra E312 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->built in? | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Color === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother hl-3075cw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script 3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-9120CN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRS3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->HP Color LaserJet 2500L (2003) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet 2550L 2550Ln (2004) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet CP1218, 2605, 3700, 4500, 4600, or 4650 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Konica Minolta Magicolour 4650EN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-1010 FS-1010N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-C5200DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Kyocera Mita FS-1030D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-C5150DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Lexmark C540n | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Lexmark [http://www1.lexmark.com/products/view/Printers/Lexmark%20C780n/catId=cat10006-category&prodId=3907-product C780n] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{yes|works PS3 emulation only}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | OKI C3600 Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Samsung CLP-315 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->untested | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Xerox 618x Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} See [http://www.irseesoft.de/tp_drive7.htm here] for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga, OS3.x support via [http://aminet.net/package/comm/tcp/NetPrinter NetPrinter] and [http://www.os4depot.net/index.php?function=browse&cat=driver/printer OS4 drivers] and [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33955&forum=27#622365 experiences]. usbparallel.device untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). Sticking to the same units is generally a good idea I think (and therefore this mechanism is also used with all other classes creating exec.devices). You may not send a short packet (packet less than maxpktsize == 64) nor zero byte packets until the very last byte of your printout. Otherwise the printer will silently ignore the data you sent. Some printer drivers print very short sequences that never fill the endpoint buffer, so printer ignore them. Bufferize all printer driver writes in the ieee1284.device and send them by epsize packets. So my hppsc2210 works fine with a classic HP560C driver, on a classic A2000 subwayized :) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Beige cream D shape centronics end (Prolific chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002v1 centronics end (chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002VEA v2 centronics end (Prolific PL2305L chipset) | | | | {{N/A|untested}} |- | DYNAMODE USB-C-PP-1284 USB to 36pin (Prolific 2305 chipset) | 0x067b | 0x2305 | 0x02 | {{N/A|untested but similar to BAFO below}} |- | IOGear GUC1284B | | | | {{N/A|untested}} |- | My-Link (raised ellipse on centronics plastic end) (unknown chipset) | | | | {{N/A|untested but more expensive }} |- | NEWLink (Prolific chipset?) | | | | {{N/A|untested}} |- | Targus PA096E centronics end (chipset?) | | | | {{N/A|untested}} |- | TRENDnet ware TU-P1284 | | | | {{N/A|untested}} |- | True PnP (Prolific chipset 2305) cheap 36pin Centronics (series of ridges along both short sides) | 0x067b | 0x2305 | 2.00 | {{N/A|untested on BAFO BF-1284 but reports of poor quality and lack of support on other OSs }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Transparent See Through Blue | | | | {{N/A|untested but possible poor quality build }} |- | Dynamode USB-PARALLEL 25pin female (prolific) | 0x067b | 0x2305 | 0x02 | {{N/A|untested}} |- | FDL USB to 25pin | | | | {{N/A|untested}} |- | PlusKom USB to 25pin female connector for printer (IEEE 1284) | | | | {{N/A|untested}} |- | QinHeng Electronics (CH340S chipset) | 0x1a86 | 0x7584 | | {{N/A|untested curvy sides - flat top }} |- | StarTech | | | | {{N/A|untested}} |- | Syba SD-USB-DB25 | | | | {{N/A|untested}} |- |} ==rawwrap.class - some old flatbed scanners supported== Scandal is the MUI frontend to [http://www.ppa.pl/bugtracker/ Betascan Bugtracker] and [http://aminet.net/search?query=betascan Search for Betascan scanner drivers] derived from [http://www.sane-project.org/sane-backends.html sane backends] [http://www.sane-project.org/sane-backends.html#S-EPSON2 Epson2] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Expression 1600 1640XL 1680 10000XL | 0x04b8 | 0x0107 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Prefection 1200U, 1200 Photo, | 0x04b8 | 0x0104 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 1240U | 0x04b8 | 0x010b | <!--Revision--> | <!--Opinion-->{{[https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=45760&forum=25 works]|Needs 24V 0.8A psu but in Trident, click on "Classes", then on "rawwrap.class", then on "Configure". There, under "Global", activate the Option "Bind to Vendor/Unknown Interfaces". Now go to the second tab "Default Interface" and select/enter these values: Default usbraw.device Unit: 0 Exclusive access: Yes Out NAK Timeout: 20000ms In NAK Timeout: 20000ms In Buffer Mode: No buffering Buffer Size: 36 KB Short Reads Terminate: Yes Now click on "Use as Default" and select "Devices" on the left. There, click on your scanner and click on "Class Scan". Now close Trident by clicking on "Save". }} |- | Perfection 1640SU Photo | 0x04b8 | 0x010a | 0x0104 | {{yes|works, even the transparency unit}} |- | Perfection 1650 Photo, 1660 Photo, 3200 Photo | 0x04b8 | 0x011c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 2400 Photo, 2450 Photo | 0x04b8 | 0x011b | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 4870 Photo, 4990 Photo, | 0x04b8 | 0x0128 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection V700 V750 Photo | 0x04b8 | 0x012c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus CX2800 2900 3200 3500 3600 3650 3700 3800 3900 Stylus CX4100 4200 3500 4600 4700 4800 4900 500 5100 5200 5300 5400 5900 | 0x04b8 | 0x0802 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus Office BX300F USB | 0x04b8 | 0x0848 | | {{yes| works with good scan quality}} |- |} [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx] scanners based on the Grandtech GT-6801 and GT-6816 "System-On-Chip" scanner chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Artec Ultima 2000 and e+, Trust Flat Scan USB 19200 (ePlus2k.usb / Gt680xfw.usb) | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Genius Colorpage Vivid3x 4x 1200x | 0x0458 | 0x2011 to 0x201f | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | <!--Description-->Lexmark X70 also X73 [http://subfusion.net/drivers/oslo3071b2.usb OSLO3071b2.usb] | <!--Vendor ID-->0x043d | <!--Product ID-->0x002d | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Medion/Lifetec/Tevion/Cytron MD/LT 9375 and Artec Ultima 2000, MD LT 9385 Gt680xfw.usb | <!--Vendor ID-->0x05d8 | <!--Product ID-->0x4002 | <!--Revision--> | <!--Opinion--> |- | BearPaw 2448 CS and TA Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A2Nfw.usb A2Nfw.usb] | 0x055f | 0x021a | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | Mustek BearPaw 1200 CS | 0x055f | 0x021e | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A1fw.usb A1fw.usb])}} |- | <!--Description-->Mustek 1200 CU Plus Scanner [http://www.meier-geinitz.de/sane/gt68xx-backend PS1Dfw.usb / SBSfw.usb] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2000 }} |- | Mustek ScanExpress 1200 UB plus, Trust Compact Scan USB 19200, ScanMagic 1200 UB Plus | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb])}} |- | Mustek ScanExpress 1248 UB aka PC-World PC Line PCL-3000 | 0x055f | 0x021f | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb SBSfw.usb])}} |- | Mustek BearPaw 2400CS TA aka Goodmans GSC 12/24 | 0x055f | 0x0218 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter untested) }} |- | BearPaw 2400 CS aka TA Plus | 0x055f | 0x0219 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter) }} |- | Packard Bell Diamond 1200 Plus | 0x055f | 0x021c or 0x021b | 0x0 | {{yes|works - [http://www.meier-geinitz.de/sane/gt68xx-backend/ firmware required] but slow usb 1.1 speed with poor quality output (scanner fault not scandal)}} |- | Packard Bell Diamond 2400 Plus aka BearPaw 2400 CU Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/ PS2Dfw2.usb firmware rename to PS2Dfw.usb] | 0x055f | 0x021d | 1.00 | {{yes|works slow usb 1.1 speed with ok quality output (scanner fault not scandal)}} |- | Plustek OpticPro 1248U | 0x07B3 | 0x0400 0x0401 | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | Plustek OpticSlim 2400 | 0x07b3 | 0x0422 | <!--Revision--> | <!--Opinion-->{{unk| (cis3R5B1.fw)}} |- | Visioneer OneTouch 7300 | 0x04a7 | 0x0444 | <!--Revision--> | <!--Opinion-->{{unk| (Cis3r5b1.fw)}} |- | <!--Description-->Mustek ScanEpress 1200 UB (Plus) clone [http://www.meier-geinitz.de/sane/ use mustek_usb backend] | <!--Vendor ID-->0x055f | <!--Product ID-->0x0006 | <!--Revision--> | <!--Opinion-->{{no| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Lexmark - needs testing {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Lexmark X1110 | | | | {{N/A|untested}} |- | Lexmark X1140 | | | | {{N/A|untested}} |- | Lexmark X1150 | | | | {{N/A|untested}} |- | Lexmark X1170 | | | | {{N/A|untested}} |- | Lexmark X1180 | | | | {{N/A|untested}} |- | Lexmark X1185 | 0x043d | 0x007c | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Lexmark X12xx | | | | {{N/A|untested in USB1.1, not fully tested in USB2.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dell A920 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} HP - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | HP ScanJet 4100C | 0x03f0 | 0x0101 | | {{no|no driver}} |- | HP ScanJet 5200C | 0x03f0 | 0x0401 | | {{no|no driver}} |- | HP ScanJet 62X0C | 0x03f0 | 0x0201 | | {{no|no driver}} |- | HP ScanJet 63X0C | 0x03f0 | 0x0601 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0102, 0x0105, 0x0205, 0x0305, 0x0405 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0705, 0x0805, 0x0901, 0x0a01 | | {{no|no driver}} |- | HP | 0x03f0 | 0x1205, 0x1305, 0x2005, 0x2205 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Plustek [http://www.sane-project.org/sane-backends.html#S-PLUSTEK LM983x] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Plustek OticPro U12 UT12 UT16 U24 UT24 | 0x07B3 | 0x0010 to 0x0017 | | {{no|no driver}} |- | KYE/Genius Colorpage HR6-V2 HR6A HR7 HR7LE HR6X | 0x0458 | 0x2008 to 0x2016 | | {{no|no driver}} |- | Hewlett-Packard ScanJet 2100C and 2200C | 0x03F0 | 0x0505 and 0x0605 | | {{no|no driver}} |- | Mustek BearPaw 1200 and 2400 | 0x0400 | 0x1000 and 0x1001 | | {{no|no driver}} |- | UMAX 3400/3450 and 5400 | 0x1606 | 0x0050, 0x0060 and 0x0160 | | {{no|no driver}} |- | Epson Perfection 1250 and 1260 | 0x04B8 | 0x010f and 0x011d | | {{no|no driver}} |- | CANON CanoScan N650/656U N1220U D660U N670/676U N1240U LIDE20 LIDE25 LIDE30 | 0x04A9 | 0x2206 to 0x2220 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} [http://snapscan.sourceforge.net/ SnapScan] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Acer Benq 310U, 320U, 340U | 0x4a5 | 0x0 | | {{no|no driver}} |- | Acer Benq 620U, 620UT, 640U, 640UT | 0x4a5 | 0x20 | | {{no|no driver}} |- | Acer Benq 1240 3300 4300 | 0x4a5 | 0x020 | | {{no|no driver}} |- | Agfa SnapScan e10 e20 e25 e26 e40 e42 e50 e52 | 0x06bd | 0x20 | | {{no|no driver}} |- | Epson Perfection 660 | 0x04b8 | 0x0114 | | {{no|no driver}} |- | Epson Perfection 1270 1670 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 2480 2580 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 3490 3590 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Mitsubishi | 0x0 | 0x0 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ==hub.class (self-powered and external ac powered hubs)== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Dynamode USB-H41 4 ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Belkin 4 Port | | | | {{yes|works}} |- | Conrad | | | | {{yes|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum] }} |- | DLink DUB-H4 AC Adapter | 0x05e3 | 0x0608 | High 0200 | {{maybe|WARNING Genesys Logic Hub Broken - Will cause failures with USB}} |- | [http://service.targa.co.uk/faq.php?lang_id=2&baseid=178&artdesc=SilverCrest+USB+Hub+2040&artid=760&artpic=silvercrestHUB2040.jpg SilverCrest 4-port slim USB 2.0 HUB - HUB2040 (40775) - Targa GmbH] | 0x05e3 | 0x0608 | 0901 | {{yes|works Genesys Logic, Inc., [http://service.targa.co.uk/dokumente/USB_HUB_2040_0109_manual_EN.pdf Manual]}} |- | Skymaster | 0x05e3 | 0x0605 | 060B | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | No Name active 4-port | 0x1a40 | 0x0101 | 0111 | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Thinkpad USB 3.0 Dock DU9019D1 | <!--Vendor ID-->0x17e9 | <!--Product ID-->0x4302 | <!--Revision-->0014 | <!--Opinion-->{{Maybe|works a bit}} classed as dfu.class with two further USB 2.0 hubs - USB 3.0 ports detected and work (2.0 backwards compatibility) - DisplayLink DL-3900 with VIA VL811 chipset - usb ethernet not working - two dvi not working - 20V psu 2a (40w) with a 5.5 - 2.5mm tip (no bus power) - data through a-b printer/scanner usb lead - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} ==Internet== ===rndis.class USB Tethering === The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported including smartfones. Before opening Network Prefs, activate USB Tethering on the Smartfon, on Network prefs, type in usbrndis.device and tick "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed. When restart AROS my Smartphone deactivates the connection and to access the network again, have to reactivate it before starting the browser. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Alcatel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | Huawei U8800 | 0x12d1 | 0x1039 | | {{yes|works}} |- | <!--Description-->Huawei | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | HTC (Android phone) | 0x0bb4 | 0x0ffe | | {{Yes|any android phone with usb tethering option}} |- | <!--Description-->Nokia | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Oppo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Samsung Galaxy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- |- | <!--Description-->iPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft winPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ===USB &rarr; ethernet lan adaptor=== *2002 playstation 2 usb1.1 era - a little support but very old and slow *2006 wii asix era - a little support but very much miss than hit *2026 usb0: or eth0: of CDC Ethernet protocol (cdcether) with Ethernet Control Model (ECM) and [https://www.usb.org/document-library/class-definitions-communication-devices-12 others like Wireless Mobile Communication Devices WMC] and later CDC EEM (Ethernet Emulation Model) and NCM (Network Control Model) are USB Communication Device Class (CDC) protocols packing more Ethernet traffic over every USB bundle. For CDC Ethernet - NCM is better than EEM is better than ECM * USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 poor speeds * USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88772 a little especially the 2010 apple version but buy many as very very poor odds of working one * USB3.0 Over 400 meg broadband (60+MBytes/s) - not supported at the moment SANA (Standard Amiga Network Architecture) to usb ADMtek Infineon ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="50%" |Opinion |- | 3Com 3c460b | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Abocom UFE1000 / Abocom DSB650TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Accton USB320-EC / Accton SpeedStream Ethernet | 0x083a | 0x0320 | <!--Revision--> | {{unk|2002 }} |- | AEI USB Fast Ethernet / Allied Telesyn AT-USB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2002 }} |- | ATEN UC-110T | 0x0557 | 0x4000 | | {{unk|2001 }} |- | BAFO USB To Ethernet Adapter BF-310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Belkin F5D5050 v1 1101 | 0x050D | | <!--Revision--> | {{maybe|2002 sometimes works from old amiga.org post which is now removed}} |- | Belkin F5D5050 v2 2101 | 0x050D | 0x0121 | <!--Revision--> | {{no|2006 does not works}} |- | Belkin F5U122-PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USB-100 / Billionton USBLP-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USBEL-100 / Billionton USBE-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Compex LinkPort/UE202A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-H3ETX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-650 / D-Link DSB-650TX / D-Link DSB-650TX-PNA | 0x2001 | 0x4000 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DU-E10 / D-Link DU-E100 | 0x2001 | | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Edimax USB Ethernet Adapter EU-4201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Elsa AG MicroLink USB2 Lan Ethernet adapter | 0x05cc | 0x3000 | <!--Revision-->1.01 | <!--Opinion-->{{unk| }} |- | GetNet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | GIGABYTE GN-BR402W Wireless Router | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goodway Fellowes USB UE-120 REV:V1 UE120 ADMTek 1011594 HO2419741 | <!--Vendor ID-->0x07a6 | <!--Product ID-->0x0986 | <!--Revision-->0001 | <!--Opinion-->{{maybe|2001 USB Specification 1.1 compliant}} |- | GWC Tech USB Ethernet Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hawking UF100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | HP HN210E / I/O DATA USB ETTX / Kingston KNU101TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Jinco USB Ethernet Adapter 10/100 Base-T UE-110 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Kouwell USB to Ethernet 588A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Linksys USB10T / TA / TX | 0x066b | 0x2202 | <!--Revision--> | <!--Opinion-->{{unk|untested - possible peg1/peg2}} |- | Linksys (Cisco) USB100TX / H1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitec LAN-TX/U1 H2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.mayflash.com/psps2/ps2024/ps2024.htm Mayflash PS2024] Playstation2 compatible clone of Proxim/Farallon NetLine? | 0x07a6 | 0x8511 | <!--Revision-->1.01 | <!--Opinion-->{{maybe|works with DHCP router option on old 32bit distros but not on newer 64bit, best to go asixeth apple 2010 but buy many of them as poor success rate i.e. a lottery}} |- | Netgear FA101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Philips CPWUE01/00 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Planet UE-9500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | PlayStation 2 SCPH-10000 50000 models | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Proxim (formerly Farallon) NetLine USB PN796-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Siemens SpeedStream USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SOHOware NUB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SMC EZNET-USB 2202USB/ETH / SMC 2206USB/ETH | 0x0707 | 0x0100 0x0200 0x0201 | <!--Revision--> | {{unk|untested but should work very well }} |- | Surecom EP-1427X 100/10M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Target USB to 10/100M Fast Ethernet Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Trendnet TU-ET100C | 0x07a6 | 0x8511 | <!--Revision-->0x0 | {{yes| sometimes works well, very stable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Digitus USB NIC DN-3016-A | 0x07a6 | 0x8513 | 1.01 | {{unk|untested new chipset }} |- | Digitus lanusb ADM8515 | 0x07a6 | 0x8515 | 1.01 | {{unk|untested because new chipset }} |- | VE285 usblan ADMtek 8515 | 0x07a6 | 0x8515 | 1.01 | {{no|not working as new chipset }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Davicom USB-100 see clone below | 0x0a46 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | [http://wiki.maemo.org/USB_to_ethernet_networking chinese translucent transparent crystal blue] but variants are also found in clear, white and black. Just over 6&nbsp;cm long. | 0x0a46 | 0x9601 | 0x0 | {{yes|2002 success can be sporadic so technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked. One case cracked open. }} |- | Corega FEther USB-TXC | 0x07aa | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dynamode USB-NIC-1427-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hirose USB-100 | 0x0a47 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | KY-RS9600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585358&postcount=12 works] }} |- | ShanTou ST268 USB NIC | 0x0a46 | 0x0268 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | ZT6688 USB NIC | 0x0a46 | 0x6688 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ICS Advent DM9601 USB 2.0 10/100M Ethenet Adaptor JP1081B | <!--Vendor ID-->0x0FE6 | <!--Product ID-->0x9700 | <!--Revision-->0101 | <!--Opinion-->{{No|not working 32bit and 64bit - USB 1.1 10M ethernet}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} MosChip MCS7830 (USB 2) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Digitus DN-10050 | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | Edimax [http://www.edimax.co.uk/images/Image/datasheet/USB/EU-4206/EU-4206.pdf EU-4206] | | | <!--Revision--> | <!--Opinion-->{{unk|2005 }} |- | Speed Dragon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | STLabs | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | StarTech Compact USB2105S [http://www.kustompcs.co.uk/acatalog/info_6790.html USB2106S] | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | Sunrich Technologies [http://www.st-lab.com/admin/upfile/UploadFile/manual/manual(u-250).zip U-250] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | Syba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MCS 7832 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2008 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} * USB2 [https://www.asix.com.tw/en/product/USBEthernet Asix Ethernet] AX88178A, AX88772C, AX88772B, AX88772A (wii), AX88172A * USB3 AX88179A, AX88179 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AirLink101 AGIGAUSB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 AX88172}} |- | ATEN UC210T | 0x0557 | 0x2009 | 0x | <!--Opinion-->{{unk| AX88172}} |- | <!--Description-->Billionton Systems USB2AR | <!--Vendor ID-->0x08dd | <!--Product ID-->0x90ff | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->Buffalo LUA-U2-KTX | <!--Vendor ID-->0x0411 | <!--Product ID-->0x003d | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->corega FEther USB2-TX | <!--Vendor ID-->0x07aa | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{no| }} |- | D-Link DUB-E100 up to rev A4 | 0x2001 | 0x1a00 | | <!--Opinion-->{{No| }} |- | <!--Description-->D-Link DUB-E100 rev B1 onwards | 0x07d1 or 0x2001 | 0x3c05 | <!--Revision--> | <!--Opinion-->{{Maybe|AX88172 works on Deneb with [http://amigax.com/2010/02/21/usb-ethernet-speed-test-amigaos-4-0-classic/ Amiga OS4 Classic] and [http://www.a1k.org/forum/showthread.php?t=11432 on a1k] }} |- | <!--Description-->goodway corp USB gwusb2e | <!--Vendor ID-->0x1631 | <!--Product ID-->0x6200 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hawking UF200 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[Linksys USB200M] | 0x077b | 0x2226 | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585601&postcount=20 works] }} |- | <!--Description-->Netgear FA120 | 0x0846 | 0x1040 | <!--Revision--> | <!--Opinion-->{{N/A|untested 2002 10/100 Rev.B1" is silkscreened on the board of the device populating this entry (S/N: FA12254CB100409, date code 0508). This device may be manuf. by [http://www.cameo.com.tw/ Cameo] "AX88172 L", "F05040157", and "ED3" Chip1 ASIX AX88172 Chip2 Realtek RTL8201BL}} |- | <!--Description-->Intellinet | 0x0b95 | 0x1720 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->JVC MP-PRX1 Port Replicator | <!--Vendor ID-->0x04f1 | <!--Product ID-->0x3008 | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->ST Lab USB Ethernet | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1720 | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter" | <!--Vendor ID-->0x6189 | <!--Product ID-->0x182d | <!--Revision-->0 | <!--Opinion-->{{No| }} |- | <!--Description-->Surecom EP-1427X-2 | <!--Vendor ID-->0x1189 | <!--Product ID-->0x0893 | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->TrendNet TU2-ET100 v2 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{Maybe|version 2}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->A-LINK NA1GU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 88772}} |- | <!--Description-->AirLink101 ASOHOUSB Wii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AirLive EtherWe-1000U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->APPLE AX88772 Model No. A1277 MC704LL/A P/N 825-7098-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{No|2008 usb2, }} |- | <!--Description-->APPLE Model No. A1277 (MB442Z/A 0885909217434) MC704ZM/A PN 825-7579-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{Maybe|2010 model, usb2 and controller AX88772 where prehaps 1in3 units working with owb - really poor odds i.e. a lottery, could be situation where various ethernet phy chipsets are used - press Use in network prefs after Save initial setup typing in usbasixeth.device, }} |- | <!--Description-->ASIX AX88772 bulbous casing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{maybe|2008 works on 32bit and 64bit though setup can take a few attempts but may have issues with phy ethernet chip changing, }} |- | <!--Description-->Datel Wii Lan Adapter DUS0204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->EdiMax EU-4207 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Goodway HE2230 Maplin ASIX 88772 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Intec LAN G5626 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0202 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0301 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Linksys USB200M Rev 2 | <!--Vendor ID-->0x13b1 | <!--Product ID-->0x0018 | <!--Revision--> | <!--Opinion-->{{maybe|2008 sparsely randomly working AX88772 or with "Sana-II Meter Tool 37.11" network monitoring program, showing continuous "Bad Packet" errors which could means "CRC" errors}} |- | <!--Description-->Linksys USB300M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{maybe|2009 AX88772 }} |- | <!--Description-->Mayflash W001 or clones Lupo/PEGA S-Wii-0680 light gray rectangular with third of one top 45 degree angled slope | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{unk| may have randomly changed phy ethernet chips, }} |- | <!--Description-->Max Value MVF00446 ASIN B006EG568A | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises as AX88772 sometimes works on 32bit and 64bit}} |- | <!--Description-->NEWLink N14050 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NEWLink Wii-ETH USB2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nintendo Wii LAN Adaptor 2110566 and clones | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{Maybe|Poseidon recognises as AX88772 with usbasixeth.device sometimes works seems different ethernet phy chips can be matched affecting compatibility}} |- | <!--Description-->Nyko Wii Net Connect 87024 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585624&postcount=22 works] }} |- | <!--Description-->0Q0 cable ethernet | <!--Vendor ID-->0x1557 | <!--Product ID-->0x7720 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB2-E100 (2009/2010) Bulbous housing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises it as ax88772A and typing in usbasixeth.device sometimes works}} |- | <!--Description-->Sabrent KINAMAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SpeedLink SL-3401-SGY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGreen 20254 USB2 to 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88772}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Afunta Apple-style White USB2.0 I/O Crest SY-ADA24005 ASIX Electronics Corp. AX88772A Fast Ethernet Adapter | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x | <!--Opinion-->{{no|usbasixeth.device accepted by network prefs but does not work}} |- | <!--Description-->Amazon Basics USB 2.0 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Digitus DN-10050-1 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x0 | <!--Opinion-->{{unk| }} |- | <!--Description-->Edimax EU-4230 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sabrent KINAMAX NT-USB20 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88772B USB 2.0 to 10/100M | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EdiMax EU-4208 | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x772b | <!--Revision-->0x | <!--Opinion-->{{No|Detected but not working}} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB2100 ASIX AX88772C | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772D AX88772D] | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772E AX88772E] | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->AX88178 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2004 }} |- | <!--Description-->Plugable USB2-E1000 i.e. USB 2.0 to Gigabit Ethernet 10/100/1000 LAN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 ASIX AX88178 Controller and Realtek RTL8211CL PHY}} |- | <!--Description-->AX88178A USB 2.0 to 10/100/1000M Gigabit Ethernet controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AmazonBasics USB3.0 adapter [https://github.com/nothingstopsme/AX88179_178A_Linux_Driver AX88179] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cable Matters SuperSpeed USB 3.0 RJ45 adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hori Nintendo Switch 1 USB3 ethernet AX88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2017 AX88179 not binding to asixeth.class }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2020 ASIX AX88179 not binding to class, USB 3.2 Gen1 to Gigabit Ethernet controller with integrated 10/100/1000Mbps Gigabit Ethernet PHY}} |- | <!--Description-->Plugable AX88179 = [https://plugable.com/products/usb3-e1000-deal USB3-E1000] before mid-2023 or USB3-E1000; AX88179A = USBC-E1000 after mid-2023 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 controller is AX88179 phy is ??, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTW ax88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no| AX88179 not binding to asixeth.class, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000NDS AX88179 USB-A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC301AU AX88179 USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC30B2 AX88179A USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB32000SPT AX88179A USB-c Rev 1 (AX88179) Rev 2 (AX88179A) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->USB32000SPT the Lot code sticker will have a bar code accompanied by a 10 digit number. The 5th and 6th digits of this lot code number would signify the revision. (Ex. xxxx02xxxx which would indicate rev. 2) |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SYBA SY-ADA24029 Gigabit AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} may depend on the PHY chip connected to the controller chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TP-Link UE306 AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® Orico UL677G 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® UL688G USB 3.0 10/100/1000 Base-T Ethernet port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->AX88179 178A |- | <!--Description-->Tecknet UL699G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v6 | <!--Vendor ID-->0x07b8 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|no support }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen 50922 USB3-A to 100/1000 dark grey rounded barrels | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{no| ax88179 not binding to asixeth.class, }} |- | <!--Description-->UGreen USB3-C to 100/1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen CR111 20256 usb3 a black plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88179}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 USBC-E1000 after mid-2023 i.e. AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTB | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| AX88179A USB-A, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==USB &rarr; SerialPort Converter== *2002 some support for early revisions of PL2303 *2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support *2025 FTDI 232R [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1135&highlight=232r&rowstart=20 work in progress] *2026 CDC-ACM i.e. Serial port over USB standard serialpl2303.class make sure you specify serialpl2303.device or Echo "Test" >SER1: {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | ATEN UC-232A | 0x0557 | 0x2008 | Full 0x0300 | {{N/A|untested}} |- | IOGear GUC232A | 0x0557 | 0x2008 | Full 0x0110 | {{N/A|untested}} |- | Alcatel | 0x11f7 | 0x02df | | {{N/A|untested}} |- | BAFO BF-810 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Belkin F5U103 | 0x | 0x | 0x0 | {{N/A|untested}} |- | Davibe SP611 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Dcu10 | 0x0731 | 0x0528 | | {{N/A|untested}} |- | Elcom | 0x056e | 0x5003 | | {{N/A|untested}} |- | IOData | 0x04bb | 0x0a03 | 0x0 | {{N/A|untested}} |- | Itegno | 0x0eba | 0x1080 | | {{N/A|untested}} |- | Nokia CA42 | | | | {{N/A|untested}} |- | Radioshack | 0x1453 | 0x4026 | | {{N/A|untested}} |- | Ratoc | 0x0584 | 0xb000 | | {{N/A|untested}} |- | Samsung | 0x04e8 | 0x8001 | | {{N/A|untested}} |- | Siemens DCA-510 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Sitecom CN104 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Sitecom CN116 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Some Cut Ma620 | 0x0df7 | 0x0620 | | {{N/A|untested}} |- | Speed Dragon Multimedia MS3303H | | | | {{N/A|untested}} |- | Syntech | | | | {{N/A|untested}} |- | <!--Description-->Tripp | 0x2478 | 0x2008 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Airlink101 AC-USBS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Belkin F5U103v | 0x067B | 0x2303 | 0x0 | {{no|no driver }} |- | Dynamode U232-P9 | 0x067B | 0x2303 | 300 | {{no| no driver [http://koti.mbnet.fi/lonnberg/pl2303x.html linux patch] and using lsusb -v -d 067b:2303 gave bMaxPacketSize as 64 - pl2303x }} |- | Konig CABLE-146/2 USB to RS232 | 0x067b | 0x2303 | 400 | {{no|no driver }} |- | MANHATTAN 205146 USB to Serial Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | Sabrent SBT-USC1M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Trendnet TU-59 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Unbranded black case and lead USB 232 Converter | <!--Vendor ID-->0x067B | <!--Product ID-->0x2303 | <!--Revision-->0300 | <!--Opinion-->{{No| }} |- |} [http://www.ftdichip.com/index.html Future Technology Devices International Ltd FTDI]-FT232R.class [https://ftdichip.com/software-examples/code-examples/c-builder/ FTProg src], [http://rtr.ca/ft232r/ ft232r src], [https://ftdichip.com/wp-content/uploads/2020/08/DS_FT232R.pdf FT232R datasheet], [], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID-->0x0403 | <!--Product ID-->0x6001 | <!--Revision--> | <!--Opinion-->{{no|no driver}} [https://www.youtube.com/watch?v=1GE-gKgHxZI beware of cheap clones fake with s/n A50285BI SN] |- | <!--Description-->Lynx Astro FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232R |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Sabrent CB-FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | {{no|no driver TTL-232R cables use FTDI's [http://n1mm.hamdocs.com/tiki-index.php?page=USB+Interface+Devices FT232RQ ic device] }} |- | <!--Description-->Startech.com 1 Port FTDI USB to Serial RS232 DB9M Adapter Cable with COM Retention ICUSB2321F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL Chipset |- | <!--Description-->StarTech.com 2 Port FTDI USB to Serial RS232 Adapter Cable ICUSB2322F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FTDI FT2232D Chipset |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL is the SSOP-28 and the FT232RQ is the QFN-32 package option |} [https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html ch341a.class] *I2C EEPROMS (3.3V and 5V) compatible and also SPI FLASH memories (3.3V devices) making sure 1.8V is covered *each having their own [https://winraid.level1techs.com/t/guide-how-to-use-a-ch341a-spi-programmer-flasher-with-pictures/33041 4x2 connection blocks] using [https://github.com/flashrom/flashrom flashrom] sudo flashrom --programmer ch341a_spi -r backup.bin sudo flashrom --programmer ch341a_spi -w <new bios name> {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Jiangsu QinHeng Ltd CH341A emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI) | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x5512 | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->QinHeng USB2.0-Serial HL-340 | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x7523 | <!--Revision-->0252 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |} ==simplemidi.class and CAMD== Currently support includes * simplemidi.class SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate a musical keyboard * camdusbmidi.class follows the rules of the m68k implementation of Commodore's CAMD midi specification and usb class compliant for * usb host like a computer * usb device controllers - keyboards, drum machines, djay turntables, grooveboxes, etc * interfaces - cables or boxes which convert usb to 5pin DIN plug midi What is needed is a fully class-compliant '''brand name''' USB MIDI keyboard, especially manufactured in the last 10 years are best *Arturia *Novation *M-Audio *Akai Plugging this in one of your USB ports, the camd.library will make the keyboard's MIDI IN/OUT ports available in the system. Then select the keyboard's MIDI IN port (known as a "cluster" in CAMD) for input, and the software instrument's cluster as output ShowCluster (shows midi ports available in and out) MidiWatch (usually port usbmidi.in.0 less often usbmidi.out.0) (Ctrl-C to end output stream) usbmidi.in.0 Message on channel 01, NoteOn 90 39 08 00 usbmidi.in.0 Message on channel 01, NoteOff 80 39 00 00 MidiThru (forwards messages from one port to another) run >nil: c:midithru usbmidi.out.0 usbmidi.out.2 MidiSendC (sends a middle C to a specific port) Midi Controller + Sound Module (together aka as a synth) -> Audio Output The difference between midi and midi over USB is that in old school Midi the transmitter transmits whenever it wants and the receiver always has to be prepared to receive data. Easy to do at the rate of a 1990's modem speed these days. USB over midi.. turns midi into a polled protocol.. So the USB host (typically the computer) has to ask "do you have anything for me" before the remote will send. If the USB host gets busy doing other things or there is a lot of things on the USB bus to get polled, you can get delays. For its age midi is still a great protocol for music * [https://www.usb.org/sites/default/files/midi10.pdf USBIF's "USB Device Class Definition for MIDI Devices" document, version 1.0 from Nov 1, 1999] * [https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf MIDI v2.0 from 2020 which AROS still needs, adds support for MIDI 2.0, MIDI-CI, and Universal MIDI Packet] Nearly all synthesizers now use the 16 MIDI channels available on a MIDI bus in one instrument alone, requiring multiple MIDI busses in a typical setup with more than one MIDI instrument. In addition, by handling multiple "virtual" cables, USB offers a solution to go beyond MIDI's 16-channel limit. MIDI data is transferred over USB using 32-bit USB-MIDI Event Packets. These packets provide an efficient method to transfer multiple MIDI streams with fixed length messages. The 32-bit USB-MIDI Event Packet allows multiple "virtual MIDI cables" routed over the same USB endpoint. This approach minimizes the number of required endpoints. It also makes parsing MIDI events easier by packetizing the separate bytes of a MIDI event into one parsed USB-MIDI event. {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Computer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{Yes|which acts as USB midi host to get all usb devices talking together}} |- | <!--Description-->Hobbytronics usb host standalone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->bomebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->raspberry pi with several midi interface(s) and linux scripting | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Kenton MIDI USB Host mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |} {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Acorn Instruments Masterkey 49 device | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested usb powered 5V regulated - similar keybed to keystation 49es but unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Akai SynthStation 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 - sticky rubber keys - usb |- | <!--Description-->Akai MPK Mini Laptop Production Keyboard | <!--Vendor ID-->0x09e8 | <!--Product ID-->0x007c | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and camd usb to use, not tested with apps}} | <!--Opinion-->2010 25 mini key self powered by mini USB lead - sustain port - no top left corner joystick - tested icaros 2.3 - |- | <!--Description-->Akai LPK25 LPK37 LPK49 Laptop Production Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2012 untested velocity sensitive mini keys with synth action - weak mini USB port - latency issues - |- | <!--Description-->Akai Professional APC Key 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 |- | <!--Description-->Akai MPK49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2012 untested 49 key 49-key full-sized, semi-weighted keyboard with aftertouch - |- | <!--Description-->AKAI Max25 MAX49 control keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2014 usb compliant |- | <!--Description-->Akai Professional MPK249 MPK261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 USB2 USB-b - full keys semi-weighted aftertouch - midi in out - sustain and peddle port |- | <!--Description-->Akai Professional Advance 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 |- | <!--Description-->Akai MPK Mini MKII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 untested USB2 USB-b midi connection only - 4 way thumb joystick top left - 25 tiny keys - velocity drum pads - plastic build quality - |- | <!--Description-->AKAI Professional APC Key 25 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| driver}} | <!--Opinion-->2017 |- | <!--Description-->Akai MPK Mini Play | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2021 untested USB2 USB-b midi connection only - synth basic samples - class compliant? - small led display top centre - 25 mini keys - press and hold the "Prog Select" button then use the "Program" knob to assign a MIDI channel - |- | <!--Description-->Akai MPK Mini 3 MKIII MK3 | <!--Vendor ID-->0x09E8 | <!--Product ID-->0x1049 | <!--Revision-->0200 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2021 USB2 USB-b midi controller connection no 5pin legacy - small led display top centre - 25 mini keys goofy uneven feel of the akai keyboards - press and hold the "Prog Select" button and press pad 1 to 8 to assign a MIDI channel - tested on AROS One 2.4 usb |- | <!--Description-->Akai Force / MPC One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Akai Pro MPK Mini Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2023 untested 37 mini keys - class compliant device - usb-b bus powered only with 5pin midi in and out - Shift and Global for Midi Ch - |- | <!--Description-->Akai Pro Ableton Push Mk 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Akai Professional MPC Key 37 49 61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2023 untested USB2 usb-b |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Alesis Photon PH-25 X25 Midi & USB keyboard/synth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2005 midi keyboard controller |- | <!--Description-->Alesis Q25 Q49 Q61 Q88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2014 untested |- | <!--Description-->Alesis Coda Pro Portable 88-Key Digital Piano USB MIDI Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 |- | <!--Description-->Alesis V25 V49 V61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 |- | <!--Description-->Alesis V Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VI49 VI61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VX49 VX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 1 5-pin MIDI input, 1 5-pin MIDI output, 1 USB port, |- | <!--Description-->Alesis Q25 Q49 Q61 Mk2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 |- | <!--Description-->Alesis Recital 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Alesis V25 V49 V61 MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 |- | <!--Description-->Alesis Qmini portable 32-key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->audiothingies MicroMonsta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested synth - |- | <!--Description-->audiothingies MicroMonsta 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 synth - |- | <!--Description-->Arturia Analog Experience “The Player” USB MIDI Master Keyboard Model APE25 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 usb-b bus powered - |- | <!--Description-->Arturia MiniLab Mk1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 maybe class complaint |- | <!--Description-->Arturia MiniLab MkII Mk2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 maybe class complaint |- | <!--Description-->Arturia Keystep 32 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2016 untested 32 mini keys usb compliant |- | <!--Description-->Arturia KeyLab 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2017 untested hammer-action Fatar keybed - reset Press and hold Oct + and Oct – buttons then insert the USB cable - |- | <!--Description-->Arturia MiniLab mkII | <!--Vendor ID-->0x1C75 | <!--Product ID-->0x2209 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2017 USB2 usb-b bus power - metal base heavier than most - Shift and press a key to select the MIDI Channel - To reset to original factory, unplug the USB cable, hold down the Oct- and Oct + buttons, plug the USB cable back in and continue to hold the buttons until the pads turn white - need software to change parameters like velocity sensitive assistance - |- | <!--Description-->Arturia KeyLab MK2 MKII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2017 untested hammer-action Fatar keybed |- | <!--Description-->Arturia MicroFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 hybrid digital/analog synthesis, |- | <!--Description-->[https://www.youtube.com/watch?v=PeYIAfn3UMs Arturia Minilab 3] [https://www.youtube.com/shorts/chj1WgMupGw ] [https://www.youtube.com/shorts/FMVdfhzg1Dw ] | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2020 untested usb-c bus powered - 25 mini keys semi - |- | <!--Description-->Arturia Keystep Pro | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Arturia MiniLab 3 Mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 maybe class complaint |- | <!--Description-->Arturia MiniFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 |- | <!--Description-->Arturia KeyLab Essential 49 61 88 mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested usb-c and 1 midi out - lack of aftertouch - |- | <!--Description-->Arturia AstroLab | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description-->Arturia KeyLab MK3 MKIII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 untested hammer-action Fatar keybed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer UMX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe|untested}} | <!--Opinion-->2007 |- | <!--Description-->Behringer U-Control UMX490 UMX610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 |- | <!--Description-->Behringer U-Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer Swing 32-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer MOTOR 49 - 49-Key USB/MIDI Master Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Creative EMU Xboard 25 E-MU X-Board 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2008 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->CME M-Key Mkey 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2008 stops sending MIDI on a regular basis. The simplest "fix" is to flip it off and on via the power switch at the back |- | <!--Description-->CME Ukey U-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2009 |- | <!--Description-->CME Xkey | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 low-profile aluminium full size pressure sensitive with polyphonic aftertouch but keys make too much noise and that they can be too sensitive to velocity - low power draw 25ma |- | <!--Description-->CME M-Key 49 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 simplified version of the U-key Mobiltone |- | <!--Description-->CME XKEY AIR 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 |- | <!--Description-->cme xkey 37 le | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Donner Spaceline DMK-25 Donnerdeal Rantion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Donner DMK25 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 25 mini velocity keys with limited aftertouch - usb-c powered - 8 drum pads - 3.5mm "midi out" socket - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Elektron Digitakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 expensive later midi usb class compliant with since 1.5 Update |- | <!--Description-->Elecktron Digitone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Digitone Keys 37-key Digital FM Synthesizer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 expensive |- | <!--Description-->Elektron Analog Four MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Octatrak MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->ESI keycontrol | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 49+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 25xt | <!--Vendor ID-->0x2702 | <!--Product ID-->0x2702 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and usb driver working}} | <!--Opinion-->2011 bus powered or 12v 0.5a dc in - metal base so heavy - midi out 5pin - sustain pedal port - modulation slider - rubber coated knobs becomes sticky - |- | <!--Description-->ESI keycontrol 49xt 61xt 88xt | <!--Vendor ID-->0x2702 | <!--Product ID--> | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected}} | <!--Opinion-->2011 12v 0.5a center pin +ve external psu required - USB i/o and 1 legacy 5pin out - full sized keys - heavy aluminium case keyboard metal base - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Evolution MK-125 MK-149 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2000 9v |- | <!--Description-->Evolution MK-225C MK-249C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 9v |- | <!--Description-->Evolution USB/Midi Controller MK-425C MK-449C MK-461C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|25, 49, 61 keys - }} | <!--Opinion-->2006 9V or 12V - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->IK Multimedia iRig Keys Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 37 full keys |- | <!--Description-->IK Multimedia iRig Keys Pro Mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 25 or 37 mini keys |- | <!--Description-->IK Multimedia iRig Keys 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 mini velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys 2 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 full velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Kawai VPC 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> weighted keys - heavy build - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Keith McMillen Instruments K-Board | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? each keypad makes them velocity, pressure, and location sensitive but not really suited for piano playing |- | <!--Description-->Keith McMillen BopPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Korg NanoKontrol 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->mini usb |- | <!--Description-->Korg Prophecy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->KORG microKONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2010 |- | <!--Description-->Korg microKEY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2011 velocity-sensitive Natural Touch keys but joystick is an alternative to the common pitch/modulation wheel design - power draw - |- | <!--Description-->Korg nanoKey nanoPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 |- | <!--Description-->Korg Taktile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg microKEY2 25 37 49 61 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|2015 untested}} | <!--Opinion-->2015 USB powered - semi weighted - |- | <!--Description-->Korg MiniList | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg MinKey nanoPad nanoPad 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg Nautilus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Kurzweil PC3 7 series - Artis 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->fatar TP-8 semi-weighted action |- | <!--Description-->Kurzweil PC1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Kurzweil PC3 A8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Line 6 Mobile keys 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 POD Studio KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 Tone Port KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Midiman (later M-Audio) Oxygen8 Ozone Ozonic 25 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|not class compliant - untested 5pin legacy }} | <!--Opinion-->2002 2004 untested - 25 full keys - slider/fader to left of lcd display - |- | <!--Description-->m-audio oxygen keystation (61 key) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 |- | <!--Description-->M-Audio eKeys 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 |- | <!--Description-->M-Audio Axiom 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 bus powered and 12v psu - if sliders/faders are on right - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Oxygen 8v2, 49, 61 (silver) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Keystation 37e 49e, 61e MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2006 - ok key action - |- | <!--Description-->M-Audio Keystation 37es 49se 61es, 88es MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 - |- | <!--Description-->M-Audio Oxygen 25/49/61/88 (blue) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 [https://m-audio.com/products/view/oxygen-25-legacy advised Class-compliant and GM/GM2/XG SysEx messages] with full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Axiom 25, 49, 61 (2nd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 semi-weighted mini keys - bus powered and 9v psu for 25/49 and 12v for 61 - if sliders/faders are on left - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Axiom Pro 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 poor construction |- | <!--Description-->MAudio Axiom AIR 25 M-Audio Axiom Air Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->M-Audio Oxygen 25 III (3rd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 untested - usb only - rubber keys sticky - |- | <!--Description-->MAudio Keyrig 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 - mini usb - plays a few notes and then stops responding randomly - try plugging it into port 1 or 2 on your pc - |- | <!--Description-->M-Audio Keystation 49 MK2 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 USB port and class compliant |- | <!--Description-->M-Audio Keystation 61 MK3 MKIII MIDI keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 usb compliant untested |- | <!--Description-->M-Audio Oxygen 25 IV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2016 choice |- | <!--Description-->M-Audio CTRL-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2017 |- | <!--Description-->M-Audio ProKeys 88, 88sx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 mini usb - some power or incompatibility issue with the native USB ports of the laptop, plugged in a passive USB 2.0 HUB (not USB 3.0, not powered) |- | <!--Description-->[https://www.youtube.com/watch?v=3328SvuJsLw M-Audio Oxygen25 MKV] | <!--Vendor ID-->0x0763 | <!--Product ID-->0x0001 | <!--Revision-->0023 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - midi in out untested}} | <!--Opinion-->2020 25 full size semi keys - USB2 usb-b but no 5pin classic plugs - channel select SHIFT button and CHANNEL on keybed - plastic build - holding down both the Octave + and - for factory reset - more limited in what you can do with it than IV 4th one - tested on AROS One 2.4 usb |- | <!--Description-->M-Audio Oxygen Pro 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 untested semi full keys |- | <!--Description-->M-Audio Oxygen Pro Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 32 smaller keys - not endless encoders - usb only - |- | <!--Description-->M-Audio Hammer 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog Minitaur | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-VAVE SMK-25mini 25key MIDI Control Keyboard Y6I0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Native Instruments NI Primus A25 JamMate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->Native Instruments Maschine MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 not compliant uses snd-usb-caiaq module, |- | <!--Description-->Native Instruments Komplete Kontrol S88 S61 S49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 - weighted keys - |- | <!--Description-->Native Instruments Maschine MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 maybe compliant, |- | <!--Description-->Native Instruments Maschine Micro Mikro MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe? |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 all MK2 MK3 power up the keyboard using USB, it will set the keyboards MIDI port to computer MIDI only without any option to set it to use the MIDI DIN, meaning you cannot connect the keyboard to hardware and power from USB, you MUST power with the power adapter and physically unplug from any USB connection - |- | <!--Description-->Native Instruments Komplete Kontrol A25 A49 A61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 maybe compliant, |- | <!--Description-->[https://github.com/sikorak666/maschine-mikro-mk3-driver Native Instruments Maschine Micro Mikro Plus MK3 MKIII] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Native Instruments Komplete Kontrol M32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 untested 32 smaller keys - no drum pads - USB only - |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkIII MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description-->NI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neusonik iBoard 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Impact LX25+ LX49+ LX61+ LX88+ SE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 budget full-size velocity-sensitive synth-action keyboard - |- | <!--Description-->Nektar Impact GX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB port - |- | <!--Description-->Nektar Panorama P4 P6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB & USB Micro B, 5-pin MIDI out, 2 x TRS inputs with 49 semi-weighted, velocity sensitive with aftertouch |- | <!--Description-->Nektar SE25 SE49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> mini keys - micro usb bus powered - velocity and sustain button |- | <!--Description-->Nektar Panorama P6 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Panorama T6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nord Stage 3 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> sysex |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation ReMote 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 lhs XY touchpad and the joystick - |- | <!--Description-->Novation LaunchKey 25 49 61 88 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 not USB class compliant |- | <!--Description-->Novation 49 61 SL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation ReMote 25SL 49SL 61SL soft label | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 - two long top liquid-crystal display LCD strips - XY touchpad and the joystick - |- | <!--Description-->Novation ReMOTE 25LE | <!--Vendor ID-->0x1235 | <!--Product ID-->0x0004 | <!--Revision-->0001 | <!--CAMD-->{{Yes|detected, usb driver in devs/midi for camd to use}} | <!--Opinion-->2007 USB-b powered, 9v center pin positive or 6 MN1500 AA batteries - X/Y touchpad and the combined pitch and modulation joystick - no aftertouch but can use both the legacy MIDI OUT and USB port simultaneously |- | <!--Description-->Novation Nocturn 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| }} | <!--Opinion-->2008 untested sending random pitchbend info |- | <!--Description-->Novation 49 61 SL MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation MiniNova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 |- | <!--Description-->Novation Impulse 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 velocity aftertouch‑sensitive semi-weighted keyboards and eight backlit pads - USB, 5-pin MIDI out - |- | <!--Description-->Novation Circuit Tracks / Rhythm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Novation LaunchKey 25 49 61 88 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 USB class compliant - full keys - |- | <!--Description-->Novation Launchpad Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested 8x8 buttons with 16 backlit |- | <!--Description-->Novation LaunchKey Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested - 25 soft mini keys - 2 rotary wheels lhs - |- | <!--Description-->Novation LaunchKey 25 37 49 61 88 MK3 MKIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 USB class compliant choice - full keys - |- | <!--Description-->Novation LaunchKey Mini MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 25 soft mini keys - 2 sliders lhs - |- | <!--Description-->Novation 61SL Mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Nymphes Dreadbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 6 voice analog synth |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Oberheim MC 2000 EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 88 keys fully weighted - very heavy - |- | <!--Description-->PreSonus ATOM SQ Hybrid MIDI Keyboard/Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[https://polyend.com/tracker/ Polyend Tracker] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Roland ED PC-300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 USB MIDI keyboard controller 49-key |- | <!--Description-->Roland EDIROL PCR-M30 PCR-M50 PCR-M80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol PCR-30 PCR-50 PCR-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 untested 32 key - |- | <!--Description-->Roland PC-50 PC-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- | <!--Description-->Roland PCR-500 PCR-800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 61 velocity-sensitive keys with aftertouch |- | <!--Description-->Roland A-88 a-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 USB port - weighted keys velocity no aftertouch - class compliant with press FUNCTION so it is lit. Press the key labelled "ADV.", Press the "+" button so it is lit - |- | <!--Description-->Roland PC-200 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 some had fatar keys |- | <!--Description-->Roland MC-707 Groovebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 |- | <!--Description-->Roland MC-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Roland A-500 A500Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland A-300 A300Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland JUNO DS, FA, Fantom, JUPITER X / Xm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 (be sure that USB driver is set to "Generic" - requires device rebooting) |- | <!--Description-->Roland A-88 a-49 MKii MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 expensive with USB-c port - hammer-action keyboard weighted keys - Class-compliant if USB-C enables bus power - MIDI 2.0 later - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ROLI Seaboard RISE 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Samson Graphite 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Samson Carbon 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Sequential TAKE 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK-161 and VMK-161 Plus Organ version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->TP-8O action is the unweighted, organ-style waterfall keybed - usb midi in out - 9v psu - |- | <!--Description-->Studiologic SL990XP midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK176 Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->USB and midi connectivity |- | <!--Description-->Studiologic SL880 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic SL73 SL88 Studio midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> hammer-action Fatar TP semi-weighted keys |- | <!--Description-->Studiologic Numa Organ 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 73 key TP-8O action is the unweighted, organ-style waterfall keybed used in nearly all clonewheels |- | <!--Description-->Studiologic Numacompact 2/2x, Numa X Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero CommandKey49 CommandKey25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SZ-MiniCommand Mini-Command USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SPC61 MIDI Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> bus powered - 5 octave |- | <!--Description-->SubZero ControlKey49S 49 Key Slim MIDI Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Synido TempoKey K25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 25 mini keys - usb-c powered |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Worlde Panda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha KX8 KX49 KX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2008 not compliant |- | <!--Description-->Yamaha CMC-PD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2010 |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 not class compliant |- | <!--Description-->Yamaha P45B P-45 Digital Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2011 not compliant |- | <!--Description-->Yamaha P-115 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested weighted keys - USB midi port |- | <!--Description-->Yamaha MX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 should compliant untested |- | <!--Description-->Yamaha Montage, CP73/88, YC, MODX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Yamaha PSR-E353, PSR-E443 PSR-S670, PSR-S770, PSR-S970, PSR-A3000, TYROS-5 NP-12, NP-32 DGX-650, DGX-660 P-105, P-115, P-255 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha MX49 II V2 Black Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->DJM V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> dj |- | <!--Description-->Native Instruments Kontrol DJ Pro midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> detected but untested |- | <!--Description-->Numark Mixtrack Pro II USB DJ Controller Djay | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->older generation pioneer DDJ-SX2 dj | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Alyseum AL-22 AL22c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum AL-88 Schneidersladen AL88c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum U3-88c Midi Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no CopperLan support Midi network using a UTP Ethernet patch cable) |- | <!--Description-->Behringer BCF2000 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->[http://www.behringer.com/EN/home.aspx Behringer] BCR2000 1in 2out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer B-CONTROL DEEJAY BCD3000 DJ Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer UMD404 UMD202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Creative EMU 0404/USB midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 |- | <!--Description-->DigiDesign / Focusrite Command 8 Control Surface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 supports MIDI continuous controller (CC) and note data. SysEx dumping and loading is also supported |- | <!--Description-->Digidesign Digi 002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 firewire only |- | <!--Description-->Digidesign Digi 003 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 firewire only |- | <!--Description-->emagic m4 2x4 AMT8 Unitor 8 Mk2 8x8 | <!--Vendor ID-->0x00d0 | <!--Product ID--> | <!--Revision-->0x010 0x0103 | <!--CAMD-->{{No| }} | <!--Opinion-->2000 offers MTS (Midi Time Stamping) - 12v 2a psu centre pos - usb mini with rs232 and rs422 serial ports - 16 channels (8-in / 8-out), this rack-mountable unit - |- | <!--Description-->Evolution U-Control UC-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| detected}} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Guillemot Maxi Studio ISIS Vintage Sound Card MIDI Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->1998 |- | <!--Description-->[http://www.ucapps.de/mbhp_usb.html MidiBox] Hardware Platform USB Module | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2001 |- | <!--Description-->Mackie Control Universal Pro XT with One Two Extenders | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->M-Audio Audiophile USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 not compliant, |- | <!--Description-->M-Audio Midisport UNO old version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio MidiMan 1x1 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 [http://sourceforge.net/projects/linux-hotplug/ firmware update] |- | <!--Description-->M-Audio Midisport 2x2 yellowy green blue, green or silver chassis plastic box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|MIDISPORT 2x2 or 4x4 interfaces from previous production series (blue, green or silver chassis) are not class-compliant}} | <!--Opinion-->2004 |- | <!--Description-->MAudio Audiosport Quattro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2004 not usb compliant as [http://usb-midi-fw.sourceforge.net/ firmware required and that is buggy], |- | <!--Description-->M-Audio UC-33 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio Midisport 1x1 2x2 4x4 Anniversary Edition, black box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 maybe class compliant, |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->[http://www.amiga.org/forums/showthread.php?t=52920 Mark of the Unicorn Motu Fastlane] 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|[http://www.amiga.org/forums/showpost.php?p=560852&postcount=8 not working on OS4]}} | <!--Opinion--> not class compliant, |- | <!--Description-->Motu Micro Lite 1x1 and MOTU microlite 5x5 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> good unit but poor just plug in support and not class compliant - USB2 usb-b - |- | <!--Description-->Motu MIDI Express 128 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->poor support serial port only - offers MTS (Midi Time Stamping) A serial port based MIDI interface or a USB interface without MTS will have a MIDI slop of up to 2ms on record and playback. MTS provides accuracy for record and playback to around .3ms - five times more accurate than serial or non-MTS." |- | <!--Description-->MOTU.com MIDI Express XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2008 for many USB should have octocoupled connection to reduce groundloop humm, usually the timing is off |- | <!--Description-->MOTU MIDI Timepiece AV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> not class compliant is one of the best multi-port MIDI interfaces ever made as USB model connects to the computer as an 8x16 interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Native Instruments GmbH Audio 8 DJ, 4 DJ, 2 DJ | <!--Vendor ID-->0x17CC | <!--Product ID-->0x | <!--Revision--> | <!--CAMD-->{{no|needs dedicated driver}} | <!--Opinion-->2006 not class compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Qcon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Roland Edirol UA-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|did not match to camdusbmidi.class USB audio midi with onboard DSP}} | <!--Opinion-->1998 |- | <!--Description-->Roland Corp Edirol UM-2 | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0005 | <!--Revision-->0200 | <!--CAMD-->{{no|is not bound via camdusbmidi.class }} | <!--Opinion-->1999 not bound to any midi class - 2x2 - tested Aros One USb 2.4 |- | <!--Description-->Roland Edirol UA-100G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->1999 USB audio midi with onboard DSP |- | <!--Description-->Roland Edirol UM-880 8x8 midi interface | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2000 under poseidon but could work with run >nil: c:midithru out.0 "EDIROL UM-880.out.2" |- | <!--Description-->Roland Edirol UM-1 blue plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| bound??? via camdusbmidi.class - untested midi in out}} | <!--Opinion-->2000 UM-1 - 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 |- | <!--Description-->Roland Edirol UM550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1X midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1SX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0052 | <!--Revision-->0200 | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-2C - 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-1G 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->Roland Edirol Cakewalk UM-2G 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->[https://github.com/spotify/linux/blob/master/sound/usb/usbquirks.h Roland Edirol UA20 UA-20] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2004 |- | <!--Description-->Roland UM-1EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol UM-2EX 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 adds a second MIDI OUT |- | <!--Description-->Roland Cakewalk UM-3G - 3x3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Roland Cakewalk ua-25excw 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2009 not class compliant mode |- | <!--Description-->[https://alsa.opensrc.org/Edirol_UA-25EX Roland Edirol UA55 UA-55 Cakewalk UA25 EX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2011 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus B2M Bass MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus G2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg CMC Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Subzero SZ-MB44 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Swisssonic MIDI1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2012 AmigaOS there is no output at midichannel one and two but if play a midi file there is only output on some channels and if pressed stop the prog freezes or the whole system crashes |- | <!--Description-->Teac Tascam US-428 US-422 midi interface | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> 2000 not compatible |- | <!--Description-->Teac Tascam [http://web.archive.org/web/*/http://www.tascam.com/Products/US-224.html US-224] | <!--Vendor ID-->0x1604 | <!--Product ID-->0x8004 | <!--Revision-->0100 | <!--CAMD-->{{No| }} | <!--Opinion--> 2002 does not bind to any class |- | <!--Description-->Teac Corp Tascam US-1x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 |- | <!--Description-->Teac Tascam US-122 MKII midi interface | <!--Vendor ID-->0x0644 | <!--Product ID-->0x8021 | <!--Revision-->0100 | <!--CAMD-->{{No|not detected / binding to camdusbmidi.class on AROS 2.4 usb }} | <!--Opinion-->2004 detected but not working 2-in/2-out USB two XLR microphone preamps with phantom power for condenser microphones |- | <!--Description-->Teac Tascam US-200 US-400 US-600 US-800 US-1200 US-1800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 may not be totally usb compliant |- | <!--Description-->Yamaha UX-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Akai EIE and Pro version midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 dc 6v power - 3 USB hubs, midi in out , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alesis I/O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2007 powered USB hub required, not compliant |- | <!--Description-->Alesis IO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 usb compliant? |- | <!--Description-->Alesis IO4 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->Behringer XTouch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> psu needed |- | <!--Description-->Behringer X-Touch Compact | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant? |- | <!--Description-->Behringer X-Touch Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant?, usb to 5pin midi interface |- | <!--Description-->Behringer U-Phoria UMD404HD UMD202HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 maybe class compliant - volume low, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->CME U2 MIDI Pro 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> current model |- | Creative EMU XMIDI 1X1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 early versions with sysex checksum errors |- | <!--Description-->Creative E-MU Xmidi 1x1 Tab (V3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 tab version class compliant but report that when transferring 'System Exclusive' messages (SysEx) the unit could not handle the highest data rate leading to data corruption |- | Creative EMU XMIDI 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 sysex errors |- | <!--Description-->Digidesign Mbox 2 Mini now Avid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 USB powered but not compliant |- | <!--Description-->Digidesign Mbox II Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 USB powered but not compliant |- | <!--Description-->Engl Z7 MIDI Interface (E660/E610/E360/E930) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitar? |- | <!--Description-->Elektron TurboMidi TM-1 1in 1out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U 4x4 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->supposedly class compliant - USB bus powered - |- | <!--Description-->ESI MidiTerminal M8U 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U XL 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> ploytec chipset |- | <!--Description-->ESI MidiTerminal M8U XL 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no hardware routing e.g. x on input 5 to synth y on output 7 - ploytec chipset |- | <!--Description-->ESI MidiMate 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->ESI MidiMate II 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI ROM I/O | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2005 romio version |- | <!--Description-->ESI M4U XT | <!--Vendor ID-->0x2573 | <!--Product ID-->0x0002 | <!--Revision-->0100 | <!--CAMD-->{{Maybe|is bound via camdusbmidi.class AROS One 2.4 - untested midi in out}} | <!--Opinion-->2010 - |- | <!--Description-->ESI M8U XT 8in 8out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 discontinued 2018 |- | <!--Description-->ESI M8UEX USB3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI M4U eX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI MidiMate eX midi interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 curent model, well liked and might class compliant?? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->icon midiport 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iCON CubeMi 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? |- | <!--Description-->iConnectivity | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iConnectivity mio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 class compliant but reported issues with sending System Exclusive (SysEx) MIDI messages and MIDI signals getting cut off |- | <!--Description--> iConnectMidi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->iCM2 iCM4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->iConnectivity iConnectMIDI4+ L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 class compliant?? |- | <!--Description-->iConnectivity MioXL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->IK Multimedia iRig MIDI 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant |- | <!--Description-->iRig Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Electronics pro solo mk2 midi to cv converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Midi Thru-25 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Keytech MT18E 8 Way Midi Thru box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 9 to 12v psu required |- | <!--Description-->MidiPlus Midi 2x2 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiPlus Midi 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->MidiTech MIT-00151 Midiface 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiTech Midiface 4x4 8x8 16x16 thru merge | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Miditech Midilink mini 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->M-Audio Midisport UNO only if box is labeled Class Compliant and latest MIDISPORT 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 not usb compliant, - |- | <!--Description-->M-Audio Midiman Midisport 2x2 Anniversary Edition [https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1133862-why-there-hardly-any-midi-interfaces.html not stable enough] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 USB2 usb-b - does not need firmware and supposedly plug and play - |- | <!--Description-->M-Audio Midisport 4x4 Anniversary Edition | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> rumored does not need firmware - supposedly plug and play - issues with its firmware for some and lacks configurable routing |- | <!--Description-->Maudio Fast Track Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Native Instruments Komplete Audio 6 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 maybe usb compliant but bus powered, |- | <!--Description-->Nektar Midiflex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 class compliant and usb-b powered - used as a 1 in / 3 out, 2 in / 2 out or 4 out 5pin sockets - |- | <!--Description-->Neusonik IM-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Peavey Xport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitars only |- | <!--Description-->Roland UM-ONE UM-1 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 USB class compliant if switch to TAB for class compliant mode rather than the COMPUTER mode |- | <!--Description-->Squarp Hermid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg Midex 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? supporting MIDI Time Stamping protocol |- | <!--Description-->Swissonic MidiConnect 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Tapco LiNK.midi USB 4x4 (Loud technologies) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|dedicated driver}} | <!--Opinion-->2005 |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion--> 2014 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Zoom U-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description-->Unbranded cable | 0x552d | 0x4348 | F110 | <!--CAMD-->{{Maybe|detected but no usb driver in devs/midi for camd to use}} | <!--Opinion-->detected but not working the USB-MIDI conversion functionality of the cheapo USB MIDI "cable" interface is simply lacking, possibly being incapable of handling MIDI strings longer than 3 bytes long SysEx strings (e.g. SysEx dumps) - tested in Icaros 2.3 - |- | <!--Description-->USB2.0-MIDI Unbranded cable with clear braided underneath leads | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x752D | <!--Revision-->0254 | <!--CAMD-->{{Maybe|detected binding to camdusbmidi.class but untested midi in / out}} | <!--Opinion-->untested but better to get a branded version - tested AROS One 2.4 usb |- | <!--Description-->LogiLink USB to Midi In-Out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|}} | <!--Opinion-->untested cheap cable version but issues with latency on other systems |- | <!--Description--> gm5 USB midi chip DIY option only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Doremidi LEKATO MIDI USB C Interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Thomann Midi USB 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> Prodipe made |- | <!--Description-->Prodipe MIDI 1i/1o | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} Classic 5pin DIN controllers for above interfaces {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Akai s5000 s6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi digital samplers |- | <!--Description-->Akai AX80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-3000 CZ-1000 CZ-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Cheetah MS6 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2000 multi-timbral, six-voice (twelve-oscillator), analogue synthesiser module is loaded with CEM 3396s |- | <!--Description-->Ensoniq ESQ1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Integra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Wavestation Ex A/D SR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1986 ex has piano and drum sounds |- | <!--Description-->Korg DW-8000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg DW-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Poly 800 MK1 Poly-800ii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> all plastic and can run on batteries - 49 keys non-velocity dco synt analogue filter |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland D-50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1987 untested greater concern would be moisture and wear}} |- | <!--Description-->Roland A50 (76) A80 (88) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1989 untested}} |- | <!--Description-->ROLAND JUNO-D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland Juno 106 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->80s kx73 or kx88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland ED PC-160A PC-180A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} legacy DIN5 MIDI port only - 6 AA batteries or 9v psu - One regular source of failure for me were emty batteries (even with red control light still active). Another source was a bad MIDI cable - unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description-->Roland M1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland S-550 S-760 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> digital samplers kontakt replaced these? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha DX7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1983 12bit |- | <!--Description-->Yamaha DX7S DX72IID DX7IIFD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1987 16bit versions |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- |} The MIDI standard was published in August 1983. The inventors, Kakehashi and Smith finally received a Technical Grammy Award in 2013 for their work. The MIDI files that contained just the note data, velocity and timing meant you could transfer an entire studio session from one place to another on one floppy disk and it could control all the synths and drum samplers. Pass-thru meant that one computer could run an entire bands worth of instruments. It's bulletproof too. MIDI never goes wrong, it's always a bug in software that causes any issue - you can absolutely rely on it to go gigging with, take your synths, controllers and computers and not crash an entire gig at your 100,000 person venue. The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work. The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in. The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times. For midi, the hardware/software combination at various connection points handles the translation to/from midi (or other protocols). Drivers would be needed for midi, including clock and SysEx signal (actually claiming to handle ALL midi quirks transparently All the important MIDI data types can be sent (CC, NRPN, RPN, MMC, Note On/Off, program change) There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues. Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late. Ethernet network cable to transport MIDI over large distances, connect 2 MIDI In and 2 MIDI Out ports to patch, remap, filter and merge MIDI flows on a fine channel basis for tight MIDI throughput, latency and jitter Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info. Preemptible, low latency and accuracy are essential for good communication. One of the first things you need to do, is make sure your MIDI software sets the interface to the same MIDI channel as your keyboard (usually 1) Do you want to send just your master keyboard to other synths or to be able to use any keyboard with any synth? 1st option is relatively simple. Just need to send midi from your master keyboard into a midi splitter that redistributes the signal onto your synths. Each synth will be set up to receive midi on a specific channel so the only challenge is to find a way to select to which channel you are sending midi. Some master keyboards can do that although not many that have a dedicated knob or switch on the panel and most require a bit of menu diving. Could use a midi box that offers channel selection but usually this is not very workflow friendly. The software route would require using the mouse. 2nd option is a bit more complex but superior workflow by sending midi messages into a merge box, from there into a hardware sequencer that allows to select midi channel, then on to a midi interface that distributes the signal to the synths. Master keyboard MIDI-in to computer. External hardware sampler MIDI-out from computer. Audio-out from sampler to audio-in on computer/device. Blue Ribbon Soundworks Bars & Pipes Professional (1993/4) GM (1984), GS (1987), XG level 1-3 (1994-1997), GM level 2 (1999) GM GM1 imposes several requirements beyond the MIDI 1.0 specification. While MIDI 1.0 by itself provides a communication protocol which ensures that different instruments can interoperate at a fundamental level e.g sound modules. GM goes further in two ways. First, GM requires that all compliant MIDI instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony). Second, GM attaches specific interpretations to many parameters and control messages which were left unspecified in the MIDI 1.0 specification. A minimum of 128 MIDI Program Numbers (conforming to the GM 1 Instrument Patch Map) and 47 percussion sounds (conforming to the GM 1 Percussion Key Map). Support for controller number 1, 7, 10, 11, 64, 100, 101, 121 and 123; support for channel pressure and pitch bend controllers. General MIDI Level 2 or GM2 is a specification for synthesizers which defines several requirements beyond the MIDI standard and is based on General MIDI (GM) and Roland GS extensions. It was adopted in 1999 by the MIDI Manufacturers Association (MMA). * Number of Notes: 32 simultaneous notes * MIDI Channels: 16 * Simultaneous Melodic Instruments – up to 16 (all Channels) * Simultaneous Percussion Kits – up to 2 (Channel 10/11) Program and bank change events General MIDI 2 compatible synthesizers access all of the 256 instruments by setting cc#0 (Bank Select MSB) to 121 and using cc#32 (Bank Select LSB) to select the variation bank before a Program Change. Variation bank 0 contains the full GM (General MIDI 1) sound set. Variations using other bank numbers are new to General MIDI 2, and correspond to variation sounds introduced in Roland GS. [https://www.youtube.com/watch?v=CluuHrr7HG4 Major WWHWWWH, Minor WHWWHWW scale], [https://www.youtube.com/watch?v=Jjm7Ti-iwz0 Chords], ==usb audio== AROS currently does not support natively any USB audio interface for recording audio USB audio is only available for limited Amiga like OSs, independent of the USB protocol version USB1.x USB2, USB3.x, which are not backwards compatible. *Introduced 2000 and from 2014 USB Audio 1 UAC1 16bit 44.1kHz *Introduced 2006 and from 2014 USB Audio 2 [https://www.usb.org/document-library/usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through-april UAC2] 24bit 192kHz *Introduced 2016 and from 2024 USB Audio 3 [https://www.usb.org/documents UAC3] 32bit 384kHz USB group decided to rewrite the audio standard, so [https://os4depot.net/?function=showfile&file=audio/record/usbaudio2.lha UAC2] and [https://archive.fosdem.org/2019/schedule/event/linux_and_usb_audio_class_3/attachments/slides/3345/export/events/attachments/linux_and_usb_audio_class_3/slides/3345/Linux_and_USB_Audio_Class_3___FOSDEM_2019.pdf UAC3]. They added clock selection and control, timing domains and others. Part of the changes included changing many of the descriptors that an audio device uses to describe itself to the machine. PsdErrorlog/PsdDevlister? The AHI driver generated only supports mono/stereo at any bit rates between 8 and 32 bit per sample, but not multichannel modes and only rates up to 65KHz (because AHI uses a 16-bit word for frequencies). If the soundcard does not offer such a PCM 8-32 bit mode at frequencies lower than 65 KHz, there's nothing much that can be done about it on the computer side other than revising and expanding the AHI standard. Most cheap USB soundcards do though. AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI. Untested but most likely to work, at least 2 mic inputs (low impedance) & instruments (high impedance) and made in the last 10 years *[https://www.youtube.com/watch?v=gMuA-2FbJxE Entry level <100Euro] BOMGE U202, Behringer UMC, Presonus Studio, *[ Next tier <200Euro] Audient iD, Solid SSL2 and SSL2+, Lewitt, Focusrite Scarlett, Arturia MiniFuse, *[ Prosumer <300Euro] Focusrite Clarett+, *[ Professional <500Euro] RME Babyface, *[ Studio >500Euros] Bands may need 4 or more mic inputs [http://forum.xda-developers.com/showthread.php?p=38364030 XDA Forum thread], <pre> <- Computer <- Mobile Phone / Tablet (OTG) <- Digital Cameras <- Video <- Webcams Base Computer <-> OBS like <- Audio Mixer <- Microphone(s) -> Internet -> Youtube & Chat </pre> USB AUDIO CARDS - UAC Compliant {| class="wikitable sortable" width="90%" ! width="20%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Records ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Antelope Galaxy 64 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant and a high-end 64-channel AD/DA converter HDX, Dante connectivity and a Thunderbolt Audio interface |- | <!--Description-->Antelope Galaxy 32 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->may not be compliant as Antelope Audio does not provide official drivers, control software, or an Antelope Launcher |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Arturia Mini Fuse 1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant, okay pre amp 1 combi input, cirrus logic cs4272 ad converter, |- | <!--Description-->Arturia MiniFuse 2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant usb-c with usb2.0, okay pre amps with good dynamic range 110dB, cirrus logic cs4272 ad converter, two combi inputs for mic, line or guitar, |- | <!--Description-->Arturia MiniFuse 4 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, okay 110dB dynamic range, -129dB EIN, |- | <!--Description-->Arturia AudioFuse 16Rig | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audient iD44 mk1 mki | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2018 maybe usb compliant, good, |- | <!--Description-->Audient evo4 EVO8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, |- | <!--Description-->Audient iD4 mk2 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, |- | <!--Description-->Audient id14 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description-->Audient iD24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant and usb-c bus powered, good, , 0-in/14-out audio interface with ADAT expandability, balanced inserts |- | <!--Description-->Audient iD44 Mk2 Mkii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer U-PHORIA UMC22 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer U-PHORIA UMC202HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps ein -129 dBu, 24bit ADC, |- | <!--Description-->Behringer U-PHORIA UMC404HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps, 24bit adc, |- | <!--Description-->Behringer U-PHORIA UMC204HD 192 Empower Tribe | <!--Vendor ID-->0x1397 | <!--Product ID-->0x0508 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer UMC1820 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2016, bus complaint?, okay midas pre amps, adc, |- | <!--Description-->Behringer U-PHORIA UM2 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, poor zenyx pre-amps with high noise floor, plastic build no rf shielding, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, , , midi, strictly NEC USB 2.0, |- | <!--Description-->Focusrite Scarlett 8i6 Gen 1 MOSC0001 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, but |- | <!--Description-->Focusrite Scarlett 2i2 Gen 1 MOSC0003 *TP1 - 3.3V, tested ok *TP2 - U4 control signal, 3.3V present at all time. *TP4 - Ground *TP6 - 48V, tested ok *TP7 - Ground *TP8 - Ground | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 usually avoid early Gen 1, |- | <!--Description-->[https://khronscave.blogspot.com/2021/08/75-focusrite-scarlett-2i4-1st-gen.html Focusrite Scarlet 2i4 Gen 1 (slide toggles) MOSC0004] *TP1 - 3.3V, tested 3.22v *TP2 - U4 control signal, 3.3V present *TP4 - Ground *TP6 - measure 47.72v * AKM 4384ET (VDD 5v) * Cirrus Logic CS4272-CZZ (VA 4.94v/ VD 3.2v/ VL 3.2v) * all four HC4066 (VCC 4.96v) * XMOS XS1-L01A-TQ128-C5 (all VDD 1.08v/ all VVDIO 3.23v/ PPLAVDD 0.99v/ PCU-VDDIO 3.23v) 2i4S *TP1 seems to be 0V *TP2 should be 5V *TP3 should be *TP6 should be 48V *TP8 should be 3.3V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps JRC NJM2122 and NJM4565, [https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf CS4272 adc], [https://pdf.datasheet.live/e5e5fd1c/akm.com/AK4384.pdf AK4384 output pair], Xmos XS1-L8A-64-TQ128 processor and firmware in Winbond 25X40CL 4Mbit, an SMSC Microchip USB3343 interface and a Microchip PL611 clock generator - two Intersil / Renesas ISL97519A for the phantom power rail, two OnSemi NCP1521B for the 3.3V (digital) and 1V (Xmos core) rails - |- | <!--Description-->Focusrite iTrack Solo USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2012 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 1st Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->[http://wiki.linuxaudio.org/wiki/current_audio_gear Focusrite ] Scarlett 4i4 Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->Focusrite Scarlett 6i6 Gen1 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , , 12v psu, the headphone outs mirror the outs on the back panel, so that's six independent outs. 4 independent analog output paths, plus two over spdif, |- | <!--Description-->[https://khronscave.blogspot.com/2019/03/38-focusrite-scarlett-18i8-gen1-teardown.html Focusrite Scarlett 18i8 1st Gen MOSC0008] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, JRC NJM4565 provide most of the opamps, pair of JRC NJM2122's for inputs 1 and 2, [http://www.mouser.com/ds/2/76/cs4272_f1-43250.pdf Cirrus CS4272], 12v 1a +central psu to a pair of National Semiconductor LM2672 for 3.3V rail and the +6.9V rail, Xmos XS1–L16A–128 dual-row QFN package, firmware a Winbond 25X40C 4Mbit SPI Flash and an SMSC USB3343 interface chip, the two headphone outs are completely independent so 6 independent analog output paths, plus two over spdif, |- | <!--Description-->Focusrite Clarett+ 8Pre | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 great, expensive, maybe usb compliant? |- | <!--Description-->Focusrite Scarlett 2i2 Gen 2 (slide toggles) MOSC0006 *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8202 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz CS4272 as well as an additional AKM AK4384ET for the second stereo output pair, 4 screws under bottom rubber, |- | <!--Description-->[https://khronscave.blogspot.com/2021/07/focusrite-scarlett-2i4-2nd-gen-teardown.html Focusrite Scarlett 2i4 Gen 2 (slide toggles) MOSC0014] *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps NJM2122's, NJM4565's and CMOS switches (HEF4053 and HEF4066), CS4272 and a AKM AK4384ET, Xmos XU208-256-TQ64-C10 with firmware stored in a Macronix MX25L8006E 8Mbit flash memory, clocking by a Cirrus Logic CS2100, an MP1542 boost converter creates +6V and -6V rails, powering the opamps and the rest of the analog circuitry, |- | <!--Description-->Focusrite Scarlett 6i6 Gen2 MOSC0016 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo 2nd Gen MOSC0019 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->[https://khronscave.blogspot.com/2024/03/focusrite-scarlett-18i8-gen2-teardown.html Focusrite Scarlett 18i8 2nd Gen MOSC00] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Red 16Line | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 may not be compliant as Focusrite provides no drivers - 64-in/64-out Pro Tools - dual Thunderbolt 3 audio interface with ultra-low latency A-D/D-A conversion - Red Evolution mic preamps |- | <!--Description-->Focusrite Scarlett Solo 3rd Gen MOSC0024 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant usb-c but usb2, preamps, ad/dc 24bit 192kHz, most Focusrite gen3 interfaces have encrypted processors, |- | <!--Description-->Focusrite Scarlett 18i6 Gen3 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB2 class compliant device, but with custom mixer interface |- | <!--Description-->Focusrite Scarlett 2i2 Gen 3 (push in switches) MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8210 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB-c bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz Cirrus Logic xfr002c and cs4272 chips, |- | <!--Description-->Focusrite Scarlett 18i20 3rd gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i8 3rd Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8214 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, , , no screws under the rubber pads on the bottom, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo Studio Mk3 USB Audio Interface MOSC0030 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2020 |- | <!--Description-->Focusrite Scarlett 2i2 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 4i4 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Studio 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Solo 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Fractal Audio AM4 platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 not working |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Lewitt Connect 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Lewitt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Motu UltraLite AVB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb not compliant? |- | <!--Description-->MOTU M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant?, usb-c, good pre amps, ad/dc, |- | <!--Description-->MOTU M4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->MOTU U2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, good but latest had hardware revision |- | <!--Description-->MOTU UltraLite-mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 not usb compliant, great |- | <!--Description-->MOTU UltraLite-mk5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nuemann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb audio compliant, great pre-amps |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->neuralDSP Quad Cortex QC platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc compliant but plugins not working |- | <!--Description-->NeuralDSP QC Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc complaint |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neve Genesys Black G16 G32 G64 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant - very good very expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Presonus AudioBox USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe not usb compliant, usb1.1 usb-b bus powered, okay pre-amps, 24bit ADC 48Khz max, |- | <!--Description-->Presonus Audiobox 1818VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Presonus AudioBox 44VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 may not be usb compliant, 12v psu, |- | <!--Description-->PreSonus AudioBox 22VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->|PreSonus Studio 2|4 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, usb-b, |- | <!--Description-->|PreSonus Studio 2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->|PreSonus Studio 6|8 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe compliant, needs ext psu, |- | <!--Description-->PreSonus Studio 24c 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, good, adc, |- | <!--Description-->PreSonus Studio 26c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus® Studio 68c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus AudioBox USB 96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, high preamp noise, |- | <!--Description-->Presonus Quantum ES2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism Lyra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Platane UP1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb- UAC2 asynchronous protocol, 64dB Low-noise Mic amplifier, 32Bit High End ADC and DAC, 16dBu High-power ti headphone amplifier |- | <!--Description-->Platane UP2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Platane | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->RME Babyface/UC/UFX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 might be able to put into class compliant cc although a firewire device, pre amps, adc, |- | <!--Description-->RME Babyface Pro FS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 might be class compliant usb-b, pre amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Solid State Logic SSL2 SSL2+ Mk1 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, good, adc, |- | <!--Description-->Solid State Logic SSL12 SSL18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, bus powered, good pre-amps, up to 32-bit 192kHz AD/DA converters, 12-in 8-out, |- | <!--Description-->Solid State Logic SSL2 SSL2+ MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, good pre amps ein -130 dBu, ad/dc, okay latency, |- | <!--Description-->Solid State Logic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Topping E1x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description-->Topping Pro E2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->UAD UA Apollo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->UA apollo 2nd Gen twin X (Duo/Quad), X4, X6, X8, X8P, and X16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 bus compliant?, usb- |- | <!--Description-->UA apollo twin x quad 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 bus compliant?, usb- |- | <!--Description-->Universal Audio Volt 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->|Universal Audio Volt 276 2|76 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->Universal Audio Volt 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Akai EIE Pro AI01 Electromusic Interface Expander - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, 4-in/4-out USB 2.0 audio interface with a built-in USB hub and MIDI I/O, up to 24-bit/96kHz |- | <!--Description-->Akai EIE Pro AI02 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Alesis io2 io|2, io14 io|14, io26 io|26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 bus powered but not usb compliant, okay pre-amps, 2, 4 or 8 mics respectively, |- | <!--Description-->Alesis iO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 not usb compliant, poor pre-amps, |- | <!--Description-->Alesis Core 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe cc, mini usb, poor latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Apogee Duet 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire only, not usb compliant micro-usb with most features, , , two‑channel two‑in, two‑out, |- | <!--Description-->Apogee Ensemble | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire, not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee One USB 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant micro-usb for basic features, , , single‑channel up to 48kHz |- | <!--Description-->Apogee One USB 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant usb- and maybe aa batteries, |- | <!--Description-->Apogee Duet 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee One USB 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->Apogee Ensemble Thunderbolt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee Boom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c, , , |- | <!--Description-->Apogee Duet 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ART PRO Audio Usb Mix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant bus powered, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Avid Digidesign Mbox 1 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID-->01000 | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2002 mbox original was usb1 and not a usb class compliant device, and had the much hated "focusrite designed" mic preamps, light blue front plate and the sticky out feet |- | <!--Description-->Avid Digidesign Mbox 2 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 midi not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Pro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Mini USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Micro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant |- | <!--Description-->AVID MBox 3rd gen Mini or Standard but Pro is Firewire | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2010 maybe usb compliant, |- | <!--Description-->behringer u-control uca202 | <!--Vendor ID-->0x8bb | <!--Product ID-->0x2902 | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, draws a lot of power - dac ti burr-brown - no microphone pre-amp - |- | <!--Description-->Behringer U-CONTROL UCA 222 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2009 maybe usb compliant, - no microphone pre-amp - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Black Lion Audio 2x2 evolution | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant but , okay with 109dB range - poor noise floor, 24-bit 192kHz Cirrus Logic CS4272, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Bomge 11s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge 22s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge BMG22 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 usb-c, 24bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower , may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TI Burr-Brown PCM2702E PCM2704 PCM2704C Muse Audio Mini USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2704 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description-->TI Burr-Brown PCM2900 PCM2902 PCM2906 USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2900 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Depusheng MD22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description-->Depusheng USB Audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Emagic emi 2|6 em2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2002 not uac |- | <!--Description-->|Emagic emi 6|2m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description-->|Emagic emi 6|2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Ego Systems, Inc. in Korea (ESI) joining with RIDI GmbH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->esi Mixvibes U46 Mk II USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant, usb-b powered, |- | <!--Description-->ESI ESU22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe not usb compliant, |- | <!--Description-->esi U24XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, 24 bits, 2 analogue inputs and outputs with 6.3 mm jack connection, Output L can be used as a headphone output, S / PDIF digital input - |- | <!--Description-->esi U46XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, |- | <!--Description-->ESI Originals, Inc ESIO MAYA22USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI MAYA44USB+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, xlr, |- | <!--Description-->ESI Originals, Inc ESIO MARA22XTU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI U22XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb class compliant |- | <!--Description-->ESI Gigaport Ex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 usb compliant?, usb-c usb3.1, , , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->iConnectivity iConnectAUDIO2+ icaudio-02 USB audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->LexiconPro - Omega 8x4x2 (USB-1.1) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2003 not usb complaint |- | <!--Description-->Lexicon Alpha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Lexicon Lambda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 may not be compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Line 6 Toneport UX1 and Tone Port UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Line 6 TonePort UX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 maybe not class compliant, |- | <!--Description-->Line 6 POD Studio UX1 UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Lokchonk UX22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://www.youtube.com/watch?v=ljSiNmudMm0 Lokchonk UX44HD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b , , , 2in 2out only, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Mackie Onyx Artist 1·2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 maybe not usb compliant, usb-b powered, |- | <!--Description-->Mackie Onyx Producer 2X2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b midi |- | <!--Description-->Mackie Onyx Blackjack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 USB powered but maybe not usb compliant, Two Onyx Preamps, 2-in, 2-out which are combo Neutrik-type connectors to handle XLR, instrument or line level |- | <!--Description-->Mackie | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, , , |- | <!--Description-->Media Assistance USB-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not uac cc comliant, |- | <!--Description-->M-Audio Fast Track USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2004 maybe not usb compliant, - guitar |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe usb cc providing 24-bit/96kHz audio capabilities but requires manual configuration of the mixer settings |- | <!--Description-->M-Audio M-Track | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 usb compliant?, okay - guitar and vocal mainly |- | <!--Description-->[https://htyp.org/M-Audio/Fast_Track_Ultra/Linux M-Audio FastTrack Ultra] and Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe usb compliant, low round-trip latency, okay octane pre amps, adc, |- | <!--Description-->M-Audio M-Track 2x2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre-amps, , |- | <!--Description-->M-Audio M-Track (MkII) 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre amps, , |- | <!--Description-->M-Audio M-Track Solo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf shielding, |- | <!--Description-->M-Audio M-Track DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf sheild, |- | <!--Description-->M-Audio Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, okay |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->NI AK1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, |- | <!--Description-->[https://www.pogo.org.uk/~mark/linuxdj/ Native Instruments Traktor Audio 8 DJ], [ Traktor Audio 4 DJ], [ Traktor Audio 2 DJ], | <!--Vendor ID-->0x17cc | <!--Product ID-->0x1978, 0x0839, 0x041C | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant uses snd-usb-caiaq module, [https://mixxx.discourse.group/t/problems-with-native-instruments-audio-8-dj-on-linux/14719/2 Audio 8 device has 4 subunits which are not recognized correctly], Cirrus Logic DACs spec'd at 24-bit/96KHz over a USB2, |- | <!--Description-->NI Komplete Audio 6 Mk1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps, 24bit 96kHz adc, ocassional dropouts, plastic build top with metal around 3/4, |- | <!--Description-->Native Instruments NI Komplete Audio 1 and 2 USB | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, good pre amp ein -129.5 dBu, ad/dc, |- | <!--Description-->[https://support.native-instruments.com/hc/en-us/articles/360014683497-Apple-Silicon-Compatibility-News Native Instruments Komplete Audio 6 Mk2] | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, pre amps, 24bit 192kHz adc, black aluminum glass build, |- | <!--Description-->[ Native Instruments Traktor Pro] | <!--Vendor ID-->0x17cc | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation AudioHub 2x4 NOVHUB01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, no xlr, focusrite sounds inside, |- | <!--Description-->Novation AudioHub | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Prodipe Studio 22 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Schiit HEL 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Schiit HEL 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 gaming headsets mostly |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland Edirol UA-3 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->1998 maybe not usb compliant, |- | <!--Description-->Roland Edirol UA-30 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->1999 not usb compliant, |- | <!--Description-->Roland Edirol UA1A UA-1D Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-5 Audio Capture (Roland) | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-1000 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Roland Edirol UA-1EX, Cakewalk UA-1G | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant driver also supports ASIO (Steinberg Audio Stream I/O Interface), noisy |- | <!--Description-->Roland Duo Capture UA-11 | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Roland QUAD-CAPTURE Analog 2x2 Digital 2x2 USB 2.0 4in/4out | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant, usb-b powered |- | <!--Description-->[https://wiki.debian.org/DebianEdu/Documentation/Manuals/Rosegarden/Setup Roland Edirol UA-101 and UA-1000 (Clemens Ladisch driver)] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->[https://github.com/mmueller-kaffeeschluerfercom/UA-25-Firmware-Modification Roland Edirol ua-25] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2007 maybe usb compliant 16bit 44.1kHz sampling without MIDI but not USB class complient when in Advanced mode for 24bit or midi |- | <!--Description-->Edirol by Roland USB AudioCapture UA-25EX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x00e6, 0x00e7 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant if ADVANCED DRIVER switched to OFF might play and record at 44.1kHz and 16-bit samples |- | <!--Description-->Roland Audio Interface V-Studio 20 VS-20 Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 maybe not usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->Roland Edirol UA55 UA-55 Quad Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID-->0x012f | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2011 not USB class compliant, |- | <!--Description-->Roland DUO-CAPTURE EX UA-22 USB Audio | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0159 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant but not be used with a USB 3.0 port that is not compatible with USB 2.0 specification, vs pre amps, adc, three AA batteries in base, or an AC adapter psb-1u 9V 2A - |- | <!--Description-->Roland Rubix series Roland Rubix22 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland Rubix series Roland Rubix24 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant |- | <!--Description-->Steinberg MI2, Steinberg MI4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Steinberg (2004 Yamaha buys) MIDI interface hardware including the CC like CC121 CC-121 and CI1 CI2 series. | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2008 not usb compliant, |- | <!--Description-->Steinberg UR12 UR22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR44 usb audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR242 audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, usb powered or 5v psu, okay pre-amps, |- | <!--Description-->Steinberg UR22mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, okay pre-amps ein -123 dBu, ad/dc, |- | <!--Description-->Steinberg UR-RT 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, usb2.0 usb-b, pre-amps, ad/dc, |- | <!--Description-->Steinberg UR44C (USB3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Steinberg URX22C UR22C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, preamps okay but little noisy, ad/dc. |- | <!--Description-->Steinberg UR22 MkIII UR series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb-c, okay pre-amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Tapco LiNK.USB 2x2 (Loud technologies WA, USA) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 maybe not compliant, usb-b, poor pre-amps hum, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=usx2yloader/README;hb=3843634ef0310a952b256bcb6a4ddd0ad4ebe396 Teac Tascam US-422 US-428 US2XYloader] | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Tascam US-122 US-224 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2003 not usb compliant, needing firmware usx2yloader/us122fw.ihx for audio sound card - Tascam US-122 and US-122L are not the same - |- | <!--Description-->Tascam US-122L | <!--Vendor ID-->0x0644 | <!--Product ID-->0x800e | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, obsolete needs tascam_loader.ihx and us122fw.ihx firmware loaded each time unless automated |- | <!--Description-->Tascam US122 US-122 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Tascam US144 US-144 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 maybe usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Teac TASCAM US-200 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac US-366 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-600 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-800 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 may not be totally usb compliant |- | <!--Description-->Teac Tascam iU2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 usb compliant?, 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb compliant?, |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->teyun q12 Q-12, q22 Q-22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description-->Teyun q26 Q-26, q24 Q-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Yamaha UW500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2000 not class compliant, |- | <!--Description-->Yamaha Audiogram 3 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe usb compliant, okay pre amp, 16bit 44kHz adc no advanced features without dedicated asio driver, 1 xlr, 1 instrument, |- | <!--Description-->Yamaha Audiogram 6 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, okay, 2 xlr, 2 instrument, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Zoom UAC-232 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->Zoom UAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.arcam.co.uk/products,rseries,usb-dacs,rPAC.htm Arcam rPac] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioquest Dragonfly | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioengine D1 Premium 24-bit DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 (Burr Brown PCM 1716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 + Burson Buffer + MK3 JKSPDIF | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[http://epiphany-acoustics.co.uk/products-page/dacs/e-dac-24bit-miniature-usb-dac/ Epiphany E-DAC 24bit] ES9023 DAC chip | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio FUBAR II Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio iLoveTW 24Bit USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO D5 ta2020 chip amp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E07K Andes | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E17 Alpen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Magnum | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Martini-U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Vulcan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Halide Design DAC HD (Wolfson WM8716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->HRT Steamer II USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->John Kenny JKDAC uses a 24-bit/192&nbsp;kHz Sabre ES9022 DAC or better JKDAC32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> iBasso D12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Leckerton UHA-6S MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->MyST 1866 PortaDAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Objective DAC ODAC+O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Rega DAC (Wolfson WM8742) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.henryaudio.com/open-source.php Henry Audio USB DAC 128 also known as QNKTC AB-1.2 open source DAC] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Henry Audio mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->AKM4430 DAC chip comes from Asahi Kasai |- | <!--Description-->DevilSound USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Zoom U series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->KingRex UD-01 SE (Burr-Brown PCM 2702E) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SuperPro 24/192 USB DAC (24bit 192&nbsp;kHz, CS-4398 D/A chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM108 7.1ch emulation I2S in and out | 0x1926 | 0x0003 | 0x0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | [http://www.lindy.co.uk/usb-2-audio-adapter/42961.html Lindy USB 2.0] (Chipset CM108) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Speed-Link SL-8850-SBK Vigo ([http://mightyohm.com/forum/viewtopic.php?p=1036#p1030 CMedia CM108]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode USB SOUNDCARD 2.0 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x1130 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode Virtual 7.1 USB-SOUND7 (C-Media ) | 0x0d8c | 0x000c 0x000e | 1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Generic White box with very little red led and white USB lead (CMedia ) | <!--Vendor ID-->0x0d8c | <!--Product ID--> 0c000e | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | CM109 CiT SC-U119 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM1197.1ch I2C MCU port Penguin | 0x0D8C | 0x0000 | 0x010 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Sweex 7.1 Startech External USB, WMA Blue metal box SYBA SD-AUD20040, Sabrent USB-SND8, Sewell Vantec NBA-200U (C-Media CM6206 CM106 like) | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x0102 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->50/50 if the item is detected but does not work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Creative Labs SoundBlaster X-fi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi Go | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative Sound Blaster Play! USB sound adapter (SB1140) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> working with [http://www.amiga.org/forums/showpost.php?p=646431&postcount=15 Deneb on OS3] |- | <!--Description-->Asus Xonar U1 (ASUS UA100 USB Audio Chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Asus Xonar U3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Griffin iMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->M-Audio Transit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Icemat Siberia (steel series) (Cmedia chipset) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->JMTek HY554, ZyXEL NSA-220, Logilink (Tenx Technology TP6911 and SSS-1623 headphone set) | 0x0C76 0x1130 | 0x1605 0x1607 0xf211 | 0x | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> reports on other OS not good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Plantronics "DSP Adapter-01" (or "USB Adapter-02") | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Rocksmith Real Tone Cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->RSA Intruder Predator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->StarTech ICUSBAUDIO7 | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x000c | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Stoner Acoustics UD100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Teac UDH01-B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TerraTec Electronic GmbH Aureon Dual USB | 0x0ccd | 0x0077 | <!--Product ID--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Phase26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trust 510 EX 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Logitech A-5572A USB 2.0 to 3.5mm jacks Virtual 7.1 Surround Sound Adapter or accessory of Logitech Clearchat pro USB or Logitech USB Headset H530 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x046D | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trumix TM-10 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 maybe cc |- | <!--Description-->Trumix TM-12 USB-C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe cc usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Turtle Beach Audio Advantage Amigo Micro II USB Sound Card & Headset Adapter | <!--Vendor ID-->0x10F5 | <!--Product ID-->0x0211 | <!--Revision-->0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Vantec NBA-100U 7.1 Channel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |} Companies including Access, Alesis, Allen&Heath, American Audio, CME, ESI, Infrasonic, Lexicon, Numark, Presonus, Reloop, SIMS, Sound Devices, Steinberg, Swissonic, Tascam, Terrasoniq, Terratec, Yamaha and Yellowtec decided to license and bundle this driver. So fully functional custom drivers are available for Access Virus TI, Access Virus TI snow, Alesis Multimix 8 USB2.0, Alesis Multimix 16 USB2.0, Allen&Heath XONE:2D, Allen&Heath XONE:3D, Allen&Heath XONE:4D, Allen&Heath XONE:DX, Allen&Heath XONE:DB4, American Audio Versa Port, CME XCORPIO, ESI ESU1808, ESI Gigaport AG / DG, ESI Maya 44 USB, Infrasonic Amon, Lexicon I-ONIX U22, Lexicon I-ONIX U42S, Lexicon I-ONIX U82S, Mindprint DI-MOD USB, Numark DJ IO, Numark NS6, Numark NS7, Numark Omni Control, Numark V7, Presonus Audiobox USB, Reloop Digital Jockey, SIMS Primus, Sound Devices USB pre, Steinberg MI2, Steinberg MI4, Swissonic Easy USB, Tascam M-164UF, Tascam US-122L, Tascam US-144, Tascam US-Tascam US-144mkII 122mkII, Tascam US-200, Tascam US-600, Tascam US-1641, Tascam US-1800, Tascam US-2000, Terratec Area 61, Terrasoniq Phase X64, Terratec Phase 26 USB, Yamaha UW10, Yamaha UW500, Yellowtec PUC2 and many others. Well, those companies are using the same driver framework because all of those interfaces use the same microprocessor/firmware architecture to communicate with the USB bus. Just like almost all FireWire audio interfaces use the same TC Dice or BridgeCo chipsets. Usually it does not make sense for companies to develop their own USB1.1/USB2/FW framework for a product they are going to sell for <$500. However, that isn't the end of the story. The companies who develop audio interfaces implement different features into their devices and must update the driver and firmware to accommodate those features. That is where things can go wrong. Sometimes there is miss-communication about how things are coded, sometimes the developer who started a project leaves without transferring his knowledge to his successor, etc. You have to keep in mind that there are no "big" computer audio companies. Even the companies that seem big in the scale of the market, probably have fewer employees than you'd think. A very well made interface that is designed from scratch from the ground up would be a very expensive device, regardless of whether it's USB, FW, PCIe or whatever. Round-trip latency is the sum of the following: <pre> ASIO input buffer ASIO output buffer A/D D/A converter latency The driver's hidden safety buffer </pre> At a 64-sample ASIO buffer size/44.1k, Tascam units yield ~18ms total round-trip latency. Typical USB audio interfaces use a large hidden safety buffer. This helps ensure glitch-free playback... even under less than ideal circumstances. But... this comes at the expense of much higher round-trip latency. Short of doubling the sample-rate, there's no means of mitigating the higher round-trip latency. If you have no plans of ever monitoring in realtime thru software based EFX/processing (ie: playing/monitoring DI bass thru an AmpSim plugin as you're playing), then this may not matter to you. If you want the ability this play/monitor in realtime thru software based EFX/processing, make sure to get an audio interface that yields low round-trip latency. As a point of reference the best PCI/e audio interfaces yield about 5ms total round-trip latency at a 64-sample ASIO buffer size/44.1k The best Firewire and USB units yield 5.5-5.6ms total round-trip latency at those same settings. Typical USB and Firewire units (that use a large hidden safety buffer) yield 12-18ms total round-trip latency at those same settings. Anything above ~6ms starts to feel sluggish. Anything above ~10ms feels like playing thru molasses. USB Microphones {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->C-Media Electronics, Inc. CM108 Audio Controller Mic | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x013c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato WaveMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Wave:1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver }} |- | <!--Description-->Elgato Wave:3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver lightweight }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->hyperx solocast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description-->hyperx quadcast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sennheiser CC510 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Alesis USB-Mic microphone podcasting kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2020 (AT202) AT4040 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2035 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer B1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball iCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardioid only }} |- | <!--Description-->Blue Microphones Yeti | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description-->Blue Microphones Yeti Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL 2001A/600 Studio Microphone Pack / MXL 2003A Studio Condenser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft LifeChat LX-3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Namtai SingStar(TM) PS2 SCEH-0001 USBMIC | <!--Vendor ID-->0x1415 | <!--Product ID--> | <!--Revision-->0.01 | <!--Opinion-->{{unk| mono microphones }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren Mini USB Condenser Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rockband USB Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode NT1A VideoMic Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode Podcaster 2 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| RODECaster Pro usb audio compatible}} |- | <!--Description-->Rode NT1A NT2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| NT2 better }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Roland R-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Go Mic - Portable USB Microphone for Recording | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| mini usb r.h.s. and clip on the bottom left hand side}} |- | <!--Description-->Samson Go Mic Clip On USB Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| switch to choose between Cardiod, Omni and -10&nbsp;dB modes, a 3.5mm headphone socket and a USB socket}} |- | <!--Description-->Samson C01U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardoid only}} |- | <!--Description-->Samson C03U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shure MV7 USB Podcast Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->SONY PCM-D50 handy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb 5V, }} |- | <!--Description-->Sony PCM-M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out 5V, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->TASCAM DR-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008, one mini usb out, lithium battery}} |- | <!--Description-->Tascam DR-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009, one mini usb out, aa battery}} |- | <!--Description-->Tascam DR05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011, one mini usb port for file transfer and charging the AA batteries }} |- | <!--Description-->Tascam DR-40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 mini usb aa battery }} |- | <!--Description-->Tascam DR-07mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 , one mini usb out, }} |- | <!--Description-->Tascam DR-05X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-07X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-40X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb 3 aa battery }} |- | <!--Description-->Tascam DR-05XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-07XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-40XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c, }} |- | <!--Description-->Tascam DR-100mkIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Tascam | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Zoom H4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 no driver, mini usb 5V }} |- | <!--Description-->Zoom H2 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0095 | <!--Revision--> | <!--Opinion-->{{unk|2007 no driver, mini usb 5V audio i/f USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 no driver, mini usb 5V }} |- | <!--Description-->Zoom H1 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0120 | <!--Revision--> | <!--Opinion-->{{unk|2010 no driver, mini usb 5V and display will alternate between USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H2n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V audio i/f press the Record. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n PRO | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 untested, 2xlr, 5v mini usb, }} |- | <!--Description-->Zoom H5 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 no driver, 5v mini usb, 2 xlr, }} |- | <!--Description-->Zoom H1n-vp handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6studio | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested}} |- | <!--Description-->Zoom | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} |- | <!--Description-->Zoom Q3 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 untested usb a cord, no hdmi, 480p}} |- | <!--Description-->Zoom Q3HD Handy Video Recorder | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 untested, built in usb-a cord, mini hdmi, 1 hour on 2 AA batteries, H.264 movies 480p }} |- | <!--Description-->Zoom Q2HD Handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 untested, up 720p but no stablisation, mini usb cord, 1 hour on 2 AA batteries}} |- | <!--Description-->Zoom Q4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 untested, li-ion battery}} |- | <!--Description-->Zoom Q4N | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 untested, li-ion battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio Technica ATR4697-USB Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CAD Audio CAD USB Condenser Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL AC-44 Boundary Conferencing Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Audio SAUB1 Boundary Microphone (USB) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} USB Speakers {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Focal XS 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} USB Headset Wired/Wireless {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Logitech Vantage Wired (came free with PS2 Socom3) | | | | <!--Opinion-->{{unk| }} |- | Logitech G330 | | | | <!--Opinion-->{{unk| }} |- | Logitech Premium USB Stereo Headset 350 | | | | <!--Opinion-->{{unk| }} |- | Plantronics DSP-300 | | | | <!--Opinion-->{{unk| }} |- | Plantronics GameCom 777 | | | | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitech G-930 Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.makeuseof.com/tag/set-usb-wireless-earphones/ Plantronics Audio 995 Wireless RF] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Sennheiser Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} [https://www.youtube.com/watch?v=Be1e0QPIPK0 Mixers] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ALESIS MULTIMIX 4 CHANNEL USB MIXER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Alesis - MultiMix 8 USB FX (USB 1.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2010 usb compliant?, up to 16-bit/48kHz, 18v 500mA - |- | <!--Description-->Alesis - MultiMix 8 USB 2.0 FX (USB 2.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2012 usb compliant?, up to 16-bit/48kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Allen&Heath MixWiz16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description-->Allen and Heath ZED Power 1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 8 xlr, usb-b out, }} |- | <!--Description-->Allen & Heath ZEDi-10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer XENYX 302USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 5-Input Mixer/Audio Interface - 1 xlr - }} |- | <!--Description-->Behringer Xenyx Q502USB Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} Behringer 2*18.5V 250ma psu - 1 xlr - phanton power - |- | <!--Description-->Behringer Xenyx Q802USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 2*18.5V 250ma psu - 2 xlr - phanton power - |- | <!--Description-->BEHRINGER XENYX 1204USB 8-Channel 2-Bus Mixer USB/Audio Interface Studio/Live | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle psu lead - can develop constant background hiss over time |- | <!--Description-->Behringer XENYX X1222USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver - 12-Channel Analog Mixer with USB Interface and Effects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Depusheng HT-7 HT7USB 7 Channel Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2023 cheap no driver, USB MP3 player to work, format your USB stick Fat32 as a Logical drive - not primary}} |- | <!--Description-->Depusheng XT7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description-->Depusheng DT8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Spirit soundcraft Folio FX8 with Lexicon Effects Processor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} unusual power connector - [https://github.com/lack/soundcraft-utils usb routing] - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Weymic Professional F7 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver, cheap mixer with 3pin ac input (introduces noise) and 1 usb-a port}} |- | <!--Description-->Weymic Professional F7-Pro 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver}} |- | <!--Description-->Weymic A80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2024 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} Mixer no hardware usb {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->ALTO Lynx MIX82FX Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Alto L16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MXUL5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MX602A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Eurorack UB502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 17.5V 3pin psu needed}} |- | <!--Description-->Behringer Eurorack UB802 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 4 xlr, }} |- | <!--Description-->Behringer Eurorack UB1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer RX1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer 802 XENYX 8-Input 2-Bus Mixer Small Format Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 18.5V ???ma psu - 2 xlr - phanton power - |- | <!--Description-->Behringer Xenyx 502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Xenyx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->IMG stage Line MMX-122 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, iec cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Mackie 802VLZ4 Mackie 802-VLZ4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb , psu}} |- | <!--Description-->Mackie 1202-VLZ Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, mains iec}} |- | <!--Description-->Mackie Mix5 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 18v 300mA psu - 5 Channel - |- | <!--Description-->Mackie Mix8 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 9v x2 600mA psu - |- | <!--Description-->Mackie MIX12FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, 9v 500mA x2 psu, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->[https://www.soundcraft.com/en/product_documents/en/owners_manual Soundcraft] Spirit Folio F1 Fader 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} 16 Channel Mixer - |- | <!--Description-->Soundcraft EPM6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft EPM8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Harman Soundcraft EPM 12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle power lead - |- | <!--Description-->Soundcraft EPM 16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Soundcraft Notepad 8FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft Notepad UI12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad UI16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad 124FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, 14.8V x2 3 pin psu}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->t.mix xmix 1402fx mp usb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, mains iec, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- |} ==Webcameras== A USB camera has two dedicated chips: a controller or bridge and an image sensor. There was no Commodore support for video interfaces. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit. ===OLD standards=== See [http://www.e3b.de/usb/main_supported_e.html support pages] and [http://www.e3b.de/usb/main_faq_e.html here] and some [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=status further compatibility] Pencam STV680 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AIPTEK stv680 | 0x0553 | 0x0202 | | {{N/A|untested}} |- | Konica e-mini | 0x04c8 | 0x0722 | | {{N/A|untested }} |- | DigitalDream l'espion XS | 0x1183 | 0x0001 | | {{N/A|untested}} |- | [http://reviews.cnet.com/webcams/creative-webcam-go/1707-6502_7-1446174.html Creative WebCam Go mini] | 0x041e | 0x4007 | | {{N/A|untested}} |- |} SonixcamTool (Sonix webcams and derivates) '''Note [http://amigadev.free.fr/sonix/ some] Sonix Webcams with a Sonix SN9C1xx controller ''and'' a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device!''' {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Macally IceCam II | 0x0c45 | 0x05d8 | | {{N/A|untested}} |- | Sweex MiniCam 100K | 0x0c45 | 0x6005 | | {{N/A|untested - sensor tas5110c1b}} |- | Macally IceCam Portable | 0x0c45 | 0x6007 | | {{N/A|untested - sensor tas5110d}} |- | Sweex 100K | 0x0c45 | 0x6009 | 0x0101 | {{yes|bulk works - sensor pas106b}} |- | [http://www.epinions.com/pr-Chicony_TwinkleCam_Webcam/display_~full_specs Chicony Twinkle DC-2110A] | 0x0c45 | 0x600d | | {{no|no}} |- | Unknown | 0x0c45 | 0x601e | | {{no|no}} |- | USB PC Camera (SN9C102) | 0x0c45 | 0x6028 | | {{no|no - sn9c10x + pas202b}} |- | Trust SpaceC@m 120 and 150 | 0x0c45 | 0x6029 | | {{N/A|untested - sensor pas106a}} |- | HiRes Webcam Live | 0x0c45 | 0x602c | | {{no|no - sensor ov7630}} |- | [http://www.sweex.com/en/assortiment/sound-vision/webcams/JA000020 Sweex USB Webcam 300K] | 0x0c45 | 0x608f | | {{no|no - sensor ov7630}} |- | Speedlink Sphere Webcam SL-6820, 350K | 0x0c45 | 0x613c | 0x0101 | {{N/A|untested - sensor HV7131R}} |- | WB-3250P | 0x0c45 | 0x613e | | {{no|no - sensor ov7630}} |- | Unknown | 0x0c45 | 0x6207 | | {{no|no}} |} <pre> micromaxx USB Camera STM 1363 514 works --- USB Tower Lego 1684 1 works need NCQ Trust Spycam 100plus STM 1363 514 works </pre> ov51x.class - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link VGA Webcam (640x480) | 0x05a9 | 0x8519 | | {{no|no driver}} |- | Sony PS2 EyeToy Logitech/Logicool Black (ov519) SCEH-0004 | 0x054c | 0x0154 | | {{no|no driver}} |- | Sony PS2 EyeToy Namtai Silver (ov519) SLEH-00031 SLEH-00030 | 0x054c | 0x0155 | | {{no|no driver}} |- |} ===UVC.class - [https://www.usb.org/document-library/video-class-v15-document-set USB Device Class Definition for Video Devices or USB Video Class]=== AROS needs realtime isochronous transfers in EHCI and XHCI, then a usb uvc.class which might create a virtual UVC.VHI type device driver for use by AROS apps since 2019 the market is filled with UVC Compliant USB HDMI Capture {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acasis 4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Acasis 4K60 HD VS009 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k 60hz ok for chat streams}} |- | <!--Description-->Acasis 4K60 HDMI HDR Game Live Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| for chat streams }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AJA U-tap HDMI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->ASUS TUF CU4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATEN CAMLIVE HDMI to USB-C UVC Video Capture adapter UC3020 HDMI (F) TO USB-C M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 possibly UVC and UAC standard support allows up to 1080P @ 60}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia Live Streamer Cap 4K - BU113 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc usb3}} |- | <!--Description-->AVerMedia GC515 video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia Live Gamer Ultra GC553 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description-->AVerMedia Live Gamer Ultra S GC553PROW 302AGC553DL2 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1553 | <!--Revision--> | <!--Opinion-->{{unk|2021 powered by good quality type C USB3 cable and 4K HDMI 2.0 cable}} |- | <!--Description-->AVermedia Live Gamer Mini GC311 302AGC311DG9 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1311 | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc compliant up to 1080p 60fps capture and supports internal hardware H.264 encoding - if flashing blue light try another '''quality''' micro usb cable - }} |- | <!--Description-->AVerMedia Ez Recorder 330 (ER330) | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 designed to work independently and is generally not compatible as a plug-and-play UVC capture card }} |- | <!--Description-->AVerMedia Live Gamer extreme3 GC551G2 (LGX3) | <!--Vendor ID-->0x07ca | <!--Product ID-->0x3551 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc compliant for intensive gaming streams, some vrr but no hdr with maximum recording resolution of 4K30/1080p60 from fully wired usb3 compatible cable - passing through 4K60/1080p120 Game Capture video capturing device HDMI}} |- | <!--Description-->AVerMedia Live Gamer Ultra Pro GC553Pro | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 usb3 }} |- | <!--Description-->AVerMedia Live Gamer Ultra 2.1 GC553G2 61GC553G20BV video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia GC575 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AVMatrix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ClonerAlliance Flint 4KP Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->DIGITNOW U600 video capture card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Cam Link 4K | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 uvc }} |- | <!--Description-->[https://github.com/elgatosf/capture-device-support Elgato HD60 S+] | <!--Vendor ID-->0x0FD9 | <!--Product ID-->0x006C, 0x006E | <!--Revision--> | <!--Opinion-->{{unk|2019 4K 30FPS capture, 1080p 60FPS uvc}} |- | <!--Description-->Elgato HD60 X | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc }} |- | <!--Description-->Elgato Cam Link 4K HDMI video capture card | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 uvc compliant but can have usb disconnects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EVGA XR1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description-->EVGA XR1 lite USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 USB 3.0 device }} |- | <!--Description-->EVGA XR1 Pro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EZcap Game Link Raw - ezcap321 usb3.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 2160p30, 1080p120 and 1440p60 HDMI input and pass-through. - 1080p120, 2160p30 and 1440p60 recording. - Latency less than 50ms uvc}} |- | <!--Description-->EZCap GameDock Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 record at 4K30, 1440p60, and 1080p120}} |- | <!--Description-->EZcap 360 Game Capture Extreme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 USB 3.0, 4K 60FPS passthru and 1080p 240FPS}} |- | <!--Description-->EZCAP 364 GameDock Extreme 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genki ShadowCast 1 & 2, the Pro version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HAUPPAUGE HD PVR Pro 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 4K in/Out 1080P 60fps Capture and Streaming PC Connected and Stand Alone }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Inogeni HDMI 4K to USB 3.0 UHD 1080p Video Capture Card 4K2USB3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 uvc compliant made in Canada}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kondor Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nanjing Magewell Electronics Co ltd USB 3.0 XI100DUSB-HDMI Pro Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 }} |- | <!--Description-->Magewell USB3.0 Silver HDMI Full HD Video Capture Device 1080p 32011 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 usb audio extract HDMI embedded audio output via headphones}} |- | <!--Description-->Magewell USB capture HDMI PLUS 2K 32040 320400000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 captures video up to 1920×1200, 1920×1080 or 2048×1080 at 60 fps over an HDMI capture from devices such as game consoles in up to DCI 4Kp60 4:2:0 input resolution, and it automatically upscales/downscales the signal to 2K for recording or streaming}} |- | <!--Description-->Magewell USB capture HDMI Gen2 32060 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 1080p gets hot, 165M HDMI receiver, max input 2048x1080 60fps 4:4:4, RGB/YUV 4:4:4 8/10/12-bit, YUY 4:2:2 12-bit, up to 8-channel 24-bit HDMI-embedded audio at 192kHz, HDMI 1.4a, output from 480p to 1080p, YUY2/UYVY/RGB24/RGB32 support video cropping, up/down scaling, de-interlacing, aspect ratio conversion, color format conversion, frame rate conversion, flip and mirror, up to 2-channel IEC60958 audio streams, 5V 0.5A 2.5W, }} |- | <!--Description-->Magewell USB Capture 4K Plus 32090 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 limited by the bandwidth of USB 3.0, the maximum frame rate can only reach 30 fps when capturing}} |- | <!--Description-->Magewell USB Capture 4K PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Magewell Pro Convert IP to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Captures one network eth NDI® High Bandwidth, NDI® HX2, NDI® HX3 sources or H.264/H.265 video source into software at resolutions up to 1080p60}} |- | <!--Description-->Magewell USB Fusion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|versatile USB video capture device that allows users to switch between two HDMI inputs and one USB webcam input for live presentations}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ROLAND UVC-01 USB Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sunplus Innovation Technology Inc. MiraBox HSV321 ARX321 Video Capture device | <!--Vendor ID-->ox1bcf | <!--Product ID-->0x2c99 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGREEN CM716 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| uvc uac but disable HDCP on your source device (PS4/PS5, Xbox) }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->VisionTek UVC HD60 Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acer Aspire Crystal Eye AOA110 AOA150 0.3M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2008 webcam }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->AVerMedia Live Streamer CAM 313 (PW313) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2019 uvc 1080p/30 webcam}} |- | <!--Description-->AVerMedia Live Streamer DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2021 uvc 1080p/60 webcam}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->[http://reviews.cnet.co.uk/webcams/creative-live-cam-optia-af-review-49294183/ Creative Live Cam Optia AF] 2.0M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|2008 }} |- | <!--Description-->DSLR macro extensions + a cheap 50mm E-Series lens + some PVC tubing and a negative holder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera chosen}} |- | <!--Description-->DSLR scanning using a macro lens, for the adapter, for a 3d printed negative holder) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera used }} |- | <!--Description-->Logitech C270 | <!--Vendor ID-->0x046d | <!--Product ID-->0x0825 | <!--Revision--> | <!--Opinion-->{{unk|720p }} |- | <!--Description-->Logitech C910 C920 HD Pro 5Megapixels 720p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech C920s c922 HD Pro 5Megapixels 1080p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Logitech Brio 100 300 500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} 1080p |- | <!--Description-->Logitech MX Brio 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Microsoft's LifeCam HD-3000 HD-5000 | <!--Vendor ID-->0x045e | <!--Product ID--> 0x0779 | <!--Revision-->1.06 | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Cinema | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Studio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} sony imx179 1080p |- | <!--Description-->Pi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 1/2.8” Sony IMX291 image sensor, it's a 2MP, UVC-compliant, ultra-wide-angle, low light, high-speed USB 2.0 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} OV5648 |- | <!--Description-->razer kiyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 4 megapixel sensor 1080p 30fps 720p 60fps - 12 led ring light adjustable |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->TeckNet C068 1.3mpixel HTD USB2.0 Camera Vimicro Z-Star Corp | <!--Vendor ID-->0x0AC8 | <!--Product ID--> 0x3420 | <!--Revision-->0x01FA | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->YEALINK(XIAMEN) NETWORK UVC50 is compatible with the UVC 1.1 protocol CP960-UVC50 and CP960-UVC80 kits PTZ, CP960-UVC30 Kit is UVC 1.5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Amcrest ProHD 1080P WiFi Wireless IP Security Camera - 1080P (1920TVL), [https://www.ispyconnect.com/man.aspx%3Fn%3DAmcrest IP2M-841] nvr | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} h264/rtsp, motion detection, features Sony image sensor and Ambarella processor - rtsp://[username]:[password]@[IPaddress]:[port]/cam/realmonitor?channel=[channel]&subtype=[stream] - [username] - username to login to the DVR or NVR, [password] - password, [IPaddress] - IP address of the device. If you are not on the same local network, this should be the external IP address of the device's network, [port] - port number, [channel] - channel number of the stream, [stream] - view the Main or Sub stream. (main stream is 0, sub stream is 1) , eg. rtsp://admin:admin@192.108.1.108:80/cam/realmonitor?channel=1&subtype=1 - utilizing RTSP ( rtsp://user:pass@ipcam1 ) |- | <!--Description-->Axis all modern ones | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg or MJPEG over HTTP |- | <!--Description-->PTZ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->DLink DCS-5222 5222L network camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} camera streams H.264 over RTP controlled by RTSP |- | <!--Description-->Dlink DCS900 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Wansview 1080p [http://marc.merlins.org/perso/linuxha/post_2013-11-10_Reviewing-IP-Webcams-for-Linux-and-Zoneminder_Dlink-DCS900_-Ubnt-Aircam_-Foscam-FI8904W-FI8910W_-FFI9820W_-FI9821W_-Wansview-NCB541W_-and-Zavio-F3210.html#NCM625GA NCM625GA] IP Camera WiFi Wireless IP Security Camera , Full HD Plug n Play Home Surveillance / Baby Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg - play its HD stream without problem with vlc rtsp://ip/live/ch0 and getting jpegs http://ipaddr/mjpeg/snap.cgi?chn=0 - methods involve transcoding h.264 video from the camera into jpeg's, which is cpu intensive - able to pull images manually, using http://username:password@ip/mjpeg/snap.cgi - |- | <!--Description-->Wansview NCB541W | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Avermedia Game Capture HD C281 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2011 standalone h.264 recording of up to component cable not hdmi but not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia GL310 Live Gamer Portable (LGP Lite) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working usb2 and USB Lite no uvc}} |- | <!--Description-->Avermedia AVerMedia Live Gamer Portable ([https://github.com/Trouffman/octv_gears_lgp Model C875]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 usb2 no uvc}} |- | <!--Description-->AVerMedia LGX Live Gamer extreme GC550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2015 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->AVerMedia LGX2 Live Gamer extreme2 gc550 plus gc551 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->Avermedia ExtremeCap UVC - BU110 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 maybe not uvc and uac}} |- | <!--Description-->AVerMedia Live Gamer Portable 2 Plus GC513 Micro-USB Capture Box LGP2 Plus | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1513 | <!--Revision--> | <!--Opinion-->{{no|2017 powered by a standard Micro-USB cable, video capture output up to 1080p60 capture to hdmi in, standalone sd card recording on exFAT or FAT32 of .MOV, 2160p pass-through hdmi out to tv - no vrr - [https://www.avermedia.com/uk/support/download#ans_part firmware latest 2.1.7.13, 2.1.7.14], SN74AVC8T245 8bit, DRV604 stereo, iTE IT6663FN hdmi 2.0 splitter, TLV320DAC3101 DAC, CS42L73 audio codec, CDCE913 PLL clock, W29N01HVSINA nand bios, I-Catch V35MA SOC CPU 32bit MIPS24K, ADV7480 hdmi mhl, }} |- | <!--Description-->AVerMedia Live Gamer 4K LG4K GC573 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc but [https://github.com/derrod/lg4k-linux drivers here], }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Blackmagic intensity Extreme Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->BlackMagic Intensity Pro 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2015 }} |- | <!--Description-->Elgato Video Capture (1VC108601000) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Elgato Game Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, mini usb}} |- | <!--Description-->Elgato Game Capture HD60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, }} |- | <!--Description-->Elgato Game Capture HD GCHD 2GC309901000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc https://github.com/tolga9009/elgato-gchd needs firmware mb86h57_h58_idle.bin and mb86h57_h58_enc_h.bin - mini usb}} |- | <!--Description-->Elgato HD60S Elgato Game Capture 4K60 S+ Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|non uvc, }} |- | <!--Description-->August EZCap.tv model 116 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} poor audio recording |- | <!--Description-->E-SDS Diamond Maplin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1212 HD PVR | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} analog and component only - PlayStation (.m2ts), AVCHD (ts), or XBox(.mp4) recording formats - switched the component output from the default YPbPr to RGB. |- | <!--Description-->Hauppauge 1431 1445 HD PVR Gaming Edition HDMI Capture | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working, can get warm}} |- | <!--Description-->Hauppauge HD Rocket | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Hauppauge HD-PVR2 (model 145210 Rev E4) | <!--Vendor ID-->0x2040 | <!--Product ID-->0xE502 | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1480 1482 HD PVR 2 GE Gaming Edition HDMI Capture green LED - 1498 1503 1504 Plus version with Mac support | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe514 0xe524 | <!--Revision--> | <!--Opinion-->{{No| can get warm - [https://ez.analog.com/video/w/documents/581/adv7482-design-support-files ADV7482] [https://patchwork.kernel.org/patch/9201075/ video chip] with Magnum DXT H.264 encoder blob, IDR keyframe generation poor - best for model 157210 and not 157221 and Game Edition Plus (model 157320) 2040:E505 E505-00-00AF1234 [http://www.hauppauge.com/site/support/linux.html#tabs-3 ]}} * HDMI: 1920x1080p50/60, 1920x1080i50/60, 1280x720p50/60, 720x480i, 720x576i, 640x480p60. * Component: 1920x1080p50/60, 1920x1080i50/60*, 1280x720p50/60, 720x480p60, 720x480i, 720x576i. * Composite: 720x480i and 720x576i * Audio Inputs : HDMI PCM and RCA support with Adjustable Bitrate Quality 2 Channel AAC/AC3 audio codec |- | <!--Description-->Hauppauge 1512 HD PVR 2 PC blue LED with optical in input on the back | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe525 | <!--Revision--> | <!--Opinion-->{{No| }} can get quite warm - IR Blaster added - |- | <!--Description-->Hauppauge Colossus2 E585-00-00AF4321 | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe585 | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion SLIDES2PC 35mm Portable Slide & Film Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion Pics 2 PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->ION PowerScan USB film and slide scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->Koolertron Sunny | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->FilmScan35 35mm Film Negative Scanner 1304 marks spencer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->U3 HD Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->[https://github.com/openrazer/openrazer Razer Ripsaw HD] Game Capture (RZ20-01780100) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2017 not uvc put in usb2 slot and use video BGR3 (Emulated) and OpenRazer drivers }} |- | <!--Description-->Razer Ripsaw HD USB HDMI Capture Card | <!--Vendor ID-->0x1532 | <!--Product ID-->0x0d01 | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc compliant}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Silvercrest 35mm Photo Slide Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc but not great quality}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Z-Star Microelectronics Corp. Traveler TV 6500 SF Dia-scanner | <!--Vendor ID-->0x0ac8 | <!--Product ID-->0x3370 | <!--Revision--> | <!--Opinion-->{{No|2010 not uvc and poor scans}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- |} === AR VR XR Headset === AROS needs realtime isochronous transfers in EHCI and XHCI, then an usb based uvc.class to vhi type driver for virtual display and maybe more The primary engineering challenge of VR is motion sickness caused by a mismatch of visual and inner ear information, which is extremely well established as causing people to throw up in a wide range of contexts outside of VR. The experiences that make some people sick are low framerate. Foveated rendering doesn't solve vergence accommodation. Your eye will still be focused at infinity regardless of where you are looking, you'll just have the illusion that the foreground or background are out of focus. Eye tracking plus dynamic lenses (perhaps liquid lenses) or real light fields are necessary. First start with apps that have simple static features at first, then advance to dioramasa and teleportation options for 10, 20 minutes and then gradually upgrade over a timespan of four weeks to train your brain. Avoid smooth motion stuff like rollercoaster or mountain heights until much later. Even with this preparation, VR makes 40% of people seasick nausea. If so, you may be able to use VR glasses just to watch videos and some slow moving apps [https://www.emuvr.net/ emuVR] instead. *2014-2019 1st Gen, low resolution, *2020-2025 2nd Gen, higher resolution, *2026- Most hardware typically has a 1-3 year retail lifespan with 1-3 years of updates after. Really need "right" tethered PCVR rather than wireless. The advantage to being tethered to a PC is processing power. Any standalone headset is going to be running purely off of batteries. VR and AR are known as XR Technology will get immersed enough so not making people sick. Higher resolution, faster frame rates, and [https://github.com/opentrack/opentrack better tracking]. Eventually, hyper reality brings VR, AR and MR digital layers together as a less chaotic, optic tracking with no delay, agents understanding, experiences with objects 3Dgs 4Dgs gassian splats bullet time slice photo snaps .ply for WebXR [https://lvra.gitlab.io/docs/hardware/ ], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Big Screen Beyond 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 pcvr 2560 x 2560, fixed IPD, }} |- | <!--Description-->bigscreen Beyond 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr oled 5120 x 2560 @75Hz 2688x2688 @90Hz over pancake lenses, 116 FOV, virtual screens, custom facial plate from iphone app, streamvr 2.0 basestations and controllers not included, no passthrough, 107g-196g, }} |- | <!--Description-->bigscreen Beyond 2e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr oled 5120 x 2560 total up to 90Hz pancake lens 116 FOV adjustable IPD app needed for adjustment, eye tracking, custom face mask cushion, streamvr 2.0 basestations and controllers not included, seperate head strap and speaker modules extra costs, 110g-300g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Dpvr P1 Pro 4k Ultra Vr Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 wireless snapdragon, }} |- | <!--Description-->DPVR P2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Play for Dream MR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android modular 3840x3552 uoled per eye 90Hz or qled mura issues, Arm snapdragon XR2+ Gen 2, eye tracking and 11 cameras 7 sensors 22 ir leds 14ms latency and foveated rendering, 1.5hrs battery, }} |- | <!--Description-->Play for Dream GravityXR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 ultralight head gear gx100 3w }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://lvra.gitlab.io/docs/community/ Valve Index HMD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 tethered PC VR headset 1440 x 1600 120Hz, 108° and 104° FOV, fresnel lenses, SteamVR2 compatible tracking ir basestations, controllers aka Knuckles, dp 1.2 and usb3 cable proprietary cable end, no battery, }} |- | <!--Description-->Valve Steam Frame (Valve Deckard / Valve’s Index 2) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 - 2160 x 2160 up to 144Hz pancake lens, 108° and 96° FOV, wifi 6 fovelated streaming, Qualcomm Snapdragon 8 Gen 3 with [https://github.com/FEX-Emu/FEX fex] arm-to-x86 x64 translation layer, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PSVR2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 PCVR with adapter, two, one for each eye, 2000 x 2040 resolution OLED panels from 90Hz 120Hz refresh rates, fresnel lenses, 116° and 102° FOV, sony proprietary headset cable end, needs additional comfort options, }} |- | <!--Description-->VisionPro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goertek glasses | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive ? | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| 2016 2x 1080x1200 needs external power supply, }} |- | <!--Description-->HTC Vive Original | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 108° and 96° FOV}} |- | <!--Description-->HTC Vive Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 , uvc, at least 2 powered steamvr basestations so 3 to 5 wall warts in total, proprietary cable end, }} |- | <!--Description-->HTC Vive Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 dual 1440x1600 oled displays, 116° and 100° FOV - steamvr 2.0 basestation 2 for 5m2 area 4 for 10m2 - steamvr 2.0 joypads - low latency wireless later - type USB-c headphone adapter required, [https://github.com/CertainLach/VivePro2-Linux-Driver Rust on Linux] with [https://github.com/santeri3700/vive-pro-2-on-linux Shell], proprietary cable end, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lynx R1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 android Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->Lynx R2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 company liquidated, 2 x 2312x2160 110 FOV pancake lenses, LynxOS android Qualcomm Snapdragon XR2 Gen, openxr 1.1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oculus Rift prototype development kit [https://www.virtual-boy.com/forums/t/the-oculus-rift-dk1-thread/ DK1] with [https://www.youtube.com/watch?v=X_T4DJyy2Bo wired razer hydra controllers] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2013 pcvr LCD 1280 × 800 resolution 640 × 800 per eye up to 110° FOV, and 3DoF rotational tracking via a 1000Hz 9-axis IMU (Accelerometer, gyroscope, and magnetometer), no positional optical tracking either inside-out or outside-in, 380g, nausea issues, , }} |- | <!--Description-->Oculus Rift prototype development kit [https://github.com/facebookarchive/RiftDK2/tree/master DK2], [https://www.ifixit.com/Teardown/Oculus+Rift+Development+Kit+2+Teardown/27613 ifixit teardown] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 pcvr, 5.7" Super AMOLED display with a resolution of 960 x 1080 per eye 100° field of view, 1 usb Positional Tracker DK2 camera, lots of wires}} |- | <!--Description-->Facebook [https://github.com/thaytan/OpenHMD/tree/rift-kalman-filter Oculus Rift CV1] [https://noraisin.net/diary/?m=202201 some Linux support] [] [https://github.com/OpenHMD/OpenHMD/issues/330 AMD usb issues] [https://github.com/OpenHMD/OpenHMD/wiki/Xorg ] [https://github.com/Doc-Ok/OculusRiftCV1Camera Live Video] [https://www.youtube.com/@thaytan Youtube] [https://github.com/Fredrum/riftOnLinux Pi] [https://github.com/OhioIon/riftDriverPi ], but not quite there with the [https://www.youtube.com/watch?v=DSsCN6HFkWc consumer CV1], [https://forum.dcs.world/topic/142259-cv1-not-working-in-dcs/#comment-2878168 orange led could be HDMI Signal is not within HDMI Spec and might be Overclocked or usb3 not getting enough power frustrating], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x3031, 0x2031, 0x0031 and 0x0211 for 3p-a basestations lighthouses, 0x045e 0x02e6 for xbox wireless adapter | <!--Revision--> | <!--Opinion-->{{No|2016 powered run from your PC maybe uvc via wired dual PenTile OLED 2160x1200 (1080x1200 per eye) @ exactly 90Hz but screen door effect (space between pixels), 87 FOV, IPD from 58mm to 72mm, good 3D audio and okay mic, constellation headset 6DOF (3-axis rotational tracking + 3-axis positional tracking) with up to 3 usb infrared basestation (1 in front and 2 behind pointing upwards) on usb3 and usb2 to your PC but the tracking can be fragile so set it up on a weekly basis, wired only HDMI 1.3, USB 3.0 bus powered with proprietary plug in headset, 470g 1lb front heavy, 2 robust 1st Gen touch controllers with external sensors i.e. outside-in - 1 aa alkaline over rechargable battery each , press occulus and B buttons for 2 secs to connect, headset traps air so gets very warm inside and random disconnects due to twisting action on the top of the headset and/or cables, t4 torx screws }} |- | <!--Description-->Facebook Occulus Go 32Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 discontinued 2020 android based, 1280x1440 per eye 60Hz LCD, not gaming, no inside-out and limited self tracking, }} |- | <!--Description-->Facebook Oculus Rift S [https://noraisin.net/diary/?m=202201 some Linux support] | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0051 headset (cdc, audio, tracking data), 0x2052 usb hub, | <!--Revision--> | <!--Opinion-->{{No|2019 PCVR wired dual LCD 1080 by 1200, 88 horizontal FOV, display port (fibre optic strands) and annoying USB3 copper cables (power, audio and other data) but proprietary port in the headset, cameras on the headset ("inside-out") tracking so no base stations, non removeable head band and cushions and ipd hard to set, requires specific fragile Rift S/Quest1 2nd Gen Touch controllers which has a ring of translucent plastic with leds inside - t5 torx to disassemble for sticks drifting}} |- | <!--Description-->Facebook Occulus Quest 1 *032Gb *064Gb | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0183 (single adb boot), 0x0 | <!--Revision--> | <!--Opinion-->{{No|2019 android standalone wireless, 1440 x 1600 72Hz oled, front heavy though, play area 2m x 2m or bigger, low clocked Qualcomm Snapdragon 835 (MSM8998) (4x Kryo 280 Gold cores ARM Cortex-A73) + (4x Kryo 280 Silver A53), 2 to 3 hrs play time, 575g, 2nd Gen touch controllers, }} |- | <!--Description-->Meta Oculus Quest 2 KW49CM aka Codename Del Mar [https://www.meta.com/en-gb/help/quest/967070027432609/ fragile 3rd Gen Touch controllers] [https://www.youtube.com/watch?v=Cgejky8ZeoM internal battery] and selling over 20 million, more than all other quest headsets combined *064Gb *128Gb (110Gb free) *256Gb Setup continuous wifi, create Meta Oculus account, [https://developers.meta.com/horizon/ verify dev account, click on My apps], [ create Organization -> My Organization Groupings], [https://www.youtube.com/watch?v=QPInS5xxF-0 finally, meta quest mobile app to switch on adb], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x5010 (), 0x0083 (massstorage), 0x0086 (), 0x0186 (adb and xrsp [https://github.com/shinyquagsire23/xrsp_tests tests]), 0x0090 (composite adb), 0x0081 (), | <!--Revision-->0419 | <!--Opinion-->{{unk|2021 android stand alone, lcd 1832x1920 per-eye 90Hz refresh rate, 97 FOV, fresnel lenses, 6DOF (degrees of freedom), 58-63-68 IPD settings, low clocked Arm snapdragon xr2 gen 1 apps with Meta Link cable USB-C usb3.2 pcvr maybe, b/w but no color passthrough, 6 t2 torx and 5 ph00 screws in headset (long bit), discontinued December 31, 2024, feature updates until December 2026, critical bug fixes and security updates until December 2027, 470g, Oculus + B button on right controller (move) and Menu + Y button on left controller (click) for about 3 seconds, 10W 5v 2a, RTL8153 chipset usb support, *V60 unable to *V77 pcvr issues *V79 unable to }} |- | <!--Description-->Facebook Occulus Quest Pro aka Codename Seacliffe | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 android standalone wireless 1440 x 1600 72Hz oled, 106° and 96° FOV mini lcd local dimming, pancake lenses, limited eye tracking, play area 2m x 2m or bigger, higher clocked snapdragon xr2 gen 1 arm cpu Arm apps, 1 to 2 hrs play time, new pro controllers with 3 cameras each, battery at rear, wireless charging, color passthrough, 9V 3A or 5V 3A, *v77 capped wifi }} |- | <!--Description-->Meta Oculus Quest 3 aka Codename Eureka [ Air Light ALVR] or [ WiVRn] with fragile touch plus q3 controllers *128Gb *512Gb streaming from PC with [https://github.com/alvr-org/Monado-ALVR ALVR], runtime of [https://monado.freedesktop.org/ Monado steamvr alternative openxr openVR], with Envision GUI, | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 standalone, pancake lenses on lcd 2064 x 2208 res panel per eye 1200ppi - 104° and 96° FOV - up to 120Hz, Arm snapdragon xr2 gen 2 apps, foveated rendering, Meta Link cable USB-C 3.2, headstrap clamshell or halo style, speaker arms fragile, color passthrough, 510g, 18W 9v 2A or 15W 5V 3A, *v74 ok }} *v76 pcvr issues }} |- | <!--Description-->Meta Quest 3S aka Codename Ventura *128Gb *256Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 Arm snapdragon xr2 gen 2 cpu, lcd 1832 x 1920 fresnel lenses, 97 FOV, headphone arms fragile, better air flow, no promixity sensor inside, Meta Link cable USB-C 3.2, passthrough, }} |- | <!--Description-->Meta Boba 3 | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 ultra-wide 180° x 120° FOV, snapdragon XR2 G2, }} |- | <!--Description-->Meta Tiramisu | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 µOLED displays with 90 pixels per degree, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pimax 5K Super Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 }} |- | <!--Description-->Pimax 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description-->Pimax 8K-X 8KX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 }} |- | <!--Description-->Pimax Crystal Light | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 2160 x 2160 4k 120Hz, 115° and 96° FOV, inside-out tracking, no battery, display port cable, variable qc and customer service, }} |- | <!--Description-->Pimax Crystal Super | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 3640 x 3640 4k 90hz, 116°+ and 100° FOV, eye tracking, inside-out tracking, no battery, display port cable, }} |- | <!--Description-->Pimax Dream Air with Lighthouse(s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 tethered 3840 by 3552 @90Hz micro oled with pancake lens, 100 HFOV 96 VFOV but FOV IPD changes in app, link box for headset 2 split y cables, removable face gasket, 290g, steamVR2 bases and controllers, eye tracking, }} |- | <!--Description-->Pimax Dream Air SLAM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 Simultaneous Localization and Mapping (SLAM) tracking inside-out so no base stations, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://somniumspace.com/ Somnium VR One VR1] [https://portal.vrgineers.com/user-guide/software/ open source] VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr 2880 x 2880 per eye @90 @120Hz, 125° horizontal 100° vertical FOV, 2 x SteamVR 2.0 bases, passthrough, 900g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero VR-1 Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 psu needed, 2 x Mini LED binocular of 150 nits, 2880x2720 per, 90Hz, FOV 102° horizontal, 73° vertical, 720g with headstrap, 2 x SteamVR 2.0 basestations, no speakers/mic, hdmi and usb3.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Camelo La Melaza Music Shield | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 no usb only bluetooth , }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->InAir 2 elite suite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar nits 46FOV , , 4h battery life, 80g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oakley Vanguard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->RayNeo Air 3s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 100in 46FOV 650nits, usb-c 79g }} |- | <!--Description-->RayNeo Air 3S Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 135in virtual display 46FOV 1200nits, usb-c 80g }} |- | <!--Description-->RayNeo Air 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AR oled vision 4000 processing, HDR10, 47 FOV }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rokid Max 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 50 FOV 650nits, usb-c back left, 76g, }} |- | <!--Description-->Rokid AI Spatial with Station 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 600nits 147in 50FOV 75g, }} |- | <!--Description-->Rokid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| ar ai smart glass}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 135in 46 FOV 1000nits, magnetic connector, 77g, }} |- | <!--Description-->VITURE XR Luma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 1200p 50 FOV, }} |- | <!--Description-->Viture Luma Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 152in 52 FOV 1000nits 1200p, 3dof, , 79g, }} |- | <!--Description-->Viture Luma Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 in FOV, 2 cameras, 3dof 6dof, }} |- | <!--Description-->[https://github.com/wheaney/XRLinuxDriver Viture Luma Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Beast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 1250nits 58FOV 174in, magnetic, 88g, }} |- | <!--Description-->VITURE Beast X Glasses models (Immersive 3D Moonlight) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 based 2D to 3D conversion with support DP Alt Mode (DisplayPort over USB-C), 1200p, 3df tracking, practic lenses 58deg POV, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xreal One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 600nits, 50FOV, 3dof, usb-c 84g, }} |- | <!--Description-->XReal One Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 700nits 57FOV 171in, usb-c, x1 3dof, }} |- | <!--Description-->Nreal now Xreal Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , micro-oled 1080p, audio, virtual uvc ar displays, }} |- | <!--Description-->Nreal now Xreal Real3D 1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AI based 2D to 3D conversion 57 FOV, , virtual uvc ar displays not vr, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xiami XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xtal 8k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Apple Vision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 tethered AR mixed reality glasses, 3300ppi, 800g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Google XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Focus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 standalone }} |- | <!--Description-->HTC Vive Focus Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 android with 2 1440 x 1600 75Hz amoled, inside-out, durable motion controllers, Vive port, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Pro EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 dual-OLED displays 2880 x 1600 combined resolution), SteamVR 2.0 tracking, foveated rendering, Tobii, it enables gaze-based menu navigation with avatar eye contact, proprietary cables, }} |- | <!--Description-->HTC Vibe Cosmos | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 poor tracking and lifespan on controllers, }} |- | <!--Description-->HTC Vibe Cosmos Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2020 1440x1700 per eye resolution, 90 Hz refresh rate, 6 DoF tracking, 2880 x 1700 combined pixel resolution, 97° FoV, two controllers and two base stations. Lighthouse tracking, }} |- | <!--Description-->HTC Vive Focus Vision Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->HTC Vive Focus 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 per-eye resolution of 2448×2448 at 90 Hz, a 120-degree field of view, Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->HTC Vive XR Elite VR Headset Deluxe Pack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 snapdragon xr2 gen 1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pico Goblin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 android based, 2.5K 1280x1440 per eye @70Hz, 92° FoV, and 3DoF (three degrees of freedom) tracking (Orientation tracking only—yaw, pitch, roll), single controller, snapdragon 820, ipd adjustment 54-71 mm, 600g, }} |- | <!--Description-->ByteDance Pico G2 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 android standalone VR headset, 3840 x 2160 (4K) LCD screen, Snapdragon 835 processor, 3DoF so rotational movement (looking around, pointing) rather than positional movement (walking, leaning), does not support hand or eye tracking, 800g }} |- | <!--Description-->ByteDance Pico NEO 2 EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 6DoF 360g snapdragon 845 display 4k 75Hz tracking inside-out - magnetic field for controllers - pico software on android 8 - eye tracking }} |- | <!--Description-->ByteDance Pico Neo 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 Snapdragon XR2 Gen, 4K 3664 x 1920 90Hz lcd, battery at rear, displayport, Pico apparently emulates Oculus controllers, }} |- | <!--Description-->ByteDance Pico Neo 3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico Neo 3 Link | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160x2160 panel per eye 75Hz 90Hz 105 FOV, Arm snapdragon xr gen 1, }} |- | <!--Description-->ByteDance Pico 4 ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160 x 2160 @90 105 FOV, snapdragon XR2 G2, streaming from PC with alvr, wireless streaming from PC with WiVRn, Pico apparently emulates Oculus controllers, not plug and play, }} |- | <!--Description-->ByteDance Pico 5 aka Project Swan aka Vision Pro Competitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 micro-oled BOE 3840 x 3840 4000ppi per eye, MLA pancake lenses, custom pico arm cpu, pico os 6 android, eye and hand tracking, 300g, }} |- | <!--Description-->ByteDance Pico | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung Galaxy XR VR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 3552 x 3840 @60-90 109 FOV , Arm snapdragon XR2+ Gen 2, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shiftall MeganeX 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 android }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8k MeganeX Superlight 8K] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android (3552 x 3840 pixels) into pixel count yields 27.27MP 10-bit HDR-compatible 4K resolution micro OLED panels @90Hz, pancake lenses 94 FOV, SteamVR™ tracking, 180g, 5V 2A, }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8kmk2 MeganeX 8K Mk2 MkII] [https://github.com/sboys3/CustomHeadsetOpenVR community] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr linux, 4K per eye (1.35inch micro OLED 3552x3840 10 bit HDR) 27MP @90Hz 75Hz 72Hz pancake, upto 108 hor 100 vert FOV, usb-c and dp cables to breakout box, 5V 2.1A, 200g}} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Acer Windows(TM) MR AH101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Dual 2.89” LCD panels 2880 x 1440 combined (1440 x 1440 per eye) Up to 90Hz (HDMI 2.0), or 60Hz (HDMI 1.4), Field of View FOV 95, Tracking Inside-out, lots of light leak, }} |- | <!--Description-->Acer H7001 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 wmr 1440 x 1440 per-eye resolution @90Hz refresh rate, and 100-degree field of view FOV, inside-out tracking with front-mounted cameras so no external sensors, flip-up visor design but has a "screen door effect," subpar foam padding, win10 to win11 24H2, }} |- | <!--Description-->Dell Visor Mixed Reality VRP100 VR118 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 2x 1440x1440 a bit of nose light leak }} |- | <!--Description-->Fujitsu | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 cheap and lots of light leak }} |- | <!--Description-->[https://github.com/HadesVR HadesVR] with [https://github.com/ManoloMancelli/Persephone-Classic-Controller Persephone Controller] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.youtube.com/watch?v=HFaVjB1uNOM Persephone 3 Pro DiY 6Dof SteamVR Headset], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HP Reverb G1 VR1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 WMR 2160 x 2160 @90Hz, 115 FOV, , hp proprietary headset cable end, 2 camera tracking but poor and controllers can be unresponsive, 500g front heavy, flight sims rather than gaming, }} |- | <!--Description-->HP 1440p Spatial Computing | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dim display }} |- | <!--Description-->[https://forums.x-plane.org/forums/topic/294764-vr-in-linux-without-steam/ HP Reverb G2] WMR VR3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 2 2160 x 2160 90Hz, needs Windows10 or Win 11 24H2, 4 camera tracking, controllers can be unresponsive, hp proprietary headset cable end, , }} |- | <!--Description-->HP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Mirage Solo is a Standalone VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Qualcomm Snapdragon 835, 1280x1440 per eye resolution, 75 Hz refresh rate, }} |- | <!--Description-->Lenovo Explorer VR2511N (G0A2) VR windows mixed reality (WMR) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 LCD 2.89" 1440 x 1440 per eye @90Hz, 6 DOF position tracking, 400g, }} |- | <!--Description-->[https://github.com/relativty/relativty open source relativty] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung MHD Odyssey XE800ZAA WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 9V 500mA oled screens 2x 1440x1600 with usb3 and hdmi cables but bluetooth dongle required }} |- | <!--Description-->Samsung MHD Odyssey+ Plus WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dual 3.5-inch AMOLED displays 2880 x 1600 total @90Hz, 6DOF inside-out tracking with usb3 and hdmi cables but bluetooth dongle required, use only win10 or win11 24H2, }} |- | <!--Description-->Sony PSVR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2016 2x 1080x960 up to 120Hz, lots of cables and computation brick, sony camera needed for tracking, ps4 or move controllers, }} |- | <!--Description-->Virtuality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|1992 , , Amiga 3000 with TI chips, }} |- | <!--Description-->Virtuix Omni | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 VR treadmill changed course to commercial VR and pivotted back again 2020, }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === HDMI CEC transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === TV Remote Control MCE IR transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Compro K100 K300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Elitegroup Computer Systems | <!--Vendor ID-->0x1019 | <!--Product ID-->0x0f38 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GMYLE MCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|acts as usb-hid with limited keyboard like controls }} |- | <!--Description-->Hauppauge WinTV-PVR kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Logitech Harmony 300 i300 600 650 800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Microsoft MCE Commander | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2005 need extra software support}} |- | <!--Description-->Microsoft 1039 rev 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 home top of square shape direction keys}} |- | <!--Description-->Microsoft 1039 rev 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2006 home under circle spaced direction keys}} |- | <!--Description-->Microsoft 1069 SMK Manufacturing, Inc | <!--Vendor ID-->0x0609 | <!--Product ID-->0x0334 | <!--Revision--> | <!--Opinion-->{{No|2007 untested}} |- | <!--Description-->Philips RC1974506/00 | <!--Vendor ID-->0x0471 | <!--Product ID-->0x0815 | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Sony RM-MCE10E PC REMOTE CONTROL VGN-AR21M VGX-XL100 VGN-AR21B/AR21S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE20E PC REMOTE CONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE30E PC REMOTE CONTROL VGN-AW21XY VGX-TP3E VGX-TP3G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE50E PC REMOTE CONTROL VGC-LA2R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TSDX-IR14 USB MCE Media Center External Infrared IR Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->chipsets support CIR (consumer IR) Winbond W83977F/AF, SMC IrCC 2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|technical reasons it's not possible to use USB IrDA dongles}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Zotac RC2604323/01G Zbox Media Remote Control with IR USB Receiver OVU710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Anycubic Cobra 2 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Bambu Labs A1 Mini 3D printer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 EMS proprietary slicer app and cloud use, eSUN}} |- | <!--Description-->Bambu Labs X1 Carbon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Bambu Labs X2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elegoo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lulzbot | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Prusa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Qidi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Snapmaker U1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tool changer }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sovol SV08 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| open source voron model, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->desktop pick and place machines AFARCO PNP running OpenPnP for Desktop SMT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==ethwrap.class - Host Data Link "Cable Bridge" for data transfer== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Advance USBNET (eTEK design) | 0x0525 | 0x9901 | | {{N/A|untested}} |- | ALi Uli M5632 (chip) | | | | {{N/A|untested}} |- | Aten (Ali Corporation) UN201 | 0x0402 | 0x5632 | | {{maybe|force binding from rawwarp to ethwrap}} |- | Belkin (eTek design see below) | 0x050d | 0x0004 | | {{N/A|untested}} |- | Digitus DN-3004 - USB Host Link | | | | {{yes|works}} |- | EPSON USB client | 0x0525 | 0x2888 | | {{N/A|untested}} |- | eTEK | 0x056c | 0x8100 | | {{N/A|untested}} |- | KC-190 | 0x050f | 0x0190 | | {{N/A|untested}} |- | GeneSys GL620USB | | | | {{no|no driver the half-duplex GL620USB is NOT supported, products using it include the Inland Pro USB Quick Link}} |- | GeneSys GL620USB-A | | | | {{N/A|untested}} |- | Laplink Gold (uses NetChip 1080) | | | | {{N/A|untested}} |- | Prolific 2301/2302 (Jaton USB ConNET) (BAFO DirectLinq) | 0x067b | 0x0000 and 0x0001 | 0x0004 | {{maybe|detected but untested}} |- | Xircom PGUNET (uses AnchorChips 2720) | 0x0547 | 0x2727 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==cdcacm.class - USB modem== The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream). {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Alcatel OT-I650 | 0x1bbb | 0x0003 | | {{N/A|untested}} |- | Acatel Dymamode/Dynamite | 0x06b9 | 0xa5a5 | | {{N/A|untested Zyxel Prestige 630-13 - untested PROLiNK Hurricane 8000 external link }} |- | AnyData ADU-100A ADU-E100A ADU-E100D ADU-E100H D10 | 0x16d5 | 0x6501 | | {{N/A|untested}} |- | AnyData ADU-310 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | AnyData ADU-500A ADU-510A ADU-510L ADU-520A | 0x16d5 | 0x6502 | | {{N/A|untested}} |- | AnyData ADU-610 ADU-620 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | BT On-Air USB MODEM | 0x079b | 0x000f | | {{N/A|untested}} |- | Conexant USB MODEM CX93010 | 0x0572 | 0x1321 | | {{N/A|untested}} |- | Conexant USB MODEM RD02-D400 | 0x0572 | 0x1324 | | {{N/A|untested}} |- | Conexant Chipset | 0x06ea | 0x0002 | | {{N/A|untested AUS N367 Roadster II 56 USB (Model AM5050R3) - untested }} |- | [http://accessrunner.sourceforge.net/ Conexant AccessRunner] | 0x0586 | 0x330a | | {{N/A|untested }} |- | Creative Modem Blaster USB DE5670 | 0x1690 | 0x0101 | | {{N/A|untested}} |- | FIREFLY, MediaTek Inc | 0x0e8d | 0x0003 | | {{N/A|untested}} |- | Huawei E122 | 0x12d1 | 0x1446 | | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=49126#forumpost49126] |- | Huawei E160, E160E, E160G | 0x12d1 | 0x1003 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=51888#forumpost51888] (Chipset: Qualcomm MSM6246) |- | Huawei E169 also known as Vodafone K3715 and Huawei K3715 | 0x12d1 | 0x1001 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4941&forum=4&post_id=44683#forumpost44683] (Chipset: Qualcomm MSM7200) |- | Huawei E220 "Vodafone EasyBox II" "T-Mobile wnw Box Micro" also known as Huawei K3565 | 0x12d1 | 0x1003 | | {{yes|works, see E169 above (Chipset: Qualcomm MSM6280)}} |- | Huawei E1750 | 0x12d1 | 0x1001 | | {{N/A|untested (Chipset: Qualcomm MSM6290)}} |- | Huawei E170, E172, E176 | 0x12d1 | 0x1003 | | {{N/A|untested (Chipset: Qualcomm MSM7200)}} |- | Huawei E180 | 0x12d1 | 0x1406 | | {{yes|Works (Chipset: Qualcomm MSM7200)}} |- | KYOCERA AH-K3001V | 0x0482 | 0x0203 | | {{N/A|untested}} |- | LG CU515 | | | | {{N/A|untested}} |- | MediaTek Inc GPS | 0x0e8d | 0x3329 | | {{N/A|untested}} |- | Metricom GS Modem | 0x0870 | 0x0001 | | {{N/A|untested}} |- | Motorola MOTOMAGX phones | 0x22b8 | 0x6425 | | {{N/A|untested}} |- | Motorola Q Phone | 0x22b8 | 0x7000 | | {{N/A|untested}} |- | Hummingbird huc56s (Conexant) | 0x0572 | 0x1329 | | {{N/A|untested}} |- | Netcomm Roadster II 128 ISDN | | | | {{N/A|untested}} |- | Nokia n70 N95 HSDPA | | | | {{yes|works - see [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=4415&viewmode=flat&order=ASC here]}} |- | OGO | 0x045E | 0x0079 | 0090 | {{no|no driver}} |- | Olitec ADSL Modem V2 | 0x08e3 | 0x0100 / 0x0102 | | {{N/A|untested}} |- | <!--Description-->Onda PT502HS | <!--Vendor ID-->0x19D2 | <!--Product ID-->0x0001 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | Radicom V92HU-E2 | | | | {{N/A|untested}} |- | <!--Description-->Samsung i8510 Innov8 Symbian smartphone | 0x04e8 | 0x6651 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Samsung Tocco Lite (aka GT-S5230) | 0x04e8 | 0x6795 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Shiro / Aztech USB MODEM UM-3100 | 0x0572 | 0x1328 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1602 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1608 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM - new version | 0x0ace | 0x1611 | | {{N/A|untested}} |- | Zoom Telephonics Model 3095F USB MODEM | 0x0803 | 0x3095 | | {{N/A|untested}} |- | Ugobe Pleo | 0x6962 | 0x0100 | 0x0100 | {{Yes|Works}} |} ==Misc== palmpda.class - no [http://aminet.net/package/util/libs/PdaLinkPoseidon pdalink.library and tools] in AROS Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools through virtual usbpalm.device. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Palm IIIx (OS3.1) serial rs-232 only | | | | {{no|no }} |- | Palm IIIc (OS3.5) | | | | {{no|no }} |- | Palm V | | | | {{no|no }} |- | Palm m100 | | | | {{no|no }} |- | Palm m125 first USB - last with aaa batteries | | | | {{no|no }} |- | Palm m500 (OS4) | | | | {{no|no }} |- | Tungsten T (OS5) first arm cpu | 0x | 0x | 0x | {{no|no }} |- | Zire 31 (OS 5.28) color arm-based | | | | {{no|no }} |- | [[:w:Handspring (company)|Handspring Visor]] – USB support out of box | | | | {{no|no }} |- | Handspring Treo 600 – last one for [[:w:Handspring (company)|Handspring]] | | | | {{no|no }} |- | Treo 700w | | | | {{no|no }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} bluetooth.class - needs Bluetooth (Viking King Harald "Bluetooth" Gormsson (Old Norse: Haraldr Blátǫnn Gormsson; Danish: Harald Blåtand Gormsen) stack to work (not written due to licensing fees to use the symbol merging the Younger Futhark runes for H (ᚼ) and B (ᛒ), representing Harald's initials) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} ccid.class - Chip/Smart Card Interface Devices (not implemented) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->cyberJack RFID basis | <!--Vendor ID-->0x0C4B | <!--Product ID-->0x9102 | <!--Revision-->0001 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} dfu.class - DFU firmware upgrade {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->iPhone 3, 4, 5, 5c | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1290 0x1292 0x1294 | <!--Revision--> | <!--Opinion-->{{unk| 32bit use with caution could cause damage}} |- | <!--Description-->iPhone 5s, 6, 7, 8, X | <!--Vendor ID-->0x05ac | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 64bit use with caution could cause damage}} |- | <!--Description-->M-Audio/Midiman USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->iPad 1, iPad 2 A1395 A1430, iPad 3, ipad mini A1432, iPad A1458 4th Gen (MD512LL/A), | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2008-2013 32bit A4, A5 up to Apple A6X, iOS 1 to 10, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->iPad Air (1st generation) A1474, A1475, A1476, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2014-2015 [https://github.com/AsahiLinux 64bit], A7, iOS 11 up to |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2015 64bit A8, A8X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2016 64bit A9, A9X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2017 64bit A10, A10X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2018 64bit A11 |- | <!--Description-->iPad Air 3rd Gen A2153, A2123, A2154, iPad Mini 5th Gen, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2019 64bit A12 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} RocketTool (USB Rocket Launchers - Toy missile launchers) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Original Launcher and StrikerII (includes laser) | 0x1130 | 0x0202 | | {{yes|works }} |- | Dream Cheeky USB Missile Launcher or USB Cirus Cannon | 0x1941 | 0x8021 | | {{no|no driver }} |- | Dream Cheeky USB Webcam Missile Launcher | 0x1941 | | | {{no|no driver }} |- | Rocket Baby | 0x0a81 | 0x0701 | | {{no|no driver }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} DRadioTool (FM Radios - USB radio devices D-Link/Gemtek) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link DSB-R100 USB | 0x04b4 | 0x1002 | 0x0410 | {{yes|works }} |- | [http://www.neoseeker.com/forums/383/t257009-link-usb-dru-r100-radio/ GemTek USB FM Radio 21] | 0x04b4 | 0x1002 | | {{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} UproarTool (Valencia MPX mp3 player and others) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Korean D Square Valencia MPX-Player | 0x04e8 | various | | {{N/A|untested }} |- |} [https://www.youtube.com/watch?v=vIuT7rJgc8w with unlocked android bootloader], <pre> Kill and restart the server a few times sudo adb kill-server sudo adb start-server And finally type in sudo adb devices adb devices Lists connected devices adb shell Opens a terminal shell on the device hollywood:/ $ su id df -h top ls -la ls sdcard ls sdcard/Android ls sdcard/Oculus wm size cd .. cd data/system look inside bad Corejava folder cd data/system/etc/init look cd data/system/app cd /data cd /dev/block adb shell pm disable-user --user 0 com.oculus.nux.ota adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over adb shell 'setprop debug.oculus.cpuLevel 5 && setprop debug.oculus.gpuLevel 5 && setprop debug.oculus.adaclocks.force 0 && setprop debug.oculus.phaseSync 1 && settings put global always_finish_activities 1 && settings put global wifi_scan_throttle_enabled 1 && settings put global window_animation_scale 0.25 && settings put global transition_animation_scale 0.25 && settings put global animator_duration_scale 0.25 && sync' settings list --user 0 secure or global or system user_setup_complete=0 adb shell screenrecord adb shell reboot adb install <path_to_apk> Installs an app like adb install -g -r alvr_client_android.apk or adb install -r app.apk memtester lsmod adb command to enable hand tracking, possible, but root access is required adb root oculussetting --set hand_tracking_opt_in 1 hand_tracking_enabled 1 adb push <local> <remote> Copies files to the device adb pull <remote> <local> Copies files from the device pull them using CFB, extract original apk using LL adb forward tcp:9943 tcp:9943 (Used for advanced, such as ALVR streaming) adb shell pm disable-user --user 0 com.oculus.partnercustomization Enterprise versions adb reboot Performs a standard system restart adb reboot bootloader Restarts the device into fastboot/bootloader mode adb reboot recovery Restarts the device into recovery mode adb reboot download Reboots Samsung devices into Download Mode adb reboot fastboot Directly enters fastboot mode [https://gist.github.com/pantasio/3d0eb4bb03a1e696aae8696f60730859#file-enable-usb-debug-adb usb dev debug adb] </pre> {{BookCat}} kt55wh5jgljld04t1mgd1sb26goqrxn 4656810 4656809 2026-08-09T14:22:15Z Jeff1138 301139 4656810 wikitext text/x-wiki {{ArosNav}} ==Host Adapter Protocol USB1 OHCI UHCI USB2 EHCI USB3.0 USB3.1 xHCI == Please let us know any mistakes or any information to be added, use Prefs/Trident to confirm Vendor and Product IDs Please chat at [https://www.arosworld.org/index.php AROS World] *1996 USB1.0 *1998 USB1.1 *2000 USB2.0 *2008 USB3.0 *2013 USB3.1 *2017 USB3.2 [https://github.com/aros-development-team/AROS/tree/master/rom/usb AROS has these USB transfers] *Control - *Bulk - Midi 1.0 ( 'send my data when you can' ) *Interrupt - Midi 2.0 *Isochronous - USBAudio, Webcams, etc (wip) Isochronous is the starting point of modern types of multimedia creativity. IsoChronous isoc code is already in place in poseidon.library and '''scheduled''' transfers are queued to be later rerouted in the host driver code (needs to be written for each host protocol e.g. OCHI, UCHI, EHCI and [https://cdrdv2-public.intel.com/625472/625472_xHCI_Rev1_2b.pdf#:~:text=Page%203.%20Document%20Number:%20625472%2C%20Revision:%201.2b.%203. XHCI rev1.2], [https://www.intel.com/content/www/us/en/content-details/868296/extensible-host-controller-interface-for-universal-serial-bus-xhci-requirements-specification-r2-0.html rev2], etc). There seems to be 2 types of isoc transfers, one is just the normal isoc transfer and the other is realtime implementation of isoc transfer. For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped (in or out) and that they happen at the right time. It all gets difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth for the packet based periodic transfers that are initiated by the host which have fixed but guaranteed bandwidth. Host controllers guarantee this bandwidth by planning a schedule of transfers ahead of time to ensure there is enough time reserved on the bus. [https://www.intel.co.uk/content/www/uk/en/products/docs/io/universal-serial-bus/ehci-specification.html EHCI] [https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/ bus-bandwidth] vs payload-bandwidth and the algorithm of the EHCI scheduler. The bandwidth of the endpoint in terms of payload data (stuff we put in a packet) and the protocol overhead, signalling imposed bit stuffing, host delays etc. Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one. [[File:Psd.svg|220px|right]] ; Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI), ; Early support - [https://github.com/aros-development-team/AROS/commit/03c5252d962941a56c816a9f2315134362089349 XHCI USB3.0, USB3.1 & gen 2 Type-A Type-B Type-C] ; Next Best Set - General OHCI, SIS (OHCI + EHCI), ; Buggy Chipset - [ Early AMD OHCI], ALi OHCI, VIA UHCI, Nvidia OHCI & EHCI, === USB1.1 === OHCI USB 1.1 - USB-IF sanctioned standard but hardware physical form removed with USB2.0 and replaced with virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 M5237 Lucent USS-312 | | | | <!--Boots-->{{Maybe}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | StarTech PCI425USB, CompUSA Iogear GIC220U-b, Nvidia 220 mobo, USBA2041P, ALi SU2A-PS, |- | AMD 756 Chipset (onboard motherboard) | 0x1022 | 0x740c | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=31308#forumpost31308 usb devices detected] Geode GX1, |- | CMD DU-A2 Silicon Image 0670 (pci AMD chipset) | 0x1095 | 0x0670 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Silicon Image 0673 (pci AMD chipset) | 0x1095 | 0x0673 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Nvidia Nforce2 USB | 0x10de | | | <!--Boots-->{{Maybe|Bios options vary but does with Plop Boot}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Tested with 20th Aug 2012 improvement |- | NEC µPD720100AGM | 0x1033 | 0x0035 | 0x | <!--Boots-->{{Unk}} | <!--Detects-->{{Unk}} | <!--Works-->{{Maybe|}} | untested - Amiga Spider card with possible bottleneck issues at higher speeds |- | NEC µPD720101AGM 720101GJ | 0x1033 | 0x0035 | 0x43 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Mac mini, Belkin F5U219vea (2+1 ports), Belkin F5U220vea1 (4+1 ports), Adaptec 3100LP, BAFO BF-460, GWC UC-160, IOGear GIC250U, Keyspan U2PCI-5, O'toLink U2-C2B U2-C2A U2-P20N U2-P50, Ratoc PCIU5, USBWholesale UII-PCIP |- | NEC µPD720102 | 0x1033 | 0x00 | 0x | <!--Boots-->{{Unk|untested }} | <!--Detects-->{{Unk|untested }} | <!--Works-->{{Maybe|}} | |- | Opti 82C861 2-port | 0x1045 | 0xc861 | | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no USB devices detected - Belkin F5U005, |- | SIS 7001 OCHI | 0x1039 | 0x7001 | 0x0f | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | 20th Aug 2012 - not booting stalls on GRUB word with Plop Boot |- |} UHCI USB 1.1 - Intel standard but since 2009 no hardware support as USB2 introduced virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | Intel | 0x8086 | 0x | 0x01 | <!--Boots-->{{No|not in bios use AROS floppy disc boot}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | Intel 82371AB EB MB PIIX4 | 0x8086 | 0x7112 | 0x01 | <!--Boots-->{{No|none in bios use other booting options}} | <!--Detects-->{{Maybe|Detects most devices}} | <!--Works-->{{Maybe|most devices but not RTL8187b WG111v3 blue led not on and does not work}} | |- | Intel 82801DB/DBL/DBM (onboard i830 mbd) | 0x8086 | 0x24c4 | 0x01 | <!--Boots-->{{Yes|but not from bios but floppy options}} | <!--Detects-->{{Yes|}} | <!--Works-->{{Yes|}} | RTL8187b WG111v3 blue led on and although device has software failure and recoverable error IT STILL WORKS. Fresh start sometimes needs Network Prefs Saved to work. |- | VIA MVP4 (onboard mbd) | 0x1106 | 0x30 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless options}} | RTL8187b WG111v3 detected but blue led not on and does not work |- | VIA VT82xx (onboard mbd) | 0x1106 | 0x3038 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless usb}} | RTL8187b WG111v3 blue led on but does not work |- | VIA VT6202 (VIA VT83C572) | 0x1106 | 0x3038 | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | A-Best USB-200, Cables N Mor USBPCI, CompUSA, D-Link DSB500, Digital/Research DRUSBCARD, Kouwell IOFlex 580, StarMount USB VIA, |- | VIA VT6112 | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3038 | 0x61 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | 2011 seems to have issues with other identical via based USB controller(s) present |- | VIA VT6214L | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- |} === USB 2.0 EHCI === The USB-IF insisted on only one implementation of EHCI but it creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through most newer USB3.0 chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 Lucent USS-344 | | | | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested}} belkin F5U006, |- | Nvidia Nforce2 USB | | | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | Intel 82801DB/DBM (onboard mbd) | 0x8086 | 0x24cd | 0x01 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | NEC µPD720100AGM | 0x1033 | 0x00E0 | 0x | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested - Amiga Spider card}} |- | NEC 72101 GJ | 0x1033 | 0x00e0 | 0x04 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Belkin F5U219 VEA1 (pci), |- | SIS ECHI | 0x1039 | 0x7002 | 0x00 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|issues about which port is used if it works at all}} | <!--Works-->{{Maybe|}} | |- | VIA VT6202 | 0x1106 | 0x3104 | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3104 | 0x62 | <!--Boots-->{{No}} | <!--Detects-->{{Yes|detects}} | <!--Works-->{{Maybe|}} | |- |} === USB 3.x SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) aka xHCI eXtensible === USB Attached SCSI (UAS or UASP) is a protocol used for high-speed data transfer between computers and external storage devices like SSDs, HDDs, and some flash drives. It provides up to 70% faster read/write speeds than traditional Bulk-Only Transport (BOT) by allowing multiple commands to run in parallel, rather than waiting in a queue {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic FL1000 FL 1000 | <!--Vendor ID-->0x1B73 | <!--Product ID-->0x1000 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->link power management (LPM, USB 3.0 power saving) cannot be disabled so random connection issues |- | <!--Description-->Fresco Logic FL1009-200 FL 1009 | <!--Vendor ID--> | <!--Product ID-->0x1009 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->Orico PFU3-2P |- | <!--Description-->Fresco Logic FL1100-100 FL 1100SX | <!--Vendor ID--> | <!--Product ID-->0x1100 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->LPM cannot be disabled so issues with disconnecting WD drives etc - CalDigit, ORICO PFU3-2P, FASTA-6GU3 Pro, inatech KTU3FR-2P 2 port USB 3.0, and Inateck KT4004 (KTU3FR-4PA rev B2) for storage and hubs, etc |- | <!--Description-->Fresco Logic FL1400 FL 1400 | <!--Vendor ID--> | <!--Product ID-->0x1400 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic | <!--Vendor ID--> | <!--Product ID-->0x | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->NEC Renesas xHCI µPD720200 uPD720200a chip | <!--Vendor ID-->0x1d6b | <!--Product ID-->0x0194 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|no USB3 but seems to works like USB2}} | <!--Opinion-->recognized but not supported for USB3 but works like USB2 - ORICO PRU3-4P 4 Port USB, early Dell Wyse zx0 thin client, |- | <!--Description-->NEC Renesas xHCI µPD720201 uPD720201 chip | <!--Vendor ID--> | <!--Product ID-->0x114 0x0115 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->NEC Renesas xHCI µPD720202 uPD720202 chip | <!--Vendor ID-->0x1912 | <!--Product ID-->0x0015 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->[http://www.ti.com/product/tusb7340 TI] tusb7340 TUSB732 | <!--Vendor ID--> | <!--Product ID-->0x8241 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported Koutech IO-PEU436 but only one with open docs |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported - integrated since Ivybridge |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL800 xHCI 0.96 support in VL800, VIA VL811 | <!--Vendor ID--> | <!--Product ID-->0x3432 0x3438 0x3515 and 0x9201 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|}} 2.0 backwards support | <!--Opinion-->Anker 68UPPCIE-2S20PU 2 port, Plugable 4-Port, GA-z77x-ud5h rev. 1.1 mobo, |- | <!--Description-->Via Labs VL811+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL812 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->xHCI 1.0 support in VL805 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- |} USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Asmedia ASM1142 | <!--Vendor ID-->0x1B21 | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion-->Connector: USB Type C and USB Type A x 1 - Ugreen USB C PCI Card 2 Port USB 3.1 Type C |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 1.8 1.9 Updated | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->AUKEY 4 Ports USB C , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->Startech - PEXUSB312C - 2-port Usb 3.1 10Gbit/s |- |} USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 2.6 Update | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion--> |- |} === USB 4 (40Gbps thunderbolt, pcie 3.0 tunnelling, ) === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->AMD Ryzen7 6800U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->Intel Goshen Ridge JHL8440 Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | |- |} == hid.class (Human Interface Device) == === Keyboard === Some multi-finger touchpad support works but not on all touchpads {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->8BitDo Retro N C64 edition Keyboard, the super button accessory and optional N30 mouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 87 keys Kailh white}} |- | <!--Description-->8bitdo 108 Retro Mechanical Keyboard (white kailh) and two superbuttons (green) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Apple Pro Keyboard | 0x05ac | 0x0205 | 0x0122 | {{yes|works (its two hub ports) but mouse scroll wheel issues}} |- | Apple Pro Keyboard | 0x05AC | 0x020B | | {{yes|works (two onboard ports also)}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Aigo K68 60% red switches, A68 A87 wireless 2G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?cPath=49&products_id=973 AmigaOne Keyboard] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko TAC87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 80% TKL }} |- | <!--Description-->Akko MonsGeek FUN60 PRO&MAX HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 60% hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 hall effect, good but expensive and software poor}} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATTACK SHARK X98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 98% maybe silent linear feel with Two-color PBT keycap}} |- | <!--Description-->ATTACK SHARK X68HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Azio Cascade | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Chilkey ND75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% expensive}} |- | <!--Description-->Chilkey ND104 (Wuque Studios) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 premium clicky (WS Blue) or silent (WS White) key options with Ansi and ISO formats also numpad and calculator, aluminum machined, tri mode, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2026 untested magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Corsair K65 Mech MX no numeric keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair CH-9000045 K70 Blue MX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cherry G80 G80-3000L[x]C[yy]-[z] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cooler Master CM Storm Quickfire Rapid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K100 Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 okay low profile but expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Dell SK-8135 Dell USB Keyboard for Internet and Multimedia rev H for Dimension 4500, Dimension 8250, OptiPlex GX260n, OptiPlex GX60n, Precision 350 (R42232) | <!--Vendor ID-->0x413C | <!--Product ID-->0x2010 | <!--Revision-->0200 | <!--Opinion-->{{Yes| usb1.1 keyboard hub 0x413C 0x1003 works as well - multimedia keys not mapped }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Deepcool KG722 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 65% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Ducky Channel Zero DK2108 Mech Mechanical Cherry MX Red | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ducky Shine 3 Brown or Blue (DK9087) MX keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Das Keyboard Model S Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epomaker Cidoo V75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->epomaker rt100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 plastic build and no screws, numpad with small 0, mostly quiet seasalt switches, gimmick usb-c 1in screen}} |- | <!--Description-->EPOMAKER TH99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} USB-C full numpad keyboard |- | <!--Description-->eopmaker P75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->eopmaker p87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->epomaker x Leobog Hi75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Feker Galaxy80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Galaxy100 gmk/via | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 96% }} |- | <!--Description-->epomaker Aula F75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget version good 75% choice of 4 leobog switches}} |- | <!--Description-->eopmaker Tide75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% and not too expensive}} |- | <!--Description-->Epomaker Ajazz AK820 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Epomaker Ajazz AK35I V3 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 104 keys - two models: wired and tri-mode connection - }} |- | <!--Description-->epomaker Aula F108 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pricy but okay 100% but only leobog graywood switches but hotswap available afterwards}} |- | <!--Description-->eopmaker Ajazz AK980 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 97 keys }} |- | <!--Description-->Epomaker G87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT82 RT85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT100 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 96% }} |- | <!--Description-->epomaker x Galaxy100 lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 good 96% }} |- | <!--Description-->Epomaker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Filco Ninja Majestouch-2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Focus FK-760 Wireless Keyboard & Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} but quality build issues raised |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->GMMK Tenkeyless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested default Gateron Brown switches for Kailh Box Jades default Gateron Brown switches for Kailh Box Jades}} |- | <!--Description-->GK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->GMK67 GMK87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested budget good option}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hengchangtong HCT Limeme gk103s Entry Keyboard | <!--Vendor ID-->0xC0F4 | <!--Product ID-->0x0009 | <!--Revision-->0100 | <!--Opinion-->{{yes|half Keyboard left side only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hexgears M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested hotswap kaihl green switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hexgears | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iqunix mq80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 good 75% low profile keys |- | <!--Description-->Iqunix Magi65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 65% low profile keys }} |- | <!--Description-->iqunix ez60 ez80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested specific hall effect switches - actuation point, rapid trigger, etc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Jomaa YiChip Wireless 50% key with touchpad | <!--Vendor ID-->0x3151 | <!--Product ID-->0x3000 | <!--Revision--> | <!--Opinion-->{{No|dongle detected, keys and pad not working - 2 AAA NM}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Keychron q0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested numpad only}} |- | <!--Description-->Keychron q1 v1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested okay}} |- | <!--Description-->Keychron Q6 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 75% with numeric numpad, barebones so choose switches and keycaps to suit }} |- | <!--Description-->Keychron q1 MAX V1 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->Keychron Lemokey P1 QMK | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested best option to customise switches and keycaps}} |- | <!--Description-->Keychron LemoKey X1 X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested keycap swap only not switches}} |- | <!--Description-->Keychron K2HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested okay}} wireless hall effect analogue on all keys |- | <!--Description-->Keychron K4HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested hall effect but software }} |- | <!--Description-->Keychron K5 K17 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested okay low profile but }} |- | <!--Description-->Keychron Q5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Keychron K10 HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Kiiboom Breeze 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 good 75% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Meletrix Boog 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 magnetic hall effect, good but expensive and software poor}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Melgeek O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 low profile 75% but not repairable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->MOSART 2.4G Wireless 60% Keyboard Trackball | <!--Vendor ID-->0x062a | <!--Product ID-->0x4105 | <!--Revision--> | <!--Opinion-->{{Yes|dongle recognised HID, keys worked, roller worked, scroll wheel works and shoulders works but buttons around left, top and right hand side (RHS) do not work and plastic and 2 AA MN1500}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Mucai SiGma Micro MKA610 | <!--Vendor ID-->0x1c4f | <!--Product ID-->0x0084 | <!--Revision--> | <!--Opinion-->{{No| unknown red keys - rgb backlighting - }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->[http://hjldemo.clsc.cn/ Guangzhou Zhentian Electronics Ltd] Perixx Periboard 505 Plus with Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard - poor trackball}} |- | <!--Description-->Guangzhou Zhentian Electronics Co., Ltd Perixx Periboard 706 Plus with Trackball Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|generally okay dome with good sized keys but piano black surround fingerprint magnet, occasional brief trackball freezes after no use, takes some time to get used to the trackball size}} |- | <!--Description-->Perixx Periboard-716 Wireless (Chicony) | <!--Vendor ID-->04f2:1013 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard and trackpad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Lenovo SK-8825 41A5327 SIL12-W07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->works manufactured for |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lite-On USB NetVista Full Width Keyboard | <!--Vendor ID-->0x04b3 | <!--Product ID-->0x3025 | <!--Revision--> | <!--Opinion-->works |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech K320 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech USB Unifying, Bolt, Lightspeed, or Nano receiver pairing}} |- | <!--Description-->Logitech K340 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech Unifying Receiver pairing}} |- | <!--Description-->Logitech K400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description--> [http://www.logitech.com/en-us/product/wireless-touch-keyboard-k400r Logitech Wireless Touch Keyboard k400] | <!--Vendor ID--> 0x046D | <!--Product ID--> 0xC52B | <!--Revision--> 1201 | <!--Opinion--> {{yes|All (including multimedia) keys work. Some keys requires remapping with Trident. Touchpad works and acts as normal mouse. Presents itself in Trident as USB Receiver from Logitech with 3 HID bindings}} |- | <!--Description-->Logitech K400 Plus K400+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech K600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech G915 TKL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard TKL means no number pad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lofree Lite84 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Lofree Flow Lite100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 silent switches and low profile keys}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MACHENIKE K500 Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 94 keys untested Hot Swappable 94 Keys 90% Layout }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MechLands Vibe99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 100 keys untested Gasket-mounted Wired/Bluetooth/2.4GHz Wireless Mechanical Keyboard}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft Comfortable Curve 2000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no| recognized but not supported}} |- | <!--Description-->Microsoft Natural Ergonomic Keyboard 4000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|recognized but not supported}} |- | <!--Description-->Microsoft Wireless Media Desktop 1000 (1356) | <!--Vendor ID-->0x045e | <!--Product ID-->0x00f9 | <!--Revision--> | <!--Opinion-->{{maybe|working but not mouse part}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Niz Micro84 Duo82 X87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 electro capacitive }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->nuphy gem80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->nuphy kick 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 low profile 75% }} |- | <!--Description-->nuphy Air75 V3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 75% }} |- | <!--Description-->nuphy node 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 96% layout, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Qpad MK-50 MK-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Qpad MK-90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Razer Chroma | <!--Vendor ID-->0x1532 | <!--Product ID-->0203 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://openrazer.github.io/ Razer] Lycosa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Blackwidow 2013 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razr Blackwidow Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Cynosa Lite V2 | <!--Vendor ID-->1532 | <!--Product ID-->0x023f | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer DeathStalker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer HuntsMan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Ornata | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Orbweaver Chroma Keypad | <!--Vendor ID-->0x1532 | <!--Product ID-->0207 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Tartarus Keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested not hall effect and very expensive}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Redragon K668 RGB Gaming Keyboard Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys Upgraded Hot-swappable Socket,Red Switch}} |- | <!--Description-->Redragon K689 PRO Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested Gasket RGB Gaming Keyboard, 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys, Upgraded Hot-swappable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Risophy 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 75% mechanical, hotswap so okay for price untested }} |- | <!--Description-->Risophy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Royal Kludge RK65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested cream switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SINO WEALTH Gaming KB SkyLion K68 | <!--Vendor ID-->0x258a | <!--Product ID-->0x003a | <!--Revision--> | <!--Opinion-->{{No| blue stalks with rgb lighting}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SKYLOONG GK104 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested gateron }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->SteelSeries | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->TeckNet x300 2.4G Keyboard Mouse MosART | <!--Vendor ID-->0x062A | <!--Product ID-->0x4101 | <!--Revision-->0312 | <!--Opinion-->{{Yes|1 AAA for each and works well - mouse slightly better built than keyboard rubberised membrane}} |- | <!--Description-->TeckNet X331 HDE 2.4G Keyboard wireless RCMCU | <!--Vendor ID-->0x0C45 | <!--Product ID-->0x7000 | <!--Revision-->0001 | <!--Opinion-->{{Yes|wireless can be glitchy but few extra keys are mapped }} |- | <!--Description-->TeckNet X500 2.4G Keyboard Mouse MOSArt | <!--Vendor ID-->0x062A | <!--Product ID-->0x2901 | <!--Revision-->0112 | <!--Opinion-->{{Yes|works well especially large touchpad - usual rubber domed membraned keyboard mechanism }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tecware Specter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 75%}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Unicomp Model M USB 104 key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} IBM's and later Lexmark buckling spring switches |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varmilo Minilo Bluebell (prestige silent) and Eculapytus (violet tactile) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 75% plastic build no screws not great to mod}} |- | <!--Description-->Varmilo Sword 68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->Varmilo 98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 expensive but good and Kailh silent}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Weikav Velocifire Choice65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Weikav Velocifire Lucky65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Wobkey Crush80 Reboot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 very good but expensive Aluminum Hotswap Wireless RGB}} |- | <!--Description-->Wobkey Rainy 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% but not as expensive CNC Aluminum HMX/JWK/Cocoa Switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wooting HE60 HE80 HE90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 hall effect but expensive with good software}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Womier WK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2021 untested }} |- | <!--Description-->Womier Sk71 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xenta White Wireless HK6718B+HM3302--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|works with Raspberry Pi untested on AROS native}} |- | <!--Description-->Xinmeng X87 MAGIC_REFINER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 untested keycap swap but not hotswapable switches}} |- | <!--Description-->Yunzii AL66 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| milk switches, cherry PBT, }} |- | <!--Description-->Yunzi B75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget good with cocoa cream switches }} |- | <!--Description-->Yunzii AL75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|good budget option with swappable switches, }} |- | <!--Description-->Yunzii AL80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 switches }} |- | <!--Description-->Yunzi C75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 budget good with switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} <pre> linear - creamy tactile - thocky clicky - clacky </pre> <pre > Cherry MX Black are linear switches (no feedback); good for gaming. Cherry MX Red are linear (less noise no click) but more squishy; Cherry MX Brown are in between Blue and Red in style and tactile; Cherry MX Clear switches have soft tactile feedback (with no click). Cherry MX Blue have tactile feedback with a click (noisy); good for typing. Gateron Yellows KS-3, KS-3x47 or better Pros have a milky top and black bottom and linear TTC Silent Frozen v2. Linear and dead silent Mouse the huano brown with yellow dot for silent mouse clicks Kailh red dust proof encoder for smooth and close to silent scrolling Boba U4 Silent Tactile switches Husky linears HMX </pre > === Mouse === if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in '''s''' drawer/folder/directory sys:prefs/trident NOGUI > NIL: {| class="wikitable sortable" width="90%" ! width="10%" | Brand ! width="20%" | Description ! width="10%" | Model ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | 3Dconnexion | 3D Mouse | <!--Model-->[http://www.3dconnexion.com/products/spacenavigator.html SpaceNavigator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | 3D Mouse | <!--Model-->SpacePilot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Mouse | <!--Model-->SpaceExplorer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Wireless Mouse | <!--Model-->SpaceMouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->3D Optical | <!--Description-->Wired | <!--Model--> | <!--Vendor ID-->0000:3825 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Belkin | Combo mouse | | 0x05FE | 0x0011 | Low 0100 | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Cytec | <!--Description-->Wired Mouse Gaming | <!--Model-->R.A.T 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Dell | Mouse | MO56UC | 0x413C | 0x3200 | | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->equatech / clone logitech | <!--Description-->wireless mouse | <!--Model-->49779 / M185 | <!--Vendor ID--> 3151:2020 later 3151:3020 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{Yes|detected and works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Hama | RF Optical Mouse | AM-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keycron | <!--Description-->Optical Wireless | <!--Model-->M6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling and 16k dpi }} |- | <!--Brand-->Keychron | <!--Description-->Optical Wireless | <!--Model-->M7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested barebones 1k polling and 16k dpi, great for small hands, loud clicks}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->LogiCAD 3D | <!--Description-->3D Mouse | <!--Model-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Logitech | Cordless Desktop Navigator | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | Logitech Inc. | First/Pilot Wheel Mouse | N48/M-BB48 M-BE58 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested }} |- | Logitech | Wireless mouse | [http://www.logitech.com/en-roeu/mice_pointers/mice/devices/5484 M305] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} |- | Logitech | Wireless RF Mouse | MK710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | <!--Brand-->Logitech | <!--Description-->Wireless Mouse | <!--Model-->MX Master Anywhere 2S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|untested}} micro USB charge port on front |- | <!--Brand-->Logitech | <!--Description-->Wireless | <!--Model-->M220 silent | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|}} |- | <!--Brand-->Logitech Logi | <!--Description-->Optical | <!--Model-->MX Master 3S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|2021 untested usb-c bluetooth, inbuilt battery but muted clicks}} |- | <!--Brand-->Logitach | <!--Description-->Optical | <!--Model-->G502 X Plus | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|2022 very clicky}} |- | <!--Brand-->Logitech | <!--Description-->Optical | <!--Model-->MX Master 4 MXM | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{No|Bluetooth usb-c dongle, inbuilt lithium battery}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Brand | Description | Model | Vendor ID | Product ID | Revision | Opinion--> |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8566 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8518 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->OrzerHome Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8514 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1 aa with no on/off switch }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Microsoft | Wheel Mouse optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Sidewinder Mouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | IntelliMouse Explorer USB optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Wireless Optical Mouse 2000 | | 0x045E | 0x00F9 | | {{no|not working see keyboard Media Desktop 2000 above}} |- | <!--Brand-->Microsoft | <!--Description--> | <!--Model-->1461 1447 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|usb dongle matched to one mouse only no others}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Orochi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Mamba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Naga | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} 17 buttons |- | <!--Brand-->Razer | <!--Description-->USB Optical | <!--Model-->Naga Hex V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} MOBA Gaming Mouse, Professional Grade 16,000 DPI Sensor - RGB lighting |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->DeathAdder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Viper | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Basilisk V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling, 35k dpi, }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Trust | Slimline Lasermouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | SteelSeries | Tobii EyeX EyeMobile PCEye | Eye Tracking Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} gaze interaction track technology for augment augmentative and alternative communication (AAC). |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->The Eye Tribe Tracker | <!--Description-->Eye | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description-->USB Optical Mouse | <!--Model-->MV3000 | <!--Vendor ID-->0x192f | <!--Product ID-->0x0916 | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |} === Trackball === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->3Dconnexion SpaceBall 5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} Labtec designed and rolled into new company 3dconnexion 2001 by owners Logitech |- | <!--Description-->ACCO Kensington Orbit optical F1233A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kensington Turbo Mouse 64210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Clearly Superior Technologies. Model:CST 1000-RC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Trackman Marble Mouse Wired USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Cordless Trackman Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Optical Trackman T-RB22 - Cordless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech M570 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft Trackball Mouse Optical 1.0 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft X05-87473 Trackball USB Optical | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === KVM === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->NanoKVM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === Gamepad === Controllers have mostly decided that the left analog joystick is keyboard equivalent of WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice. Testing can be done with the TRIDENT Prefs, [https://devicetests.com/controller-tester html5], [https://greggman.github.io/html5-gamepad-test/ html5], or [https://gamepad-tester.com/ Tester] ==== Dinput Poseidon Default Plugin - Playstation(TM) style ==== {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Betong Bat D2E BTP-BD2E XD4D2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gravis Eliminator Gamepad Pro USB | <!--Vendor ID-->047d | <!--Product ID-->4005 | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick-->{{N/A}} | <!--Opinion-->2002 2d only |- | Hama Black Force USB Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2003 psx clone look |- | <!--Description-->Jess Tech Game Elements Philips GGE909 PC Recoil Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | [http://www.youtube.com/watch?v=TCbAmIhj6P4 Logitech Wingman Precision USB] G-UC3B | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{N/A| }} | 2002 no 3D but good for 2D retro games like Turrican II |- | <!--Description-->Logitech Wingman Action Pad G-UB3A | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | <!--Opinion-->2002 1 blue lucid translucent - thin analog stick N64 type - |- | Logitech Wingman RumblePad UB05B | <!--Vendor ID-->0x046d | 0xc20a | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untesed }} | 2000 twin blue analogue sticks N64 type - poor 2d controls with single molded blue piece - vibration feedback - single shoulder buttons with throttle control below right one |- | Logitech Wingman Cordless RumblePad G-RA4A | <!--Vendor ID-->0x046d | 0xc211 | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | 2001 twin blue analogue sticks N64 type - poor 2d controls with single molded black piece - vibration feedback - dual shoulder buttons L1 L2 R1 R2 with blue throttle control below right one - 4 aa mn1500 batteries; life not great - C-UD10A usb dongle - overall big and bulky |- | <!--Description-->Logitech Precision Wired G-UG15 | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech Cordless Precision G-X2E14A | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 ps2 styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech G-X5C11A Cordless Precision Wireless Controllers | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling black outer shell - no 3D analog and no shoulder buttons - no rumble |- | [http://www.testfreaks.co.uk/game-console-accessories-controls/logitech-dual-actiontm-gamepad/ Logitech Dual Action] * G-UD8 has no mode (2D only?) button and no rumble * G-UF13A later | <!--Vendor ID-->0x046d | 0xc2 | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 G-UF13A tested only]}} | 2003 New body shape psx style - dual analog 3D sticks - 4 small travel shoulder triggers no 5,6,7,8 |- | Logitech RumblePad 2 G-UF13 | <!--Vendor ID-->0x046d | 0xc218 | 1.00 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | 2006 light blue top/black base - twin analogues 3D along with dual short travel shoulder buttons - rumble present - |- | <!--Description-->[Logitech RumblePad 2 Cordless] * G-RC?? OLD version that take FOUR batteries and RED Logitech logo * G-RC14 uses TWO batteries has an ORANGE logo - dongle C-UE10 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc219 | <!--Revision-->0x0200 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|mostly}} | <!--Opinion-->2008 may have to remove 1 battery - G-RC?? 5 + 7 buttons - G-RC14 use buttons 6 + 8 to reset sticks - replace battery and push large button on receiver - |- | <!--Description-->Logitech F310 Wired Dual Action G-U0001 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|D mode switch}} | <!--Opinion-->2010 dual analog 3D with pc-xbox/psx switch on back (only D works) - both rear shoulder RT LT buttons have excess travel - no rumble vibration - |- | <!--Description-->Logitech F510 Wired G-UG0002 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2010 dual analog with dual xbox pc/psx X/D switched compatibility modes - |- | Logitech F710 Wireless / Cordless RumblePad 2 G-R0001 | <!--Vendor ID-->0x046d | 0xc219 | 3.05 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | When switch on top set to D and nano receiver for each controller to pair - 2 aa mn1500 batteries required - rumble support sometimes - rear back shoulder buttons excessive travel needed |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Megaworld 'TIME' USB pad | <!--Vendor ID-->0x0735 | <!--Product ID-->0x9902 | <!--Revision-->Low 0100 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{No |}} | <!--Opinion-->2000 Poor quality |- | <!--Description-->Microsoft * SideWinder Precision Pro USB (1997) * SideWinder Precision 2 (1998) * Game Pad Pro (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Sidewinder Game Pad USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{yes| }}} | <!--Analogue Hack with Analog Stick-->{{yes| }} | <!--Opinion-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5934#post_5931 must setup first] |- | <!--Description-->Microsoft Sidewinder Gamepad X04 Freestyle | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A }} | <!--Opinion-->{{N/A|untested}} 1998 might need USB adapter |- | <!--Description-->Microsoft Sidewinder X05 63895 92626 Flight stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{unk| }} | <!--Opinion-->{{Yes|2000 [https://ae.amigalife.org/index.php?topic=929.msg11309#new tested]}} |- | <!--Description-->Microsoft Sidewinder Flight Stick X08-58736 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Plug & Play Game Pad (2000) SideWinder Joystick (2000) Game Pad 2.0 (2001) SideWinder Force Feedback 2 (2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2002 long-standing static buildup problem and Force Feedback 2 was the removal of the power brick |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | Saitek [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps1000/ PS1000 Cyborg V.1], [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps2700-rumble-pad/ PS2700] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek [http://www.youtube.com/watch?v=xG0v-hf6ZPA P2600] [http://compactiongames.about.com/od/hardware/tp/gamepads.htm P3600], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek P2900 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested but runs on 1 AA battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Sony Batoh PS3 mini USB Wired hookup [http://ps3.jim.sh/sixaxis/usb/ SIXAXIS] *PCB Ribbon Notes *Protos ALPS MSU Rev3 M3 and the later CBEH-1019 *? SA1Q135A for sixaxis *PP4 *V2 *V25 *VX SA1Q146A first dualshock 3 model *VX SA1Q147A CECHZC2U (USA) *VX35 SA1Q159A *VX3 SA1Q160A *VX? SA1Q188A *VX4 SA1Q189A shipped with a CECH-2504 datecode 0C *VX5 SA1Q194A changed design ALPS, PS button changes *VX6 SA1Q195A red case, *VX7 SA1Q222A superslims 2 ribbons *VX8 SA1Q224A superslims 2 ribbons | <!--Vendor ID-->0x054c | <!--Product ID-->0x0268 | <!--Revision-->1.00 | <!--Merge with USB on Digital Pad-->{{No|}} | <!--Analogue Hack with Analog Stick-->{{No|}} | <!--Opinion-->Sometimes detected but no support - no sixaxis features detected - mini usb lead will have varying results - |- | <!--Description-->Sony PS4 *JDM JDS 001 010 011 *JDM 030 040 055 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Sony PS5 Dual Sense | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speed Link Strike 2 FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster Firestorm Dual Power 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 only 1 axis joystick only]}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Trust Predator GM-1500 GM-1520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 M series Aluminum Metal Joystick Hitbox Controller Arcade Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 T series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 G series Gamefinger G12 G13 G16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> plastic - |- | <!--Description-->Haute42 S series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> thinner and lighter than G series |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mad Catz sf2 fightstick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Datel Paewang Arcade Pro Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F300 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F500 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Pico Flatbox GP2040-CE Hot Swappable Mini Hitbox Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> default it is configured for PS4 but before plugging usbc cable in, X for Dinput, B Xinput, RT HID - plastic build case - Rev4 based on RP2040 chip and firmware is based on GP2040-CE (Community Edition) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Shenzhen Onebitdo Tech 8bitdo Fighting stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Venom 8 button | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} ==== Xinput Xbox Style Plugin ==== 2018 extension added originally called AROSx but later redacted. Latest [https://github.com/medusalix/xone linux driver] might be useful. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->8bitdo Ultimate C Wired 82CB (Shenzhen ONEBITDO TECH - GWOWO) | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x3106 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2022 - 4 t6 torx screws - non hall effect so drifting issues - triggers go faulty often - |- | <!--Description-->8bitdo Ultimate 2C Wired Controller 82CD | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x310A | <!--Revision-->0114 | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - HID keyboard assigned - 4 t6 torx screws - hall effect analogs and triggers - 1000Hz polling - |- | <!--Description-->8bitdo Ultimate 2C wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - 400mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad poor for retro games - |- | <!--Description-->8bitdo ULtimate Mini Wired Controller for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->8BitDo Pro 2 *Wired Controller *Wireless *Bluetooth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect - playstation style layout for pc - slide button for S-A-D-X switch, android, dinput or xinput - |- | <!--Description-->8BitDo Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 tmr hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description-->8bitdo Ultimate 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2026 - mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad for retro games - |- | <!--Description-->8BitDo Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Ace Aurora | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks with no deadzone mode, gyro, linear rumble, trigger stops, back paddles, button swap, macro, turbo, RGB LED effects - tri-mode connection - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Beitong Spartan BTP-2270U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect |- | <!--Description-->Betop Betong Asura 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect - noble linear trigger potentiometer and alps shoulder LB/RB micro switch |- | <!--Description-->BEITONG ASURA 2 Pro+ Game Controller Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Beitong Zeus 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BebonCool Dinofire Model Number: Q218 / TP28 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 - triggers aren't progressive but ON/OFF - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect analog and triggers - tri mode connection - |- | <!--Description-->EasySMX Wireless Controller PC PS3, 9013pro ESM-9013PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 linear hall effect but device sometimes will not connect tried multiple attempts with the dongle |- | <!--Description-->EasySMX X10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY MICRO SWITCH - Bumpers Tactile switch Hall Effect analog |- | <!--Description-->EasySMX X15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect analog and triggers - membrane buttons - |- | <!--Description-->EasySMX S10 Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 TMR Hall effect and compatible with Switch 2/PC/Phone/TV/Steam, NFC, Gyro, HD Rumble - |- | <!--Description-->EasySMX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->202 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Fantech World EOS Pro WGP15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect trigger and sticks,2 back paddles, motion controlling |- | <!--Description-->Fantech EOS PRO II S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 controller with TMR hall effect analogues, mechanical face buttons and D-pad, 63 input macro, back paddles, turbo - analog triggers with trigger stops - tri mode bt wifi and wired - slide switch on back for switch, macos/android and xinput - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Flydigi Apex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 luxury model |- | <!--Description-->Flydigi Vader Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 the Pro(Hall Effects) and Non-Pro (No Hall) |- | <!--Description-->Flydigi Direwolf 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 hall effect sticks and triggers - poor wifi connection - |- | <!--Description-->Flydigi Apex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 luxury model |- | <!--Description-->Flydigi Vader 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - hall effect, DInput mode (o+A hold) - |- | <!--Description-->Flydigi Direwolf 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 hall effect analog and triggers but membrane buttons with gold contacts - 800mhA battery - |- | <!--Description-->Flydigi Dunefox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 basic model hall effect analog and triggers but membrane buttons - 500mha battery - no gyros - |- | <!--Description-->Flydigi Vader 5 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2025 - hall effect stick with tension control, linear triggers, DInput mode (o+A hold) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir T4K Keleid, T4C Cyclone wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 poor to ok switch |- | <!--Description-->Gamesir Nova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no|| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - switch type layout |- | <!--Description-->Guangzhou Chicken Run Network Tech Nova Lite GameSir-T4n LITE - Zikway HID gamepad *[https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 4200 seems to be xbox so B then Home for Xinput (green LED), A then Home for HID BT Android (green/yellow LED), Y then Home for Switch Pro (Red LED)] or X then Home for Wifi and start and select to alternatively swap modes * and if on [https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 5700 ds4 so Home + B (blue LED), ] * firmware 6900 | <!--Vendor ID-->0x3537 | <!--Product ID-->0x1040 0x1041 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - hall effect 3d nubs - no usb-c cable - rubber membrane analog trigger travel and bumpers shoulder buttons - wifi 2.4G and bluetooth - xbox layout so ab and xy might need to be swapped via m and a buttons for switch type [https://www.youtube.com/watch?v=po-nNuC5fps fixes video] - 250Hz polling - 600mah battery - rigid carry case - poor d-pad esp diagonals - gamesir settings software only on android 6+ or ios based only - |- | <!--Description-->Gamesir Nova 2 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir G7 SE Wired Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->GameSir G8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir TEGENARIA T3 Lite Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 playstation aesthetic hall effect analog and membrane buttons - X+Home button connects as an Xbox controller |- | <!--Description-->GameSir Cyclone 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR Joysticks with anti-friction rings and metal anti-friction rings around the stems, gyro, rumble, macro, turbo, 2 back paddles, hall analog triggers with micro-switch trigger - tri mode bluetooth, 2.4GHz wifi and wired, 1000hz polling rate - gamesir connect software - |- | <!--Description-->GameSir G7 Pro for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR hall effect - hall effect triggers, tri mode connection - gamesir nexus software - |- | <!--Description-->GameSir Super Nova Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect sticks and triggers, 1000Hz polling, tri mode connectivity, |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->GuliKit KingKong 2 NS08 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->Electromagnetic Stick hall effect - hall linear triggers - Mechanical face buttons - wired and wireless - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong 2 PRO NS09 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall efect - wired and wireless - Mechanical face buttons - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong MAX 3 KK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall effect - wired and wireless - lithium battery - |- | <!--Description-->Gulikit KK3 Max USB-c Bluetooth Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Hall Joysticks and Triggers, Maglev/Rotor/HD Vibration, 1000Hz Polling Rate, 4 Back Buttons, |- | <!--Description-->GuliKit KK3 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 smaller version of KK3 MAX - hall effect analog and triggers, face buttons , maglev rumble, gyro, 4 back paddles - rigid case - 950mAh up to 8 hrs - |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hyperkin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hori EX2 Turbo UHX3-45 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Machenike G1 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Wireless Gaming Controller with 1K Polling Rate Hall Effect Trigger Joystick For Nintendo Switch PC iOS Android |- | <!--Description-->Machenike G5 Pro Wireless Gaming Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY Switch Membrane, Bumpers Tactile switch and hall effect analog |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->microsoft sidewinder precision pro | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | 0x045e | 0x028e | 0x | <!--Merge with USB Digital Pad-->{{No|needs specific driver and has poor 2D control pad}} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | Microsoft (R) [https://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ Xbox 360] (TM) Wireless Receiver for Windows(R) Model 1086 and Controller | 0x045e | 0x0719, 0x or 0x0291 | 0x0100 | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->{{No|separate standalone usb dongle detected and shows as 8 vendor interfaces but no class associated and so not working - may need new class from code from xpad or xboxdrv to work the controllor}} |- | <!--Description-->Xbox 360 Kinect [http://hackaday.com/2010/11/10/kinect-open-source-driver-demo-and-hacking/ Video] [http://git.marcansoft.com/?p=libfreenect.git;a=commit;h=7655fcf7239ba4907654089dba535a196685dbe5 GIT] | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2007 proprietary 2.4GHz RF protocol, |- | <!--Description-->Xbox One Wired Controller | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion--> |- | <!--Description-->Xbox One wireless controller newer model with the 3.5mm headphone jack 1537 1697 and microsoft adapter | <!--Vendor ID-->0x045E | <!--Product ID-->0x02d1 or 0x02dd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2014 |- | <!--Description-->Microsoft Elite Series 1 | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e3 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2016 ok - |- | <!--Description-->Xbox later models 1708+ Xbox One and Series use 5GHz and use Bluetooth, | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e0 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2017 |- | <!--Description-->Xbox One S | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ea 0x02fd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2019 |- | <!--Description-->Microsoft Elite Series 2 Core | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ff | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2022 ok - no hall - 125Hz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Minisform MGP01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MOBAPAD N1HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 has liquid silicone face buttons, hall effect analog, D-Pad swap, two back paddles, USB-A dongle, HD Rumble - |- | <!--Description-->Mobapad Huben 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 |- | <!--Description-->Mobapad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Gale 墨将 mòjiāng | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Blitz PRO 2 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON now MOJHON AETHER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks, hall effect triggers, mechanical bumpers, 1000hz polling rate, mechanical D-pad, membrane face buttons, mechanical back paddles, rumble, deadzone issues - tri mode |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MSI FORCE GC20 GC30 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 not hall effect |- | <!--Description-->MSI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mytrix Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->NACON GC-100XF Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 average |- | <!--Description-->PXN P5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect joysticks & triggers, limited trigger stops, 1000hz polling rate on wired, 4 back paddles, 32 macro record, anti-deadzone mode, RAW mode, gyro, turbo, tri-mode connection - |- | <!--Description-->PXN P50L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->PowerA | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Stellar T5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Junior E5 Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Razer Wolverine V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->RetroFlag | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speedlink XEOX Pro Analog Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->enclosed lithium battery? - xbox layout - switchable on back of controller to directinput (dinput) or xinput - USB dongle switchable to pc and ps3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SCUF Instinct Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2022 good |- | <!--Description-->SCUF Envision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Steel Series Stratus Duo XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->usb adapter needed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[https://inputlabs.io/Inputlabs InputLabs Alpakka Open Source and build yourself] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY it with 3d printer, pcb and components - pi pico needed - 2 gyros for better accuracy - |- | <!--Description-->[https://inputlabs.io/kapybara Inputlabs kapybara] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY one handed version wip |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Vilcorn Z03 BT Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - other Bluetooth modes (green, red, blue, purple, etc.) Select + M1 (or M2) - 400mAh - not great latency wired - 800mhz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd ultimate legend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd 0+ elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description-->zd 0+excellent | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} <pre> #ifndef AROSX_LIBRARY_H #define AROSX_LIBRARY_H #include <exec/types.h> #define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00 #define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01 #define AROSX_GAMEPAD_DPAD_UP 0x0001 #define AROSX_GAMEPAD_DPAD_DOWN 0x0002 #define AROSX_GAMEPAD_DPAD_LEFT 0x0004 #define AROSX_GAMEPAD_DPAD_RIGHT 0x0008 #define AROSX_GAMEPAD_START 0x0010 #define AROSX_GAMEPAD_BACK 0x0020 #define AROSX_GAMEPAD_LEFT_THUMB 0x0040 #define AROSX_GAMEPAD_RIGHT_THUMB 0x0080 #define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100 #define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200 #define AROSX_GAMEPAD_A 0x1000 #define AROSX_GAMEPAD_B 0x2000 #define AROSX_GAMEPAD_X 0x4000 #define AROSX_GAMEPAD_Y 0x8000 struct AROSX_GAMEPAD { ULONG Timestamp; UWORD Buttons; UBYTE LeftTrigger; UBYTE RightTrigger; WORD ThumbLX; WORD ThumbLY; WORD ThumbRX; WORD ThumbRY; }; #define AROSX_EHMB_CONNECT 0x00 #define AROSX_EHMB_DISCONNECT 0x01 #define AROSX_EHMF_CONNECT (1L<<AROSX_EHMB_CONNECT) #define AROSX_EHMF_DISCONNECT (1L<<AROSX_EHMB_DISCONNECT) struct AROSX_EventHook { struct Node eh_Node; struct MsgPort *eh_MsgPort; ULONG eh_MsgMask; }; struct AROSX_EventNote { struct Message en_Msg; ULONG en_Event; APTR en_Param1; APTR en_Param2; }; #endif /* AROSX_LIBRARY_H */ </pre> === Joystick === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CH Products CombatStick 568 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Cyborg X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Extreme 3D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | [Logitech Attack 3 Joystick] | 0x0464 | 0xC214 | 0205 | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek X-52 x52 pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek aviator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | Speedlink Competition Pro USB | | | | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{maybe|works but games not working "out of the box"}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust Predator QZ 501 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator TH 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator GM-2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust XK 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- |} ===[https://github.com/JacKeTUs/linux-steering-wheels Gaming Racing Steering Wheels]=== {| class="wikitable sortable" width="90%" ! width="25%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="40%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> [https://www.usb.org/sites/default/files/documents/pid1_01.pdf USB PID standard not supported], |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cammus C5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fanatec CSL Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 and Xbox - belt driven wheel - 30cm wheel swapping |- | <!--Description-->Fanatec Club Sport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt $600 £500 system |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FFBeast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genius TRIO RACER F1 Racing Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Cheap and cheerful but not great - may need calibrating |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hama PC Racing Wheel Thunder V18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Average |- | <!--Description-->Hori Racing Wheel 3 with pedals | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PC |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logic3 PXU450 TopDrive GT450 Steering Wheel for PS3, PS4, XBox One and PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logitech MOMO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Very good |- | <!--Description-->Logitech Driving Force GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Logitech Drive Force Pro DFP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> wheel 900 degree - weighs in at 15&nbsp;lbs |- | <!--Description-->Logitech Formula Force EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->200 degrees turn for the EX model is arcade-like driving - adds PS3 compatibility via the PSx/2 adaptor - weighs in at 9&nbsp;lbs |- | <!--Description-->Logitech G25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> - needs external psu - |- | <!--Description-->Logitech G27 PC/PS3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> comes with gear shifter - needs external psu - |- | <!--Description-->Logitech G29 PC PS3/PS4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G920 PC XboxOne | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G923 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft(R) SideWinder Precision Racing Wheel (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R3 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R5 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R9 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R12 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Ultrawipf/OpenFFBoard OpenFFBoard], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simagic M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> base direct drive $900 £800 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simplicity Simwheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> direct |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simxperience Accuforce V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SPEEDLINK Drift O.Z. Racing Wheel with Pedals and Gear Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SteelSeries Simraceway SRW-S1 Steering Wheel (PC) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Nascar Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Ferrari Challenge Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> Poor |- | <!--Description-->Thrustmaster Ferrari FGT Rumble GT Experience 3-in-1 (PC/PS3) | <!--Vendor ID-->0x044f | <!--Product ID-->b658 | <!--Revision-->0102 | <!--Merge with USB Digital Pad-->{{Yes|Wheel and all buttons detected}} | <!--Analogue Hack with Analog Stick-->{{Maybe|}} | <!--Opinion-->Not great - gear driven 240deg wheel rotation - no psu needed - 2 peddle - flappy gear change - rumble untested - red switch for PC PS3 selection |- | <!--Description-->Thrustmaster F430 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T500 RS Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> belt driven wheel/rumble for GT5 |- | <!--Description-->Thrustmaster T60 Challenge | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T150 Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> gear / belt combo wheel / rumble - 2 peddle |- | <!--Description-->Thrustmaster TMX Pro PC/XboxOne | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> direct drive rumble - no manual gear shift included |- | <!--Description-->Thrustmaster T80 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Base level and OK - PS4 - 270deg rumble - 2 peddle |- | <!--Description-->Thrustmaster T300 RS GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PS4 - belt driven - 900deg rotation and modular 28cm wheel out - 2 peddles but 3 available |- | <!--Description-->Thrustmaster TX Leather | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->TX Xbox version - 900deg rotation |- | <!--Description-->Thrustermaster TS PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PC only belt wheel |- | <!--Description--> TS XW Racer PC Xbox1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt system |- | <!--Description-->Thrustmaster T-GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 $700 £600 with T-DFB |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Tracer Zonda Racing Steering Wheel PC PS3 Vibration Feedback Pedals Gearbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- |} ===Gamepad Joypad Adapters=== * Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted. * Some adapters do not work with some [http://www.stepmania.com/wiki/Dance_Pads dance pads] because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems. * If using an adapters should be compatible with '''original''' PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->[http://www.maplin.co.uk/psx-usb-bridge-34887?tabid=3&worldid=&doy=21m9&faqitem=playstation%20controller%20to%20pc%20adaptor Maplin] [http://www.rockfire.com.tw/ Padix Co. Ltd. Rockfire] PX-205 PSX/USB Bridge | <!--Vendor ID-->0x0583 | <!--Product ID-->0x2050 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes}} but buttons mapped different from others | <!--Analogue Hack with Analog Stick-->{{Maybe|poor}} | <!--Opinion-->Ok with dpads, but very poor support with analogue hack |- | Boom PS Joy Converter adaptor | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | discontinued (2004/5). Hold Up, Start, and Select for three seconds. Very good [http://www.stepmania.com stepmania] recommendation. |- | [http://www.hkems.com/m_main.htm EMS] [http://www.hkems.com/product/ps2/ps2-usb2.htm USB2] grey plastic box with 2 PSX ports, one on either side - UP and Select pressed for 3 seconds at the same time or the dance code (start+select+up) | | | | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows the PS port works in digital mode on d-pad}} | <!--Analogue Hack with Analog Stick--> | Set in PC switch mode. Does not work when using 2 pads at the same time, likely higher power requirements. FPSE emu DualShock untested, Mat and Guitar untested but known lag involved |- | Joytech (play.com) (EMS USB2 bad clone) Black box twin PSX | 0x0b43 | 0x0003 | 0x0 | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | but poor on dance ddr mat and guitar hero as the left and right keys do not like being pressed together, Dual shock untested |- | [ EMS Trio Linker ] 1 PSone connection at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued 2005 |- | [http://psxemulator.proboards.com/index.cgi?board=support&action=display&thread=421 EMS Trio Linker Plus] (blue box) 1 PSx at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued |- | Gamtec [http://www.gamestone.co.uk/gradius/guides_usb_smartjoy_guide.php SmartJoy Plus] Lik Sang PS->USB converter Red 2005 | 0x0925 | 0x0005 | Low 0110 | <!--Merge with USB Digital Pad-->{{Maybe|detected and digital dpad works with [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4138&forum=2&post_id=35952#forumpost35952 joystick and testjoystick tests] but the second analog control is not mapping correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue Hack - hardware buggy not useable}} | Dual shock untested, Mat and Guitar untested. Nothing picked up upon plugging it in. Quite common, these items have grounding issues or feed voltage back into the USB host and freeze the host controller, preventing any plugins or removals being detected. |- | Gamtec SmartJoy Plus Dual PS->USB converter Red | 0x0925 | 0x00 | Low | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | |- | [http://uk.gear.ign.com/articles/700/700334p1.html Lik-Sang Super SmartJoy PSX] | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX |- | Soyo Kiki Kiky | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | eXcel PSX adaptor shaped a little like a stealth bomber with USB pass through | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Venom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Dragon Plus (Radio Shack) Pantherlord GreenAsia USB to PS2/PS3 converter single black cable | 0x0e8f | 0x03 | 1.07 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | |- | Deal Extreme 2 PSX black cables from 1 USB port | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested }} |- | <!--Description-->HDE 2014 Personal Communication Systems Inc | <!--Vendor ID-->0x0810 | <!--Product ID-->0x0001 | <!--Revision-->0106 | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Same as single cable above but with black block midway along cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> |- | <!--Description-->TigerGame Ltd Mayflash PC001 Super Joy Box 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Ltd Mayflash PC016 Super Joy Box arrowhead triangle twin PSX] Original was lack with RED Leds. Clones Dilong pu203, Blue HDE Neewer ShineData SD-APS2USB, Red Octane and Black PC Power Box (NS3454) '''embossed circle''' on top | 0x0810 | 0x0001 | 1.06 | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows one PS port does not work with analog control at all but the other port does and maps correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works }} | Still available 2013, poor construction though, falls to pieces easily. Dual Shock untested, Mat and Guitar untested |- | <!--Description-->TigerGame Ltd [http://www.mayflash.com/pc/pc038/pc038-1.htm Mayflash PC038 Super Joy Box Pro triangle twin PSX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Limited Mayflash SuperJoy Box 5 PC006 long V-shaped 4 port PS/PS2 Game Controller Adapter | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | |- | <!--Description-->TigerGame Limited Mayflash SuperJoy Box 5 PRO PC039 PS/PS2 Game Controller Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | Boom PSX+N64 USB converter (purple or blue see through box) (2003/4) - red led for psx and green led for n64 | 0x6666 | 0x0667 | 0x0 | <!--Merge with USB Digital Pad-->{{No|not detected by Tests/joystick}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue hack }} | Rumble Pak untested |- | [http://www.hkems.com/product/ps2/TrioLinkerPlus2.htm EMS Trio Linker Plus II] | | | | <!--Merge with USB Digital Pad-->{{Yes| }} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4753&forum=24&post_id=43102#forumpost43102 ] | <!--Analogue Hack with Analog Stick--> | 1DC 1GC 1PSX but not for ddr mat games |- | TigerGame Mayflash PC043 clone HuiJia Black twin N64 converter for PC USB | 0x0e8f | 0x3013 | 0x0 | <!--Merge with USB Digital Pad-->{{No|detected by Tests/joystick though two digital pads have their settings wrong}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works well with middle handle/grip little joystick}} | Rumble Pack untested |- | TigerGame Mayflash PC MagicBox SuperBox 3 | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | untested 1SS 1DC 1PSX } |- | <!--Description-->Lik Sang SmartJoy X | <!--Vendor ID-->0x045e | <!--Product ID-->0x0285 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SmartJoy X2 | <!--Vendor ID-->0x045e | <!--Product ID-->0x0289 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Mayflash PC018 Super Joy Box 9 Xbox (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work. Hub(s) 0x0288 detected but 0x0289 xbox1 joypads are not detected as hid let alone as [http://www.amiga.org/forums/archive/index.php/t-62940.html xpad] or [http://pingus.seul.org/~grumbel/xboxdrv/ linux xboxdrv driver] |- | TigerGame Mayflash PC019 Super Joy Box 10 Xbox Twin ports (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work with the big Fatty Duke or smaller S Akebono controller(s) |- | TigerGame Ltd Mayflash PC020 Super Joy Box 11 Xbox Quad ports (NOT 360) | 0x05e3 | 0x0604 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | |- | <!--Description-->TigerGame Ltd Mayflash PC035 3 in 1 Magic Joy box PS GC Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to NES [http://wiki.nesdev.com/w/index.php/Standard_controller SPI like protocol] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Buffalo Classic USB Pad SNES like | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC044 USB to SNES | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to MEGADRIVE GENESIS Joypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[http://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB to 9 pin ATARI RETROPORT style JOYSTICK PORT] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Atari RetroLink 9pin to SB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SLS Sega Saturn USB pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC050 Dual Saturn ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Guitar Hero for PC/Mac | <!--Vendor ID-->0x1430 | <!--Product ID-->0x474C | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Cronus Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BrookX One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Gamecube to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Magic NS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> WiiU |- | <!--Description-->Brook Converter WiiU P3 P4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->CooV Xbox One Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} * [http://www.bemanistyle.com/forum/f6/best-metal-pad-19066/ Metal dance pads with LEDs] - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool), * Hard foam mat - [http://www.mayflash.eu/3in1-deluxe-dansmat-ignition-foam-ps2xboxpc-p-5.html Mayflash] FutureMax Deluxe 3 in 1 Ignition, [http://www.gamerose.com/ Gamerose] (Stay Cool), TrinPad orange, * Soft foam mat - Logic3 (PS420N), [http://www.positivegaming.com/index.php?id=36 Positive Gaming Impact], Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz *PS1 PS2 PS3 PS4 flex ribbon big source of button/trigger issues with all controllers *PS2 Phat KSA1Q40A (Board), SA1Q33A (Membrane) SCHP-10010 H *PS2 SA1Q42A SCHP-10010 A *PS2 SA1Q43-A SCHP-10010 H The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action. {| class="wikitable sortable" width="90%" ! width="10%" | Joypad ! width="5%" | HATS ! width="5%" | Button 01 ! width="5%" | Button 02 ! width="5%" | Button 03 ! width="5%" | Button 04 ! width="5%" | Button 05 ! width="5%" | Button 06 ! width="5%" | Button 07 ! width="5%" | Button 08 ! width="5%" | Button 09 ! width="5%" | Button 10 ! width="5%" | Button 11 ! width="5%" | Button 12 ! width="5%" | Button 13 ! width="5%" | Button 14 ! width="5%" | Axes 1 ! width="5%" | Axes 2 ! width="5%" | Axes 3 ! width="5%" | Axes 4 ! width="5%" | Axes 5 ! width="5%" | Axes 6 ! width="10%" | Comment |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | | A (down-green) | B (right-red) | X (left-blue) | Y (up-yellow) | LB (white) | RB (black) | Back | Start | Guide | L3 | R3 | | | | Left X | Left Y | LT | Right X | Right Y | RT | Poor 2D, Good 3D |- | <!--Description-->Gravis GamePad / Original PlayStation Controller | <!--HATS DPAD--> | <!--Button 01-->Red (Sqleft) | Yellow X (X down) | Green O (O right) | Blue (Tri up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | | | | | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Older Adapters | <!--HATS DPAD--> | <!--Button 01-->Blue X (down) | Red O (right) | Pink Sq (left) | Green Tri (up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | Stick 1 | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Newer Adapters | <!--HATS DPAD--> | <!--Button 01-->Up | Right | Down | Left | L2 | R2 | L1 | R1 | Select | <!--Button 10-->Start | Stick 1 (analogue Hack) | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> Wish Technologies N64 Adaptoid | <!--HATS DPAD--> | <!--Button 01--> A | C Down | C Right | B | C Left | C Up | L | R | Start | <!--Button 10-->Z | Pad Up | Pad Down | Pad Left | Pad Right | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- |} Just plug in your digital/analogue joystick or gamepad into USB port. The device will be handled by Poseidon USB stack. Poseidon is the USB stack with Trident adding a GUI (graphical user interface) prefs. the context sensitive page would come up right on pressing the help key inside the relevant window. The manual is in this archive, just in case it isn't in SYS:Locale/Help *How to change joystick mode to analogue? By default a connected USB joystick emulates Amiga digital joystick. To change this behaviour so that the joystick is presented as analogue you need to use Trident preferences application (System:Prefs/Trident). Open Trident and go to Devices on the left hand side (mouse click once on it). Select your controller from the list to the right and then click on Settings button below. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section near the bottom. Find ports which are set to "Merge with USB" or "Override with USB" and change them to "Analogue Hack". Please note that analogue joystick support is an extension of original Amiga functionality, thus an Amiga application must be explicitly written to use it. AROS SDL library uses this functionality, thus all SDL applications that use joystick, can use the analogue joystick feature. The HID class has several options how to handle the input data: * Don't touch: The movement and button data for is not modified by the hid class. This is the default for the ports 0, 2, and 3. * Overwrite with USB: This will kill the original data that might had come from the internal ports and overwrites it with the joypad data for this USB interface. Note well: If you have multiple joypads connected, take care which setting you have selected for each port, because only the last interface with this option will actually send the joypad data to the game. * Merge with USB: This option merges the input data of the lowlevel.library with the USB stream. This only works, if the connected device on the original Amiga ports is NOT a mouse (because then the streams are incompatible). Merging should be the preferred method, because it leaves the original joysticks working. * Disable: Turns off the port for the application. * Analogue Hack: Tells Poseidon to force reporting of analogue data at the port. Please note that this only works with programs that understand the analogue data, because it's an extension to the original lowlevel.library standard made by Commodore. If you want to incorporate this feature in your software, just contact me and I will send you the necessary information. * Rumble Port: As addition to the analogue data, the HID class supports applications and games that want to utilize a rumble pack or force feedback motors in the gamepads. This field selects to which lowlevel port the hid device responds, when attempting to use the rumble pack. Normally, this corresponds to the port that has been set in the actions for the joypad. *How to change joystick port assignment? The low level library supports up to four ports. Port 0 is usually used by the mouse, port 1 is the standard port for joysticks/joypads. By default a connected USB joystick is present in Port 1. To change its location to Port 0 you need to use Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section. Port 1 should be set as either "Merge with USB" or "Override with USB". Change this setting to "Don't touch". Change Port 0 setting to "Merge with USB". Go to "Actions" tab. In the "Reports and collection" select first entry named "Joystick". in the "Usage items" select "X axis". Go to "Performed actions" area. On the left there will be a list of triggers. Each of them should have (port1) in their params. Click on the first trigger and using buttons to the right of the list change port1 into port 0. Repeat this for all triggers and for all items on "Usage items" list. *How to make joystick simulate keyboard keys? With Poseidon it is possible to make the joystick simulate the keyboard pressings. This might enable using joystick for playing games which only have keyboard support. This feature is configured in Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. Go to "Actions" tab. On the right top window select X axis. On the left bottom list select an entry "Digital Joystick, Push left(port 1)". On the panel to the right change "Digital joystick" into "Raw Key". A list of keys will be displayed. Select key you wish to send. Repeat the same procedure for "Digital Joystick, Release left (port 1)" option but this time check "Send key up even instead of key down". Open shell and move your joystick to the left - your selected letter should appear in the shell. *Analogue in Trident Prefs * Open the Trident USB Prefs -> Devices -> Select your joypad -> Settings button -> Action TAB * See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s) * Check [x] Track Incoming Events which is half way down the window on the left And you should see some axis activity in "Usage items" when you move the analog stick *Actions HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area Reports and collections -> Usage Items -> Performed actions Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers. Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it. Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them. Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right. Set them to Raw, then assign an up and down button for each character, etc. when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release. The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input. check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down. misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics. *Rumble in Trident Prefs Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the '''General''' TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. '''Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected.''' The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect. ===Graphic Drawing Tablet=== There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones. to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events (which AROS has) * Entry level - A6 (6x4) work area * Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported) * Semi Pro A3 (12x9) * Pro Cintiq * 2005/6 Some support added for Wacom tablets * 2008 Wacom's patent on battery free pens expires {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Micrograf Tabby (late 1980s and early 1990s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->podscat pt 3030 graphics tablet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Summagraphics | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom IV compatible (Graphire, ArtPad, A3, A4, A5 and PenPartner CT-0405-P - Wacom intuos GD-0405-R) Waycom Digitiser II UD-0608-R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom Artpad II (KT-0405-R) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AceCad boards | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Calcomp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 8000 - Aldi/Medion MD 9310 and Aldi/Tevion LT 9310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Tablet PC penabled | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based like x61t X60t NC4200 NC4400 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> * Wacom PenPartner * PenPartner 2 * PenStation 2 | <!--Vendor ID-->0x056a | <!--Product ID-->0x0000 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Graphire - Wacom Tablet ET-0405-U UV1.1-1 (Slate Blue) ET-0405UL (lime) (orange) (red) (purple) | <!--Vendor ID-->0x056A | <!--Product ID-->0X0010 | <!--Revision-->0100 | <!--Opinion-->{{Yes|late 90s with A6 size - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511 under Trident prefs. Air pen mouse type movements }} |- | <!--Description--> * Grapphire 2 4x5 ET-0405A-U UV2.0-3 (Steel Blue) * Graphire 2 5x7 ET-0507A | <!--Vendor ID-->0x056A | <!--Product ID-->0x0011 and 0x0012 | <!--Revision-->0110 | <!--Opinion-->{{Yes|A6 and A5 versions - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511. Air pen mouse type movements - mouse EC-120-0K tested}} |- | <!--Description-->Wacom Graphire 3 * cte-430/w 4x5 pearl sapphire * cte 630 6x8 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0013 and 0x0014 | <!--Revision-->0314 | <!--Opinion-->{{Yes|A6 and A5 size - [Wacom Support] Xaxis 0-10207 yaxis 0-7423 tip pressure 0-511 and the erase end appears to respond but avoid bluetooth BT versions }} |- | Wacom Graphire 4 * cte-440/B Blue cte 440/s Silver 4x5 * cte-640 6x8 cte 640 u 0403 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0015 and 0x0016 | <!--Revision-->403 | {{Yes|A6 and A5 work area detected [Wacom Support] x-axis 0000-10207 Y axis 0000-7423 Tip Pressure 000-511 and delete rub out end of the pencil seems detected but avoid bluetooth BT versions }} |- | <!--Description--> * Wacom Intuos 4x5 GD-0405 * Intuos 6x8 GD-0608 * Intuos 9x12 GD-0912 * Intuos 12x12 GD-1212-U * Intuos 12x18 GD-1218 | <!--Vendor ID--> | <!--Product ID-->0x0020 0x0021 0x0022 0x0023 0x0024 | <!--Revision--> | <!--Opinion-->{{Yes|detected and responses delivered back - x axis up to 30479 and y axis 31679, tip pressure up to 1023 and x and y tilt up to 127 - Wacom intuos GD-0912-A for Apple Macs NOT SUPPORTED}} |- | <!--Description--> * Intuos 2 4x5 A6 - XD-0405-U * Intuos 2 6x8 A5 - xd 0608u uoc * Intuos 2 9x12 XD-0912-U * Intuos 2 12x12 XD-1212-U * Intuos 2 12x18 XD-1218-U | <!--Vendor ID-->0x056a | <!--Product ID-->0x0041 0x0042 0x0043 0x0044 0x0045 | <!--Revision-->0126 | <!--Opinion-->{{No|various sizes and recognised as [Wacom Support] but not working. x-axis 00000-20319 y-axis 00000-16239 tip presure 0000-1023 x-tilt y-tilt 000-127. HID mouse xc-100-03 works but never could use it as a real tablet with pressure with TVPaint 3.6 }} |- | <!--Description--> * Intuos 3 4x5 (PTZ-430) * Intuos 3 4x6 (PTZ-431W ) * Intuos 3 6x8 (PTZ-630 PTZ630) * Intuos 3 6x11 (PTZ-631W A3 wide) * Intuos 3 9x12 (A4 PTZ-930 PTZ930) * Intuos 3 | <!--Vendor ID-->056a | <!--Product ID-->0x00b0 0x00b1 0x00b2 0x00b3 0x00b4 0x00b5 | <!--Revision--> | <!--Opinion-->{{No}} Actions in HID setup window definitively locks the Pointer (mouse) reports settings and even after a clear and save, nothing changes, the configuration returns to default values. "[Wacom]" reports don't see any events from the tablet, even with "Pointer" reports cleared and save, so is locked a in "mouse" state - but can send a special command to the tablet in order to put it into a special vendor mode. This mode enables Wacom specificities like pressure, tilt, absolute position, buttons, etc... you should send an HID report feature with ReportID=2 and data=2, the current HID class driver doesn't give a way to change that, even using the "initial startup actions" item in the extra collection. No listed features work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Volito - Promethean FT-0405-U06 UV1.4-1 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0060 | <!--Revision-->0141 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - appears to be the budget option with some but limited features}} |- | <!--Description-->Wacom Volito 2 * CTF-??? 2x3 * CTF-420G CTF-420 V2.0-0 4x5 * Serif Penabled 6742 rebadge of CTF 420/020-B CTF-420/02 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0062 | <!--Revision-->0200 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - no erase function on the end of the pen - nylon nibs value option}} |- | <!--Description--> * Wacom PL-400 LCD * PL-500 * PL-510 * PL-550 | <!--Vendor ID--> | <!--Product ID-->0x0030 0x0031 0x0032 0x0034 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> * PL-600 * PL-600 SX * PL-700 * PL-710 * PL-800 | <!--Vendor ID--> | <!--Product ID-->0x0033 0x0035 0x0036 0x0037 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Cintiq 21 UX and Cintiq Partner DTF-720 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wacom PenTablet Bamboo (MTE), Bamboo Craft (CTH), Bamboo Fun (CTE), Bamboo Pen (CTL) and Bamboo Pen & Touch (CTH) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Bamboo Fun Medium CTE-650 | | 0x0018 | | {{Maybe|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum]}} |- | <!--Description-->Bamboo Fun Small CTE-450 white | <!--Vendor ID--> | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Bamboo One CTF-430 V2.0-0 CTF 430/S | <!--Vendor ID-->0x056A | <!--Product ID-->0x0069 | <!--Revision-->0200 | <!--Opinion-->{{Maybe|A5 wired air pen and acts like a mouse only}} |- | <!--Description-->Wacom Intuos 4 * Small PTK-440 PTK-540 * Medium - PTK-640 - PTK 540WL Wireless - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Intuos4 surface sheet was revised in October 2010 to reduce nib wear}} |- | <!--Description-->Wacom Intuos 5 Touch * * Medium - PTH-650 - USB Wired and Wireless Kit | <!--Vendor ID--> | <!--Product ID-->0x0027 | <!--Revision--> | <!--Opinion-->{{N/A|untested work, however wireless may glitch or drag }} |- | <!--Description-->Wacom Intuos Pro Medium - PTH-651 - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bamboo Small Pen Tablet - MTE 450 MTE-450A (MTE-450/k) - | <!--Vendor ID-->0x056A | <!--Product ID-->0x0065 | <!--Revision-->0116 | <!--Opinion-->{{Maybe|A6 work area - mouse movement but no pen detection except x-axis 2 to -2 and y-axis 2 to -2 - mini usb lead - 4 blue led lit buttons not detected as well as circular touch button?? }} |- | <!--Description-->Bamboo Pen CTL 460 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested all Bamboo versions were criticized for the drawing surface's roughness (which got smoother over time), which caused the small pressure-sensitive 'nib' to wear down, and become slanted or scratchy in the same way as pencil lead, albeit more slowly}} |- | <!--Description-->Wacom Bamboo Fun CTH-461/S wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x00D2 | <!--Revision-->0106 | <!--Opinion-->{{Maybe|A6 size - Pen tracking not working but finger touch works }} |- | <!--Description-->Wacom Bamboo Connect Pen Tablet CTL-470 CTL-470K 470-DE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CTH 470K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom CTH 480/S wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} lithium battery for pad - |- | <!--Description-->Wacom Intuos Pen Small CTL-480/S CTL 480 K wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x030E | <!--Revision-->0200 | <!--Opinion-->{{No|A5 detected as Intuos PS but not working although the RHS blue led responds to pen on tablet }} |- | <!--Description-->CTH 490 PK S Photo - CTH-490CK-S Comic - CTH-490AK-S Art | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested lower hovering height pen nibs wear fast and input lag/responsiveness}} |- | <!--Description-->Intuos Pen & Touch Medium - CTH-680 - USB Wired and Wireless Kit work | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Intuos Pro (PTH-660 and PTH-860) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Waltop Media Tablet 10.6" Genius G-Pen M609 Genius G-Pen M609X iVista Media Tablet 10.6 Aiptek MediaTablet 10000u | <!--Vendor ID-->172f:0501 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Slim Tablet 12.1" | <!--Vendor ID-->0x172F | <!--Product ID-->0x0034 | <!--Revision-->0x1105 | <!--Opinion-->{{yes|works}} |- | <!--Description-->Waltop Media Tablet 12 by 9" Aiptek HyperPen 12000u T-12000U Tablet Series Nisis T-12000u USB Tablet Series Version 1.05 (aiptek rebadged) Trust item #1535 ADESSO Cyber Tablet 12000 Graphic design tablet iVista Media Tablet 12 PENTAGRAM O'pen Wide P 2003 Genius G-Pen M712 | <!--Vendor ID-->172f:0500, 0x08ca | <!--Product ID-->0x0010 | <!--Revision-->0105 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet, untested with others - Puck (mouse) x axis 0000 to 6000 y axis 0000 to 6000 - stylus (pen) x axis 00000 to 12000 y axis 00000 to 12000 tip pressure 0000 to 1023 - 16 function keys - AAA battery needed for pen and another for the mouse}} |- | <!--Description-->Waltop Media Tablet 14.1" v5.1e Genius G-Pen M714X Aiptek MediaTablet 14000u WMK-H141 Trust item #15358 Adesso CyberTablet 14000 M14 iVista Media Tablet 14.1 PENTAGRAM O'pen Wide P 2004 | <!--Vendor ID-->0X172f | <!--Product ID-->0X0500 | <!--Revision-->0114 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet - Stylus (Pen) X 16838 Y 16838 Tip Pressure 1023 }} |- | <!--Description-->Waltop PID 0038 Genius G-Pen F509 Manhattan 177405 | <!--Vendor ID-->172f:0038 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop PID 0052 Yiynova MSP19 | <!--Vendor ID-->172f:0052 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Q Pad Aiptek HyperPen Mini NGS Flexi Style VisTablet PenPad iVistaTablet Q Flex Pad Bravod Q-PD65-S Trust Flex Design Tablet (#16937) | <!--Vendor ID-->172f:0037 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Sirius Battery Free Tablet VisTablet Muse PENTAGRAM Designer P 2700 Princeton PTB-S1BK | <!--Vendor ID-->172f:0502 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 12.1" Genius G-Pen F610 Trust Slimline Widescreen Tablet (#16529) VisTablet Original 12" Adesso CyberTablet Z12 Adesso CT-Z12A PenPower Tooya Pro Aiptek Slim 12.1 Inch Aiptek SlimTablet 600u Premium II NGS Slim Proguess iVistaTablet Slim 12.1 PENTAGRAM ThinType P 2006 | <!--Vendor ID-->172f:0034 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 5.8" Genius G-Pen F350 Trust item #16485 VisTablet Mini iVistaTablet Slim 5.8 | <!--Vendor ID-->172f:0032 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Venus S Tablet Trust eBrush Widescreen Tablet (#17939) | <!--Vendor ID-->172f:0503 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Aiptek GmBH MediaTablet Ultimate II - 16:10 Professional Graphic Tablet Model 1400U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Hanvon Beijing HanWang HW Micro Drawing Tablet ET0504U | <!--Vendor ID-->0x0b57 | <!--Product ID-->0x8030 | <!--Revision-->01111 | <!--Opinion-->{{No|does not work - recognised as an HID mouse - no tablet extensions detected}} |- | <!--Description-->KYE EasyPen 340, Genius EasyPen 340 | <!--Vendor ID-->0458:5014 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Aiptek Hyper Pen 6000u PC Tablet APT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|detected but does not work - win98 era cordless 6in by 4.5in - }} |- | <!--Description-->nisis T-8000U APT-2 Aiptek rebadge | <!--Vendor ID-->0x08CA | <!--Product ID-->0x0021 | <!--Revision--> | <!--Opinion-->{{No|A5 detected but no responses }} |- | <!--Description-->Acecad Flair II GT-504 Init Fkt Fkt 0x5ab450c0 AIPTEK HyperPen 10000 U Aiptek HyperPen 10000U, AIPTEK Slim Tablet U600 Premium II | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ace Cad Enterprise Co., Ltd Tablet - 5x3.75 drawing area | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bosto's | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} UCLogic Digitizer |- | <!--Description-->Adesso CyberTablet Z7, Adesso CyberTablet 12000, Adesso CT-12000A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->UC-Logic / Lapazz WP8060, UC-Logic / Lapazz PF1209, UC-Logic / Lapazz Artistic Tablet 5540, Manhattan 8"x6", Manhattan 3"x4", Manhattan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested but suspect not working}} |- | <!--Description-->DigiPro 5.5×4” Graphics Tablet Digital Ink Pad (A4 format) DigiPro WP8060, DigiPro WP5540, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-pen G-Pen 4500 Genius Wizardpen Genius Mousepen Genius Easypen i405 M610 Genius PenSketch 9x12, Genius MousePen i608, Genius MousePen 8x6, Genius MousePen / WizardPen 5x4, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-Pen F610 Genius G-Pen M610 Genius G-Pen 340 (UC-LOGIC Tablet WP4030U) Genius G-Pen 450 (UC-LOGIC Tablet WP5540U) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius UC-LOGIC iBall Tablet PF8060 iBall Iball Pen Tablet 8060U, Iball Pen Tablet 5540U, Iball Pen Tablet 4030U, Iball Design Tablet PF1209, NGS CADBOY (UC-LOGIC Tablet WP5540U) Pentagram QWare | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust TB-3100 Trust TB-5300 Trust 15356 Trust TB-6300 Trust 15357 WP8060U Slimline but bulky with metal backing A5 size Trust 16486, Trust 16447, Sketch Design Tablet, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|clashes with usb and crashes AROS }} |- | <!--Description-->UC-Logic Tablet WP1062 Aiptek HyperPen 10000U Monoprice 10X6.25 Inches Graphic Drawing Tablet Pickle 10x6.25 Inch Graphic Drawing tabletguess | <!--Vendor ID-->5543:0064 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | [ VTech KidiPhoto Art Studio] | | | | {{yes|works}} |- |} Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position, Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer. Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531&nbsp;kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity. In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer. If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [http://tech.groups.yahoo.com/group/highway_usb/message/2394]}} === Handheld Barcode Scanner Readers === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Farsun 9100 barcode scanner 0-12" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola Symbol LS2203 CMOS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Tysso | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Simple}} Code 11, Code 39, Code 93, Code 128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, MSI/Plessey, Telepen, Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5 |- | <!--Description-->Unitech MS320 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WCS3905 CCD 1" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Code 93, Matrix 2 of 5, Industrial 2 of 5, Code 39, UCC/EAN-128, ISBN, Code 32, EAN/JAN-8 , EAN/JAN-13 , UPC-A, UPC-E, Codabar, Code 128, Code 11, Interleaved 2 of 5, MSI-Plessey, China Post, IATA 2 of 5, ISSN, UK-Plessey |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic Touch 90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Intermec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Metrologic MK9540-32A38 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola LS2208 Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WWS800 Laser 1D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic GD4130-BK-C066 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell 1202G-1USB-5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola / Symbol DS6707-DC20007ZZR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->DataMan 8000 2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Voyager 9520/40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Metrologic MS1690 USB 2D Barcode Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} QR Code GS1 Databar PDF417 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Syscan GM800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} [http://www.scandit.com/2011/11/04/types-of-barcodes-choosing-the-right-barcode-type-ean-upc-code128-itf-14-or-code39/ Types of Barcode] <pre> UPC-A Grocery most common Code 128 EAN-13 Library Books ISBN & ISSN, Code 39 Codabar blood bank, 2D barcodes such as Data Matrix PDF417e Maxicode Aztec QR Code old Nokia handsets, MicroPDF417 </pre> ===TouchScreens=== Projected capacitive (PCAP) touch screen product, amongst many options the widely used are I2C and USB *USB host–device structure which dominates consumer and industrial electronics devices where higher bandwidth needed and user-friendly (multiswipes) *I2C Inter-Integrated Circuit simple serial standard for LCD display in embedded systems because of cost and low power *SPI arduino and rpi single boards We cover the USB here {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | eGalax Touch 4a | 0eef | 0001 | 0001 | {{yes|2009 works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lilliput HDMI Monitors 669GL-70NP/C/T (7 inch) 869GL-80NP/C/T (8 inch) FA1011-NP/C/T (10 inch) FA1046-NP/C/T (10 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iilyama Prolite Monitors PROLITE T1513SR-1 (15 inch) PROLITE T1730 (17 inch) PROLITE T1713SR-1 (17 inch) PROLITE T1913SR-1 (19 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Smart Display Company (SDC) Touchscreens TFT Monitors TOUCH-TFT-TS07 (7 inch) TOUCH-TFT-TS08 (8 inch) TOUCH-TFT-TS10 (10 inch) TOUCH-TFT-TS12 (12 inch) TOUCH-TFT-TS15 (15 inch) TOUCH-TFT-TS17 (17 inch) TOUCH-TFT-TS19W (19 inch wide) TOUCH-TFT-TS22W (22 inch wide) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC Monitors 7 inch models 700TSH 700TSU 700TSV 702TSV 705TSV 706TSA 700IDT MDT-X7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC 8 inch models: 800TSV 805TSV 10 inch models: 1020TSV 1026TSA 1040TS 12 inch models: 1200TS 1200TR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Asus VT229H 21.5" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CUQI 7" Monitor Touchscreen 1024x600 IPS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Espresso 15" Portable Touchscreen Display Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hannspree HT225HPB 21.5 inch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->WaveShare 13.3inch HDMI LCD (H) (with case) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ===GPS tracking, running, cycling, biking, walking, hiking, ORIENTEERING, boaters and mapping=== Support for OpenStreetMap but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb, Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs, NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case). Equivalent apps - merkator, mapsource, {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Garmin gpsmap 180 GPS/chart plotter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->1992 GARMIN GPS 55 AVD Portable System | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPS V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - waas pinpoint within 3 metres - nmea - 4AA battery}} |- | <!--Description-->Garmin GPS 12 12XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Legend C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin eMap | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|possibly through usbmodem rs232 connection nmea 0183 protocol}} |- | <!--Description-->Garmin eTrex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} rs232 these older units supported it and would provide the stream in either the standard NMEA 0183 format or a proprietary Garmin format. |- | <!--Description-->Garmin GPS 75 AVD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Map 7000 model 45006 (1994) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Tracker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan Pioneer Satellite Navigator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS 300 315 320 Mentor Receiver (2003) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Not for dedicated sat nav units like the Nuvi, TomTom, etc | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NaviLock NL-402U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested u-blox 5 SuperSense® chipset with receivers for GPS, GLONASS, Galileo, BeiDou and QZSS}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->GM1-86UB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| U-BLOX UB-6010 GGA,GSA,GSV, RMC and support VTG, GLL, TXT ublox binary and NMEA Command Dynamic Condition }} |- | <!--Description-->NAVILOCK GPS NL-602U USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|works via usbmodem.device - ublox ag 6 chipset - 50 channel}} |- | <!--Description-->TOPGNSS ton Receiver & Antenna GM702 u-blox 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|UBLOX7020 chip design bloc u-blox}} |- | <!--Description-->VK-162 G-MOUSE u blox 7 | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A|UBX G70xx with RMC VTG GSV TXT GLL GGA GSA}} |- | <!--Description-->VK-172 u-blox 7 G7020-KT gps gnss white pen stick receiver - over 1 inch long | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A| detected as cdc controlled plug in device - 18x18x2mm patch antenna but can be slow to update - nmea 0183 and ublox binary protocol}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GlobalSat BU-353 WaterProof USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested SiRF Star III}} |- | <!--Description-->Haicom HI-206 USB GPS receiver with RS-232 interfaces, RJ11 and PS/II connector EB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|usb-serial prolific pl2303 detected but GSP3F SiRF Star IV technology not detected or bound}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->BT760Y, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 5 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 6 GPS chipset - 65 channel}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 7 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 8 GPS chipset - 167 channels}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Garmin Colorado 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB |- | <!--Description-->Garmin Geko 101 201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} limited waas enabled only - waypoints - aaa battery |- | <!--Description-->Garmin Edge 200 bike mount | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin ForeRunner 10 15 watch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Montana 600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Dakota 10 20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Map76s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Oregon 450T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB nmea 0183 |- | <!--Description-->Garmin eTrex 10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - no nmea0183 sentences data stream output - configuration an option to set it to "Garmin" mode, or "Mass Storage" mode. Since the mass storage mode seems to be required for waypoint/track/etc data exchange, the 'Garmin' mode would be for this data stream. Yet putting it in that mode doesnt seem to produce anything.}} |- | <!--Description-->Garmin Oregon 650T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPSMAP 64S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->GPSMap 78S or GPSMap 76CSX which has a NMEA port for talking to Nav equipment | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->Garmin eTrex Vista Cx GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - 2AA battery}} |- | <!--Description-->Garmin GPSmap 276c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 2000 XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan Triton 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} SiRFstarIII™, Antenna Type Multidirectional Patch with WAAS, EGNOS, MSAS support |- | <!--Description-->Magellan Triton 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==massstorage.class (MSC/UMS - most cameras and mp3 players)== === USB Card Readers === {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Installing ! width="15%" |Booting ! width="30%" |Opinion |- | A-Tec Model CR-362 | | | | <!--Installing--> | <!--Booting--> | {{N/A|untested}} |- | [http://www.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=200406&pcount=&Product_Id=179164 Belkin 15 in 1 Card Reader] | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Conrad CP440 60 in 1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works on a1k forum}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Genesys Gtech Logic 19 in 1 | 0x05E3 | 0x0710 | High 0200 | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Hama 19 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | Hama 35 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Integral Single Slot SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kingston USB 3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexar microsd adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} but wider than Sandisk version - could block other slot if below |- | Pretec CardDriver | | | | <!--Installing--> | <!--Booting--> | {{no|no driver}} |- | Sandisk MicroMate | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Sandisk MobileMate SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Sandisk MobileMate Micro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} has satisfying 'click' when microsd inserted |- | <!--Description-->Sandisk MobileMate Duo MicroSD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} no 'click' insertion uses pressure so future wear and tear issues |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Serena metal cased microsd only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | <!--Description-->Serena "Sandisk MobileMate" look-alike | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | SilverCrest 16in1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Transcend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P5 8 in 1 TSRDP5K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P8 15 in 1 TSRDP8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Zyxel integralmemory 8 in 1 | 0x0aec | 0x3260 | | <!--Installing--> | <!--Booting--> | {{no|not detected}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- |} === USB Hard Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Datel MaxDrive | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Inateck 2.5 Inch USB 3.0 Hard Drive Disk Enclosure/ Case (FE2001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Full USB 3.0 port but plastic teeth keeping drive in place can snap |- | <!--Description-->Inateck case (FE2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} full USB 3.0 port - updated design |- | <!--Description-->Inateck case (FE3001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} wider USB 3.0 port and no on/off switch Jmicron JMS578 chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Iomega Desktop Hard Drive 500GB, 3,5“, USB2.0 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Samsung | | | | {{N/A|untested}} |- | Samsung | | | | {{N/A|untested}} |- | Samsung T3 SSD | | | | {{N/A|untested}} USB 3.1 Gen 1 space grey / black metal/ plastic |- | Samsung T5 SSD | | | | {{N/A|untested}} USB 3.1 Gen 2 256GB 512GB alluring blue 1Tb 2Tb black unibody metal |- | Samsung | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Toshiba Canvio 1TB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|partition fat32 or sfs to 100GB max - ntfs partitions not detected out of the box - select usb drive in trident prefs and press disable to shutdown}} |- | Verbatim 160GB Smartdisk | | | | {{yes|works }} |- | Western Digital USB | | | | {{N/A|untested}} |- | <!--Description-->WD Essential | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->WD Passport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === USB DVD CD ROM Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm enclosure mini-sata dvd-rw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested needs sole usb3 port to power it}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->9.5mm enclosure ECD829 mini-sata dvd-rw with Initio Corporation INIC-1618L SATA | <!--Vendor ID-->0x13fd | <!--Product ID-->0x0840 | <!--Revision--> | <!--Opinion-->{{N/A|untested but probably needs sole usb3 port to power it}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === USB to NGFF NVMe SDD HDD DVD CD ROM Drives === The older Jmicron JMS539B seems to result in massive filesystem corruption given the amount of corrupted content. Prehaps always avoided Jmicron and opted for Asmedia even if it costed a bit more. Realtek seems to be working okay for me generally speaking and newer Jmicron chipsets are less buggy – but evidently not perfect. From [https://goughlui.com/2025/08/17/psa-validate-your-storage-jmicron-jms583-kioxia-bg4-series-ssd-issue/ thread] Here is a [https://forums.anandtech.com/threads/stable-nvme-usb-adapter.2572973/ very long thread] that discusses data corruption and stability issues with these bridges. The majority of the posts are complaining of dropouts, hangs and the like, which usually down to either a poor USB 3.x implementation (SuperSpeed connections are very picky as to cables, ports and trace routing) or problematic compatibility. Regardless, the [https://www.legitreviews.com/jmicron-jms583-controller-version-matters-for-portable-usb-drives_219422 JMS583 is known to have several versions] noting that the last revision (C) in that article is a 2021 release which should fix earlier stability and cable quality compatibility issues. JMS583-STD-Release-v00.02.01.04-Bus Power.bin is the latest JMS583 firmware as of August 2025. Early firmware RTL9210 seems to have issues as well * RTL9210B * JMS583 rev1 with firmware A2 or A3 * RTL9210A * JMS583 firmware 2.0.9 * Asmedia ASM2362 * RTL9201A The reference Hardware ID for the JMS583 chipset from JMicron is: VID_152D&PID_0583&REV_0209 where "VID_152D" identifies a JMicron product; "PID_0583" is the generation chipset; "REV_0209" is the firmware version installed. In the same way, the reference Hardware ID for the RTL9210 from Realtek is: VID_0BDA&PID_9210&REV_3100 "VID_0BDA" is for a Realtek product, "PID_9210" is referred to the chipset and "REV_3100" to the firmware. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ASM1153E / ASM1153 with firmware 140509_A1_82_40 or 141126_A1_EE_82. Both supports UASP and TRIM on USB 3.1 Gen.1 adapter | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->ASM235CM Ugreen aluminum bridging the USB3.2 Gen2x1 to Serial ATA host interface | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TI 9261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASM225 | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->JMicron JMS578 issues USB 3.1 Gen.1 adapter | <!--Vendor ID-->152d | <!--Product ID-->0578 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMicron JMS576 issues USB 3 to usb-c adapter | <!--Vendor ID-->152d | <!--Product ID-->0576 | <!--Revision--> | <!--Opinion-->{{maybe|orico}} |- | <!--Description-->JMS562 JMicron Technology Corp | <!--Vendor ID-->152d | <!--Product ID-->0562 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMS561U | <!--Vendor ID-->0x152d | <!--Product ID-->0x1561 | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->VL716Q4 Orico black meshed aluminum usb c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053E | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASmedia ASM1051E | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053 | <!--Vendor ID-->0x174C | <!--Product ID-->0x1536 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM104x | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x1042 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Unknown Chinese version | <!--Vendor ID-->0x0bc2 | <!--Product ID-->0x2312 | <!--Revision--> | <!--Opinion-->{{maybe|sometimes works}} |- | <!--Description-->JMicron N5321 gr | <!--Vendor ID-->0x152d | <!--Product ID-->0xa583 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Initio Corp INIC-1618L mini slimline sata 6 + 7 pins to usb2 adapter | <!--Vendor ID-->0x13FD | <!--Product ID-->0x0840 | <!--Revision-->0114 | <!--Opinion-->{{maybe|sometimes works mini sata to usb2 detects 201x laptop DVD as MassStorage(CD/DVD) but may need powered USB hub}} |- | <!--Description-->Unknown mini sata to usb3 adaptor | <!--Vendor ID-->0x01F75 | <!--Product ID-->0x0621 | <!--Revision-->0036 | <!--Opinion-->{{maybe|sometimes works mini sata to usb3 detects 201x notebook DVD drive as MassStorage(SCSI) but 5V 1.5Amp needs powered hub to burn }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === External Floppy === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->[http://techtravels.org/amiga/amigablog/ Amiga Floppy Project] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=842 Catweasel Mk4] | 0xE159 | 0x0001 | 0x00 | {{yes|[http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage works]}} |- | <!--Description-->[http://hxc2001.free.fr/floppy_drive_emulator/ HxC Floppy Emulator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.softpres.org/glossary:kryoflux KyroFlux] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->Samsung SFD-321U/EP USB Floppy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.cbmstuff.com/proddetail.php?prod=SCP SuperCard Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://www.facebook.com/groups/greaseweazle Greaseweazle STM hardware], [https://cowlark.com/fluxengine/index.html Greaseweasel support], [https://github.com/keirf/Greaseweazle/wiki software], [https://amigakit.amiga.store/greaseweazle-p-91279.html buy], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->FL-2501 USB Portable Diskette Drive | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2009 usb - [https://amiga.robsmithdev.co.uk/ Drawbridge] [https://github.com/RobSmithDev/ArduinoFloppyDiskReader software] ribbon cable compat with p/n 19308801-19 and s/n U356244 - model ASM P/N 27l4226 and FRU P/N 05k9283 - |- | <!--Description-->Dell Floppy Drive Module USB External 3.5" - Teac FD-05PUB 1.44mb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2004 usb 1.1 |- | <!--Description-->USB FLOPPY DISK DRIVE (USB External Floppy Disk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/SukkoPera/OpenFlops OpenFlops] with [https://github.com/keirf/flashfloppy FlashFloppy] Gotech clone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/hmerrett/HenryFlops HenryFlops reworked OpenFlops] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} ==ptp.class (PTP and MTP - other cameras and mp3 players)== === Cameras === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Canon EOS 20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | <!--Description-->Canon 350D (also known as the Digital Rebel XT/Kiss Digital N) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 DIGIC II processor 8-megapixel }} |- | <!--Description-->Canon PowerShot A430 A560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | <!--Description-->Canon EOS 400D (XTi) digital SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Canon EOS 1000D also known as Rebel XS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2mp 720p }} |- | <!--Description-->Canon 450D aka Rebel Xsi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 12.2mp }} |- | <!--Description-->Canon PowerShot S90 S95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 2010 720p video - 10Mpixel }} |- | <!--Description-->Canon Powershot SD960 IS Digtal ELPH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 Still Image: Exif 2.2 (JPEG), Movie: MOV (Image: H.264; Audio: Linear PCM) Lithium-ion Battery Pack NB-4L }} |- | <!--Description-->Canon EOS 500D aka Rebel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 1080p 15.1MP Lithium }} |- | <!--Description-->Canon EOS 550D 600D aka Rebel T2i T3i DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010-2011 1080p 18MP Lithium LP-E8 }} |- | <!--Description-->Canon Powershot S100 S110 S120 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011-2013 720p-1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1100D DSLR Camera aka Rebel T3 SLR, EOS Kiss X50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p 10Mpixels Lithium }} |- | <!--Description-->Canon EOS 650D 700D aka Rebel T4i T5i T6i SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2013 1080p 18Mpixels Lithium LP-E8 articulating flip out twistable screen }} |- | <!--Description-->Canon ELPH 300 HS (IXUS 220 HS) 230 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 blogging camera }} |- | <!--Description-->Canon PowerShot N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 12.1 MP CMOS, DIGIC 5 Wifi Lithium Battery Pack NB-9L }} |- | <!--Description-->Canon Powershot G7 X, G7X-II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014-2016 1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1300D DSLR Camera aka Rebel T6 SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 1080p 16Mpixels Lithium }} |- | <!--Description-->Canon Powershot G7x G5X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| G7X flip up and G5X flip out - same batteries - no external microphone input - }} |- | <!--Description-->Canon EOS M3 M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| flip out - same batteries - }} |- | <!--Description-->Canon EOS 60D 70D 80D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon 6D 7D 8D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Canon 5D Mark II III IV DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix A850 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FujiFilm Finepix F100fd | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix F810 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xf1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| pocketable exr cmos 12mp }} |- | <!--Description-->Fuji xt1 x-t1 x10 x-t10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 1080p }} |- | <!--Description-->Fujifilm x100 x100s x100t | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xPro1 xPro2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xt2 / x-t2 x-t20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K video }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->GoPro HERO 3 HERO4 HERO 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon D100, D60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 Compact flash storage - non interchangeable lenses up to 12.3MP sensor }} |- | <!--Description-->Nikon D50, D50x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 storage - 6.1MP sensor }} |- | <!--Description-->Nikon D70, D80, D90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 Compact flash storage - 10MP sensor }} |- | <!--Description-->Nikon D40, D40x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 storage - 10MP sensor }} |- | <!--Description-->Nikon D300, D700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 storage - 12.3MP sensor }} |- | <!--Description-->Nikon D2Xs, D2Hs, D3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006-2008 storage - sensor }} |- | <!--Description-->Nikon D3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 720p video }} |- | <!--Description-->Nikon D5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 720p video unlike D3000 }} |- | <!--Description-->Nikon D6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16mpixel}} |- | <!--Description-->Nikon D7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16.2mp 720p video }} |- | <!--Description-->Nikon L26 L27 L28 L29 L31 Coolpix compact cameras | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video - 2 AA - pocket sized }} |- | <!--Description-->Nikon D3100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video 14.2mp}} |- | <!--Description-->Nikon D5100 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16.2mp 720p}} |- | <!--Description-->Nikon L810 L820 L830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 720p video }} |- | <!--Description-->Nikon D4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 storage - sensor }} |- | <!--Description-->Nikon D7100 D7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 up to 24.2mp 1080p video }} |- | <!--Description-->Nikon D3200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 1080p 24MPixel}} |- | <!--Description-->Nikon D5200 D5300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 24.1MP 1080p }} |- | <!--Description-->Nikon D800 D600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 1080p video sd card storage - dust/oil issue at start}} |- | <!--Description-->Nikon D3300 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24.2MP 1080p }} |- | <!--Description-->Nikon D500, a high-performance DX-format (APS-C) DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description-->Nikon D3400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP 1080p }} |- | <!--Description-->Nikon D5500 D5600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016-2018 24.1MP 1080p }} |- | <!--Description-->Nikon D810 D610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 1080p video sd card storage }} |- | <!--Description-->Nikon D7300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K UHD video }} |- | <!--Description-->Nikon D900 D850 D820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4k 46MP }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus C-370 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3.2mp }} |- | <!--Description-->Olympus Camedia C-725 Ultrazoom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3mp aa batteries, }} |- | <!--Description-->Olympus Evolt E-500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 8mp }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus Evolt E-410 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Olympus Evolt E-510 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 10MP Live MOS sensor with TruePic III processor, }} |- | <!--Description-->Olympus E-420 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-620 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 12.3mp, compactflash, xD and microdrive cards, }} |- | <!--Description-->Olympus E-30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Olympus E-450 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10mp, }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pentax * ist DS DSLR camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1mp }} |- | <!--Description-->Pentax K10D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 10.2mp APS-C CCD no video and older manual Pentax K-mount lenses}} |- | <!--Description-->Pentax K20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2008 14.6MP APS-C but no video recording mode }} |- | <!--Description-->Pentax K30 K-5 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2012 16MP full HD (1080p) recording at 24/25/30 fps}} |- | <!--Description-->Pentax K-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP 1080p }} |- | <!--Description-->Pentax K-3 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24MP }} |- | <!--Description-->Pentax K-3 III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 25.7MP BSI CMOS sensor }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix LZ10 LZ20 DMC-LZ30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 720p video }} |- | <!--Description-->Panasonic TZ1 TZ5 TZ9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix GH1 GH2 like the DMC-GH2HEB-K - GH3 DMC-GH3HEB-K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Four Thirds (GH2) MFT Micro Four Thirds (GH3) limited to 29mins recording }} |- | <!--Description-->Panasonic AF series AF100 AF101 AF102 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix DMC-G2 DMC-G3 G5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic TZ60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic DMC LX7 10 LX15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic GF7 GX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic G80 G85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 }} |- | <!--Description-->Panasonic GH4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 - shooting in MOV or MP4 formats recording limited to sd card size but split files because the FAT32 file system only supports files up 4GB in size, which amounts to around 5 minutes of 4K (100mbps) footage - GH4 appears to create 4GB files as a rule, regardless of whether the memory card’s file system supports larger files or not - }} |- | <!--Description-->Panasonic GH5 gx80 gx85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Effective: 20.3 Megapixel 5184 x 3888 - 2 sd card slots compatible with high-speed, high capacity UHS-II - sd card v rating like the v90 should record at 60MB/s to be compatible with the GH5 in the All-I format - possible file corruption with .mdt files - new firmware 2.0 update, the Panasonic GH5 becomes the first 5K - }} |- | <!--Description-->Panasonic FZ2000 FZ2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung WB100 WB1100 WB150 WB2200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 16MP }} |- | <!--Description-->Samsung NX11 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung NX200, NX20, NX1000 and NX210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 20.3Mp APS-C sized CMOS image sensor }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo Xacti CG65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony Alpha DSLR-A100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1MP }} |- | <!--Description-->Sony Cyber-shot DSC camera models W110 W220 H300 H400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Sony Alpha DSLR-A200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2MP }} |- | <!--Description-->Sony Alpha DSLR-A230 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10.2MP }} |- | <!--Description-->Sony A290 DSLR Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 14.2MP }} |- | <!--Description-->Sony Cybershot HX20V HX30V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 18mp 720p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony Cybershot HX50V HX60V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 20.2MP 1080p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony A77 A99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description-->Sony WX100 WX150 wx220 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 2014 }} |- | <!--Description-->Sony NEX-6 Sony NEX-7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16 to 24MP }} |- | <!--Description-->Sony NEX-3N Sony NEX-5N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 16MP }} |- | <!--Description-->Sony α58 Sony α68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 20.1 MP 2014 24mp }} |- | <!--Description-->Sony rx100 mk III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1MP 1.0-type back-illuminated Exmor R CMOS sensor, often after boot-up, the motor starts running for no reason for first versions' - }} |- | <!--Description-->Sony α5000 a5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1 Megapixel APS-C Exmor APS HD CMOS 1080p Sony E-mount [https://github.com/ma1co/Sony-PMCA-RE hack] using [https://www.youtube.com/watch?v=8M4hR9HiOzM this] }} |- | <!--Description-->Sony α6000 a6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP APS-C sensor }} |- | <!--Description-->Sony α7 A7S a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 mirror less - more compact }} |- | <!--Description-->Sony α77 II, α99 II, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24.3 MP, 2016 42.4mp }} |- | <!--Description-->Sony rx100 mk IV V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2016 }} |- | <!--Description-->Sony RX0 RX zero, RX0 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2017 }} |- | <!--Description-->Sony α6500 a6500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP APS-C sensor 4K }} |- | <!--Description-->Sony α7 Alpha 7 II E-mount interchangeable lens mirrorless camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 24.2mp, }} |- | <!--Description-->Sony α7 A7Sii a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 mirror less - more compact }} |- | <!--Description-->Sony a7 III α77 ILCE7M3/B Full-Frame Mirrorless Interchangeable-Lens Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 24.2mp, }} |- | <!--Description-->Sony ZV-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 24mm optical zoom, }} |- | <!--Description-->Sony ZV-1F | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 entry-level vlogging, 1-inch 20.1MP, ultra-wide 20mm f/2 prime lens}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} <pre > Lens Mounts Canon EF EF-S Nikon F Panasonic Olympus OM Pentax DA, FA, F, A, M, and K series Fujifilm X mount </pre > <pre > Sensors APS-C S35 Full Frame 43 Four Thirds M43 MFT Micro four thirds </pre > === Digital Voice Recorder Dictaphone Dictation Machine Handheld === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2011 }} |- | <!--Description-->Olympus VN-7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested 2012 no usb }} |- | <!--Description-->Olympus VN-7500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2012 }} |- | <!--Description-->Olympus VN-7600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2013 }} |- | <!--Description-->Olympus WS-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested usb}} |- | <!--Description-->Olympus VN-7700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-8600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-711PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-712PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-731PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus WS-811 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested slide out usb-a - aaa battery - ok recordings }} |- | <!--Description-->Olympus VN-540PC Olympus VN-541PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Philips DVT1250 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX470 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX570 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} === USB eBooks Readers drm free EPUB version 2.0.1 (2007), 3.0 (2011), 3.1 (2015) or [https://www.w3.org/TR/epub-33/ 3.3 (2024)] [https://github.com/thansen0/sample-epub-minimal epub examples] formats access === EPUB file format is an open standard based on XHTML for content and XML for metadata, contained in a zip file archive PDF v2.0 in 2017, 2009 takeover by ISO Org, 1.7 in 2006 , 1.6 in 2005, 1.4 in 2001, 1.3 in 1999, 1.0 in 1993 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Barnes and Noble Nook Simple Touch NST BNRV300 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0003 | <!--Revision--> | <!--Access-->when finding the right micro usb cable that works, internal nook memory not accessible but sd card fat32 readable and writable outside | <!--Opinion-->{{N/A|2011 6in 600x800 e-ink 16 grayscale .jpg}} battery remove sd card and Torx T5 back top for Cameron Sino CS-BNR003SL - USA 1.2.2 md5sum 351e26527e80156183e74be2da2ce89f *nook_1_2_update.zip - 1.2.1 UK fdba3981f7f221cc5143db6329645bc2 *nook_1_2_update.zip - skip registration, Turn on the device, but do NOT start setting it up. Hold down the top right button on the front of the device and slide your finger from left to right across the top of the E Ink screen. A ‘Factory’ button should appear in the top left corner of the screen. Press it. Once in the Factory menu, hold down the top right button on the front of the device and tap the bottom right corner of the screen should now see a ‘Skip Oobe’ button. Tap that and the Nook should finally load the home screen. Poor battery management - |- | <!--Description-->Barnes and Noble Nook Simple Touch with Glowlight *2012 Nook Simple Touch with GlowLight BNRV350 *2013 Nook GlowLight BNRV500 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0004 0x0007 | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2012 untested }} perform a hard reset: Turn off the nook completely, turn it on, as soon as you see the screen flash begin holding the bottom page turn buttons until the screen flashes with a message asking reset, press the 'n' key twice to start the reset - Poor battery management - |- | <!--Description-->Nook Glowlight 4 Plus 7.8-inch screen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} Poor battery management - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *NOOK 1st Edition (2009-2018) BNRZ100 *NOOK Color (2010-2024) BNRV200 *NOOK Tablet (8GB/16GB) (2011-2024) BNTV250A / BNTV250 *NOOK HD (2012-2024) BNTV400 *NOOK HD+ (2012-2024) BNTV600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Elonex 511EB | <!--Vendor ID-->045e:ffff | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 untested Preferences->advanced->debug device detection}} |- | <!--Description-->[https://jaforeck.wordpress.com/2012/08/05/ready-to-meet-viktor-navorski-gained-access-to-elonex-621ebs-terminal-52/ Elonex 621EB] eBook | <!--Vendor ID-->0x1f85 | <!--Product ID-->0x1688 | <!--Revision--> | <!--Access-->unlocked ootb | <!--Opinion-->{{N/A|2010 untested usb mini charging 6" diagonal eInk Screen - 800 x 600 pixels, 8 Level 166dpi Paperlike screen, Embedded 1GB Flash NAND, full SD Card Slot up to 16GB - WAV, MP3, JPG, PNG, BMP, GIF support and ePub and PDF(with reflow) (TXT, HTML) support}} |- | <!--Description-->Elonex 700eb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2011 untested adjust screen blanking by menu then settings then device standby, you can then turn it off}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->iRiver Story HD eBook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} freescale imx.508 arm mcimx508cvkbb cpu with 2gb samsung nand, m13892aj charging chip, eb07_main_mp1_110321 mobo, mini usb, atheros ar61026 wifi - |- | <!--Description-->iRiver Story | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Rakuten Touch A/B kobo3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Touch C, Kobo Mini, Kobo Glo N613, Kobo Aura HD N514 N204 kobo4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura, Kobo Aura H2O, kobo5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2013 6in untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v1, Kobo Glo HD, Kobo Touch 2.0, Kobo Aura ONE N709, Kobo Aura ONE Limited Edition, Kobo Aura Edition 2 v1 N236, kobo6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v2, Kobo Aura Edition 2 v2, Kobo Nia, Kobo Clara HD, Kobo Forma, Kobo Libra H2O kobo7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Elipsa, Kobo Sage kobo8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *Kobo Libra 2 kobo9, Kobo Clara 2E kobo10, Kobo Elipsa 2E kobo11 *Kobo Libra Colour kobo13, Kobo Clara BW, Kobo Clara Colour kobo12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pandigital Personal eReader aka? Papyre 6.2 very similar to BQ Avant Firmware | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 350 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 epub bbeb cbz untested }} |- | <!--Description-->Sony PRS-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle K1 D00111 - Main Menu=: Settings: Menu=: Device Info shows S/N | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0002 | <!--Revision-->100 | <!--Access-->256mb | <!--Opinion-->{{N/A|2007 untested Marvell Xscale PXA255}} |- | <!--Description-->Kindle K2, D00511 170-1012-00, D00701 D00801 S11S01B * k2 means K2 US * k2i means K2 GW * dx means KDX US * dxi means KDX GW * dxg means KDX Graphite | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0003 | <!--Revision-->100 | <!--Access-->2gb unless jb | <!--Opinion-->{{N/A|2010 untested Freescale i.MX31 }} the Kindle is a small computer running Linux 2.6 on an ARM processor |- | <!--Description-->AMAZON Kindle D00901 3rd Gen with keyboard - Menu, Settings for S/N and then Menu again to choose Update * S/N starts B006 means k3g aka K3 3G US * S/N starts B008 means k3w aka K3 WiFi * S/N starts B00A means k3gb aka K3 3G UK EU - debug mode with ;debugON and ~help | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0004 | <!--Revision-->100 | <!--Access-->{{yes|4Gb internal no access until jailbroken JB}} | <!--Opinion-->2010 with mobi and azw3 formats only - micro usb 5v 0.85a - freescale i.mx35 ARM soc with 12bit parallel interface with epson e-ink cpu, 256MB synchronous dynamic RAM, 4GB eMMC internal memory only but no sd slot, MC13892 PMIC - atheros wifi 54mbit pci-e a e keyed wifi - ?? later models wm96103 audio codec - display has 2Mbit serial memory ic on ribbon cable with 4bpp inverse grayscale display not touchscreen - 3g module - screen replacement really annoying - 4 test points near T07 = TX RX GND ? - as of 2025, JB v0.13.N, MKK2014, MKK2025, KUAL, KoReader Legacy2025, and maybe later SS v0.47.N, Python 0.14.N, Fonts v5.16.N, USBNet v0.57.N - USB-downloader mode when Vol+ is pressed during startup - Shift + Alt + M for Minesweeper - |- | <!--Description-->Amazon Kindle 4th Generation k4 D01100 two buttons, square movement and two buttons at bottom *B00E plastic back clipped in [https://www.youtube.com/watch?v=LV1dyNkjjro many places] and strongly taped down to battery cover | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0005 | <!--Revision-->100 | <!--Access-->2gb unless jb with USB MS, USBMS aka also known as USB MSC or UMS | <!--Opinion-->{{unk|2012 once back off use Torx T5 to remove battery cover screws - battery glued down S2011-001-A 515-1058-01 DR-A015 MC-265360 - Freescale i.MX508 SOC, 2Gb eMMC storage, 256MiB of LPDDR1, MC13892 PMIC - vendor modified u-boot imximage based on u-boot v2009.08 - USB-downloader mode press the fiveway down button during startup resetmykindle - as of 2025 upgrade firmware from 4.1.x and to 4.1.4, sign into account and copy jb.1.8 bits, mkk-2014, mkk-2025, kual and then uninstall kual, koreader2025 - }} |- | <!--Description-->Kindle Touch WiFi (Kindle 5th Gen) D01200 K5, KT *Once signed into an Amazon Account get S/N under Settings -> Device Options *B00F Kindle Touch 3G + WiFi (Kindle 5) (U.S. and Canada) [Mostly] *B011 Kindle Touch WiFi (Kindle 5) *B010 Kindle Touch 3G + WiFi (Kindle 5) (Europe) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0006 | <!--Revision-->100 | <!--Access-->4gb unless jb | <!--Opinion-->{{unk|2013 touchscreen i.MX508 SOC, 256MiB of LPDDR1 and USB-downloader mode by the SOC microcode when a specific key is pressed during startup: the home button on model D01200 - update firmware 5.3.2 to 5.3.7.3, access account, }} |- | <!--Description-->Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] PW <pre> B024 Kindle PaperWhite WiFi B01B Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] B020 Kindle PaperWhite 3G + WiFi (Brazil) B01C Kindle PaperWhite 3G + WiFi (Canada) B01D Kindle PaperWhite 3G + WiFi (Europe) B01F Kindle PaperWhite 3G + WiFi (Japan) </pre> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0007 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk|2013 Freescale i.MX508 }} |- | <!--Description--> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0008 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle PaperWhite 2 (2013) PW2 *B0D4, 90D4 WiFi (U.S., Intl.) *B05A, 905A WiFi (Japan) *B0D5, 90D5 3G + WiFi (U.S.) [Mostly] *B0D6, 90D6 3G + WiFi (Canada] *B0D7, 90D7 3G + WiFi (Europe) *B0D8, 90D8 3G + WiFi (Russia) *B0F2, 90F2 3G + WiFi (Japan) *B017, 9017 WiFi (4GB) (U.S., Intl.) *B060, 9060 3G + WiFi (4GB) (Europe) *B062, 9062 3G + WiFi (4GB) (U.S.) [Mostly] *B05F, 905F 3G + WiFi (4GB) (Canada) *B061, 9061 3G + WiFi (4GB) (Brazil) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0009 | <!--Revision-->100 | <!--Access-->2gb or 4gb | <!--Opinion-->{{unk| PW2 uses Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Paperwhite 3 PW3 i.e. Kindle 7th gen *G090G1 (2015) WiFi *G090G2 (2015) 3G + WiFi (U.S.) [Mostly] *G090G4 (2015) 3G + WiFi (Mexico) *G090G5 (2015) 3G + WiFi (Europe, Australia) *G090G6 (2015) 3G + WiFi (Canada) *G090G7 (2015) 3G + WiFi (Japan) *G090KB (2015) WiFi *G090KC (2015) 3G + WiFi (Japan) *G090KE (2016) 3G + WiFi (International) White *G090KF (2016) 3G + WiFi (International) White *G090LK (2016) WiFi, 32GB (Japan) *G090LL (2016) WiFi, 32GB (Japan) White | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000A | <!--Revision-->100 | <!--Access-->4gb | <!--Opinion-->{{unk| ease up glued down front bezel rim panel gently, remove 11 screws underneath and lift screen up from bottom end - battery underneath - }} |- | <!--Description-->Kindle PaperWhite 4 (2018) PW4 *G000PP, G8S0PP WiFi, 8GB *G000T6, G8S0T6 WiFi, 32GB *G000T1 WiFi+4G, 32GB *G000T2 WiFi+4G, 32GB (Europe) *G00102 WiFi, 8GB (India) *G000T3 WiFi+4G, 32GB (Japan) *G0016T, G8S16T WiFi, 8GB Twilight Blue *G0016Q, G8S16Q WiFi, 32GB Twilight Blue *G0016U WiFi, 8GB Plum *G0016V, G8S16V WiFi, 8GB Sage *G00103 WiFi, 32GB (India) *G0016R WiFi, 32GB Plum *G0016S WiFi, 32GB Sage | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000B | <!--Revision-->100 | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Oasis 2 and 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| NXP i.MX7D }} |- | <!--Description-->Kindle Paperwhite 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8110 }} |- | <!--Description-->Kindle 11 Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8113 }} |- | <!--Description-->Kindle Paperwhite 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->16gb or 32gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle Paperwhite Gen 11 and 12 - Signature | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0 | <!--Revision--> | <!--Access-->16Gb or 32Gb | <!--Opinion-->{{unk|2024 account not blocked, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Modos-Labs Modos Labs] open source e-ink 60Hz 75Hz caster controller and glider monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xteink X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.xteink.com Xteink X4] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->2025 4.3in 220ppi no touchscreen so [https://www.youtube.com/watch?v=R7RuokaVauo buttons navigation] - 650mAh battery - micro-sd slot up to 512Gb covering epub, txt, and jpg in directories with [https://github.com/crosspoint-reader crosspoint reader] esp32 cpu custom rom firmware using [https://xteink.dve.al/ Flash website] on usb-c but no ecosystem store |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description-->Amazon D01400 Kindle Fire (1st Generation) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{No|2010 too old }} android 2.3 and touchscreen digitizer fails often, battery SWE P/N 1002000004742 Model KC1 (EU) QP01 (US) 16.28whr, ti 257epl9l omap 4430 with elpida 88164b3pf-10-f88164b3pf or hynix, mobo ??,, DAOKC1MB8F0 Rev F, ti aic3110 audio codec, |- | <!--Description-->Amazon Fire 7in X43260 X43Z60 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2012 untested FireOS Android 4 omap 4460 and PowerVR SGX540}} |- | <!--Description-->Amazon Kindle Fire HD (3rd Gen) P48WVB4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2013 untested }} |- | <!--Description-->Amazon *Amazon Fire HD10 (2015) *Amazon Fire HD8 (2015) *Amazon Fire HD7 (2015) (5th Generation) 7 inch 8GB SV98LN *Amazon Fire HD7 (2014) *Amazon Fire HD6 (2014) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|untested android 5.1 max}} |- | <!--Description--> *Amazon Fire 10 (2017) *Amazon Fire 8 (2017) 7th Gen 8 inch SX034OT *Amazon Fire 7 (2017) (7th Generation) 7 inch 16GB (SR043KL) *Amazon Kindle Fire 7 (7th Generation) 7 inch 8GB WIFI Tablet (SR043KL) *Amazon Fire HD8 (2016) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| Android 5.1 max 7in screen resolution of 1024 x 600, }} |- | <!--Description--> *Amazon Fire 10/10+ (2021) *Amazon Fire 8/8+ (2020) *Amazon Fire 10 (2019) *Amazon Fire 7 (2019) *Amazon Kindle Fire 7 9th Gen 16GB M8S26G *Amazon Fire 8 (2018) 8th Gen 8 inch 32GB L5S83A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 9 max}} |- | <!--Description-->Amazon *Amazon Fire HD 10 (2023) *Amazon Fire Max 11 (2023) *Amazon Fire 8 (2022) *Amazon Fire 7 (2022) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 11 max}} |- | <!--Description-->Amazon Kindle Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Amazon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Minimal Phone, Mudita Kompakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| eink }} |- | <!--Description-->Bigme B751C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2022 android untested }} |- | <!--Description-->Bigme B7 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Bigme B6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 android based color eink small - 300dpi b/w 150ppi color -}} |- | <!--Description-->Bigme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink }} |- | <!--Description-->Bigme Hibreak Pro, Hisense A9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->iFlyTech AINote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->iFlyTech AINote 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Meebook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Page Palma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2016 android untested }} |- | <!--Description-->Onyx Boox Leaf3C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go Color 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 untested 7in e-ink e-reader android tablet }} |- | <!--Description-->Onyx BooxTab Ultra X C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Note Max Air4 C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Leaf5C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Poke6S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go 10.3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox MC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| color e-ink 13.3in }} |- | <!--Description-->Onyx Boox Go 10.3 (Gen 2) Lumi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 b/w eink with front light, no EMR annd capacitance pen, }} |- | <!--Description-->Onyx Moaan Pantone 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->reMarkable 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2021 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2023 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable Paper Pro Move | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2024 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 untested but subscriptions needed for some features}} |- | <!--Description-->reMarkable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Supernote A5 X2 Manta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Supernote A6 X2 Nomad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 }} |- | <!--Description-->Supernote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Vision 2 3 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Epos2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viwoods AI Paper and AI Paper Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} ==printer.class - PostScript 3 and internal ghostscript drivers== As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes and since the general Joe Public finds postscript capable printer very expensive, postscript interpreters (eg ghostscript) have been developed aas a cheaper option which sit in between postscript data streams and non postscript (HP PCL?) printers. Set up Printer Prefs for Postscript and set the print to file option. Ghostscript has internal printer drivers gs -h and with something like gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps copytopar ram:tempfile It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file. gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf the ljet4 output device generates PCL also the pxlmono driver, which generates more generic PXL (PCL 6) gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl Printers supported by ghostscript...Explanation [http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u151.htm here] or [http://www.gnu.org/software/ghostscript/devices.html here] and [http://pages.cs.wisc.edu/~ghost/doc/printer.htm here] <pre> bit cljet5 ljet4d pjxl300 pxlcolor bitcmyk cljet5c ljetplus pkm pxlmono bitrgb deskjet nullpage pkmraw stp bj10e djet500 pbm pksm tiff12nc bj200 epswrite pbmraw pksmraw tiff24nc bjc600 faxg3 pcx16 png16 tiffcrle bjc800 faxg32d pcx24b png16m tiffg3 bmp16 faxg4 pcx256 png256 tiffg32d bmp16m ijs pcxcmyk pnggray tiffg4 bmp256 jpeg pcxgray pngmono tifflzw bmp32b jpeggray pcxmono pnm tiffpack bmpgray laserjet pdfwrite pnmraw uniprint bmpmono lj5gray pgm ppm x11 bmpsep1 lj5mono pgmraw ppmraw x11alpha bmpsep8 ljet2p pgnm psgray x11cmyk cdeskjet ljet3 pgnmraw psmono x11gray2 cdj550 ljet3d pj psrgb x11gray4 cdjcolor ljet4 pjxl pswrite x11mono cdjmono </pre> === Internal Ghostscript support === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | Canon BJ10e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Canon BJ200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Epson Stylus Color 600 parport inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - internal ghostscript support}} |- | <!--Description-->HP Deskjet 500 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | HP1220C/PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | HP 1700PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->LJ-III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested HP PostScript Cartridge Plus (C2089A) a.. Press <ON LINE> (and take machine off line) b.. Press <Plus & Minus>, and while holding, press <ALT> and <RESET> together and watch the LCD and let go when the desired mode is displayed.}} |- | <!--Description-->HP Laserjet 4 4M 4MP (1992) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation HP 4 with optional ps cartridge - HP 4M and 4M+ built in}} |- | <!--Description-->HP Laserjet 4L Parport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 HP 4L only - no postscript}} |- | <!--Description-->HP Laserjet 5M (1995) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS2 emulation | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested you can try the ljet4 for the various lj5 drivers which produce various flavours of PCL. The 4, 4+ and 5 only really had one issue that plagued them, and it's hardly an issue at all. You would get accordian jams at the exit. A lot of people worked through this by pulling the sheet out before it got caught. Easily fixed by opening back door and scrubbing grime off of rubber rollers. }} |- | HP Laserjet 5L Parport (1997) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{N/A}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 support only.}} |- | HP Laserjet 5P 6P (1995) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested HP 5p, 6p - Less tiny, slightly less slow. They are pretty bullet proof for low volume best to get postscript module though }} |- | HP Laserjet 2100 2100N 2100TN (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation }} |- | HP Laserjet 4000 Series Parport (1998) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|PS3 emulation only (4200 and 4600 have issues)}} |- | HP Laserjet 4050 Parport (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|works }} |- | HP Laserjet 5000 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|}} |- | HP LaserJet 6M, 1200, 1300, 2100, 2200, P2050 (and P2055) P3005, M3025, M3027, 3050, 3300, 4000, 4050, 4100, 4200, 4300, M4345, P3005, P3015, P4010, P4410, M5025, M5035, 5100, 5200, 8000, 8100, or 9000 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation optional only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{untested }} |- | <!--Description-->HP Color LaserJet 2550, 3700, 4650, 8500 and 8550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexmark Optra C, T, and W series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Xerox Phaser 850, 860 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Monochrome === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->Brother HL-1270N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-3070CW Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|BR-Script3 (PS3) untested}} |- | <!--Description-->Brother HL5240 HL5240L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript (PostScript Level 2) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-7050N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-7860DW Monochrome B/W BW | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script BRScript (PostScript Level 3) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL4570CDWT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epson EPL-6200 Laser Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-1370DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | HP LaserJet CP1515n USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description-->Lexmark Optra E312 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->built in? | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Color === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother hl-3075cw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script 3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-9120CN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRS3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->HP Color LaserJet 2500L (2003) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet 2550L 2550Ln (2004) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet CP1218, 2605, 3700, 4500, 4600, or 4650 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Konica Minolta Magicolour 4650EN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-1010 FS-1010N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-C5200DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Kyocera Mita FS-1030D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-C5150DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Lexmark C540n | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Lexmark [http://www1.lexmark.com/products/view/Printers/Lexmark%20C780n/catId=cat10006-category&prodId=3907-product C780n] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{yes|works PS3 emulation only}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | OKI C3600 Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Samsung CLP-315 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->untested | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Xerox 618x Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} See [http://www.irseesoft.de/tp_drive7.htm here] for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga, OS3.x support via [http://aminet.net/package/comm/tcp/NetPrinter NetPrinter] and [http://www.os4depot.net/index.php?function=browse&cat=driver/printer OS4 drivers] and [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33955&forum=27#622365 experiences]. usbparallel.device untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). Sticking to the same units is generally a good idea I think (and therefore this mechanism is also used with all other classes creating exec.devices). You may not send a short packet (packet less than maxpktsize == 64) nor zero byte packets until the very last byte of your printout. Otherwise the printer will silently ignore the data you sent. Some printer drivers print very short sequences that never fill the endpoint buffer, so printer ignore them. Bufferize all printer driver writes in the ieee1284.device and send them by epsize packets. So my hppsc2210 works fine with a classic HP560C driver, on a classic A2000 subwayized :) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Beige cream D shape centronics end (Prolific chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002v1 centronics end (chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002VEA v2 centronics end (Prolific PL2305L chipset) | | | | {{N/A|untested}} |- | DYNAMODE USB-C-PP-1284 USB to 36pin (Prolific 2305 chipset) | 0x067b | 0x2305 | 0x02 | {{N/A|untested but similar to BAFO below}} |- | IOGear GUC1284B | | | | {{N/A|untested}} |- | My-Link (raised ellipse on centronics plastic end) (unknown chipset) | | | | {{N/A|untested but more expensive }} |- | NEWLink (Prolific chipset?) | | | | {{N/A|untested}} |- | Targus PA096E centronics end (chipset?) | | | | {{N/A|untested}} |- | TRENDnet ware TU-P1284 | | | | {{N/A|untested}} |- | True PnP (Prolific chipset 2305) cheap 36pin Centronics (series of ridges along both short sides) | 0x067b | 0x2305 | 2.00 | {{N/A|untested on BAFO BF-1284 but reports of poor quality and lack of support on other OSs }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Transparent See Through Blue | | | | {{N/A|untested but possible poor quality build }} |- | Dynamode USB-PARALLEL 25pin female (prolific) | 0x067b | 0x2305 | 0x02 | {{N/A|untested}} |- | FDL USB to 25pin | | | | {{N/A|untested}} |- | PlusKom USB to 25pin female connector for printer (IEEE 1284) | | | | {{N/A|untested}} |- | QinHeng Electronics (CH340S chipset) | 0x1a86 | 0x7584 | | {{N/A|untested curvy sides - flat top }} |- | StarTech | | | | {{N/A|untested}} |- | Syba SD-USB-DB25 | | | | {{N/A|untested}} |- |} ==rawwrap.class - some old flatbed scanners supported== Scandal is the MUI frontend to [http://www.ppa.pl/bugtracker/ Betascan Bugtracker] and [http://aminet.net/search?query=betascan Search for Betascan scanner drivers] derived from [http://www.sane-project.org/sane-backends.html sane backends] [http://www.sane-project.org/sane-backends.html#S-EPSON2 Epson2] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Expression 1600 1640XL 1680 10000XL | 0x04b8 | 0x0107 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Prefection 1200U, 1200 Photo, | 0x04b8 | 0x0104 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 1240U | 0x04b8 | 0x010b | <!--Revision--> | <!--Opinion-->{{[https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=45760&forum=25 works]|Needs 24V 0.8A psu but in Trident, click on "Classes", then on "rawwrap.class", then on "Configure". There, under "Global", activate the Option "Bind to Vendor/Unknown Interfaces". Now go to the second tab "Default Interface" and select/enter these values: Default usbraw.device Unit: 0 Exclusive access: Yes Out NAK Timeout: 20000ms In NAK Timeout: 20000ms In Buffer Mode: No buffering Buffer Size: 36 KB Short Reads Terminate: Yes Now click on "Use as Default" and select "Devices" on the left. There, click on your scanner and click on "Class Scan". Now close Trident by clicking on "Save". }} |- | Perfection 1640SU Photo | 0x04b8 | 0x010a | 0x0104 | {{yes|works, even the transparency unit}} |- | Perfection 1650 Photo, 1660 Photo, 3200 Photo | 0x04b8 | 0x011c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 2400 Photo, 2450 Photo | 0x04b8 | 0x011b | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 4870 Photo, 4990 Photo, | 0x04b8 | 0x0128 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection V700 V750 Photo | 0x04b8 | 0x012c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus CX2800 2900 3200 3500 3600 3650 3700 3800 3900 Stylus CX4100 4200 3500 4600 4700 4800 4900 500 5100 5200 5300 5400 5900 | 0x04b8 | 0x0802 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus Office BX300F USB | 0x04b8 | 0x0848 | | {{yes| works with good scan quality}} |- |} [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx] scanners based on the Grandtech GT-6801 and GT-6816 "System-On-Chip" scanner chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Artec Ultima 2000 and e+, Trust Flat Scan USB 19200 (ePlus2k.usb / Gt680xfw.usb) | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Genius Colorpage Vivid3x 4x 1200x | 0x0458 | 0x2011 to 0x201f | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | <!--Description-->Lexmark X70 also X73 [http://subfusion.net/drivers/oslo3071b2.usb OSLO3071b2.usb] | <!--Vendor ID-->0x043d | <!--Product ID-->0x002d | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Medion/Lifetec/Tevion/Cytron MD/LT 9375 and Artec Ultima 2000, MD LT 9385 Gt680xfw.usb | <!--Vendor ID-->0x05d8 | <!--Product ID-->0x4002 | <!--Revision--> | <!--Opinion--> |- | BearPaw 2448 CS and TA Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A2Nfw.usb A2Nfw.usb] | 0x055f | 0x021a | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | Mustek BearPaw 1200 CS | 0x055f | 0x021e | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A1fw.usb A1fw.usb])}} |- | <!--Description-->Mustek 1200 CU Plus Scanner [http://www.meier-geinitz.de/sane/gt68xx-backend PS1Dfw.usb / SBSfw.usb] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2000 }} |- | Mustek ScanExpress 1200 UB plus, Trust Compact Scan USB 19200, ScanMagic 1200 UB Plus | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb])}} |- | Mustek ScanExpress 1248 UB aka PC-World PC Line PCL-3000 | 0x055f | 0x021f | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb SBSfw.usb])}} |- | Mustek BearPaw 2400CS TA aka Goodmans GSC 12/24 | 0x055f | 0x0218 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter untested) }} |- | BearPaw 2400 CS aka TA Plus | 0x055f | 0x0219 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter) }} |- | Packard Bell Diamond 1200 Plus | 0x055f | 0x021c or 0x021b | 0x0 | {{yes|works - [http://www.meier-geinitz.de/sane/gt68xx-backend/ firmware required] but slow usb 1.1 speed with poor quality output (scanner fault not scandal)}} |- | Packard Bell Diamond 2400 Plus aka BearPaw 2400 CU Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/ PS2Dfw2.usb firmware rename to PS2Dfw.usb] | 0x055f | 0x021d | 1.00 | {{yes|works slow usb 1.1 speed with ok quality output (scanner fault not scandal)}} |- | Plustek OpticPro 1248U | 0x07B3 | 0x0400 0x0401 | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | Plustek OpticSlim 2400 | 0x07b3 | 0x0422 | <!--Revision--> | <!--Opinion-->{{unk| (cis3R5B1.fw)}} |- | Visioneer OneTouch 7300 | 0x04a7 | 0x0444 | <!--Revision--> | <!--Opinion-->{{unk| (Cis3r5b1.fw)}} |- | <!--Description-->Mustek ScanEpress 1200 UB (Plus) clone [http://www.meier-geinitz.de/sane/ use mustek_usb backend] | <!--Vendor ID-->0x055f | <!--Product ID-->0x0006 | <!--Revision--> | <!--Opinion-->{{no| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Lexmark - needs testing {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Lexmark X1110 | | | | {{N/A|untested}} |- | Lexmark X1140 | | | | {{N/A|untested}} |- | Lexmark X1150 | | | | {{N/A|untested}} |- | Lexmark X1170 | | | | {{N/A|untested}} |- | Lexmark X1180 | | | | {{N/A|untested}} |- | Lexmark X1185 | 0x043d | 0x007c | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Lexmark X12xx | | | | {{N/A|untested in USB1.1, not fully tested in USB2.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dell A920 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} HP - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | HP ScanJet 4100C | 0x03f0 | 0x0101 | | {{no|no driver}} |- | HP ScanJet 5200C | 0x03f0 | 0x0401 | | {{no|no driver}} |- | HP ScanJet 62X0C | 0x03f0 | 0x0201 | | {{no|no driver}} |- | HP ScanJet 63X0C | 0x03f0 | 0x0601 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0102, 0x0105, 0x0205, 0x0305, 0x0405 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0705, 0x0805, 0x0901, 0x0a01 | | {{no|no driver}} |- | HP | 0x03f0 | 0x1205, 0x1305, 0x2005, 0x2205 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Plustek [http://www.sane-project.org/sane-backends.html#S-PLUSTEK LM983x] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Plustek OticPro U12 UT12 UT16 U24 UT24 | 0x07B3 | 0x0010 to 0x0017 | | {{no|no driver}} |- | KYE/Genius Colorpage HR6-V2 HR6A HR7 HR7LE HR6X | 0x0458 | 0x2008 to 0x2016 | | {{no|no driver}} |- | Hewlett-Packard ScanJet 2100C and 2200C | 0x03F0 | 0x0505 and 0x0605 | | {{no|no driver}} |- | Mustek BearPaw 1200 and 2400 | 0x0400 | 0x1000 and 0x1001 | | {{no|no driver}} |- | UMAX 3400/3450 and 5400 | 0x1606 | 0x0050, 0x0060 and 0x0160 | | {{no|no driver}} |- | Epson Perfection 1250 and 1260 | 0x04B8 | 0x010f and 0x011d | | {{no|no driver}} |- | CANON CanoScan N650/656U N1220U D660U N670/676U N1240U LIDE20 LIDE25 LIDE30 | 0x04A9 | 0x2206 to 0x2220 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} [http://snapscan.sourceforge.net/ SnapScan] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Acer Benq 310U, 320U, 340U | 0x4a5 | 0x0 | | {{no|no driver}} |- | Acer Benq 620U, 620UT, 640U, 640UT | 0x4a5 | 0x20 | | {{no|no driver}} |- | Acer Benq 1240 3300 4300 | 0x4a5 | 0x020 | | {{no|no driver}} |- | Agfa SnapScan e10 e20 e25 e26 e40 e42 e50 e52 | 0x06bd | 0x20 | | {{no|no driver}} |- | Epson Perfection 660 | 0x04b8 | 0x0114 | | {{no|no driver}} |- | Epson Perfection 1270 1670 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 2480 2580 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 3490 3590 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Mitsubishi | 0x0 | 0x0 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ==hub.class (self-powered and external ac powered hubs)== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Dynamode USB-H41 4 ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Belkin 4 Port | | | | {{yes|works}} |- | Conrad | | | | {{yes|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum] }} |- | DLink DUB-H4 AC Adapter | 0x05e3 | 0x0608 | High 0200 | {{maybe|WARNING Genesys Logic Hub Broken - Will cause failures with USB}} |- | [http://service.targa.co.uk/faq.php?lang_id=2&baseid=178&artdesc=SilverCrest+USB+Hub+2040&artid=760&artpic=silvercrestHUB2040.jpg SilverCrest 4-port slim USB 2.0 HUB - HUB2040 (40775) - Targa GmbH] | 0x05e3 | 0x0608 | 0901 | {{yes|works Genesys Logic, Inc., [http://service.targa.co.uk/dokumente/USB_HUB_2040_0109_manual_EN.pdf Manual]}} |- | Skymaster | 0x05e3 | 0x0605 | 060B | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | No Name active 4-port | 0x1a40 | 0x0101 | 0111 | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Thinkpad USB 3.0 Dock DU9019D1 | <!--Vendor ID-->0x17e9 | <!--Product ID-->0x4302 | <!--Revision-->0014 | <!--Opinion-->{{Maybe|works a bit}} classed as dfu.class with two further USB 2.0 hubs - USB 3.0 ports detected and work (2.0 backwards compatibility) - DisplayLink DL-3900 with VIA VL811 chipset - usb ethernet not working - two dvi not working - 20V psu 2a (40w) with a 5.5 - 2.5mm tip (no bus power) - data through a-b printer/scanner usb lead - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} ==Internet== ===rndis.class USB Tethering === The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported including smartfones. Before opening Network Prefs, activate USB Tethering on the Smartfon, on Network prefs, type in usbrndis.device and tick "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed. When restart AROS my Smartphone deactivates the connection and to access the network again, have to reactivate it before starting the browser. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Alcatel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | Huawei U8800 | 0x12d1 | 0x1039 | | {{yes|works}} |- | <!--Description-->Huawei | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | HTC (Android phone) | 0x0bb4 | 0x0ffe | | {{Yes|any android phone with usb tethering option}} |- | <!--Description-->Nokia | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Oppo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Samsung Galaxy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- |- | <!--Description-->iPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft winPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ===USB &rarr; ethernet lan adaptor=== *2002 playstation 2 usb1.1 era - a little support but very old and slow *2006 wii asix era - a little support but very much miss than hit *2026 usb0: or eth0: of CDC Ethernet protocol (cdcether) with Ethernet Control Model (ECM) and [https://www.usb.org/document-library/class-definitions-communication-devices-12 others like Wireless Mobile Communication Devices WMC] and later CDC EEM (Ethernet Emulation Model) and NCM (Network Control Model) are USB Communication Device Class (CDC) protocols packing more Ethernet traffic over every USB bundle. For CDC Ethernet - NCM is better than EEM is better than ECM * USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 poor speeds * USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88772 a little especially the 2010 apple version but buy many as very very poor odds of working one * USB3.0 Over 400 meg broadband (60+MBytes/s) - not supported at the moment SANA (Standard Amiga Network Architecture) to usb ADMtek Infineon ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="50%" |Opinion |- | 3Com 3c460b | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Abocom UFE1000 / Abocom DSB650TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Accton USB320-EC / Accton SpeedStream Ethernet | 0x083a | 0x0320 | <!--Revision--> | {{unk|2002 }} |- | AEI USB Fast Ethernet / Allied Telesyn AT-USB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2002 }} |- | ATEN UC-110T | 0x0557 | 0x4000 | | {{unk|2001 }} |- | BAFO USB To Ethernet Adapter BF-310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Belkin F5D5050 v1 1101 | 0x050D | | <!--Revision--> | {{maybe|2002 sometimes works from old amiga.org post which is now removed}} |- | Belkin F5D5050 v2 2101 | 0x050D | 0x0121 | <!--Revision--> | {{no|2006 does not works}} |- | Belkin F5U122-PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USB-100 / Billionton USBLP-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USBEL-100 / Billionton USBE-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Compex LinkPort/UE202A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-H3ETX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-650 / D-Link DSB-650TX / D-Link DSB-650TX-PNA | 0x2001 | 0x4000 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DU-E10 / D-Link DU-E100 | 0x2001 | | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Edimax USB Ethernet Adapter EU-4201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Elsa AG MicroLink USB2 Lan Ethernet adapter | 0x05cc | 0x3000 | <!--Revision-->1.01 | <!--Opinion-->{{unk| }} |- | GetNet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | GIGABYTE GN-BR402W Wireless Router | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goodway Fellowes USB UE-120 REV:V1 UE120 ADMTek 1011594 HO2419741 | <!--Vendor ID-->0x07a6 | <!--Product ID-->0x0986 | <!--Revision-->0001 | <!--Opinion-->{{maybe|2001 USB Specification 1.1 compliant}} |- | GWC Tech USB Ethernet Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hawking UF100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | HP HN210E / I/O DATA USB ETTX / Kingston KNU101TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Jinco USB Ethernet Adapter 10/100 Base-T UE-110 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Kouwell USB to Ethernet 588A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Linksys USB10T / TA / TX | 0x066b | 0x2202 | <!--Revision--> | <!--Opinion-->{{unk|untested - possible peg1/peg2}} |- | Linksys (Cisco) USB100TX / H1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitec LAN-TX/U1 H2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.mayflash.com/psps2/ps2024/ps2024.htm Mayflash PS2024] Playstation2 compatible clone of Proxim/Farallon NetLine? | 0x07a6 | 0x8511 | <!--Revision-->1.01 | <!--Opinion-->{{maybe|works with DHCP router option on old 32bit distros but not on newer 64bit, best to go asixeth apple 2010 but buy many of them as poor success rate i.e. a lottery}} |- | Netgear FA101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Philips CPWUE01/00 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Planet UE-9500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | PlayStation 2 SCPH-10000 50000 models | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Proxim (formerly Farallon) NetLine USB PN796-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Siemens SpeedStream USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SOHOware NUB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SMC EZNET-USB 2202USB/ETH / SMC 2206USB/ETH | 0x0707 | 0x0100 0x0200 0x0201 | <!--Revision--> | {{unk|untested but should work very well }} |- | Surecom EP-1427X 100/10M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Target USB to 10/100M Fast Ethernet Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Trendnet TU-ET100C | 0x07a6 | 0x8511 | <!--Revision-->0x0 | {{yes| sometimes works well, very stable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Digitus USB NIC DN-3016-A | 0x07a6 | 0x8513 | 1.01 | {{unk|untested new chipset }} |- | Digitus lanusb ADM8515 | 0x07a6 | 0x8515 | 1.01 | {{unk|untested because new chipset }} |- | VE285 usblan ADMtek 8515 | 0x07a6 | 0x8515 | 1.01 | {{no|not working as new chipset }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Davicom USB-100 see clone below | 0x0a46 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | [http://wiki.maemo.org/USB_to_ethernet_networking chinese translucent transparent crystal blue] but variants are also found in clear, white and black. Just over 6&nbsp;cm long. | 0x0a46 | 0x9601 | 0x0 | {{yes|2002 success can be sporadic so technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked. One case cracked open. }} |- | Corega FEther USB-TXC | 0x07aa | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dynamode USB-NIC-1427-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hirose USB-100 | 0x0a47 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | KY-RS9600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585358&postcount=12 works] }} |- | ShanTou ST268 USB NIC | 0x0a46 | 0x0268 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | ZT6688 USB NIC | 0x0a46 | 0x6688 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ICS Advent DM9601 USB 2.0 10/100M Ethenet Adaptor JP1081B | <!--Vendor ID-->0x0FE6 | <!--Product ID-->0x9700 | <!--Revision-->0101 | <!--Opinion-->{{No|not working 32bit and 64bit - USB 1.1 10M ethernet}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} MosChip MCS7830 (USB 2) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Digitus DN-10050 | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | Edimax [http://www.edimax.co.uk/images/Image/datasheet/USB/EU-4206/EU-4206.pdf EU-4206] | | | <!--Revision--> | <!--Opinion-->{{unk|2005 }} |- | Speed Dragon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | STLabs | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | StarTech Compact USB2105S [http://www.kustompcs.co.uk/acatalog/info_6790.html USB2106S] | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | Sunrich Technologies [http://www.st-lab.com/admin/upfile/UploadFile/manual/manual(u-250).zip U-250] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | Syba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MCS 7832 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2008 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} * USB2 [https://www.asix.com.tw/en/product/USBEthernet Asix Ethernet] AX88178A, AX88772C, AX88772B, AX88772A (wii), AX88172A * USB3 AX88179A, AX88179 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AirLink101 AGIGAUSB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 AX88172}} |- | ATEN UC210T | 0x0557 | 0x2009 | 0x | <!--Opinion-->{{unk| AX88172}} |- | <!--Description-->Billionton Systems USB2AR | <!--Vendor ID-->0x08dd | <!--Product ID-->0x90ff | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->Buffalo LUA-U2-KTX | <!--Vendor ID-->0x0411 | <!--Product ID-->0x003d | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->corega FEther USB2-TX | <!--Vendor ID-->0x07aa | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{no| }} |- | D-Link DUB-E100 up to rev A4 | 0x2001 | 0x1a00 | | <!--Opinion-->{{No| }} |- | <!--Description-->D-Link DUB-E100 rev B1 onwards | 0x07d1 or 0x2001 | 0x3c05 | <!--Revision--> | <!--Opinion-->{{Maybe|AX88172 works on Deneb with [http://amigax.com/2010/02/21/usb-ethernet-speed-test-amigaos-4-0-classic/ Amiga OS4 Classic] and [http://www.a1k.org/forum/showthread.php?t=11432 on a1k] }} |- | <!--Description-->goodway corp USB gwusb2e | <!--Vendor ID-->0x1631 | <!--Product ID-->0x6200 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hawking UF200 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[Linksys USB200M] | 0x077b | 0x2226 | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585601&postcount=20 works] }} |- | <!--Description-->Netgear FA120 | 0x0846 | 0x1040 | <!--Revision--> | <!--Opinion-->{{N/A|untested 2002 10/100 Rev.B1" is silkscreened on the board of the device populating this entry (S/N: FA12254CB100409, date code 0508). This device may be manuf. by [http://www.cameo.com.tw/ Cameo] "AX88172 L", "F05040157", and "ED3" Chip1 ASIX AX88172 Chip2 Realtek RTL8201BL}} |- | <!--Description-->Intellinet | 0x0b95 | 0x1720 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->JVC MP-PRX1 Port Replicator | <!--Vendor ID-->0x04f1 | <!--Product ID-->0x3008 | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->ST Lab USB Ethernet | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1720 | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter" | <!--Vendor ID-->0x6189 | <!--Product ID-->0x182d | <!--Revision-->0 | <!--Opinion-->{{No| }} |- | <!--Description-->Surecom EP-1427X-2 | <!--Vendor ID-->0x1189 | <!--Product ID-->0x0893 | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->TrendNet TU2-ET100 v2 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{Maybe|version 2}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->A-LINK NA1GU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 88772}} |- | <!--Description-->AirLink101 ASOHOUSB Wii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AirLive EtherWe-1000U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->APPLE AX88772 Model No. A1277 MC704LL/A P/N 825-7098-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{No|2008 usb2, }} |- | <!--Description-->APPLE Model No. A1277 (MB442Z/A 0885909217434) MC704ZM/A PN 825-7579-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{Maybe|2010 model, usb2 and controller AX88772 where prehaps 1in3 units working with owb - really poor odds i.e. a lottery, could be situation where various ethernet phy chipsets are used - press Use in network prefs after Save initial setup typing in usbasixeth.device, }} |- | <!--Description-->ASIX AX88772 bulbous casing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{maybe|2008 works on 32bit and 64bit though setup can take a few attempts but may have issues with phy ethernet chip changing, }} |- | <!--Description-->Datel Wii Lan Adapter DUS0204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->EdiMax EU-4207 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Goodway HE2230 Maplin ASIX 88772 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Intec LAN G5626 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0202 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0301 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Linksys USB200M Rev 2 | <!--Vendor ID-->0x13b1 | <!--Product ID-->0x0018 | <!--Revision--> | <!--Opinion-->{{maybe|2008 sparsely randomly working AX88772 or with "Sana-II Meter Tool 37.11" network monitoring program, showing continuous "Bad Packet" errors which could means "CRC" errors}} |- | <!--Description-->Linksys USB300M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{maybe|2009 AX88772 }} |- | <!--Description-->Mayflash W001 or clones Lupo/PEGA S-Wii-0680 light gray rectangular with third of one top 45 degree angled slope | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{unk| may have randomly changed phy ethernet chips, }} |- | <!--Description-->Max Value MVF00446 ASIN B006EG568A | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises as AX88772 sometimes works on 32bit and 64bit}} |- | <!--Description-->NEWLink N14050 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NEWLink Wii-ETH USB2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nintendo Wii LAN Adaptor 2110566 and clones | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{Maybe|Poseidon recognises as AX88772 with usbasixeth.device sometimes works seems different ethernet phy chips can be matched affecting compatibility}} |- | <!--Description-->Nyko Wii Net Connect 87024 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585624&postcount=22 works] }} |- | <!--Description-->0Q0 cable ethernet | <!--Vendor ID-->0x1557 | <!--Product ID-->0x7720 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB2-E100 (2009/2010) Bulbous housing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises it as ax88772A and typing in usbasixeth.device sometimes works}} |- | <!--Description-->Sabrent KINAMAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SpeedLink SL-3401-SGY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGreen 20254 USB2 to 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88772}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Afunta Apple-style White USB2.0 I/O Crest SY-ADA24005 ASIX Electronics Corp. AX88772A Fast Ethernet Adapter | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x | <!--Opinion-->{{no|usbasixeth.device accepted by network prefs but does not work}} |- | <!--Description-->Amazon Basics USB 2.0 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Digitus DN-10050-1 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x0 | <!--Opinion-->{{unk| }} |- | <!--Description-->Edimax EU-4230 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sabrent KINAMAX NT-USB20 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88772B USB 2.0 to 10/100M | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EdiMax EU-4208 | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x772b | <!--Revision-->0x | <!--Opinion-->{{No|Detected but not working}} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB2100 ASIX AX88772C | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772D AX88772D] | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772E AX88772E] | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->AX88178 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2004 }} |- | <!--Description-->Plugable USB2-E1000 i.e. USB 2.0 to Gigabit Ethernet 10/100/1000 LAN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 ASIX AX88178 Controller and Realtek RTL8211CL PHY}} |- | <!--Description-->AX88178A USB 2.0 to 10/100/1000M Gigabit Ethernet controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AmazonBasics USB3.0 adapter [https://github.com/nothingstopsme/AX88179_178A_Linux_Driver AX88179] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cable Matters SuperSpeed USB 3.0 RJ45 adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hori Nintendo Switch 1 USB3 ethernet AX88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2017 AX88179 not binding to asixeth.class }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2020 ASIX AX88179 not binding to class, USB 3.2 Gen1 to Gigabit Ethernet controller with integrated 10/100/1000Mbps Gigabit Ethernet PHY}} |- | <!--Description-->Plugable AX88179 = [https://plugable.com/products/usb3-e1000-deal USB3-E1000] before mid-2023 or USB3-E1000; AX88179A = USBC-E1000 after mid-2023 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 controller is AX88179 phy is ??, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTW ax88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no| AX88179 not binding to asixeth.class, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000NDS AX88179 USB-A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC301AU AX88179 USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC30B2 AX88179A USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB32000SPT AX88179A USB-c Rev 1 (AX88179) Rev 2 (AX88179A) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->USB32000SPT the Lot code sticker will have a bar code accompanied by a 10 digit number. The 5th and 6th digits of this lot code number would signify the revision. (Ex. xxxx02xxxx which would indicate rev. 2) |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SYBA SY-ADA24029 Gigabit AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} may depend on the PHY chip connected to the controller chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TP-Link UE306 AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® Orico UL677G 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® UL688G USB 3.0 10/100/1000 Base-T Ethernet port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->AX88179 178A |- | <!--Description-->Tecknet UL699G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v6 | <!--Vendor ID-->0x07b8 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|no support }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen 50922 USB3-A to 100/1000 dark grey rounded barrels | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{no| ax88179 not binding to asixeth.class, }} |- | <!--Description-->UGreen USB3-C to 100/1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen CR111 20256 usb3 a black plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88179}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 USBC-E1000 after mid-2023 i.e. AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTB | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| AX88179A USB-A, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==USB &rarr; SerialPort Converter== *2002 some support for early revisions of PL2303 *2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support *2025 FTDI 232R [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1135&highlight=232r&rowstart=20 work in progress] *2026 CDC-ACM i.e. Serial port over USB standard serialpl2303.class make sure you specify serialpl2303.device or Echo "Test" >SER1: {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | ATEN UC-232A | 0x0557 | 0x2008 | Full 0x0300 | {{N/A|untested}} |- | IOGear GUC232A | 0x0557 | 0x2008 | Full 0x0110 | {{N/A|untested}} |- | Alcatel | 0x11f7 | 0x02df | | {{N/A|untested}} |- | BAFO BF-810 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Belkin F5U103 | 0x | 0x | 0x0 | {{N/A|untested}} |- | Davibe SP611 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Dcu10 | 0x0731 | 0x0528 | | {{N/A|untested}} |- | Elcom | 0x056e | 0x5003 | | {{N/A|untested}} |- | IOData | 0x04bb | 0x0a03 | 0x0 | {{N/A|untested}} |- | Itegno | 0x0eba | 0x1080 | | {{N/A|untested}} |- | Nokia CA42 | | | | {{N/A|untested}} |- | Radioshack | 0x1453 | 0x4026 | | {{N/A|untested}} |- | Ratoc | 0x0584 | 0xb000 | | {{N/A|untested}} |- | Samsung | 0x04e8 | 0x8001 | | {{N/A|untested}} |- | Siemens DCA-510 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Sitecom CN104 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Sitecom CN116 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Some Cut Ma620 | 0x0df7 | 0x0620 | | {{N/A|untested}} |- | Speed Dragon Multimedia MS3303H | | | | {{N/A|untested}} |- | Syntech | | | | {{N/A|untested}} |- | <!--Description-->Tripp | 0x2478 | 0x2008 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Airlink101 AC-USBS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Belkin F5U103v | 0x067B | 0x2303 | 0x0 | {{no|no driver }} |- | Dynamode U232-P9 | 0x067B | 0x2303 | 300 | {{no| no driver [http://koti.mbnet.fi/lonnberg/pl2303x.html linux patch] and using lsusb -v -d 067b:2303 gave bMaxPacketSize as 64 - pl2303x }} |- | Konig CABLE-146/2 USB to RS232 | 0x067b | 0x2303 | 400 | {{no|no driver }} |- | MANHATTAN 205146 USB to Serial Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | Sabrent SBT-USC1M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Trendnet TU-59 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Unbranded black case and lead USB 232 Converter | <!--Vendor ID-->0x067B | <!--Product ID-->0x2303 | <!--Revision-->0300 | <!--Opinion-->{{No| }} |- |} [http://www.ftdichip.com/index.html Future Technology Devices International Ltd FTDI]-FT232R.class [https://ftdichip.com/software-examples/code-examples/c-builder/ FTProg src], [http://rtr.ca/ft232r/ ft232r src], [https://ftdichip.com/wp-content/uploads/2020/08/DS_FT232R.pdf FT232R datasheet], [], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID-->0x0403 | <!--Product ID-->0x6001 | <!--Revision--> | <!--Opinion-->{{no|no driver}} [https://www.youtube.com/watch?v=1GE-gKgHxZI beware of cheap clones fake with s/n A50285BI SN] |- | <!--Description-->Lynx Astro FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232R |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Sabrent CB-FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | {{no|no driver TTL-232R cables use FTDI's [http://n1mm.hamdocs.com/tiki-index.php?page=USB+Interface+Devices FT232RQ ic device] }} |- | <!--Description-->Startech.com 1 Port FTDI USB to Serial RS232 DB9M Adapter Cable with COM Retention ICUSB2321F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL Chipset |- | <!--Description-->StarTech.com 2 Port FTDI USB to Serial RS232 Adapter Cable ICUSB2322F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FTDI FT2232D Chipset |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL is the SSOP-28 and the FT232RQ is the QFN-32 package option |} [https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html ch341a.class] *I2C EEPROMS (3.3V and 5V) compatible and also SPI FLASH memories (3.3V devices) making sure 1.8V is covered *each having their own [https://winraid.level1techs.com/t/guide-how-to-use-a-ch341a-spi-programmer-flasher-with-pictures/33041 4x2 connection blocks] using [https://github.com/flashrom/flashrom flashrom] sudo flashrom --programmer ch341a_spi -r backup.bin sudo flashrom --programmer ch341a_spi -w <new bios name> {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Jiangsu QinHeng Ltd CH341A emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI) | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x5512 | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->QinHeng USB2.0-Serial HL-340 | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x7523 | <!--Revision-->0252 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |} ==simplemidi.class and CAMD== Currently support includes * simplemidi.class SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate a musical keyboard * camdusbmidi.class follows the rules of the m68k implementation of Commodore's CAMD midi specification and usb class compliant for * usb host like a computer * usb device controllers - keyboards, drum machines, djay turntables, grooveboxes, etc * interfaces - cables or boxes which convert usb to 5pin DIN plug midi What is needed is a fully class-compliant '''brand name''' USB MIDI keyboard, especially manufactured in the last 10 years are best *Arturia *Novation *M-Audio *Akai Plugging this in one of your USB ports, the camd.library will make the keyboard's MIDI IN/OUT ports available in the system. Then select the keyboard's MIDI IN port (known as a "cluster" in CAMD) for input, and the software instrument's cluster as output ShowCluster (shows midi ports available in and out) MidiWatch (usually port usbmidi.in.0 less often usbmidi.out.0) (Ctrl-C to end output stream) usbmidi.in.0 Message on channel 01, NoteOn 90 39 08 00 usbmidi.in.0 Message on channel 01, NoteOff 80 39 00 00 MidiThru (forwards messages from one port to another) run >nil: c:midithru usbmidi.out.0 usbmidi.out.2 MidiSendC (sends a middle C to a specific port) Midi Controller + Sound Module (together aka as a synth) -> Audio Output The difference between midi and midi over USB is that in old school Midi the transmitter transmits whenever it wants and the receiver always has to be prepared to receive data. Easy to do at the rate of a 1990's modem speed these days. USB over midi.. turns midi into a polled protocol.. So the USB host (typically the computer) has to ask "do you have anything for me" before the remote will send. If the USB host gets busy doing other things or there is a lot of things on the USB bus to get polled, you can get delays. For its age midi is still a great protocol for music * [https://www.usb.org/sites/default/files/midi10.pdf USBIF's "USB Device Class Definition for MIDI Devices" document, version 1.0 from Nov 1, 1999] * [https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf MIDI v2.0 from 2020 which AROS still needs, adds support for MIDI 2.0, MIDI-CI, and Universal MIDI Packet] Nearly all synthesizers now use the 16 MIDI channels available on a MIDI bus in one instrument alone, requiring multiple MIDI busses in a typical setup with more than one MIDI instrument. In addition, by handling multiple "virtual" cables, USB offers a solution to go beyond MIDI's 16-channel limit. MIDI data is transferred over USB using 32-bit USB-MIDI Event Packets. These packets provide an efficient method to transfer multiple MIDI streams with fixed length messages. The 32-bit USB-MIDI Event Packet allows multiple "virtual MIDI cables" routed over the same USB endpoint. This approach minimizes the number of required endpoints. It also makes parsing MIDI events easier by packetizing the separate bytes of a MIDI event into one parsed USB-MIDI event. {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Computer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{Yes|which acts as USB midi host to get all usb devices talking together}} |- | <!--Description-->Hobbytronics usb host standalone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->bomebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->raspberry pi with several midi interface(s) and linux scripting | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Kenton MIDI USB Host mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |} {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Acorn Instruments Masterkey 49 device | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested usb powered 5V regulated - similar keybed to keystation 49es but unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Akai SynthStation 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 - sticky rubber keys - usb |- | <!--Description-->Akai MPK Mini Laptop Production Keyboard | <!--Vendor ID-->0x09e8 | <!--Product ID-->0x007c | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and camd usb to use, not tested with apps}} | <!--Opinion-->2010 25 mini key self powered by mini USB lead - sustain port - no top left corner joystick - tested icaros 2.3 - |- | <!--Description-->Akai LPK25 LPK37 LPK49 Laptop Production Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2012 untested velocity sensitive mini keys with synth action - weak mini USB port - latency issues - |- | <!--Description-->Akai Professional APC Key 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 |- | <!--Description-->Akai MPK49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2012 untested 49 key 49-key full-sized, semi-weighted keyboard with aftertouch - |- | <!--Description-->AKAI Max25 MAX49 control keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2014 usb compliant |- | <!--Description-->Akai Professional MPK249 MPK261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 USB2 USB-b - full keys semi-weighted aftertouch - midi in out - sustain and peddle port |- | <!--Description-->Akai Professional Advance 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 |- | <!--Description-->Akai MPK Mini MKII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 untested USB2 USB-b midi connection only - 4 way thumb joystick top left - 25 tiny keys - velocity drum pads - plastic build quality - |- | <!--Description-->AKAI Professional APC Key 25 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| driver}} | <!--Opinion-->2017 |- | <!--Description-->Akai MPK Mini Play | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2021 untested USB2 USB-b midi connection only - synth basic samples - class compliant? - small led display top centre - 25 mini keys - press and hold the "Prog Select" button then use the "Program" knob to assign a MIDI channel - |- | <!--Description-->Akai MPK Mini 3 MKIII MK3 | <!--Vendor ID-->0x09E8 | <!--Product ID-->0x1049 | <!--Revision-->0200 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2021 USB2 USB-b midi controller connection no 5pin legacy - small led display top centre - 25 mini keys goofy uneven feel of the akai keyboards - press and hold the "Prog Select" button and press pad 1 to 8 to assign a MIDI channel - tested on AROS One 2.4 usb |- | <!--Description-->Akai Force / MPC One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Akai Pro MPK Mini Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2023 untested 37 mini keys - class compliant device - usb-b bus powered only with 5pin midi in and out - Shift and Global for Midi Ch - |- | <!--Description-->Akai Pro Ableton Push Mk 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Akai Professional MPC Key 37 49 61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2023 untested USB2 usb-b |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Alesis Photon PH-25 X25 Midi & USB keyboard/synth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2005 midi keyboard controller |- | <!--Description-->Alesis Q25 Q49 Q61 Q88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2014 untested |- | <!--Description-->Alesis Coda Pro Portable 88-Key Digital Piano USB MIDI Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 |- | <!--Description-->Alesis V25 V49 V61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 |- | <!--Description-->Alesis V Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VI49 VI61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VX49 VX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 1 5-pin MIDI input, 1 5-pin MIDI output, 1 USB port, |- | <!--Description-->Alesis Q25 Q49 Q61 Mk2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 |- | <!--Description-->Alesis Recital 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Alesis V25 V49 V61 MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 |- | <!--Description-->Alesis Qmini portable 32-key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->audiothingies MicroMonsta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested synth - |- | <!--Description-->audiothingies MicroMonsta 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 synth - |- | <!--Description-->Arturia Analog Experience “The Player” USB MIDI Master Keyboard Model APE25 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 usb-b bus powered - |- | <!--Description-->Arturia MiniLab Mk1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 maybe class complaint |- | <!--Description-->Arturia MiniLab MkII Mk2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 maybe class complaint |- | <!--Description-->Arturia Keystep 32 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2016 untested 32 mini keys usb compliant |- | <!--Description-->Arturia KeyLab 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2017 untested hammer-action Fatar keybed - reset Press and hold Oct + and Oct – buttons then insert the USB cable - |- | <!--Description-->Arturia MiniLab mkII | <!--Vendor ID-->0x1C75 | <!--Product ID-->0x2209 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2017 USB2 usb-b bus power - metal base heavier than most - Shift and press a key to select the MIDI Channel - To reset to original factory, unplug the USB cable, hold down the Oct- and Oct + buttons, plug the USB cable back in and continue to hold the buttons until the pads turn white - need software to change parameters like velocity sensitive assistance - |- | <!--Description-->Arturia KeyLab MK2 MKII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2017 untested hammer-action Fatar keybed |- | <!--Description-->Arturia MicroFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 hybrid digital/analog synthesis, |- | <!--Description-->[https://www.youtube.com/watch?v=PeYIAfn3UMs Arturia Minilab 3] [https://www.youtube.com/shorts/chj1WgMupGw ] [https://www.youtube.com/shorts/FMVdfhzg1Dw ] | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2020 untested usb-c bus powered - 25 mini keys semi - |- | <!--Description-->Arturia Keystep Pro | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Arturia MiniLab 3 Mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 maybe class complaint |- | <!--Description-->Arturia MiniFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 |- | <!--Description-->Arturia KeyLab Essential 49 61 88 mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested usb-c and 1 midi out - lack of aftertouch - |- | <!--Description-->Arturia AstroLab | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description-->Arturia KeyLab MK3 MKIII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 untested hammer-action Fatar keybed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer UMX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe|untested}} | <!--Opinion-->2007 |- | <!--Description-->Behringer U-Control UMX490 UMX610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 |- | <!--Description-->Behringer U-Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer Swing 32-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer MOTOR 49 - 49-Key USB/MIDI Master Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Creative EMU Xboard 25 E-MU X-Board 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2008 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->CME M-Key Mkey 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2008 stops sending MIDI on a regular basis. The simplest "fix" is to flip it off and on via the power switch at the back |- | <!--Description-->CME Ukey U-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2009 |- | <!--Description-->CME Xkey | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 low-profile aluminium full size pressure sensitive with polyphonic aftertouch but keys make too much noise and that they can be too sensitive to velocity - low power draw 25ma |- | <!--Description-->CME M-Key 49 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 simplified version of the U-key Mobiltone |- | <!--Description-->CME XKEY AIR 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 |- | <!--Description-->cme xkey 37 le | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Donner Spaceline DMK-25 Donnerdeal Rantion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Donner DMK25 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 25 mini velocity keys with limited aftertouch - usb-c powered - 8 drum pads - 3.5mm "midi out" socket - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Elektron Digitakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 expensive later midi usb class compliant with since 1.5 Update |- | <!--Description-->Elecktron Digitone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Digitone Keys 37-key Digital FM Synthesizer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 expensive |- | <!--Description-->Elektron Analog Four MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Octatrak MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->ESI keycontrol | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 49+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 25xt | <!--Vendor ID-->0x2702 | <!--Product ID-->0x2702 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and usb driver working}} | <!--Opinion-->2011 bus powered or 12v 0.5a dc in - metal base so heavy - midi out 5pin - sustain pedal port - modulation slider - rubber coated knobs becomes sticky - |- | <!--Description-->ESI keycontrol 49xt 61xt 88xt | <!--Vendor ID-->0x2702 | <!--Product ID--> | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected}} | <!--Opinion-->2011 12v 0.5a center pin +ve external psu required - USB i/o and 1 legacy 5pin out - full sized keys - heavy aluminium case keyboard metal base - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Evolution MK-125 MK-149 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2000 9v |- | <!--Description-->Evolution MK-225C MK-249C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 9v |- | <!--Description-->Evolution USB/Midi Controller MK-425C MK-449C MK-461C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|25, 49, 61 keys - }} | <!--Opinion-->2006 9V or 12V - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->IK Multimedia iRig Keys Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 37 full keys |- | <!--Description-->IK Multimedia iRig Keys Pro Mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 25 or 37 mini keys |- | <!--Description-->IK Multimedia iRig Keys 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 mini velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys 2 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 full velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Kawai VPC 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> weighted keys - heavy build - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Keith McMillen Instruments K-Board | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? each keypad makes them velocity, pressure, and location sensitive but not really suited for piano playing |- | <!--Description-->Keith McMillen BopPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Korg NanoKontrol 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->mini usb |- | <!--Description-->Korg Prophecy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->KORG microKONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2010 |- | <!--Description-->Korg microKEY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2011 velocity-sensitive Natural Touch keys but joystick is an alternative to the common pitch/modulation wheel design - power draw - |- | <!--Description-->Korg nanoKey nanoPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 |- | <!--Description-->Korg Taktile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg microKEY2 25 37 49 61 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|2015 untested}} | <!--Opinion-->2015 USB powered - semi weighted - |- | <!--Description-->Korg MiniList | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg MinKey nanoPad nanoPad 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg Nautilus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Kurzweil PC3 7 series - Artis 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->fatar TP-8 semi-weighted action |- | <!--Description-->Kurzweil PC1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Kurzweil PC3 A8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Line 6 Mobile keys 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 POD Studio KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 Tone Port KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Midiman (later M-Audio) Oxygen8 Ozone Ozonic 25 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|not class compliant - untested 5pin legacy }} | <!--Opinion-->2002 2004 untested - 25 full keys - slider/fader to left of lcd display - |- | <!--Description-->m-audio oxygen keystation (61 key) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 |- | <!--Description-->M-Audio eKeys 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 |- | <!--Description-->M-Audio Axiom 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 bus powered and 12v psu - if sliders/faders are on right - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Oxygen 8v2, 49, 61 (silver) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Keystation 37e 49e, 61e MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2006 - ok key action - |- | <!--Description-->M-Audio Keystation 37es 49se 61es, 88es MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 - |- | <!--Description-->M-Audio Oxygen 25/49/61/88 (blue) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 [https://m-audio.com/products/view/oxygen-25-legacy advised Class-compliant and GM/GM2/XG SysEx messages] with full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Axiom 25, 49, 61 (2nd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 semi-weighted mini keys - bus powered and 9v psu for 25/49 and 12v for 61 - if sliders/faders are on left - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Axiom Pro 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 poor construction |- | <!--Description-->MAudio Axiom AIR 25 M-Audio Axiom Air Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->M-Audio Oxygen 25 III (3rd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 untested - usb only - rubber keys sticky - |- | <!--Description-->MAudio Keyrig 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 - mini usb - plays a few notes and then stops responding randomly - try plugging it into port 1 or 2 on your pc - |- | <!--Description-->M-Audio Keystation 49 MK2 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 USB port and class compliant |- | <!--Description-->M-Audio Keystation 61 MK3 MKIII MIDI keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 usb compliant untested |- | <!--Description-->M-Audio Oxygen 25 IV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2016 choice |- | <!--Description-->M-Audio CTRL-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2017 |- | <!--Description-->M-Audio ProKeys 88, 88sx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 mini usb - some power or incompatibility issue with the native USB ports of the laptop, plugged in a passive USB 2.0 HUB (not USB 3.0, not powered) |- | <!--Description-->[https://www.youtube.com/watch?v=3328SvuJsLw M-Audio Oxygen25 MKV] | <!--Vendor ID-->0x0763 | <!--Product ID-->0x0001 | <!--Revision-->0023 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - midi in out untested}} | <!--Opinion-->2020 25 full size semi keys - USB2 usb-b but no 5pin classic plugs - channel select SHIFT button and CHANNEL on keybed - plastic build - holding down both the Octave + and - for factory reset - more limited in what you can do with it than IV 4th one - tested on AROS One 2.4 usb |- | <!--Description-->M-Audio Oxygen Pro 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 untested semi full keys |- | <!--Description-->M-Audio Oxygen Pro Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 32 smaller keys - not endless encoders - usb only - |- | <!--Description-->M-Audio Hammer 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog Minitaur | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-VAVE SMK-25mini 25key MIDI Control Keyboard Y6I0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Native Instruments NI Primus A25 JamMate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->Native Instruments Maschine MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 not compliant uses snd-usb-caiaq module, |- | <!--Description-->Native Instruments Komplete Kontrol S88 S61 S49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 - weighted keys - |- | <!--Description-->Native Instruments Maschine MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 maybe compliant, |- | <!--Description-->Native Instruments Maschine Micro Mikro MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe? |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 all MK2 MK3 power up the keyboard using USB, it will set the keyboards MIDI port to computer MIDI only without any option to set it to use the MIDI DIN, meaning you cannot connect the keyboard to hardware and power from USB, you MUST power with the power adapter and physically unplug from any USB connection - |- | <!--Description-->Native Instruments Komplete Kontrol A25 A49 A61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 maybe compliant, |- | <!--Description-->[https://github.com/sikorak666/maschine-mikro-mk3-driver Native Instruments Maschine Micro Mikro Plus MK3 MKIII] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Native Instruments Komplete Kontrol M32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 untested 32 smaller keys - no drum pads - USB only - |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkIII MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description-->NI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neusonik iBoard 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Impact LX25+ LX49+ LX61+ LX88+ SE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 budget full-size velocity-sensitive synth-action keyboard - |- | <!--Description-->Nektar Impact GX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB port - |- | <!--Description-->Nektar Panorama P4 P6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB & USB Micro B, 5-pin MIDI out, 2 x TRS inputs with 49 semi-weighted, velocity sensitive with aftertouch |- | <!--Description-->Nektar SE25 SE49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> mini keys - micro usb bus powered - velocity and sustain button |- | <!--Description-->Nektar Panorama P6 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Panorama T6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nord Stage 3 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> sysex |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation ReMote 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 lhs XY touchpad and the joystick - |- | <!--Description-->Novation LaunchKey 25 49 61 88 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 not USB class compliant |- | <!--Description-->Novation 49 61 SL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation ReMote 25SL 49SL 61SL soft label | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 - two long top liquid-crystal display LCD strips - XY touchpad and the joystick - |- | <!--Description-->Novation ReMOTE 25LE | <!--Vendor ID-->0x1235 | <!--Product ID-->0x0004 | <!--Revision-->0001 | <!--CAMD-->{{Yes|detected, usb driver in devs/midi for camd to use}} | <!--Opinion-->2007 USB-b powered, 9v center pin positive or 6 MN1500 AA batteries - X/Y touchpad and the combined pitch and modulation joystick - no aftertouch but can use both the legacy MIDI OUT and USB port simultaneously |- | <!--Description-->Novation Nocturn 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| }} | <!--Opinion-->2008 untested sending random pitchbend info |- | <!--Description-->Novation 49 61 SL MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation MiniNova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 |- | <!--Description-->Novation Impulse 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 velocity aftertouch‑sensitive semi-weighted keyboards and eight backlit pads - USB, 5-pin MIDI out - |- | <!--Description-->Novation Circuit Tracks / Rhythm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Novation LaunchKey 25 49 61 88 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 USB class compliant - full keys - |- | <!--Description-->Novation Launchpad Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested 8x8 buttons with 16 backlit |- | <!--Description-->Novation LaunchKey Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested - 25 soft mini keys - 2 rotary wheels lhs - |- | <!--Description-->Novation LaunchKey 25 37 49 61 88 MK3 MKIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 USB class compliant choice - full keys - |- | <!--Description-->Novation LaunchKey Mini MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 25 soft mini keys - 2 sliders lhs - |- | <!--Description-->Novation 61SL Mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Nymphes Dreadbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 6 voice analog synth |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Oberheim MC 2000 EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 88 keys fully weighted - very heavy - |- | <!--Description-->PreSonus ATOM SQ Hybrid MIDI Keyboard/Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[https://polyend.com/tracker/ Polyend Tracker] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Roland ED PC-300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 USB MIDI keyboard controller 49-key |- | <!--Description-->Roland EDIROL PCR-M30 PCR-M50 PCR-M80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol PCR-30 PCR-50 PCR-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 untested 32 key - |- | <!--Description-->Roland PC-50 PC-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- | <!--Description-->Roland PCR-500 PCR-800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 61 velocity-sensitive keys with aftertouch |- | <!--Description-->Roland A-88 a-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 USB port - weighted keys velocity no aftertouch - class compliant with press FUNCTION so it is lit. Press the key labelled "ADV.", Press the "+" button so it is lit - |- | <!--Description-->Roland PC-200 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 some had fatar keys |- | <!--Description-->Roland MC-707 Groovebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 |- | <!--Description-->Roland MC-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Roland A-500 A500Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland A-300 A300Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland JUNO DS, FA, Fantom, JUPITER X / Xm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 (be sure that USB driver is set to "Generic" - requires device rebooting) |- | <!--Description-->Roland A-88 a-49 MKii MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 expensive with USB-c port - hammer-action keyboard weighted keys - Class-compliant if USB-C enables bus power - MIDI 2.0 later - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ROLI Seaboard RISE 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Samson Graphite 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Samson Carbon 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Sequential TAKE 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK-161 and VMK-161 Plus Organ version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->TP-8O action is the unweighted, organ-style waterfall keybed - usb midi in out - 9v psu - |- | <!--Description-->Studiologic SL990XP midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK176 Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->USB and midi connectivity |- | <!--Description-->Studiologic SL880 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic SL73 SL88 Studio midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> hammer-action Fatar TP semi-weighted keys |- | <!--Description-->Studiologic Numa Organ 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 73 key TP-8O action is the unweighted, organ-style waterfall keybed used in nearly all clonewheels |- | <!--Description-->Studiologic Numacompact 2/2x, Numa X Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero CommandKey49 CommandKey25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SZ-MiniCommand Mini-Command USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SPC61 MIDI Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> bus powered - 5 octave |- | <!--Description-->SubZero ControlKey49S 49 Key Slim MIDI Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Synido TempoKey K25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 25 mini keys - usb-c powered |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Worlde Panda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha KX8 KX49 KX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2008 not compliant |- | <!--Description-->Yamaha CMC-PD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2010 |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 not class compliant |- | <!--Description-->Yamaha P45B P-45 Digital Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2011 not compliant |- | <!--Description-->Yamaha P-115 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested weighted keys - USB midi port |- | <!--Description-->Yamaha MX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 should compliant untested |- | <!--Description-->Yamaha Montage, CP73/88, YC, MODX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Yamaha PSR-E353, PSR-E443 PSR-S670, PSR-S770, PSR-S970, PSR-A3000, TYROS-5 NP-12, NP-32 DGX-650, DGX-660 P-105, P-115, P-255 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha MX49 II V2 Black Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->DJM V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> dj |- | <!--Description-->Native Instruments Kontrol DJ Pro midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> detected but untested |- | <!--Description-->Numark Mixtrack Pro II USB DJ Controller Djay | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->older generation pioneer DDJ-SX2 dj | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Alyseum AL-22 AL22c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum AL-88 Schneidersladen AL88c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum U3-88c Midi Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no CopperLan support Midi network using a UTP Ethernet patch cable) |- | <!--Description-->Behringer BCF2000 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->[http://www.behringer.com/EN/home.aspx Behringer] BCR2000 1in 2out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer B-CONTROL DEEJAY BCD3000 DJ Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer UMD404 UMD202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Creative EMU 0404/USB midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 |- | <!--Description-->DigiDesign / Focusrite Command 8 Control Surface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 supports MIDI continuous controller (CC) and note data. SysEx dumping and loading is also supported |- | <!--Description-->Digidesign Digi 002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 firewire only |- | <!--Description-->Digidesign Digi 003 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 firewire only |- | <!--Description-->emagic m4 2x4 AMT8 Unitor 8 Mk2 8x8 | <!--Vendor ID-->0x00d0 | <!--Product ID--> | <!--Revision-->0x010 0x0103 | <!--CAMD-->{{No| }} | <!--Opinion-->2000 offers MTS (Midi Time Stamping) - 12v 2a psu centre pos - usb mini with rs232 and rs422 serial ports - 16 channels (8-in / 8-out), this rack-mountable unit - |- | <!--Description-->Evolution U-Control UC-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| detected}} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Guillemot Maxi Studio ISIS Vintage Sound Card MIDI Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->1998 |- | <!--Description-->[http://www.ucapps.de/mbhp_usb.html MidiBox] Hardware Platform USB Module | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2001 |- | <!--Description-->Mackie Control Universal Pro XT with One Two Extenders | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->M-Audio Audiophile USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 not compliant, |- | <!--Description-->M-Audio Midisport UNO old version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio MidiMan 1x1 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 [http://sourceforge.net/projects/linux-hotplug/ firmware update] |- | <!--Description-->M-Audio Midisport 2x2 yellowy green blue, green or silver chassis plastic box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|MIDISPORT 2x2 or 4x4 interfaces from previous production series (blue, green or silver chassis) are not class-compliant}} | <!--Opinion-->2004 |- | <!--Description-->MAudio Audiosport Quattro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2004 not usb compliant as [http://usb-midi-fw.sourceforge.net/ firmware required and that is buggy], |- | <!--Description-->M-Audio UC-33 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio Midisport 1x1 2x2 4x4 Anniversary Edition, black box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 maybe class compliant, |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->[http://www.amiga.org/forums/showthread.php?t=52920 Mark of the Unicorn Motu Fastlane] 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|[http://www.amiga.org/forums/showpost.php?p=560852&postcount=8 not working on OS4]}} | <!--Opinion--> not class compliant, |- | <!--Description-->Motu Micro Lite 1x1 and MOTU microlite 5x5 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> good unit but poor just plug in support and not class compliant - USB2 usb-b - |- | <!--Description-->Motu MIDI Express 128 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->poor support serial port only - offers MTS (Midi Time Stamping) A serial port based MIDI interface or a USB interface without MTS will have a MIDI slop of up to 2ms on record and playback. MTS provides accuracy for record and playback to around .3ms - five times more accurate than serial or non-MTS." |- | <!--Description-->MOTU.com MIDI Express XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2008 for many USB should have octocoupled connection to reduce groundloop humm, usually the timing is off |- | <!--Description-->MOTU MIDI Timepiece AV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> not class compliant is one of the best multi-port MIDI interfaces ever made as USB model connects to the computer as an 8x16 interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Native Instruments GmbH Audio 8 DJ, 4 DJ, 2 DJ | <!--Vendor ID-->0x17CC | <!--Product ID-->0x | <!--Revision--> | <!--CAMD-->{{no|needs dedicated driver}} | <!--Opinion-->2006 not class compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Qcon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Roland Edirol UA-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|did not match to camdusbmidi.class USB audio midi with onboard DSP}} | <!--Opinion-->1998 |- | <!--Description-->Roland Corp Edirol UM-2 | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0005 | <!--Revision-->0200 | <!--CAMD-->{{no|is not bound via camdusbmidi.class }} | <!--Opinion-->1999 not bound to any midi class - 2x2 - tested Aros One USb 2.4 |- | <!--Description-->Roland Edirol UA-100G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->1999 USB audio midi with onboard DSP |- | <!--Description-->Roland Edirol UM-880 8x8 midi interface | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2000 under poseidon but could work with run >nil: c:midithru out.0 "EDIROL UM-880.out.2" |- | <!--Description-->Roland Edirol UM-1 blue plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| bound??? via camdusbmidi.class - untested midi in out}} | <!--Opinion-->2000 UM-1 - 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 |- | <!--Description-->Roland Edirol UM550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1X midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1SX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0052 | <!--Revision-->0200 | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-2C - 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-1G 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->Roland Edirol Cakewalk UM-2G 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->[https://github.com/spotify/linux/blob/master/sound/usb/usbquirks.h Roland Edirol UA20 UA-20] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2004 |- | <!--Description-->Roland UM-1EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol UM-2EX 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 adds a second MIDI OUT |- | <!--Description-->Roland Cakewalk UM-3G - 3x3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Roland Cakewalk ua-25excw 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2009 not class compliant mode |- | <!--Description-->[https://alsa.opensrc.org/Edirol_UA-25EX Roland Edirol UA55 UA-55 Cakewalk UA25 EX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2011 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus B2M Bass MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus G2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg CMC Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Subzero SZ-MB44 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Swisssonic MIDI1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2012 AmigaOS there is no output at midichannel one and two but if play a midi file there is only output on some channels and if pressed stop the prog freezes or the whole system crashes |- | <!--Description-->Teac Tascam US-428 US-422 midi interface | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> 2000 not compatible |- | <!--Description-->Teac Tascam [http://web.archive.org/web/*/http://www.tascam.com/Products/US-224.html US-224] | <!--Vendor ID-->0x1604 | <!--Product ID-->0x8004 | <!--Revision-->0100 | <!--CAMD-->{{No| }} | <!--Opinion--> 2002 does not bind to any class |- | <!--Description-->Teac Corp Tascam US-1x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 |- | <!--Description-->Teac Tascam US-122 MKII midi interface | <!--Vendor ID-->0x0644 | <!--Product ID-->0x8021 | <!--Revision-->0100 | <!--CAMD-->{{No|not detected / binding to camdusbmidi.class on AROS 2.4 usb }} | <!--Opinion-->2004 detected but not working 2-in/2-out USB two XLR microphone preamps with phantom power for condenser microphones |- | <!--Description-->Teac Tascam US-200 US-400 US-600 US-800 US-1200 US-1800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 may not be totally usb compliant |- | <!--Description-->Yamaha UX-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Akai EIE and Pro version midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 dc 6v power - 3 USB hubs, midi in out , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alesis I/O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2007 powered USB hub required, not compliant |- | <!--Description-->Alesis IO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 usb compliant? |- | <!--Description-->Alesis IO4 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->Behringer XTouch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> psu needed |- | <!--Description-->Behringer X-Touch Compact | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant? |- | <!--Description-->Behringer X-Touch Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant?, usb to 5pin midi interface |- | <!--Description-->Behringer U-Phoria UMD404HD UMD202HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 maybe class compliant - volume low, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->CME U2 MIDI Pro 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> current model |- | Creative EMU XMIDI 1X1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 early versions with sysex checksum errors |- | <!--Description-->Creative E-MU Xmidi 1x1 Tab (V3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 tab version class compliant but report that when transferring 'System Exclusive' messages (SysEx) the unit could not handle the highest data rate leading to data corruption |- | Creative EMU XMIDI 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 sysex errors |- | <!--Description-->Digidesign Mbox 2 Mini now Avid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 USB powered but not compliant |- | <!--Description-->Digidesign Mbox II Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 USB powered but not compliant |- | <!--Description-->Engl Z7 MIDI Interface (E660/E610/E360/E930) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitar? |- | <!--Description-->Elektron TurboMidi TM-1 1in 1out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U 4x4 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->supposedly class compliant - USB bus powered - |- | <!--Description-->ESI MidiTerminal M8U 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U XL 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> ploytec chipset |- | <!--Description-->ESI MidiTerminal M8U XL 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no hardware routing e.g. x on input 5 to synth y on output 7 - ploytec chipset |- | <!--Description-->ESI MidiMate 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->ESI MidiMate II 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI ROM I/O | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2005 romio version |- | <!--Description-->ESI M4U XT | <!--Vendor ID-->0x2573 | <!--Product ID-->0x0002 | <!--Revision-->0100 | <!--CAMD-->{{Maybe|is bound via camdusbmidi.class AROS One 2.4 - untested midi in out}} | <!--Opinion-->2010 - |- | <!--Description-->ESI M8U XT 8in 8out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 discontinued 2018 |- | <!--Description-->ESI M8UEX USB3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI M4U eX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI MidiMate eX midi interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 curent model, well liked and might class compliant?? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->icon midiport 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iCON CubeMi 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? |- | <!--Description-->iConnectivity | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iConnectivity mio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 class compliant but reported issues with sending System Exclusive (SysEx) MIDI messages and MIDI signals getting cut off |- | <!--Description--> iConnectMidi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->iCM2 iCM4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->iConnectivity iConnectMIDI4+ L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 class compliant?? |- | <!--Description-->iConnectivity MioXL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->IK Multimedia iRig MIDI 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant |- | <!--Description-->iRig Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Electronics pro solo mk2 midi to cv converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Midi Thru-25 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Keytech MT18E 8 Way Midi Thru box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 9 to 12v psu required |- | <!--Description-->MidiPlus Midi 2x2 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiPlus Midi 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->MidiTech MIT-00151 Midiface 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiTech Midiface 4x4 8x8 16x16 thru merge | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Miditech Midilink mini 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->M-Audio Midisport UNO only if box is labeled Class Compliant and latest MIDISPORT 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 not usb compliant, - |- | <!--Description-->M-Audio Midiman Midisport 2x2 Anniversary Edition [https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1133862-why-there-hardly-any-midi-interfaces.html not stable enough] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 USB2 usb-b - does not need firmware and supposedly plug and play - |- | <!--Description-->M-Audio Midisport 4x4 Anniversary Edition | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> rumored does not need firmware - supposedly plug and play - issues with its firmware for some and lacks configurable routing |- | <!--Description-->Maudio Fast Track Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Native Instruments Komplete Audio 6 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 maybe usb compliant but bus powered, |- | <!--Description-->Nektar Midiflex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 class compliant and usb-b powered - used as a 1 in / 3 out, 2 in / 2 out or 4 out 5pin sockets - |- | <!--Description-->Neusonik IM-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Peavey Xport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitars only |- | <!--Description-->Roland UM-ONE UM-1 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 USB class compliant if switch to TAB for class compliant mode rather than the COMPUTER mode |- | <!--Description-->Squarp Hermid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg Midex 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? supporting MIDI Time Stamping protocol |- | <!--Description-->Swissonic MidiConnect 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Tapco LiNK.midi USB 4x4 (Loud technologies) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|dedicated driver}} | <!--Opinion-->2005 |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion--> 2014 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Zoom U-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description-->Unbranded cable | 0x552d | 0x4348 | F110 | <!--CAMD-->{{Maybe|detected but no usb driver in devs/midi for camd to use}} | <!--Opinion-->detected but not working the USB-MIDI conversion functionality of the cheapo USB MIDI "cable" interface is simply lacking, possibly being incapable of handling MIDI strings longer than 3 bytes long SysEx strings (e.g. SysEx dumps) - tested in Icaros 2.3 - |- | <!--Description-->USB2.0-MIDI Unbranded cable with clear braided underneath leads | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x752D | <!--Revision-->0254 | <!--CAMD-->{{Maybe|detected binding to camdusbmidi.class but untested midi in / out}} | <!--Opinion-->untested but better to get a branded version - tested AROS One 2.4 usb |- | <!--Description-->LogiLink USB to Midi In-Out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|}} | <!--Opinion-->untested cheap cable version but issues with latency on other systems |- | <!--Description--> gm5 USB midi chip DIY option only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Doremidi LEKATO MIDI USB C Interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Thomann Midi USB 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> Prodipe made |- | <!--Description-->Prodipe MIDI 1i/1o | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} Classic 5pin DIN controllers for above interfaces {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Akai s5000 s6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi digital samplers |- | <!--Description-->Akai AX80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-3000 CZ-1000 CZ-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Cheetah MS6 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2000 multi-timbral, six-voice (twelve-oscillator), analogue synthesiser module is loaded with CEM 3396s |- | <!--Description-->Ensoniq ESQ1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Integra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Wavestation Ex A/D SR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1986 ex has piano and drum sounds |- | <!--Description-->Korg DW-8000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg DW-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Poly 800 MK1 Poly-800ii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> all plastic and can run on batteries - 49 keys non-velocity dco synt analogue filter |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland D-50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1987 untested greater concern would be moisture and wear}} |- | <!--Description-->Roland A50 (76) A80 (88) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1989 untested}} |- | <!--Description-->ROLAND JUNO-D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland Juno 106 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->80s kx73 or kx88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland ED PC-160A PC-180A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} legacy DIN5 MIDI port only - 6 AA batteries or 9v psu - One regular source of failure for me were emty batteries (even with red control light still active). Another source was a bad MIDI cable - unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description-->Roland M1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland S-550 S-760 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> digital samplers kontakt replaced these? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha DX7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1983 12bit |- | <!--Description-->Yamaha DX7S DX72IID DX7IIFD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1987 16bit versions |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- |} The MIDI standard was published in August 1983. The inventors, Kakehashi and Smith finally received a Technical Grammy Award in 2013 for their work. The MIDI files that contained just the note data, velocity and timing meant you could transfer an entire studio session from one place to another on one floppy disk and it could control all the synths and drum samplers. Pass-thru meant that one computer could run an entire bands worth of instruments. It's bulletproof too. MIDI never goes wrong, it's always a bug in software that causes any issue - you can absolutely rely on it to go gigging with, take your synths, controllers and computers and not crash an entire gig at your 100,000 person venue. The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work. The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in. The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times. For midi, the hardware/software combination at various connection points handles the translation to/from midi (or other protocols). Drivers would be needed for midi, including clock and SysEx signal (actually claiming to handle ALL midi quirks transparently All the important MIDI data types can be sent (CC, NRPN, RPN, MMC, Note On/Off, program change) There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues. Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late. Ethernet network cable to transport MIDI over large distances, connect 2 MIDI In and 2 MIDI Out ports to patch, remap, filter and merge MIDI flows on a fine channel basis for tight MIDI throughput, latency and jitter Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info. Preemptible, low latency and accuracy are essential for good communication. One of the first things you need to do, is make sure your MIDI software sets the interface to the same MIDI channel as your keyboard (usually 1) Do you want to send just your master keyboard to other synths or to be able to use any keyboard with any synth? 1st option is relatively simple. Just need to send midi from your master keyboard into a midi splitter that redistributes the signal onto your synths. Each synth will be set up to receive midi on a specific channel so the only challenge is to find a way to select to which channel you are sending midi. Some master keyboards can do that although not many that have a dedicated knob or switch on the panel and most require a bit of menu diving. Could use a midi box that offers channel selection but usually this is not very workflow friendly. The software route would require using the mouse. 2nd option is a bit more complex but superior workflow by sending midi messages into a merge box, from there into a hardware sequencer that allows to select midi channel, then on to a midi interface that distributes the signal to the synths. Master keyboard MIDI-in to computer. External hardware sampler MIDI-out from computer. Audio-out from sampler to audio-in on computer/device. Blue Ribbon Soundworks Bars & Pipes Professional (1993/4) GM (1984), GS (1987), XG level 1-3 (1994-1997), GM level 2 (1999) GM GM1 imposes several requirements beyond the MIDI 1.0 specification. While MIDI 1.0 by itself provides a communication protocol which ensures that different instruments can interoperate at a fundamental level e.g sound modules. GM goes further in two ways. First, GM requires that all compliant MIDI instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony). Second, GM attaches specific interpretations to many parameters and control messages which were left unspecified in the MIDI 1.0 specification. A minimum of 128 MIDI Program Numbers (conforming to the GM 1 Instrument Patch Map) and 47 percussion sounds (conforming to the GM 1 Percussion Key Map). Support for controller number 1, 7, 10, 11, 64, 100, 101, 121 and 123; support for channel pressure and pitch bend controllers. General MIDI Level 2 or GM2 is a specification for synthesizers which defines several requirements beyond the MIDI standard and is based on General MIDI (GM) and Roland GS extensions. It was adopted in 1999 by the MIDI Manufacturers Association (MMA). * Number of Notes: 32 simultaneous notes * MIDI Channels: 16 * Simultaneous Melodic Instruments – up to 16 (all Channels) * Simultaneous Percussion Kits – up to 2 (Channel 10/11) Program and bank change events General MIDI 2 compatible synthesizers access all of the 256 instruments by setting cc#0 (Bank Select MSB) to 121 and using cc#32 (Bank Select LSB) to select the variation bank before a Program Change. Variation bank 0 contains the full GM (General MIDI 1) sound set. Variations using other bank numbers are new to General MIDI 2, and correspond to variation sounds introduced in Roland GS. [https://www.youtube.com/watch?v=CluuHrr7HG4 Major WWHWWWH, Minor WHWWHWW scale], [https://www.youtube.com/watch?v=Jjm7Ti-iwz0 Chords], ==usb audio== AROS currently does not support natively any USB audio interface for recording audio USB audio is only available for limited Amiga like OSs, independent of the USB protocol version USB1.x USB2, USB3.x, which are not backwards compatible. *Introduced 2000 and from 2014 USB Audio 1 UAC1 16bit 44.1kHz *Introduced 2006 and from 2014 USB Audio 2 [https://www.usb.org/document-library/usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through-april UAC2] 24bit 192kHz *Introduced 2016 and from 2024 USB Audio 3 [https://www.usb.org/documents UAC3] 32bit 384kHz USB group decided to rewrite the audio standard, so [https://os4depot.net/?function=showfile&file=audio/record/usbaudio2.lha UAC2] and [https://archive.fosdem.org/2019/schedule/event/linux_and_usb_audio_class_3/attachments/slides/3345/export/events/attachments/linux_and_usb_audio_class_3/slides/3345/Linux_and_USB_Audio_Class_3___FOSDEM_2019.pdf UAC3]. They added clock selection and control, timing domains and others. Part of the changes included changing many of the descriptors that an audio device uses to describe itself to the machine. PsdErrorlog/PsdDevlister? The AHI driver generated only supports mono/stereo at any bit rates between 8 and 32 bit per sample, but not multichannel modes and only rates up to 65KHz (because AHI uses a 16-bit word for frequencies). If the soundcard does not offer such a PCM 8-32 bit mode at frequencies lower than 65 KHz, there's nothing much that can be done about it on the computer side other than revising and expanding the AHI standard. Most cheap USB soundcards do though. AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI. Untested but most likely to work, at least 2 mic inputs (low impedance) & instruments (high impedance) and made in the last 10 years *[https://www.youtube.com/watch?v=gMuA-2FbJxE Entry level <100Euro] BOMGE U202, Behringer UMC, Presonus Studio, *[ Next tier <200Euro] Audient iD, Solid SSL2 and SSL2+, Lewitt, Focusrite Scarlett, Arturia MiniFuse, *[ Prosumer <300Euro] Focusrite Clarett+, *[ Professional <500Euro] RME Babyface, *[ Studio >500Euros] Bands may need 4 or more mic inputs [http://forum.xda-developers.com/showthread.php?p=38364030 XDA Forum thread], <pre> <- Computer <- Mobile Phone / Tablet (OTG) <- Digital Cameras <- Video <- Webcams Base Computer <-> OBS like <- Audio Mixer <- Microphone(s) -> Internet -> Youtube & Chat </pre> USB AUDIO CARDS - UAC Compliant {| class="wikitable sortable" width="90%" ! width="20%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Records ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Antelope Galaxy 64 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant and a high-end 64-channel AD/DA converter HDX, Dante connectivity and a Thunderbolt Audio interface |- | <!--Description-->Antelope Galaxy 32 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->may not be compliant as Antelope Audio does not provide official drivers, control software, or an Antelope Launcher |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Arturia Mini Fuse 1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant, okay pre amp 1 combi input, cirrus logic cs4272 ad converter, |- | <!--Description-->Arturia MiniFuse 2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant usb-c with usb2.0, okay pre amps with good dynamic range 110dB, cirrus logic cs4272 ad converter, two combi inputs for mic, line or guitar, |- | <!--Description-->Arturia MiniFuse 4 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, okay 110dB dynamic range, -129dB EIN, |- | <!--Description-->Arturia AudioFuse 16Rig | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audient iD44 mk1 mki | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2018 maybe usb compliant, good, |- | <!--Description-->Audient evo4 EVO8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, |- | <!--Description-->Audient iD4 mk2 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, |- | <!--Description-->Audient id14 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description-->Audient iD24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant and usb-c bus powered, good, , 0-in/14-out audio interface with ADAT expandability, balanced inserts |- | <!--Description-->Audient iD44 Mk2 Mkii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer U-PHORIA UMC22 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer U-PHORIA UMC202HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps ein -129 dBu, 24bit ADC, |- | <!--Description-->Behringer U-PHORIA UMC404HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps, 24bit adc, |- | <!--Description-->Behringer U-PHORIA UMC204HD 192 Empower Tribe | <!--Vendor ID-->0x1397 | <!--Product ID-->0x0508 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer UMC1820 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2016, bus complaint?, okay midas pre amps, adc, |- | <!--Description-->Behringer U-PHORIA UM2 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, poor zenyx pre-amps with high noise floor, plastic build no rf shielding, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, , , midi, strictly NEC USB 2.0, |- | <!--Description-->Focusrite Scarlett 8i6 Gen 1 MOSC0001 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, but |- | <!--Description-->Focusrite Scarlett 2i2 Gen 1 MOSC0003 *TP1 - 3.3V, tested ok *TP2 - U4 control signal, 3.3V present at all time. *TP4 - Ground *TP6 - 48V, tested ok *TP7 - Ground *TP8 - Ground | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 usually avoid early Gen 1, |- | <!--Description-->[https://khronscave.blogspot.com/2021/08/75-focusrite-scarlett-2i4-1st-gen.html Focusrite Scarlet 2i4 Gen 1 (slide toggles) MOSC0004] *TP1 - 3.3V, tested 3.22v *TP2 - U4 control signal, 3.3V present *TP4 - Ground *TP6 - measure 47.72v * AKM 4384ET (VDD 5v) * Cirrus Logic CS4272-CZZ (VA 4.94v/ VD 3.2v/ VL 3.2v) * all four HC4066 (VCC 4.96v) * XMOS XS1-L01A-TQ128-C5 (all VDD 1.08v/ all VVDIO 3.23v/ PPLAVDD 0.99v/ PCU-VDDIO 3.23v) 2i4S *TP1 seems to be 0V *TP2 should be 5V *TP3 should be *TP6 should be 48V *TP8 should be 3.3V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps JRC NJM2122 and NJM4565, [https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf CS4272 adc], [https://pdf.datasheet.live/e5e5fd1c/akm.com/AK4384.pdf AK4384 output pair], Xmos XS1-L8A-64-TQ128 processor and firmware in Winbond 25X40CL 4Mbit, an SMSC Microchip USB3343 interface and a Microchip PL611 clock generator - two Intersil / Renesas ISL97519A for the phantom power rail, two OnSemi NCP1521B for the 3.3V (digital) and 1V (Xmos core) rails - |- | <!--Description-->Focusrite iTrack Solo USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2012 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 1st Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->[http://wiki.linuxaudio.org/wiki/current_audio_gear Focusrite ] Scarlett 4i4 Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->Focusrite Scarlett 6i6 Gen1 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , , 12v psu, the headphone outs mirror the outs on the back panel, so that's six independent outs. 4 independent analog output paths, plus two over spdif, |- | <!--Description-->[https://khronscave.blogspot.com/2019/03/38-focusrite-scarlett-18i8-gen1-teardown.html Focusrite Scarlett 18i8 1st Gen MOSC0008] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, JRC NJM4565 provide most of the opamps, pair of JRC NJM2122's for inputs 1 and 2, [http://www.mouser.com/ds/2/76/cs4272_f1-43250.pdf Cirrus CS4272], 12v 1a +central psu to a pair of National Semiconductor LM2672 for 3.3V rail and the +6.9V rail, Xmos XS1–L16A–128 dual-row QFN package, firmware a Winbond 25X40C 4Mbit SPI Flash and an SMSC USB3343 interface chip, the two headphone outs are completely independent so 6 independent analog output paths, plus two over spdif, |- | <!--Description-->Focusrite Clarett+ 8Pre | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 great, expensive, maybe usb compliant? |- | <!--Description-->Focusrite Scarlett 2i2 Gen 2 (slide toggles) MOSC0006 *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8202 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz CS4272 as well as an additional AKM AK4384ET for the second stereo output pair, 4 screws under bottom rubber, |- | <!--Description-->[https://khronscave.blogspot.com/2021/07/focusrite-scarlett-2i4-2nd-gen-teardown.html Focusrite Scarlett 2i4 Gen 2 (slide toggles) MOSC0014] *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps NJM2122's, NJM4565's and CMOS switches (HEF4053 and HEF4066), CS4272 and a AKM AK4384ET, Xmos XU208-256-TQ64-C10 with firmware stored in a Macronix MX25L8006E 8Mbit flash memory, clocking by a Cirrus Logic CS2100, an MP1542 boost converter creates +6V and -6V rails, powering the opamps and the rest of the analog circuitry, |- | <!--Description-->Focusrite Scarlett 6i6 Gen2 MOSC0016 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo 2nd Gen MOSC0019 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->[https://khronscave.blogspot.com/2024/03/focusrite-scarlett-18i8-gen2-teardown.html Focusrite Scarlett 18i8 2nd Gen MOSC00] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Red 16Line | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 may not be compliant as Focusrite provides no drivers - 64-in/64-out Pro Tools - dual Thunderbolt 3 audio interface with ultra-low latency A-D/D-A conversion - Red Evolution mic preamps |- | <!--Description-->Focusrite Scarlett Solo 3rd Gen MOSC0024 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant usb-c but usb2, preamps, ad/dc 24bit 192kHz, most Focusrite gen3 interfaces have encrypted processors, |- | <!--Description-->Focusrite Scarlett 18i6 Gen3 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB2 class compliant device, but with custom mixer interface |- | <!--Description-->Focusrite Scarlett 2i2 Gen 3 (push in switches) MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8210 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB-c bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz Cirrus Logic xfr002c and cs4272 chips, |- | <!--Description-->Focusrite Scarlett 18i20 3rd gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i8 3rd Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8214 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, , , no screws under the rubber pads on the bottom, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo Studio Mk3 USB Audio Interface MOSC0030 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2020 |- | <!--Description-->Focusrite Scarlett 2i2 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 4i4 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Studio 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Solo 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FractalAudio FM9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Fractal Audio AM4 platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 not working |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Lewitt Connect 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Lewitt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Motu UltraLite AVB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb not compliant? |- | <!--Description-->MOTU M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant?, usb-c, good pre amps, ad/dc, |- | <!--Description-->MOTU M4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->MOTU U2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, good but latest had hardware revision |- | <!--Description-->MOTU UltraLite-mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 not usb compliant, great |- | <!--Description-->MOTU UltraLite-mk5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nuemann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb audio compliant, great pre-amps |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->neuralDSP Quad Cortex QC platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc compliant but plugins not working |- | <!--Description-->NeuralDSP QC Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc complaint |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neve Genesys Black G16 G32 G64 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant - very good very expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Presonus AudioBox USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe not usb compliant, usb1.1 usb-b bus powered, okay pre-amps, 24bit ADC 48Khz max, |- | <!--Description-->Presonus Audiobox 1818VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Presonus AudioBox 44VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 may not be usb compliant, 12v psu, |- | <!--Description-->PreSonus AudioBox 22VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->|PreSonus Studio 2|4 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, usb-b, |- | <!--Description-->|PreSonus Studio 2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->|PreSonus Studio 6|8 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe compliant, needs ext psu, |- | <!--Description-->PreSonus Studio 24c 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, good, adc, |- | <!--Description-->PreSonus Studio 26c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus® Studio 68c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus AudioBox USB 96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, high preamp noise, |- | <!--Description-->Presonus Quantum ES2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism Lyra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Platane UP1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb- UAC2 asynchronous protocol, 64dB Low-noise Mic amplifier, 32Bit High End ADC and DAC, 16dBu High-power ti headphone amplifier |- | <!--Description-->Platane UP2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Platane | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->RME Babyface/UC/UFX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 might be able to put into class compliant cc although a firewire device, pre amps, adc, |- | <!--Description-->RME Babyface Pro FS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 might be class compliant usb-b, pre amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Solid State Logic SSL2 SSL2+ Mk1 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, good, adc, |- | <!--Description-->Solid State Logic SSL12 SSL18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, bus powered, good pre-amps, up to 32-bit 192kHz AD/DA converters, 12-in 8-out, |- | <!--Description-->Solid State Logic SSL2 SSL2+ MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, good pre amps ein -130 dBu, ad/dc, okay latency, |- | <!--Description-->Solid State Logic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Topping E1x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description-->Topping Pro E2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->UAD UA Apollo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->UA apollo 2nd Gen twin X (Duo/Quad), X4, X6, X8, X8P, and X16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 bus compliant?, usb- |- | <!--Description-->UA apollo twin x quad 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 bus compliant?, usb- |- | <!--Description-->Universal Audio Volt 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->|Universal Audio Volt 276 2|76 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->Universal Audio Volt 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Akai EIE Pro AI01 Electromusic Interface Expander - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, 4-in/4-out USB 2.0 audio interface with a built-in USB hub and MIDI I/O, up to 24-bit/96kHz |- | <!--Description-->Akai EIE Pro AI02 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Alesis io2 io|2, io14 io|14, io26 io|26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 bus powered but not usb compliant, okay pre-amps, 2, 4 or 8 mics respectively, |- | <!--Description-->Alesis iO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 not usb compliant, poor pre-amps, |- | <!--Description-->Alesis Core 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe cc, mini usb, poor latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Apogee Duet 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire only, not usb compliant micro-usb with most features, , , two‑channel two‑in, two‑out, |- | <!--Description-->Apogee Ensemble | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire, not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee One USB 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant micro-usb for basic features, , , single‑channel up to 48kHz |- | <!--Description-->Apogee One USB 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant usb- and maybe aa batteries, |- | <!--Description-->Apogee Duet 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee One USB 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->Apogee Ensemble Thunderbolt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee Boom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c, , , |- | <!--Description-->Apogee Duet 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ART PRO Audio Usb Mix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant bus powered, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Avid Digidesign Mbox 1 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID-->01000 | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2002 mbox original was usb1 and not a usb class compliant device, and had the much hated "focusrite designed" mic preamps, light blue front plate and the sticky out feet |- | <!--Description-->Avid Digidesign Mbox 2 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 midi not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Pro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Mini USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Micro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant |- | <!--Description-->AVID MBox 3rd gen Mini or Standard but Pro is Firewire | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2010 maybe usb compliant, |- | <!--Description-->behringer u-control uca202 | <!--Vendor ID-->0x8bb | <!--Product ID-->0x2902 | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, draws a lot of power - dac ti burr-brown - no microphone pre-amp - |- | <!--Description-->Behringer U-CONTROL UCA 222 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2009 maybe usb compliant, - no microphone pre-amp - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Black Lion Audio 2x2 evolution | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant but , okay with 109dB range - poor noise floor, 24-bit 192kHz Cirrus Logic CS4272, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Bomge 11s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge 22s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge BMG22 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 usb-c, 24bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower , may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TI Burr-Brown PCM2702E PCM2704 PCM2704C Muse Audio Mini USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2704 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description-->TI Burr-Brown PCM2900 PCM2902 PCM2906 USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2900 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Depusheng MD22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description-->Depusheng USB Audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Emagic emi 2|6 em2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2002 not uac |- | <!--Description-->|Emagic emi 6|2m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description-->|Emagic emi 6|2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Ego Systems, Inc. in Korea (ESI) joining with RIDI GmbH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->esi Mixvibes U46 Mk II USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant, usb-b powered, |- | <!--Description-->ESI ESU22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe not usb compliant, |- | <!--Description-->esi U24XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, 24 bits, 2 analogue inputs and outputs with 6.3 mm jack connection, Output L can be used as a headphone output, S / PDIF digital input - |- | <!--Description-->esi U46XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, |- | <!--Description-->ESI Originals, Inc ESIO MAYA22USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI MAYA44USB+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, xlr, |- | <!--Description-->ESI Originals, Inc ESIO MARA22XTU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI U22XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb class compliant |- | <!--Description-->ESI Gigaport Ex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 usb compliant?, usb-c usb3.1, , , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->iConnectivity iConnectAUDIO2+ icaudio-02 USB audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->LexiconPro - Omega 8x4x2 (USB-1.1) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2003 not usb complaint |- | <!--Description-->Lexicon Alpha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Lexicon Lambda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 may not be compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Line 6 Toneport UX1 and Tone Port UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Line 6 TonePort UX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 maybe not class compliant, |- | <!--Description-->Line 6 POD Studio UX1 UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Lokchonk UX22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://www.youtube.com/watch?v=ljSiNmudMm0 Lokchonk UX44HD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b , , , 2in 2out only, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Mackie Onyx Artist 1·2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 maybe not usb compliant, usb-b powered, |- | <!--Description-->Mackie Onyx Producer 2X2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b midi |- | <!--Description-->Mackie Onyx Blackjack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 USB powered but maybe not usb compliant, Two Onyx Preamps, 2-in, 2-out which are combo Neutrik-type connectors to handle XLR, instrument or line level |- | <!--Description-->Mackie | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, , , |- | <!--Description-->Media Assistance USB-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not uac cc comliant, |- | <!--Description-->M-Audio Fast Track USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2004 maybe not usb compliant, - guitar |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe usb cc providing 24-bit/96kHz audio capabilities but requires manual configuration of the mixer settings |- | <!--Description-->M-Audio M-Track | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 usb compliant?, okay - guitar and vocal mainly |- | <!--Description-->[https://htyp.org/M-Audio/Fast_Track_Ultra/Linux M-Audio FastTrack Ultra] and Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe usb compliant, low round-trip latency, okay octane pre amps, adc, |- | <!--Description-->M-Audio M-Track 2x2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre-amps, , |- | <!--Description-->M-Audio M-Track (MkII) 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre amps, , |- | <!--Description-->M-Audio M-Track Solo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf shielding, |- | <!--Description-->M-Audio M-Track DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf sheild, |- | <!--Description-->M-Audio Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, okay |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->NI AK1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, |- | <!--Description-->[https://www.pogo.org.uk/~mark/linuxdj/ Native Instruments Traktor Audio 8 DJ], [ Traktor Audio 4 DJ], [ Traktor Audio 2 DJ], | <!--Vendor ID-->0x17cc | <!--Product ID-->0x1978, 0x0839, 0x041C | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant uses snd-usb-caiaq module, [https://mixxx.discourse.group/t/problems-with-native-instruments-audio-8-dj-on-linux/14719/2 Audio 8 device has 4 subunits which are not recognized correctly], Cirrus Logic DACs spec'd at 24-bit/96KHz over a USB2, |- | <!--Description-->NI Komplete Audio 6 Mk1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps, 24bit 96kHz adc, ocassional dropouts, plastic build top with metal around 3/4, |- | <!--Description-->Native Instruments NI Komplete Audio 1 and 2 USB | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, good pre amp ein -129.5 dBu, ad/dc, |- | <!--Description-->[https://support.native-instruments.com/hc/en-us/articles/360014683497-Apple-Silicon-Compatibility-News Native Instruments Komplete Audio 6 Mk2] | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, pre amps, 24bit 192kHz adc, black aluminum glass build, |- | <!--Description-->[ Native Instruments Traktor Pro] | <!--Vendor ID-->0x17cc | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation AudioHub 2x4 NOVHUB01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, no xlr, focusrite sounds inside, |- | <!--Description-->Novation AudioHub | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Prodipe Studio 22 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Schiit HEL 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Schiit HEL 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 gaming headsets mostly |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland Edirol UA-3 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->1998 maybe not usb compliant, |- | <!--Description-->Roland Edirol UA-30 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->1999 not usb compliant, |- | <!--Description-->Roland Edirol UA1A UA-1D Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-5 Audio Capture (Roland) | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-1000 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Roland Edirol UA-1EX, Cakewalk UA-1G | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant driver also supports ASIO (Steinberg Audio Stream I/O Interface), noisy |- | <!--Description-->Roland Duo Capture UA-11 | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Roland QUAD-CAPTURE Analog 2x2 Digital 2x2 USB 2.0 4in/4out | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant, usb-b powered |- | <!--Description-->[https://wiki.debian.org/DebianEdu/Documentation/Manuals/Rosegarden/Setup Roland Edirol UA-101 and UA-1000 (Clemens Ladisch driver)] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->[https://github.com/mmueller-kaffeeschluerfercom/UA-25-Firmware-Modification Roland Edirol ua-25] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2007 maybe usb compliant 16bit 44.1kHz sampling without MIDI but not USB class complient when in Advanced mode for 24bit or midi |- | <!--Description-->Edirol by Roland USB AudioCapture UA-25EX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x00e6, 0x00e7 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant if ADVANCED DRIVER switched to OFF might play and record at 44.1kHz and 16-bit samples |- | <!--Description-->Roland Audio Interface V-Studio 20 VS-20 Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 maybe not usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->Roland Edirol UA55 UA-55 Quad Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID-->0x012f | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2011 not USB class compliant, |- | <!--Description-->Roland DUO-CAPTURE EX UA-22 USB Audio | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0159 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant but not be used with a USB 3.0 port that is not compatible with USB 2.0 specification, vs pre amps, adc, three AA batteries in base, or an AC adapter psb-1u 9V 2A - |- | <!--Description-->Roland Rubix series Roland Rubix22 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland Rubix series Roland Rubix24 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant |- | <!--Description-->Steinberg MI2, Steinberg MI4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Steinberg (2004 Yamaha buys) MIDI interface hardware including the CC like CC121 CC-121 and CI1 CI2 series. | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2008 not usb compliant, |- | <!--Description-->Steinberg UR12 UR22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR44 usb audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR242 audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, usb powered or 5v psu, okay pre-amps, |- | <!--Description-->Steinberg UR22mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, okay pre-amps ein -123 dBu, ad/dc, |- | <!--Description-->Steinberg UR-RT 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, usb2.0 usb-b, pre-amps, ad/dc, |- | <!--Description-->Steinberg UR44C (USB3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Steinberg URX22C UR22C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, preamps okay but little noisy, ad/dc. |- | <!--Description-->Steinberg UR22 MkIII UR series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb-c, okay pre-amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Tapco LiNK.USB 2x2 (Loud technologies WA, USA) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 maybe not compliant, usb-b, poor pre-amps hum, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=usx2yloader/README;hb=3843634ef0310a952b256bcb6a4ddd0ad4ebe396 Teac Tascam US-422 US-428 US2XYloader] | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Tascam US-122 US-224 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2003 not usb compliant, needing firmware usx2yloader/us122fw.ihx for audio sound card - Tascam US-122 and US-122L are not the same - |- | <!--Description-->Tascam US-122L | <!--Vendor ID-->0x0644 | <!--Product ID-->0x800e | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, obsolete needs tascam_loader.ihx and us122fw.ihx firmware loaded each time unless automated |- | <!--Description-->Tascam US122 US-122 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Tascam US144 US-144 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 maybe usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Teac TASCAM US-200 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac US-366 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-600 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-800 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 may not be totally usb compliant |- | <!--Description-->Teac Tascam iU2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 usb compliant?, 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb compliant?, |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->teyun q12 Q-12, q22 Q-22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description-->Teyun q26 Q-26, q24 Q-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Yamaha UW500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2000 not class compliant, |- | <!--Description-->Yamaha Audiogram 3 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe usb compliant, okay pre amp, 16bit 44kHz adc no advanced features without dedicated asio driver, 1 xlr, 1 instrument, |- | <!--Description-->Yamaha Audiogram 6 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, okay, 2 xlr, 2 instrument, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Zoom UAC-232 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->Zoom UAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.arcam.co.uk/products,rseries,usb-dacs,rPAC.htm Arcam rPac] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioquest Dragonfly | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioengine D1 Premium 24-bit DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 (Burr Brown PCM 1716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 + Burson Buffer + MK3 JKSPDIF | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[http://epiphany-acoustics.co.uk/products-page/dacs/e-dac-24bit-miniature-usb-dac/ Epiphany E-DAC 24bit] ES9023 DAC chip | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio FUBAR II Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio iLoveTW 24Bit USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO D5 ta2020 chip amp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E07K Andes | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E17 Alpen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Magnum | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Martini-U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Vulcan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Halide Design DAC HD (Wolfson WM8716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->HRT Steamer II USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->John Kenny JKDAC uses a 24-bit/192&nbsp;kHz Sabre ES9022 DAC or better JKDAC32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> iBasso D12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Leckerton UHA-6S MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->MyST 1866 PortaDAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Objective DAC ODAC+O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Rega DAC (Wolfson WM8742) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.henryaudio.com/open-source.php Henry Audio USB DAC 128 also known as QNKTC AB-1.2 open source DAC] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Henry Audio mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->AKM4430 DAC chip comes from Asahi Kasai |- | <!--Description-->DevilSound USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Zoom U series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->KingRex UD-01 SE (Burr-Brown PCM 2702E) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SuperPro 24/192 USB DAC (24bit 192&nbsp;kHz, CS-4398 D/A chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM108 7.1ch emulation I2S in and out | 0x1926 | 0x0003 | 0x0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | [http://www.lindy.co.uk/usb-2-audio-adapter/42961.html Lindy USB 2.0] (Chipset CM108) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Speed-Link SL-8850-SBK Vigo ([http://mightyohm.com/forum/viewtopic.php?p=1036#p1030 CMedia CM108]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode USB SOUNDCARD 2.0 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x1130 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode Virtual 7.1 USB-SOUND7 (C-Media ) | 0x0d8c | 0x000c 0x000e | 1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Generic White box with very little red led and white USB lead (CMedia ) | <!--Vendor ID-->0x0d8c | <!--Product ID--> 0c000e | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | CM109 CiT SC-U119 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM1197.1ch I2C MCU port Penguin | 0x0D8C | 0x0000 | 0x010 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Sweex 7.1 Startech External USB, WMA Blue metal box SYBA SD-AUD20040, Sabrent USB-SND8, Sewell Vantec NBA-200U (C-Media CM6206 CM106 like) | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x0102 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->50/50 if the item is detected but does not work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Creative Labs SoundBlaster X-fi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi Go | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative Sound Blaster Play! USB sound adapter (SB1140) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> working with [http://www.amiga.org/forums/showpost.php?p=646431&postcount=15 Deneb on OS3] |- | <!--Description-->Asus Xonar U1 (ASUS UA100 USB Audio Chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Asus Xonar U3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Griffin iMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->M-Audio Transit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Icemat Siberia (steel series) (Cmedia chipset) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->JMTek HY554, ZyXEL NSA-220, Logilink (Tenx Technology TP6911 and SSS-1623 headphone set) | 0x0C76 0x1130 | 0x1605 0x1607 0xf211 | 0x | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> reports on other OS not good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Plantronics "DSP Adapter-01" (or "USB Adapter-02") | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Rocksmith Real Tone Cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->RSA Intruder Predator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->StarTech ICUSBAUDIO7 | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x000c | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Stoner Acoustics UD100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Teac UDH01-B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TerraTec Electronic GmbH Aureon Dual USB | 0x0ccd | 0x0077 | <!--Product ID--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Phase26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trust 510 EX 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Logitech A-5572A USB 2.0 to 3.5mm jacks Virtual 7.1 Surround Sound Adapter or accessory of Logitech Clearchat pro USB or Logitech USB Headset H530 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x046D | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trumix TM-10 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 maybe cc |- | <!--Description-->Trumix TM-12 USB-C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe cc usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Turtle Beach Audio Advantage Amigo Micro II USB Sound Card & Headset Adapter | <!--Vendor ID-->0x10F5 | <!--Product ID-->0x0211 | <!--Revision-->0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Vantec NBA-100U 7.1 Channel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |} Companies including Access, Alesis, Allen&Heath, American Audio, CME, ESI, Infrasonic, Lexicon, Numark, Presonus, Reloop, SIMS, Sound Devices, Steinberg, Swissonic, Tascam, Terrasoniq, Terratec, Yamaha and Yellowtec decided to license and bundle this driver. So fully functional custom drivers are available for Access Virus TI, Access Virus TI snow, Alesis Multimix 8 USB2.0, Alesis Multimix 16 USB2.0, Allen&Heath XONE:2D, Allen&Heath XONE:3D, Allen&Heath XONE:4D, Allen&Heath XONE:DX, Allen&Heath XONE:DB4, American Audio Versa Port, CME XCORPIO, ESI ESU1808, ESI Gigaport AG / DG, ESI Maya 44 USB, Infrasonic Amon, Lexicon I-ONIX U22, Lexicon I-ONIX U42S, Lexicon I-ONIX U82S, Mindprint DI-MOD USB, Numark DJ IO, Numark NS6, Numark NS7, Numark Omni Control, Numark V7, Presonus Audiobox USB, Reloop Digital Jockey, SIMS Primus, Sound Devices USB pre, Steinberg MI2, Steinberg MI4, Swissonic Easy USB, Tascam M-164UF, Tascam US-122L, Tascam US-144, Tascam US-Tascam US-144mkII 122mkII, Tascam US-200, Tascam US-600, Tascam US-1641, Tascam US-1800, Tascam US-2000, Terratec Area 61, Terrasoniq Phase X64, Terratec Phase 26 USB, Yamaha UW10, Yamaha UW500, Yellowtec PUC2 and many others. Well, those companies are using the same driver framework because all of those interfaces use the same microprocessor/firmware architecture to communicate with the USB bus. Just like almost all FireWire audio interfaces use the same TC Dice or BridgeCo chipsets. Usually it does not make sense for companies to develop their own USB1.1/USB2/FW framework for a product they are going to sell for <$500. However, that isn't the end of the story. The companies who develop audio interfaces implement different features into their devices and must update the driver and firmware to accommodate those features. That is where things can go wrong. Sometimes there is miss-communication about how things are coded, sometimes the developer who started a project leaves without transferring his knowledge to his successor, etc. You have to keep in mind that there are no "big" computer audio companies. Even the companies that seem big in the scale of the market, probably have fewer employees than you'd think. A very well made interface that is designed from scratch from the ground up would be a very expensive device, regardless of whether it's USB, FW, PCIe or whatever. Round-trip latency is the sum of the following: <pre> ASIO input buffer ASIO output buffer A/D D/A converter latency The driver's hidden safety buffer </pre> At a 64-sample ASIO buffer size/44.1k, Tascam units yield ~18ms total round-trip latency. Typical USB audio interfaces use a large hidden safety buffer. This helps ensure glitch-free playback... even under less than ideal circumstances. But... this comes at the expense of much higher round-trip latency. Short of doubling the sample-rate, there's no means of mitigating the higher round-trip latency. If you have no plans of ever monitoring in realtime thru software based EFX/processing (ie: playing/monitoring DI bass thru an AmpSim plugin as you're playing), then this may not matter to you. If you want the ability this play/monitor in realtime thru software based EFX/processing, make sure to get an audio interface that yields low round-trip latency. As a point of reference the best PCI/e audio interfaces yield about 5ms total round-trip latency at a 64-sample ASIO buffer size/44.1k The best Firewire and USB units yield 5.5-5.6ms total round-trip latency at those same settings. Typical USB and Firewire units (that use a large hidden safety buffer) yield 12-18ms total round-trip latency at those same settings. Anything above ~6ms starts to feel sluggish. Anything above ~10ms feels like playing thru molasses. USB Microphones {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->C-Media Electronics, Inc. CM108 Audio Controller Mic | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x013c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato WaveMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Wave:1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver }} |- | <!--Description-->Elgato Wave:3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver lightweight }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->hyperx solocast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description-->hyperx quadcast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sennheiser CC510 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Alesis USB-Mic microphone podcasting kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2020 (AT202) AT4040 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2035 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer B1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball iCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardioid only }} |- | <!--Description-->Blue Microphones Yeti | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description-->Blue Microphones Yeti Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL 2001A/600 Studio Microphone Pack / MXL 2003A Studio Condenser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft LifeChat LX-3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Namtai SingStar(TM) PS2 SCEH-0001 USBMIC | <!--Vendor ID-->0x1415 | <!--Product ID--> | <!--Revision-->0.01 | <!--Opinion-->{{unk| mono microphones }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren Mini USB Condenser Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rockband USB Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode NT1A VideoMic Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode Podcaster 2 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| RODECaster Pro usb audio compatible}} |- | <!--Description-->Rode NT1A NT2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| NT2 better }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Roland R-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Go Mic - Portable USB Microphone for Recording | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| mini usb r.h.s. and clip on the bottom left hand side}} |- | <!--Description-->Samson Go Mic Clip On USB Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| switch to choose between Cardiod, Omni and -10&nbsp;dB modes, a 3.5mm headphone socket and a USB socket}} |- | <!--Description-->Samson C01U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardoid only}} |- | <!--Description-->Samson C03U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shure MV7 USB Podcast Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->SONY PCM-D50 handy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb 5V, }} |- | <!--Description-->Sony PCM-M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out 5V, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->TASCAM DR-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008, one mini usb out, lithium battery}} |- | <!--Description-->Tascam DR-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009, one mini usb out, aa battery}} |- | <!--Description-->Tascam DR05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011, one mini usb port for file transfer and charging the AA batteries }} |- | <!--Description-->Tascam DR-40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 mini usb aa battery }} |- | <!--Description-->Tascam DR-07mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 , one mini usb out, }} |- | <!--Description-->Tascam DR-05X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-07X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-40X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb 3 aa battery }} |- | <!--Description-->Tascam DR-05XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-07XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-40XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c, }} |- | <!--Description-->Tascam DR-100mkIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Tascam | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Zoom H4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 no driver, mini usb 5V }} |- | <!--Description-->Zoom H2 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0095 | <!--Revision--> | <!--Opinion-->{{unk|2007 no driver, mini usb 5V audio i/f USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 no driver, mini usb 5V }} |- | <!--Description-->Zoom H1 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0120 | <!--Revision--> | <!--Opinion-->{{unk|2010 no driver, mini usb 5V and display will alternate between USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H2n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V audio i/f press the Record. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n PRO | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 untested, 2xlr, 5v mini usb, }} |- | <!--Description-->Zoom H5 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 no driver, 5v mini usb, 2 xlr, }} |- | <!--Description-->Zoom H1n-vp handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6studio | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested}} |- | <!--Description-->Zoom | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} |- | <!--Description-->Zoom Q3 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 untested usb a cord, no hdmi, 480p}} |- | <!--Description-->Zoom Q3HD Handy Video Recorder | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 untested, built in usb-a cord, mini hdmi, 1 hour on 2 AA batteries, H.264 movies 480p }} |- | <!--Description-->Zoom Q2HD Handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 untested, up 720p but no stablisation, mini usb cord, 1 hour on 2 AA batteries}} |- | <!--Description-->Zoom Q4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 untested, li-ion battery}} |- | <!--Description-->Zoom Q4N | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 untested, li-ion battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio Technica ATR4697-USB Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CAD Audio CAD USB Condenser Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL AC-44 Boundary Conferencing Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Audio SAUB1 Boundary Microphone (USB) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} USB Speakers {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Focal XS 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} USB Headset Wired/Wireless {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Logitech Vantage Wired (came free with PS2 Socom3) | | | | <!--Opinion-->{{unk| }} |- | Logitech G330 | | | | <!--Opinion-->{{unk| }} |- | Logitech Premium USB Stereo Headset 350 | | | | <!--Opinion-->{{unk| }} |- | Plantronics DSP-300 | | | | <!--Opinion-->{{unk| }} |- | Plantronics GameCom 777 | | | | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitech G-930 Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.makeuseof.com/tag/set-usb-wireless-earphones/ Plantronics Audio 995 Wireless RF] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Sennheiser Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} [https://www.youtube.com/watch?v=Be1e0QPIPK0 Mixers] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ALESIS MULTIMIX 4 CHANNEL USB MIXER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Alesis - MultiMix 8 USB FX (USB 1.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2010 usb compliant?, up to 16-bit/48kHz, 18v 500mA - |- | <!--Description-->Alesis - MultiMix 8 USB 2.0 FX (USB 2.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2012 usb compliant?, up to 16-bit/48kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Allen&Heath MixWiz16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description-->Allen and Heath ZED Power 1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 8 xlr, usb-b out, }} |- | <!--Description-->Allen & Heath ZEDi-10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer XENYX 302USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 5-Input Mixer/Audio Interface - 1 xlr - }} |- | <!--Description-->Behringer Xenyx Q502USB Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} Behringer 2*18.5V 250ma psu - 1 xlr - phanton power - |- | <!--Description-->Behringer Xenyx Q802USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 2*18.5V 250ma psu - 2 xlr - phanton power - |- | <!--Description-->BEHRINGER XENYX 1204USB 8-Channel 2-Bus Mixer USB/Audio Interface Studio/Live | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle psu lead - can develop constant background hiss over time |- | <!--Description-->Behringer XENYX X1222USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver - 12-Channel Analog Mixer with USB Interface and Effects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Depusheng HT-7 HT7USB 7 Channel Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2023 cheap no driver, USB MP3 player to work, format your USB stick Fat32 as a Logical drive - not primary}} |- | <!--Description-->Depusheng XT7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description-->Depusheng DT8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Spirit soundcraft Folio FX8 with Lexicon Effects Processor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} unusual power connector - [https://github.com/lack/soundcraft-utils usb routing] - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Weymic Professional F7 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver, cheap mixer with 3pin ac input (introduces noise) and 1 usb-a port}} |- | <!--Description-->Weymic Professional F7-Pro 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver}} |- | <!--Description-->Weymic A80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2024 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} Mixer no hardware usb {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->ALTO Lynx MIX82FX Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Alto L16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MXUL5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MX602A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Eurorack UB502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 17.5V 3pin psu needed}} |- | <!--Description-->Behringer Eurorack UB802 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 4 xlr, }} |- | <!--Description-->Behringer Eurorack UB1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer RX1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer 802 XENYX 8-Input 2-Bus Mixer Small Format Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 18.5V ???ma psu - 2 xlr - phanton power - |- | <!--Description-->Behringer Xenyx 502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Xenyx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->IMG stage Line MMX-122 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, iec cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Mackie 802VLZ4 Mackie 802-VLZ4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb , psu}} |- | <!--Description-->Mackie 1202-VLZ Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, mains iec}} |- | <!--Description-->Mackie Mix5 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 18v 300mA psu - 5 Channel - |- | <!--Description-->Mackie Mix8 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 9v x2 600mA psu - |- | <!--Description-->Mackie MIX12FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, 9v 500mA x2 psu, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->[https://www.soundcraft.com/en/product_documents/en/owners_manual Soundcraft] Spirit Folio F1 Fader 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} 16 Channel Mixer - |- | <!--Description-->Soundcraft EPM6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft EPM8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Harman Soundcraft EPM 12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle power lead - |- | <!--Description-->Soundcraft EPM 16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Soundcraft Notepad 8FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft Notepad UI12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad UI16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad 124FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, 14.8V x2 3 pin psu}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->t.mix xmix 1402fx mp usb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, mains iec, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- |} ==Webcameras== A USB camera has two dedicated chips: a controller or bridge and an image sensor. There was no Commodore support for video interfaces. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit. ===OLD standards=== See [http://www.e3b.de/usb/main_supported_e.html support pages] and [http://www.e3b.de/usb/main_faq_e.html here] and some [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=status further compatibility] Pencam STV680 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AIPTEK stv680 | 0x0553 | 0x0202 | | {{N/A|untested}} |- | Konica e-mini | 0x04c8 | 0x0722 | | {{N/A|untested }} |- | DigitalDream l'espion XS | 0x1183 | 0x0001 | | {{N/A|untested}} |- | [http://reviews.cnet.com/webcams/creative-webcam-go/1707-6502_7-1446174.html Creative WebCam Go mini] | 0x041e | 0x4007 | | {{N/A|untested}} |- |} SonixcamTool (Sonix webcams and derivates) '''Note [http://amigadev.free.fr/sonix/ some] Sonix Webcams with a Sonix SN9C1xx controller ''and'' a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device!''' {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Macally IceCam II | 0x0c45 | 0x05d8 | | {{N/A|untested}} |- | Sweex MiniCam 100K | 0x0c45 | 0x6005 | | {{N/A|untested - sensor tas5110c1b}} |- | Macally IceCam Portable | 0x0c45 | 0x6007 | | {{N/A|untested - sensor tas5110d}} |- | Sweex 100K | 0x0c45 | 0x6009 | 0x0101 | {{yes|bulk works - sensor pas106b}} |- | [http://www.epinions.com/pr-Chicony_TwinkleCam_Webcam/display_~full_specs Chicony Twinkle DC-2110A] | 0x0c45 | 0x600d | | {{no|no}} |- | Unknown | 0x0c45 | 0x601e | | {{no|no}} |- | USB PC Camera (SN9C102) | 0x0c45 | 0x6028 | | {{no|no - sn9c10x + pas202b}} |- | Trust SpaceC@m 120 and 150 | 0x0c45 | 0x6029 | | {{N/A|untested - sensor pas106a}} |- | HiRes Webcam Live | 0x0c45 | 0x602c | | {{no|no - sensor ov7630}} |- | [http://www.sweex.com/en/assortiment/sound-vision/webcams/JA000020 Sweex USB Webcam 300K] | 0x0c45 | 0x608f | | {{no|no - sensor ov7630}} |- | Speedlink Sphere Webcam SL-6820, 350K | 0x0c45 | 0x613c | 0x0101 | {{N/A|untested - sensor HV7131R}} |- | WB-3250P | 0x0c45 | 0x613e | | {{no|no - sensor ov7630}} |- | Unknown | 0x0c45 | 0x6207 | | {{no|no}} |} <pre> micromaxx USB Camera STM 1363 514 works --- USB Tower Lego 1684 1 works need NCQ Trust Spycam 100plus STM 1363 514 works </pre> ov51x.class - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link VGA Webcam (640x480) | 0x05a9 | 0x8519 | | {{no|no driver}} |- | Sony PS2 EyeToy Logitech/Logicool Black (ov519) SCEH-0004 | 0x054c | 0x0154 | | {{no|no driver}} |- | Sony PS2 EyeToy Namtai Silver (ov519) SLEH-00031 SLEH-00030 | 0x054c | 0x0155 | | {{no|no driver}} |- |} ===UVC.class - [https://www.usb.org/document-library/video-class-v15-document-set USB Device Class Definition for Video Devices or USB Video Class]=== AROS needs realtime isochronous transfers in EHCI and XHCI, then a usb uvc.class which might create a virtual UVC.VHI type device driver for use by AROS apps since 2019 the market is filled with UVC Compliant USB HDMI Capture {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acasis 4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Acasis 4K60 HD VS009 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k 60hz ok for chat streams}} |- | <!--Description-->Acasis 4K60 HDMI HDR Game Live Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| for chat streams }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AJA U-tap HDMI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->ASUS TUF CU4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATEN CAMLIVE HDMI to USB-C UVC Video Capture adapter UC3020 HDMI (F) TO USB-C M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 possibly UVC and UAC standard support allows up to 1080P @ 60}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia Live Streamer Cap 4K - BU113 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc usb3}} |- | <!--Description-->AVerMedia GC515 video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia Live Gamer Ultra GC553 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description-->AVerMedia Live Gamer Ultra S GC553PROW 302AGC553DL2 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1553 | <!--Revision--> | <!--Opinion-->{{unk|2021 powered by good quality type C USB3 cable and 4K HDMI 2.0 cable}} |- | <!--Description-->AVermedia Live Gamer Mini GC311 302AGC311DG9 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1311 | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc compliant up to 1080p 60fps capture and supports internal hardware H.264 encoding - if flashing blue light try another '''quality''' micro usb cable - }} |- | <!--Description-->AVerMedia Ez Recorder 330 (ER330) | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 designed to work independently and is generally not compatible as a plug-and-play UVC capture card }} |- | <!--Description-->AVerMedia Live Gamer extreme3 GC551G2 (LGX3) | <!--Vendor ID-->0x07ca | <!--Product ID-->0x3551 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc compliant for intensive gaming streams, some vrr but no hdr with maximum recording resolution of 4K30/1080p60 from fully wired usb3 compatible cable - passing through 4K60/1080p120 Game Capture video capturing device HDMI}} |- | <!--Description-->AVerMedia Live Gamer Ultra Pro GC553Pro | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 usb3 }} |- | <!--Description-->AVerMedia Live Gamer Ultra 2.1 GC553G2 61GC553G20BV video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia GC575 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AVMatrix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ClonerAlliance Flint 4KP Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->DIGITNOW U600 video capture card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Cam Link 4K | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 uvc }} |- | <!--Description-->[https://github.com/elgatosf/capture-device-support Elgato HD60 S+] | <!--Vendor ID-->0x0FD9 | <!--Product ID-->0x006C, 0x006E | <!--Revision--> | <!--Opinion-->{{unk|2019 4K 30FPS capture, 1080p 60FPS uvc}} |- | <!--Description-->Elgato HD60 X | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc }} |- | <!--Description-->Elgato Cam Link 4K HDMI video capture card | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 uvc compliant but can have usb disconnects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EVGA XR1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description-->EVGA XR1 lite USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 USB 3.0 device }} |- | <!--Description-->EVGA XR1 Pro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EZcap Game Link Raw - ezcap321 usb3.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 2160p30, 1080p120 and 1440p60 HDMI input and pass-through. - 1080p120, 2160p30 and 1440p60 recording. - Latency less than 50ms uvc}} |- | <!--Description-->EZCap GameDock Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 record at 4K30, 1440p60, and 1080p120}} |- | <!--Description-->EZcap 360 Game Capture Extreme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 USB 3.0, 4K 60FPS passthru and 1080p 240FPS}} |- | <!--Description-->EZCAP 364 GameDock Extreme 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genki ShadowCast 1 & 2, the Pro version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HAUPPAUGE HD PVR Pro 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 4K in/Out 1080P 60fps Capture and Streaming PC Connected and Stand Alone }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Inogeni HDMI 4K to USB 3.0 UHD 1080p Video Capture Card 4K2USB3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 uvc compliant made in Canada}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kondor Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nanjing Magewell Electronics Co ltd USB 3.0 XI100DUSB-HDMI Pro Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 }} |- | <!--Description-->Magewell USB3.0 Silver HDMI Full HD Video Capture Device 1080p 32011 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 usb audio extract HDMI embedded audio output via headphones}} |- | <!--Description-->Magewell USB capture HDMI PLUS 2K 32040 320400000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 captures video up to 1920×1200, 1920×1080 or 2048×1080 at 60 fps over an HDMI capture from devices such as game consoles in up to DCI 4Kp60 4:2:0 input resolution, and it automatically upscales/downscales the signal to 2K for recording or streaming}} |- | <!--Description-->Magewell USB capture HDMI Gen2 32060 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 1080p gets hot, 165M HDMI receiver, max input 2048x1080 60fps 4:4:4, RGB/YUV 4:4:4 8/10/12-bit, YUY 4:2:2 12-bit, up to 8-channel 24-bit HDMI-embedded audio at 192kHz, HDMI 1.4a, output from 480p to 1080p, YUY2/UYVY/RGB24/RGB32 support video cropping, up/down scaling, de-interlacing, aspect ratio conversion, color format conversion, frame rate conversion, flip and mirror, up to 2-channel IEC60958 audio streams, 5V 0.5A 2.5W, }} |- | <!--Description-->Magewell USB Capture 4K Plus 32090 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 limited by the bandwidth of USB 3.0, the maximum frame rate can only reach 30 fps when capturing}} |- | <!--Description-->Magewell USB Capture 4K PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Magewell Pro Convert IP to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Captures one network eth NDI® High Bandwidth, NDI® HX2, NDI® HX3 sources or H.264/H.265 video source into software at resolutions up to 1080p60}} |- | <!--Description-->Magewell USB Fusion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|versatile USB video capture device that allows users to switch between two HDMI inputs and one USB webcam input for live presentations}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ROLAND UVC-01 USB Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sunplus Innovation Technology Inc. MiraBox HSV321 ARX321 Video Capture device | <!--Vendor ID-->ox1bcf | <!--Product ID-->0x2c99 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGREEN CM716 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| uvc uac but disable HDCP on your source device (PS4/PS5, Xbox) }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->VisionTek UVC HD60 Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acer Aspire Crystal Eye AOA110 AOA150 0.3M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2008 webcam }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->AVerMedia Live Streamer CAM 313 (PW313) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2019 uvc 1080p/30 webcam}} |- | <!--Description-->AVerMedia Live Streamer DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2021 uvc 1080p/60 webcam}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->[http://reviews.cnet.co.uk/webcams/creative-live-cam-optia-af-review-49294183/ Creative Live Cam Optia AF] 2.0M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|2008 }} |- | <!--Description-->DSLR macro extensions + a cheap 50mm E-Series lens + some PVC tubing and a negative holder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera chosen}} |- | <!--Description-->DSLR scanning using a macro lens, for the adapter, for a 3d printed negative holder) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera used }} |- | <!--Description-->Logitech C270 | <!--Vendor ID-->0x046d | <!--Product ID-->0x0825 | <!--Revision--> | <!--Opinion-->{{unk|720p }} |- | <!--Description-->Logitech C910 C920 HD Pro 5Megapixels 720p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech C920s c922 HD Pro 5Megapixels 1080p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Logitech Brio 100 300 500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} 1080p |- | <!--Description-->Logitech MX Brio 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Microsoft's LifeCam HD-3000 HD-5000 | <!--Vendor ID-->0x045e | <!--Product ID--> 0x0779 | <!--Revision-->1.06 | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Cinema | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Studio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} sony imx179 1080p |- | <!--Description-->Pi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 1/2.8” Sony IMX291 image sensor, it's a 2MP, UVC-compliant, ultra-wide-angle, low light, high-speed USB 2.0 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} OV5648 |- | <!--Description-->razer kiyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 4 megapixel sensor 1080p 30fps 720p 60fps - 12 led ring light adjustable |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->TeckNet C068 1.3mpixel HTD USB2.0 Camera Vimicro Z-Star Corp | <!--Vendor ID-->0x0AC8 | <!--Product ID--> 0x3420 | <!--Revision-->0x01FA | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->YEALINK(XIAMEN) NETWORK UVC50 is compatible with the UVC 1.1 protocol CP960-UVC50 and CP960-UVC80 kits PTZ, CP960-UVC30 Kit is UVC 1.5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Amcrest ProHD 1080P WiFi Wireless IP Security Camera - 1080P (1920TVL), [https://www.ispyconnect.com/man.aspx%3Fn%3DAmcrest IP2M-841] nvr | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} h264/rtsp, motion detection, features Sony image sensor and Ambarella processor - rtsp://[username]:[password]@[IPaddress]:[port]/cam/realmonitor?channel=[channel]&subtype=[stream] - [username] - username to login to the DVR or NVR, [password] - password, [IPaddress] - IP address of the device. If you are not on the same local network, this should be the external IP address of the device's network, [port] - port number, [channel] - channel number of the stream, [stream] - view the Main or Sub stream. (main stream is 0, sub stream is 1) , eg. rtsp://admin:admin@192.108.1.108:80/cam/realmonitor?channel=1&subtype=1 - utilizing RTSP ( rtsp://user:pass@ipcam1 ) |- | <!--Description-->Axis all modern ones | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg or MJPEG over HTTP |- | <!--Description-->PTZ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->DLink DCS-5222 5222L network camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} camera streams H.264 over RTP controlled by RTSP |- | <!--Description-->Dlink DCS900 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Wansview 1080p [http://marc.merlins.org/perso/linuxha/post_2013-11-10_Reviewing-IP-Webcams-for-Linux-and-Zoneminder_Dlink-DCS900_-Ubnt-Aircam_-Foscam-FI8904W-FI8910W_-FFI9820W_-FI9821W_-Wansview-NCB541W_-and-Zavio-F3210.html#NCM625GA NCM625GA] IP Camera WiFi Wireless IP Security Camera , Full HD Plug n Play Home Surveillance / Baby Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg - play its HD stream without problem with vlc rtsp://ip/live/ch0 and getting jpegs http://ipaddr/mjpeg/snap.cgi?chn=0 - methods involve transcoding h.264 video from the camera into jpeg's, which is cpu intensive - able to pull images manually, using http://username:password@ip/mjpeg/snap.cgi - |- | <!--Description-->Wansview NCB541W | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Avermedia Game Capture HD C281 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2011 standalone h.264 recording of up to component cable not hdmi but not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia GL310 Live Gamer Portable (LGP Lite) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working usb2 and USB Lite no uvc}} |- | <!--Description-->Avermedia AVerMedia Live Gamer Portable ([https://github.com/Trouffman/octv_gears_lgp Model C875]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 usb2 no uvc}} |- | <!--Description-->AVerMedia LGX Live Gamer extreme GC550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2015 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->AVerMedia LGX2 Live Gamer extreme2 gc550 plus gc551 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->Avermedia ExtremeCap UVC - BU110 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 maybe not uvc and uac}} |- | <!--Description-->AVerMedia Live Gamer Portable 2 Plus GC513 Micro-USB Capture Box LGP2 Plus | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1513 | <!--Revision--> | <!--Opinion-->{{no|2017 powered by a standard Micro-USB cable, video capture output up to 1080p60 capture to hdmi in, standalone sd card recording on exFAT or FAT32 of .MOV, 2160p pass-through hdmi out to tv - no vrr - [https://www.avermedia.com/uk/support/download#ans_part firmware latest 2.1.7.13, 2.1.7.14], SN74AVC8T245 8bit, DRV604 stereo, iTE IT6663FN hdmi 2.0 splitter, TLV320DAC3101 DAC, CS42L73 audio codec, CDCE913 PLL clock, W29N01HVSINA nand bios, I-Catch V35MA SOC CPU 32bit MIPS24K, ADV7480 hdmi mhl, }} |- | <!--Description-->AVerMedia Live Gamer 4K LG4K GC573 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc but [https://github.com/derrod/lg4k-linux drivers here], }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Blackmagic intensity Extreme Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->BlackMagic Intensity Pro 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2015 }} |- | <!--Description-->Elgato Video Capture (1VC108601000) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Elgato Game Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, mini usb}} |- | <!--Description-->Elgato Game Capture HD60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, }} |- | <!--Description-->Elgato Game Capture HD GCHD 2GC309901000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc https://github.com/tolga9009/elgato-gchd needs firmware mb86h57_h58_idle.bin and mb86h57_h58_enc_h.bin - mini usb}} |- | <!--Description-->Elgato HD60S Elgato Game Capture 4K60 S+ Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|non uvc, }} |- | <!--Description-->August EZCap.tv model 116 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} poor audio recording |- | <!--Description-->E-SDS Diamond Maplin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1212 HD PVR | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} analog and component only - PlayStation (.m2ts), AVCHD (ts), or XBox(.mp4) recording formats - switched the component output from the default YPbPr to RGB. |- | <!--Description-->Hauppauge 1431 1445 HD PVR Gaming Edition HDMI Capture | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working, can get warm}} |- | <!--Description-->Hauppauge HD Rocket | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Hauppauge HD-PVR2 (model 145210 Rev E4) | <!--Vendor ID-->0x2040 | <!--Product ID-->0xE502 | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1480 1482 HD PVR 2 GE Gaming Edition HDMI Capture green LED - 1498 1503 1504 Plus version with Mac support | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe514 0xe524 | <!--Revision--> | <!--Opinion-->{{No| can get warm - [https://ez.analog.com/video/w/documents/581/adv7482-design-support-files ADV7482] [https://patchwork.kernel.org/patch/9201075/ video chip] with Magnum DXT H.264 encoder blob, IDR keyframe generation poor - best for model 157210 and not 157221 and Game Edition Plus (model 157320) 2040:E505 E505-00-00AF1234 [http://www.hauppauge.com/site/support/linux.html#tabs-3 ]}} * HDMI: 1920x1080p50/60, 1920x1080i50/60, 1280x720p50/60, 720x480i, 720x576i, 640x480p60. * Component: 1920x1080p50/60, 1920x1080i50/60*, 1280x720p50/60, 720x480p60, 720x480i, 720x576i. * Composite: 720x480i and 720x576i * Audio Inputs : HDMI PCM and RCA support with Adjustable Bitrate Quality 2 Channel AAC/AC3 audio codec |- | <!--Description-->Hauppauge 1512 HD PVR 2 PC blue LED with optical in input on the back | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe525 | <!--Revision--> | <!--Opinion-->{{No| }} can get quite warm - IR Blaster added - |- | <!--Description-->Hauppauge Colossus2 E585-00-00AF4321 | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe585 | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion SLIDES2PC 35mm Portable Slide & Film Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion Pics 2 PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->ION PowerScan USB film and slide scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->Koolertron Sunny | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->FilmScan35 35mm Film Negative Scanner 1304 marks spencer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->U3 HD Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->[https://github.com/openrazer/openrazer Razer Ripsaw HD] Game Capture (RZ20-01780100) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2017 not uvc put in usb2 slot and use video BGR3 (Emulated) and OpenRazer drivers }} |- | <!--Description-->Razer Ripsaw HD USB HDMI Capture Card | <!--Vendor ID-->0x1532 | <!--Product ID-->0x0d01 | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc compliant}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Silvercrest 35mm Photo Slide Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc but not great quality}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Z-Star Microelectronics Corp. Traveler TV 6500 SF Dia-scanner | <!--Vendor ID-->0x0ac8 | <!--Product ID-->0x3370 | <!--Revision--> | <!--Opinion-->{{No|2010 not uvc and poor scans}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- |} === AR VR XR Headset === AROS needs realtime isochronous transfers in EHCI and XHCI, then an usb based uvc.class to vhi type driver for virtual display and maybe more The primary engineering challenge of VR is motion sickness caused by a mismatch of visual and inner ear information, which is extremely well established as causing people to throw up in a wide range of contexts outside of VR. The experiences that make some people sick are low framerate. Foveated rendering doesn't solve vergence accommodation. Your eye will still be focused at infinity regardless of where you are looking, you'll just have the illusion that the foreground or background are out of focus. Eye tracking plus dynamic lenses (perhaps liquid lenses) or real light fields are necessary. First start with apps that have simple static features at first, then advance to dioramasa and teleportation options for 10, 20 minutes and then gradually upgrade over a timespan of four weeks to train your brain. Avoid smooth motion stuff like rollercoaster or mountain heights until much later. Even with this preparation, VR makes 40% of people seasick nausea. If so, you may be able to use VR glasses just to watch videos and some slow moving apps [https://www.emuvr.net/ emuVR] instead. *2014-2019 1st Gen, low resolution, *2020-2025 2nd Gen, higher resolution, *2026- Most hardware typically has a 1-3 year retail lifespan with 1-3 years of updates after. Really need "right" tethered PCVR rather than wireless. The advantage to being tethered to a PC is processing power. Any standalone headset is going to be running purely off of batteries. VR and AR are known as XR Technology will get immersed enough so not making people sick. Higher resolution, faster frame rates, and [https://github.com/opentrack/opentrack better tracking]. Eventually, hyper reality brings VR, AR and MR digital layers together as a less chaotic, optic tracking with no delay, agents understanding, experiences with objects 3Dgs 4Dgs gassian splats bullet time slice photo snaps .ply for WebXR [https://lvra.gitlab.io/docs/hardware/ ], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Big Screen Beyond 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 pcvr 2560 x 2560, fixed IPD, }} |- | <!--Description-->bigscreen Beyond 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr oled 5120 x 2560 @75Hz 2688x2688 @90Hz over pancake lenses, 116 FOV, virtual screens, custom facial plate from iphone app, streamvr 2.0 basestations and controllers not included, no passthrough, 107g-196g, }} |- | <!--Description-->bigscreen Beyond 2e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr oled 5120 x 2560 total up to 90Hz pancake lens 116 FOV adjustable IPD app needed for adjustment, eye tracking, custom face mask cushion, streamvr 2.0 basestations and controllers not included, seperate head strap and speaker modules extra costs, 110g-300g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Dpvr P1 Pro 4k Ultra Vr Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 wireless snapdragon, }} |- | <!--Description-->DPVR P2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Play for Dream MR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android modular 3840x3552 uoled per eye 90Hz or qled mura issues, Arm snapdragon XR2+ Gen 2, eye tracking and 11 cameras 7 sensors 22 ir leds 14ms latency and foveated rendering, 1.5hrs battery, }} |- | <!--Description-->Play for Dream GravityXR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 ultralight head gear gx100 3w }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://lvra.gitlab.io/docs/community/ Valve Index HMD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 tethered PC VR headset 1440 x 1600 120Hz, 108° and 104° FOV, fresnel lenses, SteamVR2 compatible tracking ir basestations, controllers aka Knuckles, dp 1.2 and usb3 cable proprietary cable end, no battery, }} |- | <!--Description-->Valve Steam Frame (Valve Deckard / Valve’s Index 2) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 - 2160 x 2160 up to 144Hz pancake lens, 108° and 96° FOV, wifi 6 fovelated streaming, Qualcomm Snapdragon 8 Gen 3 with [https://github.com/FEX-Emu/FEX fex] arm-to-x86 x64 translation layer, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PSVR2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 PCVR with adapter, two, one for each eye, 2000 x 2040 resolution OLED panels from 90Hz 120Hz refresh rates, fresnel lenses, 116° and 102° FOV, sony proprietary headset cable end, needs additional comfort options, }} |- | <!--Description-->VisionPro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goertek glasses | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive ? | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| 2016 2x 1080x1200 needs external power supply, }} |- | <!--Description-->HTC Vive Original | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 108° and 96° FOV}} |- | <!--Description-->HTC Vive Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 , uvc, at least 2 powered steamvr basestations so 3 to 5 wall warts in total, proprietary cable end, }} |- | <!--Description-->HTC Vive Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 dual 1440x1600 oled displays, 116° and 100° FOV - steamvr 2.0 basestation 2 for 5m2 area 4 for 10m2 - steamvr 2.0 joypads - low latency wireless later - type USB-c headphone adapter required, [https://github.com/CertainLach/VivePro2-Linux-Driver Rust on Linux] with [https://github.com/santeri3700/vive-pro-2-on-linux Shell], proprietary cable end, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lynx R1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 android Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->Lynx R2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 company liquidated, 2 x 2312x2160 110 FOV pancake lenses, LynxOS android Qualcomm Snapdragon XR2 Gen, openxr 1.1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oculus Rift prototype development kit [https://www.virtual-boy.com/forums/t/the-oculus-rift-dk1-thread/ DK1] with [https://www.youtube.com/watch?v=X_T4DJyy2Bo wired razer hydra controllers] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2013 pcvr LCD 1280 × 800 resolution 640 × 800 per eye up to 110° FOV, and 3DoF rotational tracking via a 1000Hz 9-axis IMU (Accelerometer, gyroscope, and magnetometer), no positional optical tracking either inside-out or outside-in, 380g, nausea issues, , }} |- | <!--Description-->Oculus Rift prototype development kit [https://github.com/facebookarchive/RiftDK2/tree/master DK2], [https://www.ifixit.com/Teardown/Oculus+Rift+Development+Kit+2+Teardown/27613 ifixit teardown] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 pcvr, 5.7" Super AMOLED display with a resolution of 960 x 1080 per eye 100° field of view, 1 usb Positional Tracker DK2 camera, lots of wires}} |- | <!--Description-->Facebook [https://github.com/thaytan/OpenHMD/tree/rift-kalman-filter Oculus Rift CV1] [https://noraisin.net/diary/?m=202201 some Linux support] [] [https://github.com/OpenHMD/OpenHMD/issues/330 AMD usb issues] [https://github.com/OpenHMD/OpenHMD/wiki/Xorg ] [https://github.com/Doc-Ok/OculusRiftCV1Camera Live Video] [https://www.youtube.com/@thaytan Youtube] [https://github.com/Fredrum/riftOnLinux Pi] [https://github.com/OhioIon/riftDriverPi ], but not quite there with the [https://www.youtube.com/watch?v=DSsCN6HFkWc consumer CV1], [https://forum.dcs.world/topic/142259-cv1-not-working-in-dcs/#comment-2878168 orange led could be HDMI Signal is not within HDMI Spec and might be Overclocked or usb3 not getting enough power frustrating], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x3031, 0x2031, 0x0031 and 0x0211 for 3p-a basestations lighthouses, 0x045e 0x02e6 for xbox wireless adapter | <!--Revision--> | <!--Opinion-->{{No|2016 powered run from your PC maybe uvc via wired dual PenTile OLED 2160x1200 (1080x1200 per eye) @ exactly 90Hz but screen door effect (space between pixels), 87 FOV, IPD from 58mm to 72mm, good 3D audio and okay mic, constellation headset 6DOF (3-axis rotational tracking + 3-axis positional tracking) with up to 3 usb infrared basestation (1 in front and 2 behind pointing upwards) on usb3 and usb2 to your PC but the tracking can be fragile so set it up on a weekly basis, wired only HDMI 1.3, USB 3.0 bus powered with proprietary plug in headset, 470g 1lb front heavy, 2 robust 1st Gen touch controllers with external sensors i.e. outside-in - 1 aa alkaline over rechargable battery each , press occulus and B buttons for 2 secs to connect, headset traps air so gets very warm inside and random disconnects due to twisting action on the top of the headset and/or cables, t4 torx screws }} |- | <!--Description-->Facebook Occulus Go 32Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 discontinued 2020 android based, 1280x1440 per eye 60Hz LCD, not gaming, no inside-out and limited self tracking, }} |- | <!--Description-->Facebook Oculus Rift S [https://noraisin.net/diary/?m=202201 some Linux support] | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0051 headset (cdc, audio, tracking data), 0x2052 usb hub, | <!--Revision--> | <!--Opinion-->{{No|2019 PCVR wired dual LCD 1080 by 1200, 88 horizontal FOV, display port (fibre optic strands) and annoying USB3 copper cables (power, audio and other data) but proprietary port in the headset, cameras on the headset ("inside-out") tracking so no base stations, non removeable head band and cushions and ipd hard to set, requires specific fragile Rift S/Quest1 2nd Gen Touch controllers which has a ring of translucent plastic with leds inside - t5 torx to disassemble for sticks drifting}} |- | <!--Description-->Facebook Occulus Quest 1 *032Gb *064Gb | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0183 (single adb boot), 0x0 | <!--Revision--> | <!--Opinion-->{{No|2019 android standalone wireless, 1440 x 1600 72Hz oled, front heavy though, play area 2m x 2m or bigger, low clocked Qualcomm Snapdragon 835 (MSM8998) (4x Kryo 280 Gold cores ARM Cortex-A73) + (4x Kryo 280 Silver A53), 2 to 3 hrs play time, 575g, 2nd Gen touch controllers, }} |- | <!--Description-->Meta Oculus Quest 2 KW49CM aka Codename Del Mar [https://www.meta.com/en-gb/help/quest/967070027432609/ fragile 3rd Gen Touch controllers] [https://www.youtube.com/watch?v=Cgejky8ZeoM internal battery] and selling over 20 million, more than all other quest headsets combined *064Gb *128Gb (110Gb free) *256Gb Setup continuous wifi, create Meta Oculus account, [https://developers.meta.com/horizon/ verify dev account, click on My apps], [ create Organization -> My Organization Groupings], [https://www.youtube.com/watch?v=QPInS5xxF-0 finally, meta quest mobile app to switch on adb], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x5010 (), 0x0083 (massstorage), 0x0086 (), 0x0186 (adb and xrsp [https://github.com/shinyquagsire23/xrsp_tests tests]), 0x0090 (composite adb), 0x0081 (), | <!--Revision-->0419 | <!--Opinion-->{{unk|2021 android stand alone, lcd 1832x1920 per-eye 90Hz refresh rate, 97 FOV, fresnel lenses, 6DOF (degrees of freedom), 58-63-68 IPD settings, low clocked Arm snapdragon xr2 gen 1 apps with Meta Link cable USB-C usb3.2 pcvr maybe, b/w but no color passthrough, 6 t2 torx and 5 ph00 screws in headset (long bit), discontinued December 31, 2024, feature updates until December 2026, critical bug fixes and security updates until December 2027, 470g, Oculus + B button on right controller (move) and Menu + Y button on left controller (click) for about 3 seconds, 10W 5v 2a, RTL8153 chipset usb support, *V60 unable to *V77 pcvr issues *V79 unable to }} |- | <!--Description-->Facebook Occulus Quest Pro aka Codename Seacliffe | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 android standalone wireless 1440 x 1600 72Hz oled, 106° and 96° FOV mini lcd local dimming, pancake lenses, limited eye tracking, play area 2m x 2m or bigger, higher clocked snapdragon xr2 gen 1 arm cpu Arm apps, 1 to 2 hrs play time, new pro controllers with 3 cameras each, battery at rear, wireless charging, color passthrough, 9V 3A or 5V 3A, *v77 capped wifi }} |- | <!--Description-->Meta Oculus Quest 3 aka Codename Eureka [ Air Light ALVR] or [ WiVRn] with fragile touch plus q3 controllers *128Gb *512Gb streaming from PC with [https://github.com/alvr-org/Monado-ALVR ALVR], runtime of [https://monado.freedesktop.org/ Monado steamvr alternative openxr openVR], with Envision GUI, | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 standalone, pancake lenses on lcd 2064 x 2208 res panel per eye 1200ppi - 104° and 96° FOV - up to 120Hz, Arm snapdragon xr2 gen 2 apps, foveated rendering, Meta Link cable USB-C 3.2, headstrap clamshell or halo style, speaker arms fragile, color passthrough, 510g, 18W 9v 2A or 15W 5V 3A, *v74 ok }} *v76 pcvr issues }} |- | <!--Description-->Meta Quest 3S aka Codename Ventura *128Gb *256Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 Arm snapdragon xr2 gen 2 cpu, lcd 1832 x 1920 fresnel lenses, 97 FOV, headphone arms fragile, better air flow, no promixity sensor inside, Meta Link cable USB-C 3.2, passthrough, }} |- | <!--Description-->Meta Boba 3 | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 ultra-wide 180° x 120° FOV, snapdragon XR2 G2, }} |- | <!--Description-->Meta Tiramisu | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 µOLED displays with 90 pixels per degree, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pimax 5K Super Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 }} |- | <!--Description-->Pimax 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description-->Pimax 8K-X 8KX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 }} |- | <!--Description-->Pimax Crystal Light | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 2160 x 2160 4k 120Hz, 115° and 96° FOV, inside-out tracking, no battery, display port cable, variable qc and customer service, }} |- | <!--Description-->Pimax Crystal Super | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 3640 x 3640 4k 90hz, 116°+ and 100° FOV, eye tracking, inside-out tracking, no battery, display port cable, }} |- | <!--Description-->Pimax Dream Air with Lighthouse(s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 tethered 3840 by 3552 @90Hz micro oled with pancake lens, 100 HFOV 96 VFOV but FOV IPD changes in app, link box for headset 2 split y cables, removable face gasket, 290g, steamVR2 bases and controllers, eye tracking, }} |- | <!--Description-->Pimax Dream Air SLAM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 Simultaneous Localization and Mapping (SLAM) tracking inside-out so no base stations, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://somniumspace.com/ Somnium VR One VR1] [https://portal.vrgineers.com/user-guide/software/ open source] VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr 2880 x 2880 per eye @90 @120Hz, 125° horizontal 100° vertical FOV, 2 x SteamVR 2.0 bases, passthrough, 900g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero VR-1 Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 psu needed, 2 x Mini LED binocular of 150 nits, 2880x2720 per, 90Hz, FOV 102° horizontal, 73° vertical, 720g with headstrap, 2 x SteamVR 2.0 basestations, no speakers/mic, hdmi and usb3.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Camelo La Melaza Music Shield | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 no usb only bluetooth , }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->InAir 2 elite suite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar nits 46FOV , , 4h battery life, 80g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oakley Vanguard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->RayNeo Air 3s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 100in 46FOV 650nits, usb-c 79g }} |- | <!--Description-->RayNeo Air 3S Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 135in virtual display 46FOV 1200nits, usb-c 80g }} |- | <!--Description-->RayNeo Air 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AR oled vision 4000 processing, HDR10, 47 FOV }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rokid Max 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 50 FOV 650nits, usb-c back left, 76g, }} |- | <!--Description-->Rokid AI Spatial with Station 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 600nits 147in 50FOV 75g, }} |- | <!--Description-->Rokid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| ar ai smart glass}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 135in 46 FOV 1000nits, magnetic connector, 77g, }} |- | <!--Description-->VITURE XR Luma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 1200p 50 FOV, }} |- | <!--Description-->Viture Luma Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 152in 52 FOV 1000nits 1200p, 3dof, , 79g, }} |- | <!--Description-->Viture Luma Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 in FOV, 2 cameras, 3dof 6dof, }} |- | <!--Description-->[https://github.com/wheaney/XRLinuxDriver Viture Luma Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Beast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 1250nits 58FOV 174in, magnetic, 88g, }} |- | <!--Description-->VITURE Beast X Glasses models (Immersive 3D Moonlight) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 based 2D to 3D conversion with support DP Alt Mode (DisplayPort over USB-C), 1200p, 3df tracking, practic lenses 58deg POV, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xreal One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 600nits, 50FOV, 3dof, usb-c 84g, }} |- | <!--Description-->XReal One Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 700nits 57FOV 171in, usb-c, x1 3dof, }} |- | <!--Description-->Nreal now Xreal Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , micro-oled 1080p, audio, virtual uvc ar displays, }} |- | <!--Description-->Nreal now Xreal Real3D 1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AI based 2D to 3D conversion 57 FOV, , virtual uvc ar displays not vr, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xiami XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xtal 8k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Apple Vision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 tethered AR mixed reality glasses, 3300ppi, 800g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Google XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Focus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 standalone }} |- | <!--Description-->HTC Vive Focus Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 android with 2 1440 x 1600 75Hz amoled, inside-out, durable motion controllers, Vive port, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Pro EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 dual-OLED displays 2880 x 1600 combined resolution), SteamVR 2.0 tracking, foveated rendering, Tobii, it enables gaze-based menu navigation with avatar eye contact, proprietary cables, }} |- | <!--Description-->HTC Vibe Cosmos | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 poor tracking and lifespan on controllers, }} |- | <!--Description-->HTC Vibe Cosmos Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2020 1440x1700 per eye resolution, 90 Hz refresh rate, 6 DoF tracking, 2880 x 1700 combined pixel resolution, 97° FoV, two controllers and two base stations. Lighthouse tracking, }} |- | <!--Description-->HTC Vive Focus Vision Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->HTC Vive Focus 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 per-eye resolution of 2448×2448 at 90 Hz, a 120-degree field of view, Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->HTC Vive XR Elite VR Headset Deluxe Pack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 snapdragon xr2 gen 1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pico Goblin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 android based, 2.5K 1280x1440 per eye @70Hz, 92° FoV, and 3DoF (three degrees of freedom) tracking (Orientation tracking only—yaw, pitch, roll), single controller, snapdragon 820, ipd adjustment 54-71 mm, 600g, }} |- | <!--Description-->ByteDance Pico G2 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 android standalone VR headset, 3840 x 2160 (4K) LCD screen, Snapdragon 835 processor, 3DoF so rotational movement (looking around, pointing) rather than positional movement (walking, leaning), does not support hand or eye tracking, 800g }} |- | <!--Description-->ByteDance Pico NEO 2 EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 6DoF 360g snapdragon 845 display 4k 75Hz tracking inside-out - magnetic field for controllers - pico software on android 8 - eye tracking }} |- | <!--Description-->ByteDance Pico Neo 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 Snapdragon XR2 Gen, 4K 3664 x 1920 90Hz lcd, battery at rear, displayport, Pico apparently emulates Oculus controllers, }} |- | <!--Description-->ByteDance Pico Neo 3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico Neo 3 Link | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160x2160 panel per eye 75Hz 90Hz 105 FOV, Arm snapdragon xr gen 1, }} |- | <!--Description-->ByteDance Pico 4 ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160 x 2160 @90 105 FOV, snapdragon XR2 G2, streaming from PC with alvr, wireless streaming from PC with WiVRn, Pico apparently emulates Oculus controllers, not plug and play, }} |- | <!--Description-->ByteDance Pico 5 aka Project Swan aka Vision Pro Competitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 micro-oled BOE 3840 x 3840 4000ppi per eye, MLA pancake lenses, custom pico arm cpu, pico os 6 android, eye and hand tracking, 300g, }} |- | <!--Description-->ByteDance Pico | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung Galaxy XR VR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 3552 x 3840 @60-90 109 FOV , Arm snapdragon XR2+ Gen 2, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shiftall MeganeX 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 android }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8k MeganeX Superlight 8K] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android (3552 x 3840 pixels) into pixel count yields 27.27MP 10-bit HDR-compatible 4K resolution micro OLED panels @90Hz, pancake lenses 94 FOV, SteamVR™ tracking, 180g, 5V 2A, }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8kmk2 MeganeX 8K Mk2 MkII] [https://github.com/sboys3/CustomHeadsetOpenVR community] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr linux, 4K per eye (1.35inch micro OLED 3552x3840 10 bit HDR) 27MP @90Hz 75Hz 72Hz pancake, upto 108 hor 100 vert FOV, usb-c and dp cables to breakout box, 5V 2.1A, 200g}} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Acer Windows(TM) MR AH101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Dual 2.89” LCD panels 2880 x 1440 combined (1440 x 1440 per eye) Up to 90Hz (HDMI 2.0), or 60Hz (HDMI 1.4), Field of View FOV 95, Tracking Inside-out, lots of light leak, }} |- | <!--Description-->Acer H7001 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 wmr 1440 x 1440 per-eye resolution @90Hz refresh rate, and 100-degree field of view FOV, inside-out tracking with front-mounted cameras so no external sensors, flip-up visor design but has a "screen door effect," subpar foam padding, win10 to win11 24H2, }} |- | <!--Description-->Dell Visor Mixed Reality VRP100 VR118 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 2x 1440x1440 a bit of nose light leak }} |- | <!--Description-->Fujitsu | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 cheap and lots of light leak }} |- | <!--Description-->[https://github.com/HadesVR HadesVR] with [https://github.com/ManoloMancelli/Persephone-Classic-Controller Persephone Controller] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.youtube.com/watch?v=HFaVjB1uNOM Persephone 3 Pro DiY 6Dof SteamVR Headset], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HP Reverb G1 VR1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 WMR 2160 x 2160 @90Hz, 115 FOV, , hp proprietary headset cable end, 2 camera tracking but poor and controllers can be unresponsive, 500g front heavy, flight sims rather than gaming, }} |- | <!--Description-->HP 1440p Spatial Computing | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dim display }} |- | <!--Description-->[https://forums.x-plane.org/forums/topic/294764-vr-in-linux-without-steam/ HP Reverb G2] WMR VR3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 2 2160 x 2160 90Hz, needs Windows10 or Win 11 24H2, 4 camera tracking, controllers can be unresponsive, hp proprietary headset cable end, , }} |- | <!--Description-->HP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Mirage Solo is a Standalone VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Qualcomm Snapdragon 835, 1280x1440 per eye resolution, 75 Hz refresh rate, }} |- | <!--Description-->Lenovo Explorer VR2511N (G0A2) VR windows mixed reality (WMR) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 LCD 2.89" 1440 x 1440 per eye @90Hz, 6 DOF position tracking, 400g, }} |- | <!--Description-->[https://github.com/relativty/relativty open source relativty] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung MHD Odyssey XE800ZAA WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 9V 500mA oled screens 2x 1440x1600 with usb3 and hdmi cables but bluetooth dongle required }} |- | <!--Description-->Samsung MHD Odyssey+ Plus WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dual 3.5-inch AMOLED displays 2880 x 1600 total @90Hz, 6DOF inside-out tracking with usb3 and hdmi cables but bluetooth dongle required, use only win10 or win11 24H2, }} |- | <!--Description-->Sony PSVR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2016 2x 1080x960 up to 120Hz, lots of cables and computation brick, sony camera needed for tracking, ps4 or move controllers, }} |- | <!--Description-->Virtuality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|1992 , , Amiga 3000 with TI chips, }} |- | <!--Description-->Virtuix Omni | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 VR treadmill changed course to commercial VR and pivotted back again 2020, }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === HDMI CEC transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === TV Remote Control MCE IR transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Compro K100 K300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Elitegroup Computer Systems | <!--Vendor ID-->0x1019 | <!--Product ID-->0x0f38 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GMYLE MCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|acts as usb-hid with limited keyboard like controls }} |- | <!--Description-->Hauppauge WinTV-PVR kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Logitech Harmony 300 i300 600 650 800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Microsoft MCE Commander | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2005 need extra software support}} |- | <!--Description-->Microsoft 1039 rev 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 home top of square shape direction keys}} |- | <!--Description-->Microsoft 1039 rev 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2006 home under circle spaced direction keys}} |- | <!--Description-->Microsoft 1069 SMK Manufacturing, Inc | <!--Vendor ID-->0x0609 | <!--Product ID-->0x0334 | <!--Revision--> | <!--Opinion-->{{No|2007 untested}} |- | <!--Description-->Philips RC1974506/00 | <!--Vendor ID-->0x0471 | <!--Product ID-->0x0815 | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Sony RM-MCE10E PC REMOTE CONTROL VGN-AR21M VGX-XL100 VGN-AR21B/AR21S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE20E PC REMOTE CONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE30E PC REMOTE CONTROL VGN-AW21XY VGX-TP3E VGX-TP3G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE50E PC REMOTE CONTROL VGC-LA2R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TSDX-IR14 USB MCE Media Center External Infrared IR Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->chipsets support CIR (consumer IR) Winbond W83977F/AF, SMC IrCC 2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|technical reasons it's not possible to use USB IrDA dongles}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Zotac RC2604323/01G Zbox Media Remote Control with IR USB Receiver OVU710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Anycubic Cobra 2 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Bambu Labs A1 Mini 3D printer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 EMS proprietary slicer app and cloud use, eSUN}} |- | <!--Description-->Bambu Labs X1 Carbon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Bambu Labs X2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elegoo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lulzbot | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Prusa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Qidi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Snapmaker U1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tool changer }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sovol SV08 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| open source voron model, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->desktop pick and place machines AFARCO PNP running OpenPnP for Desktop SMT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==ethwrap.class - Host Data Link "Cable Bridge" for data transfer== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Advance USBNET (eTEK design) | 0x0525 | 0x9901 | | {{N/A|untested}} |- | ALi Uli M5632 (chip) | | | | {{N/A|untested}} |- | Aten (Ali Corporation) UN201 | 0x0402 | 0x5632 | | {{maybe|force binding from rawwarp to ethwrap}} |- | Belkin (eTek design see below) | 0x050d | 0x0004 | | {{N/A|untested}} |- | Digitus DN-3004 - USB Host Link | | | | {{yes|works}} |- | EPSON USB client | 0x0525 | 0x2888 | | {{N/A|untested}} |- | eTEK | 0x056c | 0x8100 | | {{N/A|untested}} |- | KC-190 | 0x050f | 0x0190 | | {{N/A|untested}} |- | GeneSys GL620USB | | | | {{no|no driver the half-duplex GL620USB is NOT supported, products using it include the Inland Pro USB Quick Link}} |- | GeneSys GL620USB-A | | | | {{N/A|untested}} |- | Laplink Gold (uses NetChip 1080) | | | | {{N/A|untested}} |- | Prolific 2301/2302 (Jaton USB ConNET) (BAFO DirectLinq) | 0x067b | 0x0000 and 0x0001 | 0x0004 | {{maybe|detected but untested}} |- | Xircom PGUNET (uses AnchorChips 2720) | 0x0547 | 0x2727 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==cdcacm.class - USB modem== The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream). {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Alcatel OT-I650 | 0x1bbb | 0x0003 | | {{N/A|untested}} |- | Acatel Dymamode/Dynamite | 0x06b9 | 0xa5a5 | | {{N/A|untested Zyxel Prestige 630-13 - untested PROLiNK Hurricane 8000 external link }} |- | AnyData ADU-100A ADU-E100A ADU-E100D ADU-E100H D10 | 0x16d5 | 0x6501 | | {{N/A|untested}} |- | AnyData ADU-310 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | AnyData ADU-500A ADU-510A ADU-510L ADU-520A | 0x16d5 | 0x6502 | | {{N/A|untested}} |- | AnyData ADU-610 ADU-620 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | BT On-Air USB MODEM | 0x079b | 0x000f | | {{N/A|untested}} |- | Conexant USB MODEM CX93010 | 0x0572 | 0x1321 | | {{N/A|untested}} |- | Conexant USB MODEM RD02-D400 | 0x0572 | 0x1324 | | {{N/A|untested}} |- | Conexant Chipset | 0x06ea | 0x0002 | | {{N/A|untested AUS N367 Roadster II 56 USB (Model AM5050R3) - untested }} |- | [http://accessrunner.sourceforge.net/ Conexant AccessRunner] | 0x0586 | 0x330a | | {{N/A|untested }} |- | Creative Modem Blaster USB DE5670 | 0x1690 | 0x0101 | | {{N/A|untested}} |- | FIREFLY, MediaTek Inc | 0x0e8d | 0x0003 | | {{N/A|untested}} |- | Huawei E122 | 0x12d1 | 0x1446 | | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=49126#forumpost49126] |- | Huawei E160, E160E, E160G | 0x12d1 | 0x1003 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=51888#forumpost51888] (Chipset: Qualcomm MSM6246) |- | Huawei E169 also known as Vodafone K3715 and Huawei K3715 | 0x12d1 | 0x1001 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4941&forum=4&post_id=44683#forumpost44683] (Chipset: Qualcomm MSM7200) |- | Huawei E220 "Vodafone EasyBox II" "T-Mobile wnw Box Micro" also known as Huawei K3565 | 0x12d1 | 0x1003 | | {{yes|works, see E169 above (Chipset: Qualcomm MSM6280)}} |- | Huawei E1750 | 0x12d1 | 0x1001 | | {{N/A|untested (Chipset: Qualcomm MSM6290)}} |- | Huawei E170, E172, E176 | 0x12d1 | 0x1003 | | {{N/A|untested (Chipset: Qualcomm MSM7200)}} |- | Huawei E180 | 0x12d1 | 0x1406 | | {{yes|Works (Chipset: Qualcomm MSM7200)}} |- | KYOCERA AH-K3001V | 0x0482 | 0x0203 | | {{N/A|untested}} |- | LG CU515 | | | | {{N/A|untested}} |- | MediaTek Inc GPS | 0x0e8d | 0x3329 | | {{N/A|untested}} |- | Metricom GS Modem | 0x0870 | 0x0001 | | {{N/A|untested}} |- | Motorola MOTOMAGX phones | 0x22b8 | 0x6425 | | {{N/A|untested}} |- | Motorola Q Phone | 0x22b8 | 0x7000 | | {{N/A|untested}} |- | Hummingbird huc56s (Conexant) | 0x0572 | 0x1329 | | {{N/A|untested}} |- | Netcomm Roadster II 128 ISDN | | | | {{N/A|untested}} |- | Nokia n70 N95 HSDPA | | | | {{yes|works - see [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=4415&viewmode=flat&order=ASC here]}} |- | OGO | 0x045E | 0x0079 | 0090 | {{no|no driver}} |- | Olitec ADSL Modem V2 | 0x08e3 | 0x0100 / 0x0102 | | {{N/A|untested}} |- | <!--Description-->Onda PT502HS | <!--Vendor ID-->0x19D2 | <!--Product ID-->0x0001 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | Radicom V92HU-E2 | | | | {{N/A|untested}} |- | <!--Description-->Samsung i8510 Innov8 Symbian smartphone | 0x04e8 | 0x6651 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Samsung Tocco Lite (aka GT-S5230) | 0x04e8 | 0x6795 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Shiro / Aztech USB MODEM UM-3100 | 0x0572 | 0x1328 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1602 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1608 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM - new version | 0x0ace | 0x1611 | | {{N/A|untested}} |- | Zoom Telephonics Model 3095F USB MODEM | 0x0803 | 0x3095 | | {{N/A|untested}} |- | Ugobe Pleo | 0x6962 | 0x0100 | 0x0100 | {{Yes|Works}} |} ==Misc== palmpda.class - no [http://aminet.net/package/util/libs/PdaLinkPoseidon pdalink.library and tools] in AROS Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools through virtual usbpalm.device. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Palm IIIx (OS3.1) serial rs-232 only | | | | {{no|no }} |- | Palm IIIc (OS3.5) | | | | {{no|no }} |- | Palm V | | | | {{no|no }} |- | Palm m100 | | | | {{no|no }} |- | Palm m125 first USB - last with aaa batteries | | | | {{no|no }} |- | Palm m500 (OS4) | | | | {{no|no }} |- | Tungsten T (OS5) first arm cpu | 0x | 0x | 0x | {{no|no }} |- | Zire 31 (OS 5.28) color arm-based | | | | {{no|no }} |- | [[:w:Handspring (company)|Handspring Visor]] – USB support out of box | | | | {{no|no }} |- | Handspring Treo 600 – last one for [[:w:Handspring (company)|Handspring]] | | | | {{no|no }} |- | Treo 700w | | | | {{no|no }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} bluetooth.class - needs Bluetooth (Viking King Harald "Bluetooth" Gormsson (Old Norse: Haraldr Blátǫnn Gormsson; Danish: Harald Blåtand Gormsen) stack to work (not written due to licensing fees to use the symbol merging the Younger Futhark runes for H (ᚼ) and B (ᛒ), representing Harald's initials) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} ccid.class - Chip/Smart Card Interface Devices (not implemented) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->cyberJack RFID basis | <!--Vendor ID-->0x0C4B | <!--Product ID-->0x9102 | <!--Revision-->0001 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} dfu.class - DFU firmware upgrade {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->iPhone 3, 4, 5, 5c | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1290 0x1292 0x1294 | <!--Revision--> | <!--Opinion-->{{unk| 32bit use with caution could cause damage}} |- | <!--Description-->iPhone 5s, 6, 7, 8, X | <!--Vendor ID-->0x05ac | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 64bit use with caution could cause damage}} |- | <!--Description-->M-Audio/Midiman USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->iPad 1, iPad 2 A1395 A1430, iPad 3, ipad mini A1432, iPad A1458 4th Gen (MD512LL/A), | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2008-2013 32bit A4, A5 up to Apple A6X, iOS 1 to 10, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->iPad Air (1st generation) A1474, A1475, A1476, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2014-2015 [https://github.com/AsahiLinux 64bit], A7, iOS 11 up to |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2015 64bit A8, A8X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2016 64bit A9, A9X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2017 64bit A10, A10X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2018 64bit A11 |- | <!--Description-->iPad Air 3rd Gen A2153, A2123, A2154, iPad Mini 5th Gen, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2019 64bit A12 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} RocketTool (USB Rocket Launchers - Toy missile launchers) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Original Launcher and StrikerII (includes laser) | 0x1130 | 0x0202 | | {{yes|works }} |- | Dream Cheeky USB Missile Launcher or USB Cirus Cannon | 0x1941 | 0x8021 | | {{no|no driver }} |- | Dream Cheeky USB Webcam Missile Launcher | 0x1941 | | | {{no|no driver }} |- | Rocket Baby | 0x0a81 | 0x0701 | | {{no|no driver }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} DRadioTool (FM Radios - USB radio devices D-Link/Gemtek) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link DSB-R100 USB | 0x04b4 | 0x1002 | 0x0410 | {{yes|works }} |- | [http://www.neoseeker.com/forums/383/t257009-link-usb-dru-r100-radio/ GemTek USB FM Radio 21] | 0x04b4 | 0x1002 | | {{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} UproarTool (Valencia MPX mp3 player and others) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Korean D Square Valencia MPX-Player | 0x04e8 | various | | {{N/A|untested }} |- |} [https://www.youtube.com/watch?v=vIuT7rJgc8w with unlocked android bootloader], <pre> Kill and restart the server a few times sudo adb kill-server sudo adb start-server And finally type in sudo adb devices adb devices Lists connected devices adb shell Opens a terminal shell on the device hollywood:/ $ su id df -h top ls -la ls sdcard ls sdcard/Android ls sdcard/Oculus wm size cd .. cd data/system look inside bad Corejava folder cd data/system/etc/init look cd data/system/app cd /data cd /dev/block adb shell pm disable-user --user 0 com.oculus.nux.ota adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over adb shell 'setprop debug.oculus.cpuLevel 5 && setprop debug.oculus.gpuLevel 5 && setprop debug.oculus.adaclocks.force 0 && setprop debug.oculus.phaseSync 1 && settings put global always_finish_activities 1 && settings put global wifi_scan_throttle_enabled 1 && settings put global window_animation_scale 0.25 && settings put global transition_animation_scale 0.25 && settings put global animator_duration_scale 0.25 && sync' settings list --user 0 secure or global or system user_setup_complete=0 adb shell screenrecord adb shell reboot adb install <path_to_apk> Installs an app like adb install -g -r alvr_client_android.apk or adb install -r app.apk memtester lsmod adb command to enable hand tracking, possible, but root access is required adb root oculussetting --set hand_tracking_opt_in 1 hand_tracking_enabled 1 adb push <local> <remote> Copies files to the device adb pull <remote> <local> Copies files from the device pull them using CFB, extract original apk using LL adb forward tcp:9943 tcp:9943 (Used for advanced, such as ALVR streaming) adb shell pm disable-user --user 0 com.oculus.partnercustomization Enterprise versions adb reboot Performs a standard system restart adb reboot bootloader Restarts the device into fastboot/bootloader mode adb reboot recovery Restarts the device into recovery mode adb reboot download Reboots Samsung devices into Download Mode adb reboot fastboot Directly enters fastboot mode [https://gist.github.com/pantasio/3d0eb4bb03a1e696aae8696f60730859#file-enable-usb-debug-adb usb dev debug adb] </pre> {{BookCat}} im86zj83sk7ci2ot7q4krs3ipv207qr 4657018 4656810 2026-08-10T10:52:49Z Jeff1138 301139 4657018 wikitext text/x-wiki {{ArosNav}} ==Host Adapter Protocol USB1 OHCI UHCI USB2 EHCI USB3.0 USB3.1 xHCI == Please let us know any mistakes or any information to be added, use Prefs/Trident to confirm Vendor and Product IDs Please chat at [https://www.arosworld.org/index.php AROS World] *1996 USB1.0 *1998 USB1.1 *2000 USB2.0 *2008 USB3.0 *2013 USB3.1 *2017 USB3.2 [https://github.com/aros-development-team/AROS/tree/master/rom/usb AROS has these USB transfers] *Control - *Bulk - Midi 1.0 ( 'send my data when you can' ) *Interrupt - Midi 2.0 *Isochronous - USBAudio, Webcams, etc (wip) Isochronous is the starting point of modern types of multimedia creativity. IsoChronous isoc code is already in place in poseidon.library and '''scheduled''' transfers are queued to be later rerouted in the host driver code (needs to be written for each host protocol e.g. OCHI, UCHI, EHCI and [https://cdrdv2-public.intel.com/625472/625472_xHCI_Rev1_2b.pdf#:~:text=Page%203.%20Document%20Number:%20625472%2C%20Revision:%201.2b.%203. XHCI rev1.2], [https://www.intel.com/content/www/us/en/content-details/868296/extensible-host-controller-interface-for-universal-serial-bus-xhci-requirements-specification-r2-0.html rev2], etc). There seems to be 2 types of isoc transfers, one is just the normal isoc transfer and the other is realtime implementation of isoc transfer. For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped (in or out) and that they happen at the right time. It all gets difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth for the packet based periodic transfers that are initiated by the host which have fixed but guaranteed bandwidth. Host controllers guarantee this bandwidth by planning a schedule of transfers ahead of time to ensure there is enough time reserved on the bus. [https://www.intel.co.uk/content/www/uk/en/products/docs/io/universal-serial-bus/ehci-specification.html EHCI] [https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/ bus-bandwidth] vs payload-bandwidth and the algorithm of the EHCI scheduler. The bandwidth of the endpoint in terms of payload data (stuff we put in a packet) and the protocol overhead, signalling imposed bit stuffing, host delays etc. Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one. [[File:Psd.svg|220px|right]] ; Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI), ; Early support - [https://github.com/aros-development-team/AROS/commit/03c5252d962941a56c816a9f2315134362089349 XHCI USB3.0, USB3.1 & gen 2 Type-A Type-B Type-C] ; Next Best Set - General OHCI, SIS (OHCI + EHCI), ; Buggy Chipset - [ Early AMD OHCI], ALi OHCI, VIA UHCI, Nvidia OHCI & EHCI, === USB1.1 === OHCI USB 1.1 - USB-IF sanctioned standard but hardware physical form removed with USB2.0 and replaced with virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 M5237 Lucent USS-312 | | | | <!--Boots-->{{Maybe}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | StarTech PCI425USB, CompUSA Iogear GIC220U-b, Nvidia 220 mobo, USBA2041P, ALi SU2A-PS, |- | AMD 756 Chipset (onboard motherboard) | 0x1022 | 0x740c | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=31308#forumpost31308 usb devices detected] Geode GX1, |- | CMD DU-A2 Silicon Image 0670 (pci AMD chipset) | 0x1095 | 0x0670 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Silicon Image 0673 (pci AMD chipset) | 0x1095 | 0x0673 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Nvidia Nforce2 USB | 0x10de | | | <!--Boots-->{{Maybe|Bios options vary but does with Plop Boot}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Tested with 20th Aug 2012 improvement |- | NEC µPD720100AGM | 0x1033 | 0x0035 | 0x | <!--Boots-->{{Unk}} | <!--Detects-->{{Unk}} | <!--Works-->{{Maybe|}} | untested - Amiga Spider card with possible bottleneck issues at higher speeds |- | NEC µPD720101AGM 720101GJ | 0x1033 | 0x0035 | 0x43 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Mac mini, Belkin F5U219vea (2+1 ports), Belkin F5U220vea1 (4+1 ports), Adaptec 3100LP, BAFO BF-460, GWC UC-160, IOGear GIC250U, Keyspan U2PCI-5, O'toLink U2-C2B U2-C2A U2-P20N U2-P50, Ratoc PCIU5, USBWholesale UII-PCIP |- | NEC µPD720102 | 0x1033 | 0x00 | 0x | <!--Boots-->{{Unk|untested }} | <!--Detects-->{{Unk|untested }} | <!--Works-->{{Maybe|}} | |- | Opti 82C861 2-port | 0x1045 | 0xc861 | | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no USB devices detected - Belkin F5U005, |- | SIS 7001 OCHI | 0x1039 | 0x7001 | 0x0f | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | 20th Aug 2012 - not booting stalls on GRUB word with Plop Boot |- |} UHCI USB 1.1 - Intel standard but since 2009 no hardware support as USB2 introduced virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | Intel | 0x8086 | 0x | 0x01 | <!--Boots-->{{No|not in bios use AROS floppy disc boot}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | Intel 82371AB EB MB PIIX4 | 0x8086 | 0x7112 | 0x01 | <!--Boots-->{{No|none in bios use other booting options}} | <!--Detects-->{{Maybe|Detects most devices}} | <!--Works-->{{Maybe|most devices but not RTL8187b WG111v3 blue led not on and does not work}} | |- | Intel 82801DB/DBL/DBM (onboard i830 mbd) | 0x8086 | 0x24c4 | 0x01 | <!--Boots-->{{Yes|but not from bios but floppy options}} | <!--Detects-->{{Yes|}} | <!--Works-->{{Yes|}} | RTL8187b WG111v3 blue led on and although device has software failure and recoverable error IT STILL WORKS. Fresh start sometimes needs Network Prefs Saved to work. |- | VIA MVP4 (onboard mbd) | 0x1106 | 0x30 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless options}} | RTL8187b WG111v3 detected but blue led not on and does not work |- | VIA VT82xx (onboard mbd) | 0x1106 | 0x3038 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless usb}} | RTL8187b WG111v3 blue led on but does not work |- | VIA VT6202 (VIA VT83C572) | 0x1106 | 0x3038 | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | A-Best USB-200, Cables N Mor USBPCI, CompUSA, D-Link DSB500, Digital/Research DRUSBCARD, Kouwell IOFlex 580, StarMount USB VIA, |- | VIA VT6112 | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3038 | 0x61 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | 2011 seems to have issues with other identical via based USB controller(s) present |- | VIA VT6214L | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- |} === USB 2.0 EHCI === The USB-IF insisted on only one implementation of EHCI but it creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through most newer USB3.0 chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 Lucent USS-344 | | | | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested}} belkin F5U006, |- | Nvidia Nforce2 USB | | | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | Intel 82801DB/DBM (onboard mbd) | 0x8086 | 0x24cd | 0x01 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | NEC µPD720100AGM | 0x1033 | 0x00E0 | 0x | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested - Amiga Spider card}} |- | NEC 72101 GJ | 0x1033 | 0x00e0 | 0x04 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Belkin F5U219 VEA1 (pci), |- | SIS ECHI | 0x1039 | 0x7002 | 0x00 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|issues about which port is used if it works at all}} | <!--Works-->{{Maybe|}} | |- | VIA VT6202 | 0x1106 | 0x3104 | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3104 | 0x62 | <!--Boots-->{{No}} | <!--Detects-->{{Yes|detects}} | <!--Works-->{{Maybe|}} | |- |} === USB 3.x SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) aka xHCI eXtensible === USB Attached SCSI (UAS or UASP) is a protocol used for high-speed data transfer between computers and external storage devices like SSDs, HDDs, and some flash drives. It provides up to 70% faster read/write speeds than traditional Bulk-Only Transport (BOT) by allowing multiple commands to run in parallel, rather than waiting in a queue {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic FL1000 FL 1000 | <!--Vendor ID-->0x1B73 | <!--Product ID-->0x1000 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->link power management (LPM, USB 3.0 power saving) cannot be disabled so random connection issues |- | <!--Description-->Fresco Logic FL1009-200 FL 1009 | <!--Vendor ID--> | <!--Product ID-->0x1009 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->Orico PFU3-2P |- | <!--Description-->Fresco Logic FL1100-100 FL 1100SX | <!--Vendor ID--> | <!--Product ID-->0x1100 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->LPM cannot be disabled so issues with disconnecting WD drives etc - CalDigit, ORICO PFU3-2P, FASTA-6GU3 Pro, inatech KTU3FR-2P 2 port USB 3.0, and Inateck KT4004 (KTU3FR-4PA rev B2) for storage and hubs, etc |- | <!--Description-->Fresco Logic FL1400 FL 1400 | <!--Vendor ID--> | <!--Product ID-->0x1400 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic | <!--Vendor ID--> | <!--Product ID-->0x | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->NEC Renesas xHCI µPD720200 uPD720200a chip | <!--Vendor ID-->0x1d6b | <!--Product ID-->0x0194 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|no USB3 but seems to works like USB2}} | <!--Opinion-->recognized but not supported for USB3 but works like USB2 - ORICO PRU3-4P 4 Port USB, early Dell Wyse zx0 thin client, |- | <!--Description-->NEC Renesas xHCI µPD720201 uPD720201 chip | <!--Vendor ID--> | <!--Product ID-->0x114 0x0115 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->NEC Renesas xHCI µPD720202 uPD720202 chip | <!--Vendor ID-->0x1912 | <!--Product ID-->0x0015 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->[http://www.ti.com/product/tusb7340 TI] tusb7340 TUSB732 | <!--Vendor ID--> | <!--Product ID-->0x8241 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported Koutech IO-PEU436 but only one with open docs |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported - integrated since Ivybridge |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL800 xHCI 0.96 support in VL800, VIA VL811 | <!--Vendor ID--> | <!--Product ID-->0x3432 0x3438 0x3515 and 0x9201 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|}} 2.0 backwards support | <!--Opinion-->Anker 68UPPCIE-2S20PU 2 port, Plugable 4-Port, GA-z77x-ud5h rev. 1.1 mobo, |- | <!--Description-->Via Labs VL811+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL812 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->xHCI 1.0 support in VL805 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- |} USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Asmedia ASM1142 | <!--Vendor ID-->0x1B21 | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion-->Connector: USB Type C and USB Type A x 1 - Ugreen USB C PCI Card 2 Port USB 3.1 Type C |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 1.8 1.9 Updated | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->AUKEY 4 Ports USB C , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->Startech - PEXUSB312C - 2-port Usb 3.1 10Gbit/s |- |} USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 2.6 Update | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion--> |- |} === USB 4 (40Gbps thunderbolt, pcie 3.0 tunnelling, ) === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->AMD Ryzen7 6800U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->Intel Goshen Ridge JHL8440 Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | |- |} == hid.class (Human Interface Device) == === Keyboard === Some multi-finger touchpad support works but not on all touchpads {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->8BitDo Retro N C64 edition Keyboard, the super button accessory and optional N30 mouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 87 keys Kailh white}} |- | <!--Description-->8bitdo 108 Retro Mechanical Keyboard (white kailh) and two superbuttons (green) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Apple Pro Keyboard | 0x05ac | 0x0205 | 0x0122 | {{yes|works (its two hub ports) but mouse scroll wheel issues}} |- | Apple Pro Keyboard | 0x05AC | 0x020B | | {{yes|works (two onboard ports also)}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Aigo K68 60% red switches, A68 A87 wireless 2G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?cPath=49&products_id=973 AmigaOne Keyboard] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko TAC87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 80% TKL }} |- | <!--Description-->Akko MonsGeek FUN60 PRO&MAX HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 60% hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 hall effect, good but expensive and software poor}} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATTACK SHARK X98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 98% maybe silent linear feel with Two-color PBT keycap}} |- | <!--Description-->ATTACK SHARK X68HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Azio Cascade | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Chilkey ND75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% expensive}} |- | <!--Description-->Chilkey ND104 (Wuque Studios) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 premium clicky (WS Blue) or silent (WS White) key options with Ansi and ISO formats also numpad and calculator, aluminum machined, tri mode, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2026 untested magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Corsair K65 Mech MX no numeric keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair CH-9000045 K70 Blue MX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cherry G80 G80-3000L[x]C[yy]-[z] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cooler Master CM Storm Quickfire Rapid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K100 Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 okay low profile but expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Dell SK-8135 Dell USB Keyboard for Internet and Multimedia rev H for Dimension 4500, Dimension 8250, OptiPlex GX260n, OptiPlex GX60n, Precision 350 (R42232) | <!--Vendor ID-->0x413C | <!--Product ID-->0x2010 | <!--Revision-->0200 | <!--Opinion-->{{Yes| usb1.1 keyboard hub 0x413C 0x1003 works as well - multimedia keys not mapped }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Deepcool KG722 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 65% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Ducky Channel Zero DK2108 Mech Mechanical Cherry MX Red | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ducky Shine 3 Brown or Blue (DK9087) MX keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Das Keyboard Model S Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epomaker Cidoo V75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->epomaker rt100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 plastic build and no screws, numpad with small 0, mostly quiet seasalt switches, gimmick usb-c 1in screen}} |- | <!--Description-->EPOMAKER TH99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} USB-C full numpad keyboard |- | <!--Description-->eopmaker P75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->eopmaker p87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->epomaker x Leobog Hi75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Feker Galaxy80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Galaxy100 gmk/via | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 96% }} |- | <!--Description-->epomaker Aula F75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget version good 75% choice of 4 leobog switches}} |- | <!--Description-->eopmaker Tide75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% and not too expensive}} |- | <!--Description-->Epomaker Ajazz AK820 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Epomaker Ajazz AK35I V3 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 104 keys - two models: wired and tri-mode connection - }} |- | <!--Description-->epomaker Aula F108 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pricy but okay 100% but only leobog graywood switches but hotswap available afterwards}} |- | <!--Description-->eopmaker Ajazz AK980 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 97 keys }} |- | <!--Description-->Epomaker G87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT82 RT85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT100 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 96% }} |- | <!--Description-->epomaker x Galaxy100 lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 good 96% }} |- | <!--Description-->Epomaker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Filco Ninja Majestouch-2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Focus FK-760 Wireless Keyboard & Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} but quality build issues raised |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->GMMK Tenkeyless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested default Gateron Brown switches for Kailh Box Jades default Gateron Brown switches for Kailh Box Jades}} |- | <!--Description-->GK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->GMK67 GMK87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested budget good option}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hengchangtong HCT Limeme gk103s Entry Keyboard | <!--Vendor ID-->0xC0F4 | <!--Product ID-->0x0009 | <!--Revision-->0100 | <!--Opinion-->{{yes|half Keyboard left side only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hexgears M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested hotswap kaihl green switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hexgears | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iqunix mq80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 good 75% low profile keys |- | <!--Description-->Iqunix Magi65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 65% low profile keys }} |- | <!--Description-->iqunix ez60 ez80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested specific hall effect switches - actuation point, rapid trigger, etc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Jomaa YiChip Wireless 50% key with touchpad | <!--Vendor ID-->0x3151 | <!--Product ID-->0x3000 | <!--Revision--> | <!--Opinion-->{{No|dongle detected, keys and pad not working - 2 AAA NM}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Keychron q0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested numpad only}} |- | <!--Description-->Keychron q1 v1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested okay}} |- | <!--Description-->Keychron Q6 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 75% with numeric numpad, barebones so choose switches and keycaps to suit }} |- | <!--Description-->Keychron q1 MAX V1 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->Keychron Lemokey P1 QMK | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested best option to customise switches and keycaps}} |- | <!--Description-->Keychron LemoKey X1 X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested keycap swap only not switches}} |- | <!--Description-->Keychron K2HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested okay}} wireless hall effect analogue on all keys |- | <!--Description-->Keychron K4HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested hall effect but software }} |- | <!--Description-->Keychron K5 K17 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested okay low profile but }} |- | <!--Description-->Keychron Q5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Keychron K10 HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Kiiboom Breeze 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 good 75% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Meletrix Boog 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 magnetic hall effect, good but expensive and software poor}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Melgeek O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 low profile 75% but not repairable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->MOSART 2.4G Wireless 60% Keyboard Trackball | <!--Vendor ID-->0x062a | <!--Product ID-->0x4105 | <!--Revision--> | <!--Opinion-->{{Yes|dongle recognised HID, keys worked, roller worked, scroll wheel works and shoulders works but buttons around left, top and right hand side (RHS) do not work and plastic and 2 AA MN1500}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Mucai SiGma Micro MKA610 | <!--Vendor ID-->0x1c4f | <!--Product ID-->0x0084 | <!--Revision--> | <!--Opinion-->{{No| unknown red keys - rgb backlighting - }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->[http://hjldemo.clsc.cn/ Guangzhou Zhentian Electronics Ltd] Perixx Periboard 505 Plus with Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard - poor trackball}} |- | <!--Description-->Guangzhou Zhentian Electronics Co., Ltd Perixx Periboard 706 Plus with Trackball Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|generally okay dome with good sized keys but piano black surround fingerprint magnet, occasional brief trackball freezes after no use, takes some time to get used to the trackball size}} |- | <!--Description-->Perixx Periboard-716 Wireless (Chicony) | <!--Vendor ID-->04f2:1013 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard and trackpad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Lenovo SK-8825 41A5327 SIL12-W07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->works manufactured for |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lite-On USB NetVista Full Width Keyboard | <!--Vendor ID-->0x04b3 | <!--Product ID-->0x3025 | <!--Revision--> | <!--Opinion-->works |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech K320 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech USB Unifying, Bolt, Lightspeed, or Nano receiver pairing}} |- | <!--Description-->Logitech K340 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech Unifying Receiver pairing}} |- | <!--Description-->Logitech K400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description--> [http://www.logitech.com/en-us/product/wireless-touch-keyboard-k400r Logitech Wireless Touch Keyboard k400] | <!--Vendor ID--> 0x046D | <!--Product ID--> 0xC52B | <!--Revision--> 1201 | <!--Opinion--> {{yes|All (including multimedia) keys work. Some keys requires remapping with Trident. Touchpad works and acts as normal mouse. Presents itself in Trident as USB Receiver from Logitech with 3 HID bindings}} |- | <!--Description-->Logitech K400 Plus K400+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech K600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech G915 TKL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard TKL means no number pad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lofree Lite84 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Lofree Flow Lite100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 silent switches and low profile keys}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MACHENIKE K500 Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 94 keys untested Hot Swappable 94 Keys 90% Layout }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MechLands Vibe99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 100 keys untested Gasket-mounted Wired/Bluetooth/2.4GHz Wireless Mechanical Keyboard}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft Comfortable Curve 2000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no| recognized but not supported}} |- | <!--Description-->Microsoft Natural Ergonomic Keyboard 4000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|recognized but not supported}} |- | <!--Description-->Microsoft Wireless Media Desktop 1000 (1356) | <!--Vendor ID-->0x045e | <!--Product ID-->0x00f9 | <!--Revision--> | <!--Opinion-->{{maybe|working but not mouse part}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Niz Micro84 Duo82 X87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 electro capacitive }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->nuphy gem80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->nuphy kick 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 low profile 75% }} |- | <!--Description-->nuphy Air75 V3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 75% }} |- | <!--Description-->nuphy node 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 96% layout, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Qpad MK-50 MK-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Qpad MK-90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Razer Chroma | <!--Vendor ID-->0x1532 | <!--Product ID-->0203 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://openrazer.github.io/ Razer] Lycosa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Blackwidow 2013 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razr Blackwidow Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Cynosa Lite V2 | <!--Vendor ID-->1532 | <!--Product ID-->0x023f | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer DeathStalker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer HuntsMan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Ornata | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Orbweaver Chroma Keypad | <!--Vendor ID-->0x1532 | <!--Product ID-->0207 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Tartarus Keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested not hall effect and very expensive}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Redragon K668 RGB Gaming Keyboard Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys Upgraded Hot-swappable Socket,Red Switch}} |- | <!--Description-->Redragon K689 PRO Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested Gasket RGB Gaming Keyboard, 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys, Upgraded Hot-swappable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Risophy 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 75% mechanical, hotswap so okay for price untested }} |- | <!--Description-->Risophy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Royal Kludge RK65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested cream switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SINO WEALTH Gaming KB SkyLion K68 | <!--Vendor ID-->0x258a | <!--Product ID-->0x003a | <!--Revision--> | <!--Opinion-->{{No| blue stalks with rgb lighting}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SKYLOONG GK104 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested gateron }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->SteelSeries | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->TeckNet x300 2.4G Keyboard Mouse MosART | <!--Vendor ID-->0x062A | <!--Product ID-->0x4101 | <!--Revision-->0312 | <!--Opinion-->{{Yes|1 AAA for each and works well - mouse slightly better built than keyboard rubberised membrane}} |- | <!--Description-->TeckNet X331 HDE 2.4G Keyboard wireless RCMCU | <!--Vendor ID-->0x0C45 | <!--Product ID-->0x7000 | <!--Revision-->0001 | <!--Opinion-->{{Yes|wireless can be glitchy but few extra keys are mapped }} |- | <!--Description-->TeckNet X500 2.4G Keyboard Mouse MOSArt | <!--Vendor ID-->0x062A | <!--Product ID-->0x2901 | <!--Revision-->0112 | <!--Opinion-->{{Yes|works well especially large touchpad - usual rubber domed membraned keyboard mechanism }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tecware Specter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 75%}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Unicomp Model M USB 104 key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} IBM's and later Lexmark buckling spring switches |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varmilo Minilo Bluebell (prestige silent) and Eculapytus (violet tactile) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 75% plastic build no screws not great to mod}} |- | <!--Description-->Varmilo Sword 68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->Varmilo 98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 expensive but good and Kailh silent}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Weikav Velocifire Choice65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Weikav Velocifire Lucky65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Wobkey Crush80 Reboot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 very good but expensive Aluminum Hotswap Wireless RGB}} |- | <!--Description-->Wobkey Rainy 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% but not as expensive CNC Aluminum HMX/JWK/Cocoa Switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wooting HE60 HE80 HE90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 hall effect but expensive with good software}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Womier WK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2021 untested }} |- | <!--Description-->Womier Sk71 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xenta White Wireless HK6718B+HM3302--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|works with Raspberry Pi untested on AROS native}} |- | <!--Description-->Xinmeng X87 MAGIC_REFINER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 untested keycap swap but not hotswapable switches}} |- | <!--Description-->Yunzii AL66 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| milk switches, cherry PBT, }} |- | <!--Description-->Yunzi B75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget good with cocoa cream switches }} |- | <!--Description-->Yunzii AL75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|good budget option with swappable switches, }} |- | <!--Description-->Yunzii AL80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 switches }} |- | <!--Description-->Yunzi C75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 budget good with switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} <pre> linear - creamy tactile - thocky clicky - clacky </pre> <pre > Cherry MX Black are linear switches (no feedback); good for gaming. Cherry MX Red are linear (less noise no click) but more squishy; Cherry MX Brown are in between Blue and Red in style and tactile; Cherry MX Clear switches have soft tactile feedback (with no click). Cherry MX Blue have tactile feedback with a click (noisy); good for typing. Gateron Yellows KS-3, KS-3x47 or better Pros have a milky top and black bottom and linear TTC Silent Frozen v2. Linear and dead silent Mouse the huano brown with yellow dot for silent mouse clicks Kailh red dust proof encoder for smooth and close to silent scrolling Boba U4 Silent Tactile switches Husky linears HMX </pre > === Mouse === if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in '''s''' drawer/folder/directory sys:prefs/trident NOGUI > NIL: {| class="wikitable sortable" width="90%" ! width="10%" | Brand ! width="20%" | Description ! width="10%" | Model ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | 3Dconnexion | 3D Mouse | <!--Model-->[http://www.3dconnexion.com/products/spacenavigator.html SpaceNavigator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | 3D Mouse | <!--Model-->SpacePilot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Mouse | <!--Model-->SpaceExplorer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Wireless Mouse | <!--Model-->SpaceMouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->3D Optical | <!--Description-->Wired | <!--Model--> | <!--Vendor ID-->0000:3825 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Belkin | Combo mouse | | 0x05FE | 0x0011 | Low 0100 | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Cytec | <!--Description-->Wired Mouse Gaming | <!--Model-->R.A.T 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Dell | Mouse | MO56UC | 0x413C | 0x3200 | | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->equatech / clone logitech | <!--Description-->wireless mouse | <!--Model-->49779 / M185 | <!--Vendor ID--> 3151:2020 later 3151:3020 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{Yes|detected and works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Hama | RF Optical Mouse | AM-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keycron | <!--Description-->Optical Wireless | <!--Model-->M6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling and 16k dpi }} |- | <!--Brand-->Keychron | <!--Description-->Optical Wireless | <!--Model-->M7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested barebones 1k polling and 16k dpi, great for small hands, loud clicks}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->LogiCAD 3D | <!--Description-->3D Mouse | <!--Model-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Logitech | Cordless Desktop Navigator | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | Logitech Inc. | First/Pilot Wheel Mouse | N48/M-BB48 M-BE58 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested }} |- | Logitech | Wireless mouse | [http://www.logitech.com/en-roeu/mice_pointers/mice/devices/5484 M305] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} |- | Logitech | Wireless RF Mouse | MK710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | <!--Brand-->Logitech | <!--Description-->Wireless Mouse | <!--Model-->MX Master Anywhere 2S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|untested}} micro USB charge port on front |- | <!--Brand-->Logitech | <!--Description-->Wireless | <!--Model-->M220 silent | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|}} |- | <!--Brand-->Logitech Logi | <!--Description-->Optical | <!--Model-->MX Master 3S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|2021 untested usb-c bluetooth, inbuilt battery but muted clicks}} |- | <!--Brand-->Logitach | <!--Description-->Optical | <!--Model-->G502 X Plus | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|2022 very clicky}} |- | <!--Brand-->Logitech | <!--Description-->Optical | <!--Model-->MX Master 4 MXM | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{No|Bluetooth usb-c dongle, inbuilt lithium battery}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Brand | Description | Model | Vendor ID | Product ID | Revision | Opinion--> |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8566 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8518 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->OrzerHome Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8514 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1 aa with no on/off switch }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Microsoft | Wheel Mouse optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Sidewinder Mouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | IntelliMouse Explorer USB optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Wireless Optical Mouse 2000 | | 0x045E | 0x00F9 | | {{no|not working see keyboard Media Desktop 2000 above}} |- | <!--Brand-->Microsoft | <!--Description--> | <!--Model-->1461 1447 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|usb dongle matched to one mouse only no others}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Orochi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Mamba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Naga | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} 17 buttons |- | <!--Brand-->Razer | <!--Description-->USB Optical | <!--Model-->Naga Hex V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} MOBA Gaming Mouse, Professional Grade 16,000 DPI Sensor - RGB lighting |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->DeathAdder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Viper | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Basilisk V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling, 35k dpi, }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Trust | Slimline Lasermouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | SteelSeries | Tobii EyeX EyeMobile PCEye | Eye Tracking Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} gaze interaction track technology for augment augmentative and alternative communication (AAC). |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->The Eye Tribe Tracker | <!--Description-->Eye | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description-->USB Optical Mouse | <!--Model-->MV3000 | <!--Vendor ID-->0x192f | <!--Product ID-->0x0916 | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |} === Trackball === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->3Dconnexion SpaceBall 5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} Labtec designed and rolled into new company 3dconnexion 2001 by owners Logitech |- | <!--Description-->ACCO Kensington Orbit optical F1233A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kensington Turbo Mouse 64210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Clearly Superior Technologies. Model:CST 1000-RC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Trackman Marble Mouse Wired USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Cordless Trackman Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Optical Trackman T-RB22 - Cordless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech M570 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft Trackball Mouse Optical 1.0 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft X05-87473 Trackball USB Optical | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === KVM === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->NanoKVM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === Gamepad === Controllers have mostly decided that the left analog joystick is keyboard equivalent of WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice. Testing can be done with the TRIDENT Prefs, [https://devicetests.com/controller-tester html5], [https://greggman.github.io/html5-gamepad-test/ html5], or [https://gamepad-tester.com/ Tester] ==== Dinput Poseidon Default Plugin - Playstation(TM) style ==== {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Betong Bat D2E BTP-BD2E XD4D2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gravis Eliminator Gamepad Pro USB | <!--Vendor ID-->047d | <!--Product ID-->4005 | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick-->{{N/A}} | <!--Opinion-->2002 2d only |- | Hama Black Force USB Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2003 psx clone look |- | <!--Description-->Jess Tech Game Elements Philips GGE909 PC Recoil Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | [http://www.youtube.com/watch?v=TCbAmIhj6P4 Logitech Wingman Precision USB] G-UC3B | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{N/A| }} | 2002 no 3D but good for 2D retro games like Turrican II |- | <!--Description-->Logitech Wingman Action Pad G-UB3A | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | <!--Opinion-->2002 1 blue lucid translucent - thin analog stick N64 type - |- | Logitech Wingman RumblePad UB05B | <!--Vendor ID-->0x046d | 0xc20a | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untesed }} | 2000 twin blue analogue sticks N64 type - poor 2d controls with single molded blue piece - vibration feedback - single shoulder buttons with throttle control below right one |- | Logitech Wingman Cordless RumblePad G-RA4A | <!--Vendor ID-->0x046d | 0xc211 | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | 2001 twin blue analogue sticks N64 type - poor 2d controls with single molded black piece - vibration feedback - dual shoulder buttons L1 L2 R1 R2 with blue throttle control below right one - 4 aa mn1500 batteries; life not great - C-UD10A usb dongle - overall big and bulky |- | <!--Description-->Logitech Precision Wired G-UG15 | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech Cordless Precision G-X2E14A | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 ps2 styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech G-X5C11A Cordless Precision Wireless Controllers | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling black outer shell - no 3D analog and no shoulder buttons - no rumble |- | [http://www.testfreaks.co.uk/game-console-accessories-controls/logitech-dual-actiontm-gamepad/ Logitech Dual Action] * G-UD8 has no mode (2D only?) button and no rumble * G-UF13A later | <!--Vendor ID-->0x046d | 0xc2 | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 G-UF13A tested only]}} | 2003 New body shape psx style - dual analog 3D sticks - 4 small travel shoulder triggers no 5,6,7,8 |- | Logitech RumblePad 2 G-UF13 | <!--Vendor ID-->0x046d | 0xc218 | 1.00 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | 2006 light blue top/black base - twin analogues 3D along with dual short travel shoulder buttons - rumble present - |- | <!--Description-->[Logitech RumblePad 2 Cordless] * G-RC?? OLD version that take FOUR batteries and RED Logitech logo * G-RC14 uses TWO batteries has an ORANGE logo - dongle C-UE10 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc219 | <!--Revision-->0x0200 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|mostly}} | <!--Opinion-->2008 may have to remove 1 battery - G-RC?? 5 + 7 buttons - G-RC14 use buttons 6 + 8 to reset sticks - replace battery and push large button on receiver - |- | <!--Description-->Logitech F310 Wired Dual Action G-U0001 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|D mode switch}} | <!--Opinion-->2010 dual analog 3D with pc-xbox/psx switch on back (only D works) - both rear shoulder RT LT buttons have excess travel - no rumble vibration - |- | <!--Description-->Logitech F510 Wired G-UG0002 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2010 dual analog with dual xbox pc/psx X/D switched compatibility modes - |- | Logitech F710 Wireless / Cordless RumblePad 2 G-R0001 | <!--Vendor ID-->0x046d | 0xc219 | 3.05 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | When switch on top set to D and nano receiver for each controller to pair - 2 aa mn1500 batteries required - rumble support sometimes - rear back shoulder buttons excessive travel needed |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Megaworld 'TIME' USB pad | <!--Vendor ID-->0x0735 | <!--Product ID-->0x9902 | <!--Revision-->Low 0100 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{No |}} | <!--Opinion-->2000 Poor quality |- | <!--Description-->Microsoft * SideWinder Precision Pro USB (1997) * SideWinder Precision 2 (1998) * Game Pad Pro (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Sidewinder Game Pad USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{yes| }}} | <!--Analogue Hack with Analog Stick-->{{yes| }} | <!--Opinion-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5934#post_5931 must setup first] |- | <!--Description-->Microsoft Sidewinder Gamepad X04 Freestyle | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A }} | <!--Opinion-->{{N/A|untested}} 1998 might need USB adapter |- | <!--Description-->Microsoft Sidewinder X05 63895 92626 Flight stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{unk| }} | <!--Opinion-->{{Yes|2000 [https://ae.amigalife.org/index.php?topic=929.msg11309#new tested]}} |- | <!--Description-->Microsoft Sidewinder Flight Stick X08-58736 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Plug & Play Game Pad (2000) SideWinder Joystick (2000) Game Pad 2.0 (2001) SideWinder Force Feedback 2 (2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2002 long-standing static buildup problem and Force Feedback 2 was the removal of the power brick |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | Saitek [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps1000/ PS1000 Cyborg V.1], [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps2700-rumble-pad/ PS2700] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek [http://www.youtube.com/watch?v=xG0v-hf6ZPA P2600] [http://compactiongames.about.com/od/hardware/tp/gamepads.htm P3600], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek P2900 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested but runs on 1 AA battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Sony Batoh PS3 mini USB Wired hookup [http://ps3.jim.sh/sixaxis/usb/ SIXAXIS] *PCB Ribbon Notes *Protos ALPS MSU Rev3 M3 and the later CBEH-1019 *? SA1Q135A for sixaxis *PP4 *V2 *V25 *VX SA1Q146A first dualshock 3 model *VX SA1Q147A CECHZC2U (USA) *VX35 SA1Q159A *VX3 SA1Q160A *VX? SA1Q188A *VX4 SA1Q189A shipped with a CECH-2504 datecode 0C *VX5 SA1Q194A changed design ALPS, PS button changes *VX6 SA1Q195A red case, *VX7 SA1Q222A superslims 2 ribbons *VX8 SA1Q224A superslims 2 ribbons | <!--Vendor ID-->0x054c | <!--Product ID-->0x0268 | <!--Revision-->1.00 | <!--Merge with USB on Digital Pad-->{{No|}} | <!--Analogue Hack with Analog Stick-->{{No|}} | <!--Opinion-->Sometimes detected but no support - no sixaxis features detected - mini usb lead will have varying results - |- | <!--Description-->Sony PS4 *JDM JDS 001 010 011 *JDM 030 040 055 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Sony PS5 Dual Sense | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speed Link Strike 2 FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster Firestorm Dual Power 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 only 1 axis joystick only]}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Trust Predator GM-1500 GM-1520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 M series Aluminum Metal Joystick Hitbox Controller Arcade Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 T series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 G series Gamefinger G12 G13 G16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> plastic - |- | <!--Description-->Haute42 S series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> thinner and lighter than G series |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mad Catz sf2 fightstick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Datel Paewang Arcade Pro Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F300 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F500 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Pico Flatbox GP2040-CE Hot Swappable Mini Hitbox Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> default it is configured for PS4 but before plugging usbc cable in, X for Dinput, B Xinput, RT HID - plastic build case - Rev4 based on RP2040 chip and firmware is based on GP2040-CE (Community Edition) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Shenzhen Onebitdo Tech 8bitdo Fighting stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Venom 8 button | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} ==== Xinput Xbox Style Plugin ==== 2018 extension added originally called AROSx but later redacted. Latest [https://github.com/medusalix/xone linux driver] might be useful. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->8bitdo Ultimate C Wired 82CB (Shenzhen ONEBITDO TECH - GWOWO) | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x3106 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2022 - 4 t6 torx screws - non hall effect so drifting issues - triggers go faulty often - |- | <!--Description-->8bitdo Ultimate 2C Wired Controller 82CD | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x310A | <!--Revision-->0114 | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - HID keyboard assigned - 4 t6 torx screws - hall effect analogs and triggers - 1000Hz polling - |- | <!--Description-->8bitdo Ultimate 2C wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - 400mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad poor for retro games - |- | <!--Description-->8bitdo ULtimate Mini Wired Controller for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->8BitDo Pro 2 *Wired Controller *Wireless *Bluetooth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect - playstation style layout for pc - slide button for S-A-D-X switch, android, dinput or xinput - |- | <!--Description-->8BitDo Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 tmr hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description-->8bitdo Ultimate 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2026 - mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad for retro games - |- | <!--Description-->8BitDo Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Ace Aurora | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks with no deadzone mode, gyro, linear rumble, trigger stops, back paddles, button swap, macro, turbo, RGB LED effects - tri-mode connection - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Beitong Spartan BTP-2270U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect |- | <!--Description-->Betop Betong Asura 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect - noble linear trigger potentiometer and alps shoulder LB/RB micro switch |- | <!--Description-->BEITONG ASURA 2 Pro+ Game Controller Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Beitong Zeus 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BebonCool Dinofire Model Number: Q218 / TP28 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 - triggers aren't progressive but ON/OFF - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect analog and triggers - tri mode connection - |- | <!--Description-->EasySMX Wireless Controller PC PS3, 9013pro ESM-9013PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 linear hall effect but device sometimes will not connect tried multiple attempts with the dongle |- | <!--Description-->EasySMX X10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY MICRO SWITCH - Bumpers Tactile switch Hall Effect analog |- | <!--Description-->EasySMX X15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect analog and triggers - membrane buttons - |- | <!--Description-->EasySMX S10 Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 TMR Hall effect and compatible with Switch 2/PC/Phone/TV/Steam, NFC, Gyro, HD Rumble - |- | <!--Description-->EasySMX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->202 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Fantech World EOS Pro WGP15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect trigger and sticks,2 back paddles, motion controlling |- | <!--Description-->Fantech EOS PRO II S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 controller with TMR hall effect analogues, mechanical face buttons and D-pad, 63 input macro, back paddles, turbo - analog triggers with trigger stops - tri mode bt wifi and wired - slide switch on back for switch, macos/android and xinput - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Flydigi Apex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 luxury model |- | <!--Description-->Flydigi Vader Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 the Pro(Hall Effects) and Non-Pro (No Hall) |- | <!--Description-->Flydigi Direwolf 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 hall effect sticks and triggers - poor wifi connection - |- | <!--Description-->Flydigi Apex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 luxury model |- | <!--Description-->Flydigi Vader 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - hall effect, DInput mode (o+A hold) - |- | <!--Description-->Flydigi Direwolf 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 hall effect analog and triggers but membrane buttons with gold contacts - 800mhA battery - |- | <!--Description-->Flydigi Dunefox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 basic model hall effect analog and triggers but membrane buttons - 500mha battery - no gyros - |- | <!--Description-->Flydigi Vader 5 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2025 - hall effect stick with tension control, linear triggers, DInput mode (o+A hold) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir T4K Keleid, T4C Cyclone wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 poor to ok switch |- | <!--Description-->Gamesir Nova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no|| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - switch type layout |- | <!--Description-->Guangzhou Chicken Run Network Tech Nova Lite GameSir-T4n LITE - Zikway HID gamepad *[https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 4200 seems to be xbox so B then Home for Xinput (green LED), A then Home for HID BT Android (green/yellow LED), Y then Home for Switch Pro (Red LED)] or X then Home for Wifi and start and select to alternatively swap modes * and if on [https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 5700 ds4 so Home + B (blue LED), ] * firmware 6900 | <!--Vendor ID-->0x3537 | <!--Product ID-->0x1040 0x1041 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - hall effect 3d nubs - no usb-c cable - rubber membrane analog trigger travel and bumpers shoulder buttons - wifi 2.4G and bluetooth - xbox layout so ab and xy might need to be swapped via m and a buttons for switch type [https://www.youtube.com/watch?v=po-nNuC5fps fixes video] - 250Hz polling - 600mah battery - rigid carry case - poor d-pad esp diagonals - gamesir settings software only on android 6+ or ios based only - |- | <!--Description-->Gamesir Nova 2 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir G7 SE Wired Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->GameSir G8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir TEGENARIA T3 Lite Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 playstation aesthetic hall effect analog and membrane buttons - X+Home button connects as an Xbox controller |- | <!--Description-->GameSir Cyclone 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR Joysticks with anti-friction rings and metal anti-friction rings around the stems, gyro, rumble, macro, turbo, 2 back paddles, hall analog triggers with micro-switch trigger - tri mode bluetooth, 2.4GHz wifi and wired, 1000hz polling rate - gamesir connect software - |- | <!--Description-->GameSir G7 Pro for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR hall effect - hall effect triggers, tri mode connection - gamesir nexus software - |- | <!--Description-->GameSir Super Nova Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect sticks and triggers, 1000Hz polling, tri mode connectivity, |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->GuliKit KingKong 2 NS08 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->Electromagnetic Stick hall effect - hall linear triggers - Mechanical face buttons - wired and wireless - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong 2 PRO NS09 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall efect - wired and wireless - Mechanical face buttons - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong MAX 3 KK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall effect - wired and wireless - lithium battery - |- | <!--Description-->Gulikit KK3 Max USB-c Bluetooth Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Hall Joysticks and Triggers, Maglev/Rotor/HD Vibration, 1000Hz Polling Rate, 4 Back Buttons, |- | <!--Description-->GuliKit KK3 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 smaller version of KK3 MAX - hall effect analog and triggers, face buttons , maglev rumble, gyro, 4 back paddles - rigid case - 950mAh up to 8 hrs - |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hyperkin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hori EX2 Turbo UHX3-45 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Machenike G1 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Wireless Gaming Controller with 1K Polling Rate Hall Effect Trigger Joystick For Nintendo Switch PC iOS Android |- | <!--Description-->Machenike G5 Pro Wireless Gaming Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY Switch Membrane, Bumpers Tactile switch and hall effect analog |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->microsoft sidewinder precision pro | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | 0x045e | 0x028e | 0x | <!--Merge with USB Digital Pad-->{{No|needs specific driver and has poor 2D control pad}} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | Microsoft (R) [https://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ Xbox 360] (TM) Wireless Receiver for Windows(R) Model 1086 and Controller | 0x045e | 0x0719, 0x or 0x0291 | 0x0100 | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->{{No|separate standalone usb dongle detected and shows as 8 vendor interfaces but no class associated and so not working - may need new class from code from xpad or xboxdrv to work the controllor}} |- | <!--Description-->Xbox 360 Kinect [http://hackaday.com/2010/11/10/kinect-open-source-driver-demo-and-hacking/ Video] [http://git.marcansoft.com/?p=libfreenect.git;a=commit;h=7655fcf7239ba4907654089dba535a196685dbe5 GIT] | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2007 proprietary 2.4GHz RF protocol, |- | <!--Description-->Xbox One Wired Controller | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion--> |- | <!--Description-->Xbox One wireless controller newer model with the 3.5mm headphone jack 1537 1697 and microsoft adapter | <!--Vendor ID-->0x045E | <!--Product ID-->0x02d1 or 0x02dd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2014 |- | <!--Description-->Microsoft Elite Series 1 | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e3 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2016 ok - |- | <!--Description-->Xbox later models 1708+ Xbox One and Series use 5GHz and use Bluetooth, | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e0 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2017 |- | <!--Description-->Xbox One S | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ea 0x02fd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2019 |- | <!--Description-->Microsoft Elite Series 2 Core | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ff | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2022 ok - no hall - 125Hz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Minisform MGP01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MOBAPAD N1HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 has liquid silicone face buttons, hall effect analog, D-Pad swap, two back paddles, USB-A dongle, HD Rumble - |- | <!--Description-->Mobapad Huben 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 |- | <!--Description-->Mobapad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Gale 墨将 mòjiāng | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Blitz PRO 2 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON now MOJHON AETHER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks, hall effect triggers, mechanical bumpers, 1000hz polling rate, mechanical D-pad, membrane face buttons, mechanical back paddles, rumble, deadzone issues - tri mode |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MSI FORCE GC20 GC30 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 not hall effect |- | <!--Description-->MSI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mytrix Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->NACON GC-100XF Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 average |- | <!--Description-->PXN P5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect joysticks & triggers, limited trigger stops, 1000hz polling rate on wired, 4 back paddles, 32 macro record, anti-deadzone mode, RAW mode, gyro, turbo, tri-mode connection - |- | <!--Description-->PXN P50L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->PowerA | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Stellar T5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Junior E5 Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Razer Wolverine V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->RetroFlag | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speedlink XEOX Pro Analog Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->enclosed lithium battery? - xbox layout - switchable on back of controller to directinput (dinput) or xinput - USB dongle switchable to pc and ps3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SCUF Instinct Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2022 good |- | <!--Description-->SCUF Envision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Steel Series Stratus Duo XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->usb adapter needed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[https://inputlabs.io/Inputlabs InputLabs Alpakka Open Source and build yourself] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY it with 3d printer, pcb and components - pi pico needed - 2 gyros for better accuracy - |- | <!--Description-->[https://inputlabs.io/kapybara Inputlabs kapybara] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY one handed version wip |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Vilcorn Z03 BT Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - other Bluetooth modes (green, red, blue, purple, etc.) Select + M1 (or M2) - 400mAh - not great latency wired - 800mhz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd ultimate legend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd 0+ elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description-->zd 0+excellent | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} <pre> #ifndef AROSX_LIBRARY_H #define AROSX_LIBRARY_H #include <exec/types.h> #define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00 #define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01 #define AROSX_GAMEPAD_DPAD_UP 0x0001 #define AROSX_GAMEPAD_DPAD_DOWN 0x0002 #define AROSX_GAMEPAD_DPAD_LEFT 0x0004 #define AROSX_GAMEPAD_DPAD_RIGHT 0x0008 #define AROSX_GAMEPAD_START 0x0010 #define AROSX_GAMEPAD_BACK 0x0020 #define AROSX_GAMEPAD_LEFT_THUMB 0x0040 #define AROSX_GAMEPAD_RIGHT_THUMB 0x0080 #define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100 #define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200 #define AROSX_GAMEPAD_A 0x1000 #define AROSX_GAMEPAD_B 0x2000 #define AROSX_GAMEPAD_X 0x4000 #define AROSX_GAMEPAD_Y 0x8000 struct AROSX_GAMEPAD { ULONG Timestamp; UWORD Buttons; UBYTE LeftTrigger; UBYTE RightTrigger; WORD ThumbLX; WORD ThumbLY; WORD ThumbRX; WORD ThumbRY; }; #define AROSX_EHMB_CONNECT 0x00 #define AROSX_EHMB_DISCONNECT 0x01 #define AROSX_EHMF_CONNECT (1L<<AROSX_EHMB_CONNECT) #define AROSX_EHMF_DISCONNECT (1L<<AROSX_EHMB_DISCONNECT) struct AROSX_EventHook { struct Node eh_Node; struct MsgPort *eh_MsgPort; ULONG eh_MsgMask; }; struct AROSX_EventNote { struct Message en_Msg; ULONG en_Event; APTR en_Param1; APTR en_Param2; }; #endif /* AROSX_LIBRARY_H */ </pre> === Joystick === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CH Products CombatStick 568 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Cyborg X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Extreme 3D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | [Logitech Attack 3 Joystick] | 0x0464 | 0xC214 | 0205 | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek X-52 x52 pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek aviator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | Speedlink Competition Pro USB | | | | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{maybe|works but games not working "out of the box"}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust Predator QZ 501 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator TH 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator GM-2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust XK 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- |} ===[https://github.com/JacKeTUs/linux-steering-wheels Gaming Racing Steering Wheels]=== {| class="wikitable sortable" width="90%" ! width="25%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="40%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> [https://www.usb.org/sites/default/files/documents/pid1_01.pdf USB PID standard not supported], |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cammus C5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fanatec CSL Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 and Xbox - belt driven wheel - 30cm wheel swapping |- | <!--Description-->Fanatec Club Sport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt $600 £500 system |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FFBeast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genius TRIO RACER F1 Racing Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Cheap and cheerful but not great - may need calibrating |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hama PC Racing Wheel Thunder V18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Average |- | <!--Description-->Hori Racing Wheel 3 with pedals | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PC |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logic3 PXU450 TopDrive GT450 Steering Wheel for PS3, PS4, XBox One and PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logitech MOMO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Very good |- | <!--Description-->Logitech Driving Force GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Logitech Drive Force Pro DFP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> wheel 900 degree - weighs in at 15&nbsp;lbs |- | <!--Description-->Logitech Formula Force EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->200 degrees turn for the EX model is arcade-like driving - adds PS3 compatibility via the PSx/2 adaptor - weighs in at 9&nbsp;lbs |- | <!--Description-->Logitech G25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> - needs external psu - |- | <!--Description-->Logitech G27 PC/PS3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> comes with gear shifter - needs external psu - |- | <!--Description-->Logitech G29 PC PS3/PS4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G920 PC XboxOne | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G923 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft(R) SideWinder Precision Racing Wheel (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R3 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R5 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R9 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R12 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Ultrawipf/OpenFFBoard OpenFFBoard], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simagic M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> base direct drive $900 £800 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simplicity Simwheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> direct |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simxperience Accuforce V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SPEEDLINK Drift O.Z. Racing Wheel with Pedals and Gear Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SteelSeries Simraceway SRW-S1 Steering Wheel (PC) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Nascar Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Ferrari Challenge Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> Poor |- | <!--Description-->Thrustmaster Ferrari FGT Rumble GT Experience 3-in-1 (PC/PS3) | <!--Vendor ID-->0x044f | <!--Product ID-->b658 | <!--Revision-->0102 | <!--Merge with USB Digital Pad-->{{Yes|Wheel and all buttons detected}} | <!--Analogue Hack with Analog Stick-->{{Maybe|}} | <!--Opinion-->Not great - gear driven 240deg wheel rotation - no psu needed - 2 peddle - flappy gear change - rumble untested - red switch for PC PS3 selection |- | <!--Description-->Thrustmaster F430 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T500 RS Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> belt driven wheel/rumble for GT5 |- | <!--Description-->Thrustmaster T60 Challenge | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T150 Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> gear / belt combo wheel / rumble - 2 peddle |- | <!--Description-->Thrustmaster TMX Pro PC/XboxOne | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> direct drive rumble - no manual gear shift included |- | <!--Description-->Thrustmaster T80 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Base level and OK - PS4 - 270deg rumble - 2 peddle |- | <!--Description-->Thrustmaster T300 RS GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PS4 - belt driven - 900deg rotation and modular 28cm wheel out - 2 peddles but 3 available |- | <!--Description-->Thrustmaster TX Leather | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->TX Xbox version - 900deg rotation |- | <!--Description-->Thrustermaster TS PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PC only belt wheel |- | <!--Description--> TS XW Racer PC Xbox1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt system |- | <!--Description-->Thrustmaster T-GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 $700 £600 with T-DFB |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Tracer Zonda Racing Steering Wheel PC PS3 Vibration Feedback Pedals Gearbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- |} ===Gamepad Joypad Adapters=== * Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted. * Some adapters do not work with some [http://www.stepmania.com/wiki/Dance_Pads dance pads] because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems. * If using an adapters should be compatible with '''original''' PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->[http://www.maplin.co.uk/psx-usb-bridge-34887?tabid=3&worldid=&doy=21m9&faqitem=playstation%20controller%20to%20pc%20adaptor Maplin] [http://www.rockfire.com.tw/ Padix Co. Ltd. Rockfire] PX-205 PSX/USB Bridge | <!--Vendor ID-->0x0583 | <!--Product ID-->0x2050 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes}} but buttons mapped different from others | <!--Analogue Hack with Analog Stick-->{{Maybe|poor}} | <!--Opinion-->Ok with dpads, but very poor support with analogue hack |- | Boom PS Joy Converter adaptor | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | discontinued (2004/5). Hold Up, Start, and Select for three seconds. Very good [http://www.stepmania.com stepmania] recommendation. |- | [http://www.hkems.com/m_main.htm EMS] [http://www.hkems.com/product/ps2/ps2-usb2.htm USB2] grey plastic box with 2 PSX ports, one on either side - UP and Select pressed for 3 seconds at the same time or the dance code (start+select+up) | | | | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows the PS port works in digital mode on d-pad}} | <!--Analogue Hack with Analog Stick--> | Set in PC switch mode. Does not work when using 2 pads at the same time, likely higher power requirements. FPSE emu DualShock untested, Mat and Guitar untested but known lag involved |- | Joytech (play.com) (EMS USB2 bad clone) Black box twin PSX | 0x0b43 | 0x0003 | 0x0 | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | but poor on dance ddr mat and guitar hero as the left and right keys do not like being pressed together, Dual shock untested |- | [ EMS Trio Linker ] 1 PSone connection at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued 2005 |- | [http://psxemulator.proboards.com/index.cgi?board=support&action=display&thread=421 EMS Trio Linker Plus] (blue box) 1 PSx at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued |- | Gamtec [http://www.gamestone.co.uk/gradius/guides_usb_smartjoy_guide.php SmartJoy Plus] Lik Sang PS->USB converter Red 2005 | 0x0925 | 0x0005 | Low 0110 | <!--Merge with USB Digital Pad-->{{Maybe|detected and digital dpad works with [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4138&forum=2&post_id=35952#forumpost35952 joystick and testjoystick tests] but the second analog control is not mapping correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue Hack - hardware buggy not useable}} | Dual shock untested, Mat and Guitar untested. Nothing picked up upon plugging it in. Quite common, these items have grounding issues or feed voltage back into the USB host and freeze the host controller, preventing any plugins or removals being detected. |- | Gamtec SmartJoy Plus Dual PS->USB converter Red | 0x0925 | 0x00 | Low | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | |- | [http://uk.gear.ign.com/articles/700/700334p1.html Lik-Sang Super SmartJoy PSX] | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX |- | Soyo Kiki Kiky | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | eXcel PSX adaptor shaped a little like a stealth bomber with USB pass through | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Venom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Dragon Plus (Radio Shack) Pantherlord GreenAsia USB to PS2/PS3 converter single black cable | 0x0e8f | 0x03 | 1.07 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | |- | Deal Extreme 2 PSX black cables from 1 USB port | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested }} |- | <!--Description-->HDE 2014 Personal Communication Systems Inc | <!--Vendor ID-->0x0810 | <!--Product ID-->0x0001 | <!--Revision-->0106 | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Same as single cable above but with black block midway along cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> |- | <!--Description-->TigerGame Ltd Mayflash PC001 Super Joy Box 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Ltd Mayflash PC016 Super Joy Box arrowhead triangle twin PSX] Original was lack with RED Leds. Clones Dilong pu203, Blue HDE Neewer ShineData SD-APS2USB, Red Octane and Black PC Power Box (NS3454) '''embossed circle''' on top | 0x0810 | 0x0001 | 1.06 | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows one PS port does not work with analog control at all but the other port does and maps correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works }} | Still available 2013, poor construction though, falls to pieces easily. Dual Shock untested, Mat and Guitar untested |- | <!--Description-->TigerGame Ltd [http://www.mayflash.com/pc/pc038/pc038-1.htm Mayflash PC038 Super Joy Box Pro triangle twin PSX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Limited Mayflash SuperJoy Box 5 PC006 long V-shaped 4 port PS/PS2 Game Controller Adapter | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | |- | <!--Description-->TigerGame Limited Mayflash SuperJoy Box 5 PRO PC039 PS/PS2 Game Controller Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | Boom PSX+N64 USB converter (purple or blue see through box) (2003/4) - red led for psx and green led for n64 | 0x6666 | 0x0667 | 0x0 | <!--Merge with USB Digital Pad-->{{No|not detected by Tests/joystick}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue hack }} | Rumble Pak untested |- | [http://www.hkems.com/product/ps2/TrioLinkerPlus2.htm EMS Trio Linker Plus II] | | | | <!--Merge with USB Digital Pad-->{{Yes| }} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4753&forum=24&post_id=43102#forumpost43102 ] | <!--Analogue Hack with Analog Stick--> | 1DC 1GC 1PSX but not for ddr mat games |- | TigerGame Mayflash PC043 clone HuiJia Black twin N64 converter for PC USB | 0x0e8f | 0x3013 | 0x0 | <!--Merge with USB Digital Pad-->{{No|detected by Tests/joystick though two digital pads have their settings wrong}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works well with middle handle/grip little joystick}} | Rumble Pack untested |- | TigerGame Mayflash PC MagicBox SuperBox 3 | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | untested 1SS 1DC 1PSX } |- | <!--Description-->Lik Sang SmartJoy X | <!--Vendor ID-->0x045e | <!--Product ID-->0x0285 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SmartJoy X2 | <!--Vendor ID-->0x045e | <!--Product ID-->0x0289 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Mayflash PC018 Super Joy Box 9 Xbox (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work. Hub(s) 0x0288 detected but 0x0289 xbox1 joypads are not detected as hid let alone as [http://www.amiga.org/forums/archive/index.php/t-62940.html xpad] or [http://pingus.seul.org/~grumbel/xboxdrv/ linux xboxdrv driver] |- | TigerGame Mayflash PC019 Super Joy Box 10 Xbox Twin ports (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work with the big Fatty Duke or smaller S Akebono controller(s) |- | TigerGame Ltd Mayflash PC020 Super Joy Box 11 Xbox Quad ports (NOT 360) | 0x05e3 | 0x0604 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | |- | <!--Description-->TigerGame Ltd Mayflash PC035 3 in 1 Magic Joy box PS GC Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to NES [http://wiki.nesdev.com/w/index.php/Standard_controller SPI like protocol] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Buffalo Classic USB Pad SNES like | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC044 USB to SNES | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to MEGADRIVE GENESIS Joypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[http://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB to 9 pin ATARI RETROPORT style JOYSTICK PORT] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Atari RetroLink 9pin to SB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SLS Sega Saturn USB pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC050 Dual Saturn ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Guitar Hero for PC/Mac | <!--Vendor ID-->0x1430 | <!--Product ID-->0x474C | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Cronus Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BrookX One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Gamecube to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Magic NS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> WiiU |- | <!--Description-->Brook Converter WiiU P3 P4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->CooV Xbox One Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} * [http://www.bemanistyle.com/forum/f6/best-metal-pad-19066/ Metal dance pads with LEDs] - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool), * Hard foam mat - [http://www.mayflash.eu/3in1-deluxe-dansmat-ignition-foam-ps2xboxpc-p-5.html Mayflash] FutureMax Deluxe 3 in 1 Ignition, [http://www.gamerose.com/ Gamerose] (Stay Cool), TrinPad orange, * Soft foam mat - Logic3 (PS420N), [http://www.positivegaming.com/index.php?id=36 Positive Gaming Impact], Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz *PS1 PS2 PS3 PS4 flex ribbon big source of button/trigger issues with all controllers *PS2 Phat KSA1Q40A (Board), SA1Q33A (Membrane) SCHP-10010 H *PS2 SA1Q42A SCHP-10010 A *PS2 SA1Q43-A SCHP-10010 H The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action. {| class="wikitable sortable" width="90%" ! width="10%" | Joypad ! width="5%" | HATS ! width="5%" | Button 01 ! width="5%" | Button 02 ! width="5%" | Button 03 ! width="5%" | Button 04 ! width="5%" | Button 05 ! width="5%" | Button 06 ! width="5%" | Button 07 ! width="5%" | Button 08 ! width="5%" | Button 09 ! width="5%" | Button 10 ! width="5%" | Button 11 ! width="5%" | Button 12 ! width="5%" | Button 13 ! width="5%" | Button 14 ! width="5%" | Axes 1 ! width="5%" | Axes 2 ! width="5%" | Axes 3 ! width="5%" | Axes 4 ! width="5%" | Axes 5 ! width="5%" | Axes 6 ! width="10%" | Comment |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | | A (down-green) | B (right-red) | X (left-blue) | Y (up-yellow) | LB (white) | RB (black) | Back | Start | Guide | L3 | R3 | | | | Left X | Left Y | LT | Right X | Right Y | RT | Poor 2D, Good 3D |- | <!--Description-->Gravis GamePad / Original PlayStation Controller | <!--HATS DPAD--> | <!--Button 01-->Red (Sqleft) | Yellow X (X down) | Green O (O right) | Blue (Tri up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | | | | | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Older Adapters | <!--HATS DPAD--> | <!--Button 01-->Blue X (down) | Red O (right) | Pink Sq (left) | Green Tri (up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | Stick 1 | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Newer Adapters | <!--HATS DPAD--> | <!--Button 01-->Up | Right | Down | Left | L2 | R2 | L1 | R1 | Select | <!--Button 10-->Start | Stick 1 (analogue Hack) | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> Wish Technologies N64 Adaptoid | <!--HATS DPAD--> | <!--Button 01--> A | C Down | C Right | B | C Left | C Up | L | R | Start | <!--Button 10-->Z | Pad Up | Pad Down | Pad Left | Pad Right | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- |} Just plug in your digital/analogue joystick or gamepad into USB port. The device will be handled by Poseidon USB stack. Poseidon is the USB stack with Trident adding a GUI (graphical user interface) prefs. the context sensitive page would come up right on pressing the help key inside the relevant window. The manual is in this archive, just in case it isn't in SYS:Locale/Help *How to change joystick mode to analogue? By default a connected USB joystick emulates Amiga digital joystick. To change this behaviour so that the joystick is presented as analogue you need to use Trident preferences application (System:Prefs/Trident). Open Trident and go to Devices on the left hand side (mouse click once on it). Select your controller from the list to the right and then click on Settings button below. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section near the bottom. Find ports which are set to "Merge with USB" or "Override with USB" and change them to "Analogue Hack". Please note that analogue joystick support is an extension of original Amiga functionality, thus an Amiga application must be explicitly written to use it. AROS SDL library uses this functionality, thus all SDL applications that use joystick, can use the analogue joystick feature. The HID class has several options how to handle the input data: * Don't touch: The movement and button data for is not modified by the hid class. This is the default for the ports 0, 2, and 3. * Overwrite with USB: This will kill the original data that might had come from the internal ports and overwrites it with the joypad data for this USB interface. Note well: If you have multiple joypads connected, take care which setting you have selected for each port, because only the last interface with this option will actually send the joypad data to the game. * Merge with USB: This option merges the input data of the lowlevel.library with the USB stream. This only works, if the connected device on the original Amiga ports is NOT a mouse (because then the streams are incompatible). Merging should be the preferred method, because it leaves the original joysticks working. * Disable: Turns off the port for the application. * Analogue Hack: Tells Poseidon to force reporting of analogue data at the port. Please note that this only works with programs that understand the analogue data, because it's an extension to the original lowlevel.library standard made by Commodore. If you want to incorporate this feature in your software, just contact me and I will send you the necessary information. * Rumble Port: As addition to the analogue data, the HID class supports applications and games that want to utilize a rumble pack or force feedback motors in the gamepads. This field selects to which lowlevel port the hid device responds, when attempting to use the rumble pack. Normally, this corresponds to the port that has been set in the actions for the joypad. *How to change joystick port assignment? The low level library supports up to four ports. Port 0 is usually used by the mouse, port 1 is the standard port for joysticks/joypads. By default a connected USB joystick is present in Port 1. To change its location to Port 0 you need to use Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section. Port 1 should be set as either "Merge with USB" or "Override with USB". Change this setting to "Don't touch". Change Port 0 setting to "Merge with USB". Go to "Actions" tab. In the "Reports and collection" select first entry named "Joystick". in the "Usage items" select "X axis". Go to "Performed actions" area. On the left there will be a list of triggers. Each of them should have (port1) in their params. Click on the first trigger and using buttons to the right of the list change port1 into port 0. Repeat this for all triggers and for all items on "Usage items" list. *How to make joystick simulate keyboard keys? With Poseidon it is possible to make the joystick simulate the keyboard pressings. This might enable using joystick for playing games which only have keyboard support. This feature is configured in Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. Go to "Actions" tab. On the right top window select X axis. On the left bottom list select an entry "Digital Joystick, Push left(port 1)". On the panel to the right change "Digital joystick" into "Raw Key". A list of keys will be displayed. Select key you wish to send. Repeat the same procedure for "Digital Joystick, Release left (port 1)" option but this time check "Send key up even instead of key down". Open shell and move your joystick to the left - your selected letter should appear in the shell. *Analogue in Trident Prefs * Open the Trident USB Prefs -> Devices -> Select your joypad -> Settings button -> Action TAB * See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s) * Check [x] Track Incoming Events which is half way down the window on the left And you should see some axis activity in "Usage items" when you move the analog stick *Actions HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area Reports and collections -> Usage Items -> Performed actions Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers. Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it. Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them. Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right. Set them to Raw, then assign an up and down button for each character, etc. when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release. The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input. check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down. misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics. *Rumble in Trident Prefs Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the '''General''' TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. '''Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected.''' The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect. ===Graphic Drawing Tablet=== There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones. to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events (which AROS has) * Entry level - A6 (6x4) work area * Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported) * Semi Pro A3 (12x9) * Pro Cintiq * 2005/6 Some support added for Wacom tablets * 2008 Wacom's patent on battery free pens expires {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Micrograf Tabby (late 1980s and early 1990s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->podscat pt 3030 graphics tablet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Summagraphics | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom IV compatible (Graphire, ArtPad, A3, A4, A5 and PenPartner CT-0405-P - Wacom intuos GD-0405-R) Waycom Digitiser II UD-0608-R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom Artpad II (KT-0405-R) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AceCad boards | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Calcomp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 8000 - Aldi/Medion MD 9310 and Aldi/Tevion LT 9310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Tablet PC penabled | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based like x61t X60t NC4200 NC4400 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> * Wacom PenPartner * PenPartner 2 * PenStation 2 | <!--Vendor ID-->0x056a | <!--Product ID-->0x0000 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Graphire - Wacom Tablet ET-0405-U UV1.1-1 (Slate Blue) ET-0405UL (lime) (orange) (red) (purple) | <!--Vendor ID-->0x056A | <!--Product ID-->0X0010 | <!--Revision-->0100 | <!--Opinion-->{{Yes|late 90s with A6 size - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511 under Trident prefs. Air pen mouse type movements }} |- | <!--Description--> * Grapphire 2 4x5 ET-0405A-U UV2.0-3 (Steel Blue) * Graphire 2 5x7 ET-0507A | <!--Vendor ID-->0x056A | <!--Product ID-->0x0011 and 0x0012 | <!--Revision-->0110 | <!--Opinion-->{{Yes|A6 and A5 versions - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511. Air pen mouse type movements - mouse EC-120-0K tested}} |- | <!--Description-->Wacom Graphire 3 * cte-430/w 4x5 pearl sapphire * cte 630 6x8 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0013 and 0x0014 | <!--Revision-->0314 | <!--Opinion-->{{Yes|A6 and A5 size - [Wacom Support] Xaxis 0-10207 yaxis 0-7423 tip pressure 0-511 and the erase end appears to respond but avoid bluetooth BT versions }} |- | Wacom Graphire 4 * cte-440/B Blue cte 440/s Silver 4x5 * cte-640 6x8 cte 640 u 0403 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0015 and 0x0016 | <!--Revision-->403 | {{Yes|A6 and A5 work area detected [Wacom Support] x-axis 0000-10207 Y axis 0000-7423 Tip Pressure 000-511 and delete rub out end of the pencil seems detected but avoid bluetooth BT versions }} |- | <!--Description--> * Wacom Intuos 4x5 GD-0405 * Intuos 6x8 GD-0608 * Intuos 9x12 GD-0912 * Intuos 12x12 GD-1212-U * Intuos 12x18 GD-1218 | <!--Vendor ID--> | <!--Product ID-->0x0020 0x0021 0x0022 0x0023 0x0024 | <!--Revision--> | <!--Opinion-->{{Yes|detected and responses delivered back - x axis up to 30479 and y axis 31679, tip pressure up to 1023 and x and y tilt up to 127 - Wacom intuos GD-0912-A for Apple Macs NOT SUPPORTED}} |- | <!--Description--> * Intuos 2 4x5 A6 - XD-0405-U * Intuos 2 6x8 A5 - xd 0608u uoc * Intuos 2 9x12 XD-0912-U * Intuos 2 12x12 XD-1212-U * Intuos 2 12x18 XD-1218-U | <!--Vendor ID-->0x056a | <!--Product ID-->0x0041 0x0042 0x0043 0x0044 0x0045 | <!--Revision-->0126 | <!--Opinion-->{{No|various sizes and recognised as [Wacom Support] but not working. x-axis 00000-20319 y-axis 00000-16239 tip presure 0000-1023 x-tilt y-tilt 000-127. HID mouse xc-100-03 works but never could use it as a real tablet with pressure with TVPaint 3.6 }} |- | <!--Description--> * Intuos 3 4x5 (PTZ-430) * Intuos 3 4x6 (PTZ-431W ) * Intuos 3 6x8 (PTZ-630 PTZ630) * Intuos 3 6x11 (PTZ-631W A3 wide) * Intuos 3 9x12 (A4 PTZ-930 PTZ930) * Intuos 3 | <!--Vendor ID-->056a | <!--Product ID-->0x00b0 0x00b1 0x00b2 0x00b3 0x00b4 0x00b5 | <!--Revision--> | <!--Opinion-->{{No}} Actions in HID setup window definitively locks the Pointer (mouse) reports settings and even after a clear and save, nothing changes, the configuration returns to default values. "[Wacom]" reports don't see any events from the tablet, even with "Pointer" reports cleared and save, so is locked a in "mouse" state - but can send a special command to the tablet in order to put it into a special vendor mode. This mode enables Wacom specificities like pressure, tilt, absolute position, buttons, etc... you should send an HID report feature with ReportID=2 and data=2, the current HID class driver doesn't give a way to change that, even using the "initial startup actions" item in the extra collection. No listed features work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Volito - Promethean FT-0405-U06 UV1.4-1 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0060 | <!--Revision-->0141 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - appears to be the budget option with some but limited features}} |- | <!--Description-->Wacom Volito 2 * CTF-??? 2x3 * CTF-420G CTF-420 V2.0-0 4x5 * Serif Penabled 6742 rebadge of CTF 420/020-B CTF-420/02 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0062 | <!--Revision-->0200 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - no erase function on the end of the pen - nylon nibs value option}} |- | <!--Description--> * Wacom PL-400 LCD * PL-500 * PL-510 * PL-550 | <!--Vendor ID--> | <!--Product ID-->0x0030 0x0031 0x0032 0x0034 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> * PL-600 * PL-600 SX * PL-700 * PL-710 * PL-800 | <!--Vendor ID--> | <!--Product ID-->0x0033 0x0035 0x0036 0x0037 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Cintiq 21 UX and Cintiq Partner DTF-720 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wacom PenTablet Bamboo (MTE), Bamboo Craft (CTH), Bamboo Fun (CTE), Bamboo Pen (CTL) and Bamboo Pen & Touch (CTH) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Bamboo Fun Medium CTE-650 | | 0x0018 | | {{Maybe|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum]}} |- | <!--Description-->Bamboo Fun Small CTE-450 white | <!--Vendor ID--> | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Bamboo One CTF-430 V2.0-0 CTF 430/S | <!--Vendor ID-->0x056A | <!--Product ID-->0x0069 | <!--Revision-->0200 | <!--Opinion-->{{Maybe|A5 wired air pen and acts like a mouse only}} |- | <!--Description-->Wacom Intuos 4 * Small PTK-440 PTK-540 * Medium - PTK-640 - PTK 540WL Wireless - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Intuos4 surface sheet was revised in October 2010 to reduce nib wear}} |- | <!--Description-->Wacom Intuos 5 Touch * * Medium - PTH-650 - USB Wired and Wireless Kit | <!--Vendor ID--> | <!--Product ID-->0x0027 | <!--Revision--> | <!--Opinion-->{{N/A|untested work, however wireless may glitch or drag }} |- | <!--Description-->Wacom Intuos Pro Medium - PTH-651 - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bamboo Small Pen Tablet - MTE 450 MTE-450A (MTE-450/k) - | <!--Vendor ID-->0x056A | <!--Product ID-->0x0065 | <!--Revision-->0116 | <!--Opinion-->{{Maybe|A6 work area - mouse movement but no pen detection except x-axis 2 to -2 and y-axis 2 to -2 - mini usb lead - 4 blue led lit buttons not detected as well as circular touch button?? }} |- | <!--Description-->Bamboo Pen CTL 460 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested all Bamboo versions were criticized for the drawing surface's roughness (which got smoother over time), which caused the small pressure-sensitive 'nib' to wear down, and become slanted or scratchy in the same way as pencil lead, albeit more slowly}} |- | <!--Description-->Wacom Bamboo Fun CTH-461/S wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x00D2 | <!--Revision-->0106 | <!--Opinion-->{{Maybe|A6 size - Pen tracking not working but finger touch works }} |- | <!--Description-->Wacom Bamboo Connect Pen Tablet CTL-470 CTL-470K 470-DE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CTH 470K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom CTH 480/S wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} lithium battery for pad - |- | <!--Description-->Wacom Intuos Pen Small CTL-480/S CTL 480 K wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x030E | <!--Revision-->0200 | <!--Opinion-->{{No|A5 detected as Intuos PS but not working although the RHS blue led responds to pen on tablet }} |- | <!--Description-->CTH 490 PK S Photo - CTH-490CK-S Comic - CTH-490AK-S Art | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested lower hovering height pen nibs wear fast and input lag/responsiveness}} |- | <!--Description-->Intuos Pen & Touch Medium - CTH-680 - USB Wired and Wireless Kit work | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Intuos Pro (PTH-660 and PTH-860) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Waltop Media Tablet 10.6" Genius G-Pen M609 Genius G-Pen M609X iVista Media Tablet 10.6 Aiptek MediaTablet 10000u | <!--Vendor ID-->172f:0501 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Slim Tablet 12.1" | <!--Vendor ID-->0x172F | <!--Product ID-->0x0034 | <!--Revision-->0x1105 | <!--Opinion-->{{yes|works}} |- | <!--Description-->Waltop Media Tablet 12 by 9" Aiptek HyperPen 12000u T-12000U Tablet Series Nisis T-12000u USB Tablet Series Version 1.05 (aiptek rebadged) Trust item #1535 ADESSO Cyber Tablet 12000 Graphic design tablet iVista Media Tablet 12 PENTAGRAM O'pen Wide P 2003 Genius G-Pen M712 | <!--Vendor ID-->172f:0500, 0x08ca | <!--Product ID-->0x0010 | <!--Revision-->0105 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet, untested with others - Puck (mouse) x axis 0000 to 6000 y axis 0000 to 6000 - stylus (pen) x axis 00000 to 12000 y axis 00000 to 12000 tip pressure 0000 to 1023 - 16 function keys - AAA battery needed for pen and another for the mouse}} |- | <!--Description-->Waltop Media Tablet 14.1" v5.1e Genius G-Pen M714X Aiptek MediaTablet 14000u WMK-H141 Trust item #15358 Adesso CyberTablet 14000 M14 iVista Media Tablet 14.1 PENTAGRAM O'pen Wide P 2004 | <!--Vendor ID-->0X172f | <!--Product ID-->0X0500 | <!--Revision-->0114 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet - Stylus (Pen) X 16838 Y 16838 Tip Pressure 1023 }} |- | <!--Description-->Waltop PID 0038 Genius G-Pen F509 Manhattan 177405 | <!--Vendor ID-->172f:0038 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop PID 0052 Yiynova MSP19 | <!--Vendor ID-->172f:0052 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Q Pad Aiptek HyperPen Mini NGS Flexi Style VisTablet PenPad iVistaTablet Q Flex Pad Bravod Q-PD65-S Trust Flex Design Tablet (#16937) | <!--Vendor ID-->172f:0037 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Sirius Battery Free Tablet VisTablet Muse PENTAGRAM Designer P 2700 Princeton PTB-S1BK | <!--Vendor ID-->172f:0502 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 12.1" Genius G-Pen F610 Trust Slimline Widescreen Tablet (#16529) VisTablet Original 12" Adesso CyberTablet Z12 Adesso CT-Z12A PenPower Tooya Pro Aiptek Slim 12.1 Inch Aiptek SlimTablet 600u Premium II NGS Slim Proguess iVistaTablet Slim 12.1 PENTAGRAM ThinType P 2006 | <!--Vendor ID-->172f:0034 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 5.8" Genius G-Pen F350 Trust item #16485 VisTablet Mini iVistaTablet Slim 5.8 | <!--Vendor ID-->172f:0032 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Venus S Tablet Trust eBrush Widescreen Tablet (#17939) | <!--Vendor ID-->172f:0503 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Aiptek GmBH MediaTablet Ultimate II - 16:10 Professional Graphic Tablet Model 1400U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Hanvon Beijing HanWang HW Micro Drawing Tablet ET0504U | <!--Vendor ID-->0x0b57 | <!--Product ID-->0x8030 | <!--Revision-->01111 | <!--Opinion-->{{No|does not work - recognised as an HID mouse - no tablet extensions detected}} |- | <!--Description-->KYE EasyPen 340, Genius EasyPen 340 | <!--Vendor ID-->0458:5014 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Aiptek Hyper Pen 6000u PC Tablet APT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|detected but does not work - win98 era cordless 6in by 4.5in - }} |- | <!--Description-->nisis T-8000U APT-2 Aiptek rebadge | <!--Vendor ID-->0x08CA | <!--Product ID-->0x0021 | <!--Revision--> | <!--Opinion-->{{No|A5 detected but no responses }} |- | <!--Description-->Acecad Flair II GT-504 Init Fkt Fkt 0x5ab450c0 AIPTEK HyperPen 10000 U Aiptek HyperPen 10000U, AIPTEK Slim Tablet U600 Premium II | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ace Cad Enterprise Co., Ltd Tablet - 5x3.75 drawing area | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bosto's | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} UCLogic Digitizer |- | <!--Description-->Adesso CyberTablet Z7, Adesso CyberTablet 12000, Adesso CT-12000A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->UC-Logic / Lapazz WP8060, UC-Logic / Lapazz PF1209, UC-Logic / Lapazz Artistic Tablet 5540, Manhattan 8"x6", Manhattan 3"x4", Manhattan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested but suspect not working}} |- | <!--Description-->DigiPro 5.5×4” Graphics Tablet Digital Ink Pad (A4 format) DigiPro WP8060, DigiPro WP5540, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-pen G-Pen 4500 Genius Wizardpen Genius Mousepen Genius Easypen i405 M610 Genius PenSketch 9x12, Genius MousePen i608, Genius MousePen 8x6, Genius MousePen / WizardPen 5x4, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-Pen F610 Genius G-Pen M610 Genius G-Pen 340 (UC-LOGIC Tablet WP4030U) Genius G-Pen 450 (UC-LOGIC Tablet WP5540U) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius UC-LOGIC iBall Tablet PF8060 iBall Iball Pen Tablet 8060U, Iball Pen Tablet 5540U, Iball Pen Tablet 4030U, Iball Design Tablet PF1209, NGS CADBOY (UC-LOGIC Tablet WP5540U) Pentagram QWare | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust TB-3100 Trust TB-5300 Trust 15356 Trust TB-6300 Trust 15357 WP8060U Slimline but bulky with metal backing A5 size Trust 16486, Trust 16447, Sketch Design Tablet, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|clashes with usb and crashes AROS }} |- | <!--Description-->UC-Logic Tablet WP1062 Aiptek HyperPen 10000U Monoprice 10X6.25 Inches Graphic Drawing Tablet Pickle 10x6.25 Inch Graphic Drawing tabletguess | <!--Vendor ID-->5543:0064 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | [ VTech KidiPhoto Art Studio] | | | | {{yes|works}} |- |} Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position, Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer. Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531&nbsp;kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity. In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer. If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [http://tech.groups.yahoo.com/group/highway_usb/message/2394]}} === Handheld Barcode Scanner Readers === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Farsun 9100 barcode scanner 0-12" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola Symbol LS2203 CMOS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Tysso | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Simple}} Code 11, Code 39, Code 93, Code 128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, MSI/Plessey, Telepen, Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5 |- | <!--Description-->Unitech MS320 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WCS3905 CCD 1" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Code 93, Matrix 2 of 5, Industrial 2 of 5, Code 39, UCC/EAN-128, ISBN, Code 32, EAN/JAN-8 , EAN/JAN-13 , UPC-A, UPC-E, Codabar, Code 128, Code 11, Interleaved 2 of 5, MSI-Plessey, China Post, IATA 2 of 5, ISSN, UK-Plessey |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic Touch 90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Intermec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Metrologic MK9540-32A38 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola LS2208 Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WWS800 Laser 1D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic GD4130-BK-C066 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell 1202G-1USB-5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola / Symbol DS6707-DC20007ZZR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->DataMan 8000 2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Voyager 9520/40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Metrologic MS1690 USB 2D Barcode Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} QR Code GS1 Databar PDF417 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Syscan GM800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} [http://www.scandit.com/2011/11/04/types-of-barcodes-choosing-the-right-barcode-type-ean-upc-code128-itf-14-or-code39/ Types of Barcode] <pre> UPC-A Grocery most common Code 128 EAN-13 Library Books ISBN & ISSN, Code 39 Codabar blood bank, 2D barcodes such as Data Matrix PDF417e Maxicode Aztec QR Code old Nokia handsets, MicroPDF417 </pre> ===TouchScreens=== Projected capacitive (PCAP) touch screen product, amongst many options the widely used are I2C and USB *USB host–device structure which dominates consumer and industrial electronics devices where higher bandwidth needed and user-friendly (multiswipes) *I2C Inter-Integrated Circuit simple serial standard for LCD display in embedded systems because of cost and low power *SPI arduino and rpi single boards We cover the USB here {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | eGalax Touch 4a | 0eef | 0001 | 0001 | {{yes|2009 works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lilliput HDMI Monitors 669GL-70NP/C/T (7 inch) 869GL-80NP/C/T (8 inch) FA1011-NP/C/T (10 inch) FA1046-NP/C/T (10 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iilyama Prolite Monitors PROLITE T1513SR-1 (15 inch) PROLITE T1730 (17 inch) PROLITE T1713SR-1 (17 inch) PROLITE T1913SR-1 (19 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Smart Display Company (SDC) Touchscreens TFT Monitors TOUCH-TFT-TS07 (7 inch) TOUCH-TFT-TS08 (8 inch) TOUCH-TFT-TS10 (10 inch) TOUCH-TFT-TS12 (12 inch) TOUCH-TFT-TS15 (15 inch) TOUCH-TFT-TS17 (17 inch) TOUCH-TFT-TS19W (19 inch wide) TOUCH-TFT-TS22W (22 inch wide) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC Monitors 7 inch models 700TSH 700TSU 700TSV 702TSV 705TSV 706TSA 700IDT MDT-X7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC 8 inch models: 800TSV 805TSV 10 inch models: 1020TSV 1026TSA 1040TS 12 inch models: 1200TS 1200TR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Asus VT229H 21.5" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CUQI 7" Monitor Touchscreen 1024x600 IPS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Espresso 15" Portable Touchscreen Display Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hannspree HT225HPB 21.5 inch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->WaveShare 13.3inch HDMI LCD (H) (with case) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ===GPS tracking, running, cycling, biking, walking, hiking, ORIENTEERING, boaters and mapping=== Support for OpenStreetMap but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb, Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs, NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case). Equivalent apps - merkator, mapsource, {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Garmin gpsmap 180 GPS/chart plotter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->1992 GARMIN GPS 55 AVD Portable System | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPS V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - waas pinpoint within 3 metres - nmea - 4AA battery}} |- | <!--Description-->Garmin GPS 12 12XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Legend C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin eMap | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|possibly through usbmodem rs232 connection nmea 0183 protocol}} |- | <!--Description-->Garmin eTrex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} rs232 these older units supported it and would provide the stream in either the standard NMEA 0183 format or a proprietary Garmin format. |- | <!--Description-->Garmin GPS 75 AVD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Map 7000 model 45006 (1994) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Tracker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan Pioneer Satellite Navigator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS 300 315 320 Mentor Receiver (2003) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Not for dedicated sat nav units like the Nuvi, TomTom, etc | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NaviLock NL-402U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested u-blox 5 SuperSense® chipset with receivers for GPS, GLONASS, Galileo, BeiDou and QZSS}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->GM1-86UB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| U-BLOX UB-6010 GGA,GSA,GSV, RMC and support VTG, GLL, TXT ublox binary and NMEA Command Dynamic Condition }} |- | <!--Description-->NAVILOCK GPS NL-602U USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|works via usbmodem.device - ublox ag 6 chipset - 50 channel}} |- | <!--Description-->TOPGNSS ton Receiver & Antenna GM702 u-blox 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|UBLOX7020 chip design bloc u-blox}} |- | <!--Description-->VK-162 G-MOUSE u blox 7 | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A|UBX G70xx with RMC VTG GSV TXT GLL GGA GSA}} |- | <!--Description-->VK-172 u-blox 7 G7020-KT gps gnss white pen stick receiver - over 1 inch long | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A| detected as cdc controlled plug in device - 18x18x2mm patch antenna but can be slow to update - nmea 0183 and ublox binary protocol}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GlobalSat BU-353 WaterProof USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested SiRF Star III}} |- | <!--Description-->Haicom HI-206 USB GPS receiver with RS-232 interfaces, RJ11 and PS/II connector EB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|usb-serial prolific pl2303 detected but GSP3F SiRF Star IV technology not detected or bound}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->BT760Y, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 5 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 6 GPS chipset - 65 channel}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 7 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 8 GPS chipset - 167 channels}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Garmin Colorado 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB |- | <!--Description-->Garmin Geko 101 201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} limited waas enabled only - waypoints - aaa battery |- | <!--Description-->Garmin Edge 200 bike mount | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin ForeRunner 10 15 watch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Montana 600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Dakota 10 20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Map76s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Oregon 450T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB nmea 0183 |- | <!--Description-->Garmin eTrex 10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - no nmea0183 sentences data stream output - configuration an option to set it to "Garmin" mode, or "Mass Storage" mode. Since the mass storage mode seems to be required for waypoint/track/etc data exchange, the 'Garmin' mode would be for this data stream. Yet putting it in that mode doesnt seem to produce anything.}} |- | <!--Description-->Garmin Oregon 650T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPSMAP 64S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->GPSMap 78S or GPSMap 76CSX which has a NMEA port for talking to Nav equipment | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->Garmin eTrex Vista Cx GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - 2AA battery}} |- | <!--Description-->Garmin GPSmap 276c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 2000 XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan Triton 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} SiRFstarIII™, Antenna Type Multidirectional Patch with WAAS, EGNOS, MSAS support |- | <!--Description-->Magellan Triton 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==massstorage.class (MSC/UMS - most cameras and mp3 players)== === USB Card Readers === {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Installing ! width="15%" |Booting ! width="30%" |Opinion |- | A-Tec Model CR-362 | | | | <!--Installing--> | <!--Booting--> | {{N/A|untested}} |- | [http://www.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=200406&pcount=&Product_Id=179164 Belkin 15 in 1 Card Reader] | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Conrad CP440 60 in 1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works on a1k forum}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Genesys Gtech Logic 19 in 1 | 0x05E3 | 0x0710 | High 0200 | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Hama 19 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | Hama 35 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Integral Single Slot SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kingston USB 3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexar microsd adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} but wider than Sandisk version - could block other slot if below |- | Pretec CardDriver | | | | <!--Installing--> | <!--Booting--> | {{no|no driver}} |- | Sandisk MicroMate | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Sandisk MobileMate SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Sandisk MobileMate Micro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} has satisfying 'click' when microsd inserted |- | <!--Description-->Sandisk MobileMate Duo MicroSD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} no 'click' insertion uses pressure so future wear and tear issues |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Serena metal cased microsd only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | <!--Description-->Serena "Sandisk MobileMate" look-alike | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | SilverCrest 16in1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Transcend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P5 8 in 1 TSRDP5K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P8 15 in 1 TSRDP8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Zyxel integralmemory 8 in 1 | 0x0aec | 0x3260 | | <!--Installing--> | <!--Booting--> | {{no|not detected}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- |} === USB Hard Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Datel MaxDrive | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Inateck 2.5 Inch USB 3.0 Hard Drive Disk Enclosure/ Case (FE2001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Full USB 3.0 port but plastic teeth keeping drive in place can snap |- | <!--Description-->Inateck case (FE2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} full USB 3.0 port - updated design |- | <!--Description-->Inateck case (FE3001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} wider USB 3.0 port and no on/off switch Jmicron JMS578 chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Iomega Desktop Hard Drive 500GB, 3,5“, USB2.0 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Samsung | | | | {{N/A|untested}} |- | Samsung | | | | {{N/A|untested}} |- | Samsung T3 SSD | | | | {{N/A|untested}} USB 3.1 Gen 1 space grey / black metal/ plastic |- | Samsung T5 SSD | | | | {{N/A|untested}} USB 3.1 Gen 2 256GB 512GB alluring blue 1Tb 2Tb black unibody metal |- | Samsung | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Toshiba Canvio 1TB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|partition fat32 or sfs to 100GB max - ntfs partitions not detected out of the box - select usb drive in trident prefs and press disable to shutdown}} |- | Verbatim 160GB Smartdisk | | | | {{yes|works }} |- | Western Digital USB | | | | {{N/A|untested}} |- | <!--Description-->WD Essential | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->WD Passport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === USB DVD CD ROM Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm enclosure mini-sata dvd-rw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested needs sole usb3 port to power it}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->9.5mm enclosure ECD829 mini-sata dvd-rw with Initio Corporation INIC-1618L SATA | <!--Vendor ID-->0x13fd | <!--Product ID-->0x0840 | <!--Revision--> | <!--Opinion-->{{N/A|untested but probably needs sole usb3 port to power it}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === USB to NGFF NVMe SDD HDD DVD CD ROM Drives === The older Jmicron JMS539B seems to result in massive filesystem corruption given the amount of corrupted content. Prehaps always avoided Jmicron and opted for Asmedia even if it costed a bit more. Realtek seems to be working okay for me generally speaking and newer Jmicron chipsets are less buggy – but evidently not perfect. From [https://goughlui.com/2025/08/17/psa-validate-your-storage-jmicron-jms583-kioxia-bg4-series-ssd-issue/ thread] Here is a [https://forums.anandtech.com/threads/stable-nvme-usb-adapter.2572973/ very long thread] that discusses data corruption and stability issues with these bridges. The majority of the posts are complaining of dropouts, hangs and the like, which usually down to either a poor USB 3.x implementation (SuperSpeed connections are very picky as to cables, ports and trace routing) or problematic compatibility. Regardless, the [https://www.legitreviews.com/jmicron-jms583-controller-version-matters-for-portable-usb-drives_219422 JMS583 is known to have several versions] noting that the last revision (C) in that article is a 2021 release which should fix earlier stability and cable quality compatibility issues. JMS583-STD-Release-v00.02.01.04-Bus Power.bin is the latest JMS583 firmware as of August 2025. Early firmware RTL9210 seems to have issues as well * RTL9210B * JMS583 rev1 with firmware A2 or A3 * RTL9210A * JMS583 firmware 2.0.9 * Asmedia ASM2362 * RTL9201A The reference Hardware ID for the JMS583 chipset from JMicron is: VID_152D&PID_0583&REV_0209 where "VID_152D" identifies a JMicron product; "PID_0583" is the generation chipset; "REV_0209" is the firmware version installed. In the same way, the reference Hardware ID for the RTL9210 from Realtek is: VID_0BDA&PID_9210&REV_3100 "VID_0BDA" is for a Realtek product, "PID_9210" is referred to the chipset and "REV_3100" to the firmware. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ASM1153E / ASM1153 with firmware 140509_A1_82_40 or 141126_A1_EE_82. Both supports UASP and TRIM on USB 3.1 Gen.1 adapter | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->ASM235CM Ugreen aluminum bridging the USB3.2 Gen2x1 to Serial ATA host interface | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TI 9261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASM225 | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->JMicron JMS578 issues USB 3.1 Gen.1 adapter | <!--Vendor ID-->152d | <!--Product ID-->0578 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMicron JMS576 issues USB 3 to usb-c adapter | <!--Vendor ID-->152d | <!--Product ID-->0576 | <!--Revision--> | <!--Opinion-->{{maybe|orico}} |- | <!--Description-->JMS562 JMicron Technology Corp | <!--Vendor ID-->152d | <!--Product ID-->0562 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMS561U | <!--Vendor ID-->0x152d | <!--Product ID-->0x1561 | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->VL716Q4 Orico black meshed aluminum usb c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053E | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASmedia ASM1051E | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053 | <!--Vendor ID-->0x174C | <!--Product ID-->0x1536 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM104x | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x1042 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Unknown Chinese version | <!--Vendor ID-->0x0bc2 | <!--Product ID-->0x2312 | <!--Revision--> | <!--Opinion-->{{maybe|sometimes works}} |- | <!--Description-->JMicron N5321 gr | <!--Vendor ID-->0x152d | <!--Product ID-->0xa583 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Initio Corp INIC-1618L mini slimline sata 6 + 7 pins to usb2 adapter | <!--Vendor ID-->0x13FD | <!--Product ID-->0x0840 | <!--Revision-->0114 | <!--Opinion-->{{maybe|sometimes works mini sata to usb2 detects 201x laptop DVD as MassStorage(CD/DVD) but may need powered USB hub}} |- | <!--Description-->Unknown mini sata to usb3 adaptor | <!--Vendor ID-->0x01F75 | <!--Product ID-->0x0621 | <!--Revision-->0036 | <!--Opinion-->{{maybe|sometimes works mini sata to usb3 detects 201x notebook DVD drive as MassStorage(SCSI) but 5V 1.5Amp needs powered hub to burn }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === External Floppy === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->[http://techtravels.org/amiga/amigablog/ Amiga Floppy Project] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=842 Catweasel Mk4] | 0xE159 | 0x0001 | 0x00 | {{yes|[http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage works]}} |- | <!--Description-->[http://hxc2001.free.fr/floppy_drive_emulator/ HxC Floppy Emulator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.softpres.org/glossary:kryoflux KyroFlux] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->Samsung SFD-321U/EP USB Floppy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.cbmstuff.com/proddetail.php?prod=SCP SuperCard Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://www.facebook.com/groups/greaseweazle Greaseweazle STM hardware], [https://cowlark.com/fluxengine/index.html Greaseweasel support], [https://github.com/keirf/Greaseweazle/wiki software], [https://amigakit.amiga.store/greaseweazle-p-91279.html buy], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->FL-2501 USB Portable Diskette Drive | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2009 usb - [https://amiga.robsmithdev.co.uk/ Drawbridge] [https://github.com/RobSmithDev/ArduinoFloppyDiskReader software] ribbon cable compat with p/n 19308801-19 and s/n U356244 - model ASM P/N 27l4226 and FRU P/N 05k9283 - |- | <!--Description-->Dell Floppy Drive Module USB External 3.5" - Teac FD-05PUB 1.44mb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2004 usb 1.1 |- | <!--Description-->USB FLOPPY DISK DRIVE (USB External Floppy Disk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/SukkoPera/OpenFlops OpenFlops] with [https://github.com/keirf/flashfloppy FlashFloppy] Gotech clone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/hmerrett/HenryFlops HenryFlops reworked OpenFlops] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} ==ptp.class (PTP and MTP - other cameras and mp3 players)== === Cameras === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Canon EOS 20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | <!--Description-->Canon 350D (also known as the Digital Rebel XT/Kiss Digital N) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 DIGIC II processor 8-megapixel }} |- | <!--Description-->Canon PowerShot A430 A560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | <!--Description-->Canon EOS 400D (XTi) digital SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Canon EOS 1000D also known as Rebel XS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2mp 720p }} |- | <!--Description-->Canon 450D aka Rebel Xsi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 12.2mp }} |- | <!--Description-->Canon PowerShot S90 S95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 2010 720p video - 10Mpixel }} |- | <!--Description-->Canon Powershot SD960 IS Digtal ELPH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 Still Image: Exif 2.2 (JPEG), Movie: MOV (Image: H.264; Audio: Linear PCM) Lithium-ion Battery Pack NB-4L }} |- | <!--Description-->Canon EOS 500D aka Rebel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 1080p 15.1MP Lithium }} |- | <!--Description-->Canon EOS 550D 600D aka Rebel T2i T3i DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010-2011 1080p 18MP Lithium LP-E8 }} |- | <!--Description-->Canon Powershot S100 S110 S120 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011-2013 720p-1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1100D DSLR Camera aka Rebel T3 SLR, EOS Kiss X50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p 10Mpixels Lithium }} |- | <!--Description-->Canon EOS 650D 700D aka Rebel T4i T5i T6i SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2013 1080p 18Mpixels Lithium LP-E8 articulating flip out twistable screen }} |- | <!--Description-->Canon ELPH 300 HS (IXUS 220 HS) 230 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 blogging camera }} |- | <!--Description-->Canon PowerShot N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 12.1 MP CMOS, DIGIC 5 Wifi Lithium Battery Pack NB-9L }} |- | <!--Description-->Canon Powershot G7 X, G7X-II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014-2016 1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1300D DSLR Camera aka Rebel T6 SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 1080p 16Mpixels Lithium }} |- | <!--Description-->Canon Powershot G7x G5X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| G7X flip up and G5X flip out - same batteries - no external microphone input - }} |- | <!--Description-->Canon EOS M3 M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| flip out - same batteries - }} |- | <!--Description-->Canon EOS 60D 70D 80D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon 6D 7D 8D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Canon 5D Mark II III IV DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix A850 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FujiFilm Finepix F100fd | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix F810 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xf1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| pocketable exr cmos 12mp }} |- | <!--Description-->Fuji xt1 x-t1 x10 x-t10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 1080p }} |- | <!--Description-->Fujifilm x100 x100s x100t | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xPro1 xPro2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xt2 / x-t2 x-t20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K video }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->GoPro HERO 3 HERO4 HERO 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon D100, D60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 Compact flash storage - non interchangeable lenses up to 12.3MP sensor }} |- | <!--Description-->Nikon D50, D50x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 storage - 6.1MP sensor }} |- | <!--Description-->Nikon D70, D80, D90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 Compact flash storage - 10MP sensor }} |- | <!--Description-->Nikon D40, D40x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 storage - 10MP sensor }} |- | <!--Description-->Nikon D300, D700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 storage - 12.3MP sensor }} |- | <!--Description-->Nikon D2Xs, D2Hs, D3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006-2008 storage - sensor }} |- | <!--Description-->Nikon D3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 720p video }} |- | <!--Description-->Nikon D5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 720p video unlike D3000 }} |- | <!--Description-->Nikon D6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16mpixel}} |- | <!--Description-->Nikon D7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16.2mp 720p video }} |- | <!--Description-->Nikon L26 L27 L28 L29 L31 Coolpix compact cameras | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video - 2 AA - pocket sized }} |- | <!--Description-->Nikon D3100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video 14.2mp}} |- | <!--Description-->Nikon D5100 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16.2mp 720p}} |- | <!--Description-->Nikon L810 L820 L830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 720p video }} |- | <!--Description-->Nikon D4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 storage - sensor }} |- | <!--Description-->Nikon D7100 D7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 up to 24.2mp 1080p video }} |- | <!--Description-->Nikon D3200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 1080p 24MPixel}} |- | <!--Description-->Nikon D5200 D5300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 24.1MP 1080p }} |- | <!--Description-->Nikon D800 D600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 1080p video sd card storage - dust/oil issue at start}} |- | <!--Description-->Nikon D3300 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24.2MP 1080p }} |- | <!--Description-->Nikon D500, a high-performance DX-format (APS-C) DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description-->Nikon D3400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP 1080p }} |- | <!--Description-->Nikon D5500 D5600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016-2018 24.1MP 1080p }} |- | <!--Description-->Nikon D810 D610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 1080p video sd card storage }} |- | <!--Description-->Nikon D7300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K UHD video }} |- | <!--Description-->Nikon D900 D850 D820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4k 46MP }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus C-370 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3.2mp }} |- | <!--Description-->Olympus Camedia C-725 Ultrazoom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3mp aa batteries, }} |- | <!--Description-->Olympus Evolt E-500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 8mp }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus Evolt E-410 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Olympus Evolt E-510 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 10MP Live MOS sensor with TruePic III processor, }} |- | <!--Description-->Olympus E-420 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-620 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 12.3mp, compactflash, xD and microdrive cards, }} |- | <!--Description-->Olympus E-30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Olympus E-450 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10mp, }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pentax * ist DS DSLR camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1mp }} |- | <!--Description-->Pentax K10D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 10.2mp APS-C CCD no video and older manual Pentax K-mount lenses}} |- | <!--Description-->Pentax K20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2008 14.6MP APS-C but no video recording mode }} |- | <!--Description-->Pentax K30 K-5 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2012 16MP full HD (1080p) recording at 24/25/30 fps}} |- | <!--Description-->Pentax K-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP 1080p }} |- | <!--Description-->Pentax K-3 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24MP }} |- | <!--Description-->Pentax K-3 III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 25.7MP BSI CMOS sensor }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix LZ10 LZ20 DMC-LZ30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 720p video }} |- | <!--Description-->Panasonic TZ1 TZ5 TZ9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix GH1 GH2 like the DMC-GH2HEB-K - GH3 DMC-GH3HEB-K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Four Thirds (GH2) MFT Micro Four Thirds (GH3) limited to 29mins recording }} |- | <!--Description-->Panasonic AF series AF100 AF101 AF102 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix DMC-G2 DMC-G3 G5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic TZ60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic DMC LX7 10 LX15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic GF7 GX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic G80 G85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 }} |- | <!--Description-->Panasonic GH4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 - shooting in MOV or MP4 formats recording limited to sd card size but split files because the FAT32 file system only supports files up 4GB in size, which amounts to around 5 minutes of 4K (100mbps) footage - GH4 appears to create 4GB files as a rule, regardless of whether the memory card’s file system supports larger files or not - }} |- | <!--Description-->Panasonic GH5 gx80 gx85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Effective: 20.3 Megapixel 5184 x 3888 - 2 sd card slots compatible with high-speed, high capacity UHS-II - sd card v rating like the v90 should record at 60MB/s to be compatible with the GH5 in the All-I format - possible file corruption with .mdt files - new firmware 2.0 update, the Panasonic GH5 becomes the first 5K - }} |- | <!--Description-->Panasonic FZ2000 FZ2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung WB100 WB1100 WB150 WB2200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 16MP }} |- | <!--Description-->Samsung NX11 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung NX200, NX20, NX1000 and NX210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 20.3Mp APS-C sized CMOS image sensor }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo Xacti CG65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony Alpha DSLR-A100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1MP }} |- | <!--Description-->Sony Cyber-shot DSC camera models W110 W220 H300 H400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Sony Alpha DSLR-A200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2MP }} |- | <!--Description-->Sony Alpha DSLR-A230 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10.2MP }} |- | <!--Description-->Sony A290 DSLR Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 14.2MP }} |- | <!--Description-->Sony Cybershot HX20V HX30V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 18mp 720p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony Cybershot HX50V HX60V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 20.2MP 1080p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony A77 A99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description-->Sony WX100 WX150 wx220 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 2014 }} |- | <!--Description-->Sony NEX-6 Sony NEX-7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16 to 24MP }} |- | <!--Description-->Sony NEX-3N Sony NEX-5N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 16MP }} |- | <!--Description-->Sony α58 Sony α68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 20.1 MP 2014 24mp }} |- | <!--Description-->Sony rx100 mk III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1MP 1.0-type back-illuminated Exmor R CMOS sensor, often after boot-up, the motor starts running for no reason for first versions' - }} |- | <!--Description-->Sony α5000 a5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1 Megapixel APS-C Exmor APS HD CMOS 1080p Sony E-mount [https://github.com/ma1co/Sony-PMCA-RE hack] using [https://www.youtube.com/watch?v=8M4hR9HiOzM this] }} |- | <!--Description-->Sony α6000 a6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP APS-C sensor }} |- | <!--Description-->Sony α7 A7S a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 mirror less - more compact }} |- | <!--Description-->Sony α77 II, α99 II, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24.3 MP, 2016 42.4mp }} |- | <!--Description-->Sony rx100 mk IV V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2016 }} |- | <!--Description-->Sony RX0 RX zero, RX0 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2017 }} |- | <!--Description-->Sony α6500 a6500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP APS-C sensor 4K }} |- | <!--Description-->Sony α7 Alpha 7 II E-mount interchangeable lens mirrorless camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 24.2mp, }} |- | <!--Description-->Sony α7 A7Sii a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 mirror less - more compact }} |- | <!--Description-->Sony a7 III α77 ILCE7M3/B Full-Frame Mirrorless Interchangeable-Lens Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 24.2mp, }} |- | <!--Description-->Sony ZV-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 24mm optical zoom, }} |- | <!--Description-->Sony ZV-1F | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 entry-level vlogging, 1-inch 20.1MP, ultra-wide 20mm f/2 prime lens}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} <pre > Lens Mounts Canon EF EF-S Nikon F Panasonic Olympus OM Pentax DA, FA, F, A, M, and K series Fujifilm X mount </pre > <pre > Sensors APS-C S35 Full Frame 43 Four Thirds M43 MFT Micro four thirds </pre > === Digital Voice Recorder Dictaphone Dictation Machine Handheld === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2011 }} |- | <!--Description-->Olympus VN-7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested 2012 no usb }} |- | <!--Description-->Olympus VN-7500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2012 }} |- | <!--Description-->Olympus VN-7600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2013 }} |- | <!--Description-->Olympus WS-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested usb}} |- | <!--Description-->Olympus VN-7700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-8600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-711PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-712PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-731PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus WS-811 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested slide out usb-a - aaa battery - ok recordings }} |- | <!--Description-->Olympus VN-540PC Olympus VN-541PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Philips DVT1250 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX470 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX570 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} === USB eBooks Readers drm free EPUB version 2.0.1 (2007), 3.0 (2011), 3.1 (2015) or [https://www.w3.org/TR/epub-33/ 3.3 (2024)] [https://github.com/thansen0/sample-epub-minimal epub examples] formats access === EPUB file format is an open standard based on XHTML for content and XML for metadata, contained in a zip file archive PDF v2.0 in 2017, 2009 takeover by ISO Org, 1.7 in 2006 , 1.6 in 2005, 1.4 in 2001, 1.3 in 1999, 1.0 in 1993 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Barnes and Noble Nook Simple Touch NST BNRV300 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0003 | <!--Revision--> | <!--Access-->when finding the right micro usb cable that works, internal nook memory not accessible but sd card fat32 readable and writable outside | <!--Opinion-->{{N/A|2011 6in 600x800 e-ink 16 grayscale .jpg}} battery remove sd card and Torx T5 back top for Cameron Sino CS-BNR003SL - USA 1.2.2 md5sum 351e26527e80156183e74be2da2ce89f *nook_1_2_update.zip - 1.2.1 UK fdba3981f7f221cc5143db6329645bc2 *nook_1_2_update.zip - skip registration, Turn on the device, but do NOT start setting it up. Hold down the top right button on the front of the device and slide your finger from left to right across the top of the E Ink screen. A ‘Factory’ button should appear in the top left corner of the screen. Press it. Once in the Factory menu, hold down the top right button on the front of the device and tap the bottom right corner of the screen should now see a ‘Skip Oobe’ button. Tap that and the Nook should finally load the home screen. Poor battery management - |- | <!--Description-->Barnes and Noble Nook Simple Touch with Glowlight *2012 Nook Simple Touch with GlowLight BNRV350 *2013 Nook GlowLight BNRV500 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0004 0x0007 | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2012 untested }} perform a hard reset: Turn off the nook completely, turn it on, as soon as you see the screen flash begin holding the bottom page turn buttons until the screen flashes with a message asking reset, press the 'n' key twice to start the reset - Poor battery management - |- | <!--Description-->Nook Glowlight 4 Plus 7.8-inch screen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} Poor battery management - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *NOOK 1st Edition (2009-2018) BNRZ100 *NOOK Color (2010-2024) BNRV200 *NOOK Tablet (8GB/16GB) (2011-2024) BNTV250A / BNTV250 *NOOK HD (2012-2024) BNTV400 *NOOK HD+ (2012-2024) BNTV600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Elonex 511EB | <!--Vendor ID-->045e:ffff | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 untested Preferences->advanced->debug device detection}} |- | <!--Description-->[https://jaforeck.wordpress.com/2012/08/05/ready-to-meet-viktor-navorski-gained-access-to-elonex-621ebs-terminal-52/ Elonex 621EB] eBook | <!--Vendor ID-->0x1f85 | <!--Product ID-->0x1688 | <!--Revision--> | <!--Access-->unlocked ootb | <!--Opinion-->{{N/A|2010 untested usb mini charging 6" diagonal eInk Screen - 800 x 600 pixels, 8 Level 166dpi Paperlike screen, Embedded 1GB Flash NAND, full SD Card Slot up to 16GB - WAV, MP3, JPG, PNG, BMP, GIF support and ePub and PDF(with reflow) (TXT, HTML) support}} |- | <!--Description-->Elonex 700eb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2011 untested adjust screen blanking by menu then settings then device standby, you can then turn it off}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->iRiver Story HD eBook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} freescale imx.508 arm mcimx508cvkbb cpu with 2gb samsung nand, m13892aj charging chip, eb07_main_mp1_110321 mobo, mini usb, atheros ar61026 wifi - |- | <!--Description-->iRiver Story | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Rakuten Touch A/B kobo3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Touch C, Kobo Mini, Kobo Glo N613, Kobo Aura HD N514 N204 kobo4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura, Kobo Aura H2O, kobo5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2013 6in untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v1, Kobo Glo HD, Kobo Touch 2.0, Kobo Aura ONE N709, Kobo Aura ONE Limited Edition, Kobo Aura Edition 2 v1 N236, kobo6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v2, Kobo Aura Edition 2 v2, Kobo Nia, Kobo Clara HD, Kobo Forma, Kobo Libra H2O kobo7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Elipsa, Kobo Sage kobo8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *Kobo Libra 2 kobo9, Kobo Clara 2E kobo10, Kobo Elipsa 2E kobo11 *Kobo Libra Colour kobo13, Kobo Clara BW, Kobo Clara Colour kobo12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pandigital Personal eReader aka? Papyre 6.2 very similar to BQ Avant Firmware | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 350 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 epub bbeb cbz untested }} |- | <!--Description-->Sony PRS-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle K1 D00111 - Main Menu=: Settings: Menu=: Device Info shows S/N | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0002 | <!--Revision-->100 | <!--Access-->256mb | <!--Opinion-->{{N/A|2007 untested Marvell Xscale PXA255}} |- | <!--Description-->Kindle K2, D00511 170-1012-00, D00701 D00801 S11S01B * k2 means K2 US * k2i means K2 GW * dx means KDX US * dxi means KDX GW * dxg means KDX Graphite | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0003 | <!--Revision-->100 | <!--Access-->2gb unless jb | <!--Opinion-->{{N/A|2010 untested Freescale i.MX31 }} the Kindle is a small computer running Linux 2.6 on an ARM processor |- | <!--Description-->AMAZON Kindle D00901 3rd Gen with keyboard - Menu, Settings for S/N and then Menu again to choose Update * S/N starts B006 means k3g aka K3 3G US * S/N starts B008 means k3w aka K3 WiFi * S/N starts B00A means k3gb aka K3 3G UK EU - debug mode with ;debugON and ~help | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0004 | <!--Revision-->100 | <!--Access-->{{yes|4Gb internal no access until jailbroken JB}} | <!--Opinion-->2010 with mobi and azw3 formats only - micro usb 5v 0.85a - freescale i.mx35 ARM soc with 12bit parallel interface with epson e-ink cpu, 256MB synchronous dynamic RAM, 4GB eMMC internal memory only but no sd slot, MC13892 PMIC - atheros wifi 54mbit pci-e a e keyed wifi - ?? later models wm96103 audio codec - display has 2Mbit serial memory ic on ribbon cable with 4bpp inverse grayscale display not touchscreen - 3g module - screen replacement really annoying - 4 test points near T07 = TX RX GND ? - as of 2025, JB v0.13.N, MKK2014, MKK2025, KUAL, KoReader Legacy2025, and maybe later SS v0.47.N, Python 0.14.N, Fonts v5.16.N, USBNet v0.57.N - USB-downloader mode when Vol+ is pressed during startup - Shift + Alt + M for Minesweeper - |- | <!--Description-->Amazon Kindle 4th Generation k4 D01100 two buttons, square movement and two buttons at bottom *B00E plastic back clipped in [https://www.youtube.com/watch?v=LV1dyNkjjro many places] and strongly taped down to battery cover | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0005 | <!--Revision-->100 | <!--Access-->2gb unless jb with USB MS, USBMS aka also known as USB MSC or UMS | <!--Opinion-->{{unk|2012 once back off use Torx T5 to remove battery cover screws - battery glued down S2011-001-A 515-1058-01 DR-A015 MC-265360 - Freescale i.MX508 SOC, 2Gb eMMC storage, 256MiB of LPDDR1, MC13892 PMIC - vendor modified u-boot imximage based on u-boot v2009.08 - USB-downloader mode press the fiveway down button during startup resetmykindle - as of 2025 upgrade firmware from 4.1.x and to 4.1.4, sign into account and copy jb.1.8 bits, mkk-2014, mkk-2025, kual and then uninstall kual, koreader2025 - }} |- | <!--Description-->Kindle Touch WiFi (Kindle 5th Gen) D01200 K5, KT *Once signed into an Amazon Account get S/N under Settings -> Device Options *B00F Kindle Touch 3G + WiFi (Kindle 5) (U.S. and Canada) [Mostly] *B011 Kindle Touch WiFi (Kindle 5) *B010 Kindle Touch 3G + WiFi (Kindle 5) (Europe) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0006 | <!--Revision-->100 | <!--Access-->4gb unless jb | <!--Opinion-->{{unk|2013 touchscreen i.MX508 SOC, 256MiB of LPDDR1 and USB-downloader mode by the SOC microcode when a specific key is pressed during startup: the home button on model D01200 - update firmware 5.3.2 to 5.3.7.3, access account, }} |- | <!--Description-->Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] PW <pre> B024 Kindle PaperWhite WiFi B01B Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] B020 Kindle PaperWhite 3G + WiFi (Brazil) B01C Kindle PaperWhite 3G + WiFi (Canada) B01D Kindle PaperWhite 3G + WiFi (Europe) B01F Kindle PaperWhite 3G + WiFi (Japan) </pre> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0007 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk|2013 Freescale i.MX508 }} |- | <!--Description--> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0008 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle PaperWhite 2 (2013) PW2 *B0D4, 90D4 WiFi (U.S., Intl.) *B05A, 905A WiFi (Japan) *B0D5, 90D5 3G + WiFi (U.S.) [Mostly] *B0D6, 90D6 3G + WiFi (Canada] *B0D7, 90D7 3G + WiFi (Europe) *B0D8, 90D8 3G + WiFi (Russia) *B0F2, 90F2 3G + WiFi (Japan) *B017, 9017 WiFi (4GB) (U.S., Intl.) *B060, 9060 3G + WiFi (4GB) (Europe) *B062, 9062 3G + WiFi (4GB) (U.S.) [Mostly] *B05F, 905F 3G + WiFi (4GB) (Canada) *B061, 9061 3G + WiFi (4GB) (Brazil) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0009 | <!--Revision-->100 | <!--Access-->2gb or 4gb | <!--Opinion-->{{unk| PW2 uses Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Paperwhite 3 PW3 i.e. Kindle 7th gen *G090G1 (2015) WiFi *G090G2 (2015) 3G + WiFi (U.S.) [Mostly] *G090G4 (2015) 3G + WiFi (Mexico) *G090G5 (2015) 3G + WiFi (Europe, Australia) *G090G6 (2015) 3G + WiFi (Canada) *G090G7 (2015) 3G + WiFi (Japan) *G090KB (2015) WiFi *G090KC (2015) 3G + WiFi (Japan) *G090KE (2016) 3G + WiFi (International) White *G090KF (2016) 3G + WiFi (International) White *G090LK (2016) WiFi, 32GB (Japan) *G090LL (2016) WiFi, 32GB (Japan) White | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000A | <!--Revision-->100 | <!--Access-->4gb | <!--Opinion-->{{unk| ease up glued down front bezel rim panel gently, remove 11 screws underneath and lift screen up from bottom end - battery underneath - }} |- | <!--Description-->Kindle PaperWhite 4 (2018) PW4 *G000PP, G8S0PP WiFi, 8GB *G000T6, G8S0T6 WiFi, 32GB *G000T1 WiFi+4G, 32GB *G000T2 WiFi+4G, 32GB (Europe) *G00102 WiFi, 8GB (India) *G000T3 WiFi+4G, 32GB (Japan) *G0016T, G8S16T WiFi, 8GB Twilight Blue *G0016Q, G8S16Q WiFi, 32GB Twilight Blue *G0016U WiFi, 8GB Plum *G0016V, G8S16V WiFi, 8GB Sage *G00103 WiFi, 32GB (India) *G0016R WiFi, 32GB Plum *G0016S WiFi, 32GB Sage | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000B | <!--Revision-->100 | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Oasis 2 and 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| NXP i.MX7D }} |- | <!--Description-->Kindle Paperwhite 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8110 }} |- | <!--Description-->Kindle 11 Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8113 }} |- | <!--Description-->Kindle Paperwhite 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->16gb or 32gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle Paperwhite Gen 11 and 12 - Signature | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0 | <!--Revision--> | <!--Access-->16Gb or 32Gb | <!--Opinion-->{{unk|2024 account not blocked, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Modos-Labs Modos Labs] open source e-ink 60Hz 75Hz caster controller and glider monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xteink X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.xteink.com Xteink X4] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->2025 4.3in 220ppi no touchscreen so [https://www.youtube.com/watch?v=R7RuokaVauo buttons navigation] - 650mAh battery - micro-sd slot up to 512Gb covering epub, txt, and jpg in directories with [https://github.com/crosspoint-reader crosspoint reader] esp32 cpu custom rom firmware using [https://xteink.dve.al/ Flash website] on usb-c but no ecosystem store |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description-->Amazon D01400 Kindle Fire (1st Generation) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{No|2010 too old }} android 2.3 and touchscreen digitizer fails often, battery SWE P/N 1002000004742 Model KC1 (EU) QP01 (US) 16.28whr, ti 257epl9l omap 4430 with elpida 88164b3pf-10-f88164b3pf or hynix, mobo ??,, DAOKC1MB8F0 Rev F, ti aic3110 audio codec, |- | <!--Description-->Amazon Fire 7in X43260 X43Z60 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2012 untested FireOS Android 4 omap 4460 and PowerVR SGX540}} |- | <!--Description-->Amazon Kindle Fire HD (3rd Gen) P48WVB4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2013 untested }} |- | <!--Description-->Amazon *Amazon Fire HD10 (2015) *Amazon Fire HD8 (2015) *Amazon Fire HD7 (2015) (5th Generation) 7 inch 8GB SV98LN *Amazon Fire HD7 (2014) *Amazon Fire HD6 (2014) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|untested android 5.1 max}} |- | <!--Description--> *Amazon Fire 10 (2017) *Amazon Fire 8 (2017) 7th Gen 8 inch SX034OT *Amazon Fire 7 (2017) (7th Generation) 7 inch 16GB (SR043KL) *Amazon Kindle Fire 7 (7th Generation) 7 inch 8GB WIFI Tablet (SR043KL) *Amazon Fire HD8 (2016) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| Android 5.1 max 7in screen resolution of 1024 x 600, }} |- | <!--Description--> *Amazon Fire 10/10+ (2021) *Amazon Fire 8/8+ (2020) *Amazon Fire 10 (2019) *Amazon Fire 7 (2019) *Amazon Kindle Fire 7 9th Gen 16GB M8S26G *Amazon Fire 8 (2018) 8th Gen 8 inch 32GB L5S83A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 9 max}} |- | <!--Description-->Amazon *Amazon Fire HD 10 (2023) *Amazon Fire Max 11 (2023) *Amazon Fire 8 (2022) *Amazon Fire 7 (2022) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 11 max}} |- | <!--Description-->Amazon Kindle Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Amazon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Minimal Phone, Mudita Kompakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| eink }} |- | <!--Description-->Bigme B751C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2022 android untested }} |- | <!--Description-->Bigme B7 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Bigme B6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 android based color eink small - 300dpi b/w 150ppi color -}} |- | <!--Description-->Bigme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink }} |- | <!--Description-->Bigme Hibreak Pro, Hisense A9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->iFlyTech AINote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->iFlyTech AINote 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Meebook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Page Palma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2016 android untested }} |- | <!--Description-->Onyx Boox Leaf3C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go Color 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 untested 7in e-ink e-reader android tablet }} |- | <!--Description-->Onyx BooxTab Ultra X C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Note Max Air4 C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Leaf5C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Poke6S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go 10.3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox MC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| color e-ink 13.3in }} |- | <!--Description-->Onyx Boox Go 10.3 (Gen 2) Lumi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 b/w eink with front light, no EMR annd capacitance pen, }} |- | <!--Description-->Onyx Moaan Pantone 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->reMarkable 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2021 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2023 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable Paper Pro Move | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2024 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 untested but subscriptions needed for some features}} |- | <!--Description-->reMarkable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Supernote A5 X2 Manta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Supernote A6 X2 Nomad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 }} |- | <!--Description-->Supernote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Vision 2 3 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Epos2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viwoods AI Paper and AI Paper Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} ==printer.class - PostScript 3 and internal ghostscript drivers== As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes and since the general Joe Public finds postscript capable printer very expensive, postscript interpreters (eg ghostscript) have been developed aas a cheaper option which sit in between postscript data streams and non postscript (HP PCL?) printers. Set up Printer Prefs for Postscript and set the print to file option. Ghostscript has internal printer drivers gs -h and with something like gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps copytopar ram:tempfile It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file. gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf the ljet4 output device generates PCL also the pxlmono driver, which generates more generic PXL (PCL 6) gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl Printers supported by ghostscript...Explanation [http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u151.htm here] or [http://www.gnu.org/software/ghostscript/devices.html here] and [http://pages.cs.wisc.edu/~ghost/doc/printer.htm here] <pre> bit cljet5 ljet4d pjxl300 pxlcolor bitcmyk cljet5c ljetplus pkm pxlmono bitrgb deskjet nullpage pkmraw stp bj10e djet500 pbm pksm tiff12nc bj200 epswrite pbmraw pksmraw tiff24nc bjc600 faxg3 pcx16 png16 tiffcrle bjc800 faxg32d pcx24b png16m tiffg3 bmp16 faxg4 pcx256 png256 tiffg32d bmp16m ijs pcxcmyk pnggray tiffg4 bmp256 jpeg pcxgray pngmono tifflzw bmp32b jpeggray pcxmono pnm tiffpack bmpgray laserjet pdfwrite pnmraw uniprint bmpmono lj5gray pgm ppm x11 bmpsep1 lj5mono pgmraw ppmraw x11alpha bmpsep8 ljet2p pgnm psgray x11cmyk cdeskjet ljet3 pgnmraw psmono x11gray2 cdj550 ljet3d pj psrgb x11gray4 cdjcolor ljet4 pjxl pswrite x11mono cdjmono </pre> === Internal Ghostscript support === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | Canon BJ10e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Canon BJ200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested with Ghostscript drivers }} |- | Epson Stylus Color 600 parport inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - internal ghostscript support}} |- | <!--Description-->HP Deskjet 500 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | HP1220C/PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | HP 1700PS USB Inkjet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{yes|works - PS3 emulation only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->LJ-III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested HP PostScript Cartridge Plus (C2089A) a.. Press <ON LINE> (and take machine off line) b.. Press <Plus & Minus>, and while holding, press <ALT> and <RESET> together and watch the LCD and let go when the desired mode is displayed.}} |- | <!--Description-->HP Laserjet 4 4M 4MP (1992) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation HP 4 with optional ps cartridge - HP 4M and 4M+ built in}} |- | <!--Description-->HP Laserjet 4L Parport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 HP 4L only - no postscript}} |- | <!--Description-->HP Laserjet 5M (1995) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS2 emulation | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested you can try the ljet4 for the various lj5 drivers which produce various flavours of PCL. The 4, 4+ and 5 only really had one issue that plagued them, and it's hardly an issue at all. You would get accordian jams at the exit. A lot of people worked through this by pulling the sheet out before it got caught. Easily fixed by opening back door and scrubbing grime off of rubber rollers. }} |- | HP Laserjet 5L Parport (1997) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{N/A}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{no|PCL5 support only.}} |- | HP Laserjet 5P 6P (1995) (C3906A bk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested HP 5p, 6p - Less tiny, slightly less slow. They are pretty bullet proof for low volume best to get postscript module though }} |- | HP Laserjet 2100 2100N 2100TN (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested PS2 emulation }} |- | HP Laserjet 4000 Series Parport (1998) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|PS3 emulation only (4200 and 4600 have issues)}} |- | HP Laserjet 4050 Parport (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|works }} |- | HP Laserjet 5000 Parallel Port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|}} |- | HP LaserJet 6M, 1200, 1300, 2100, 2200, P2050 (and P2055) P3005, M3025, M3027, 3050, 3300, 4000, 4050, 4100, 4200, 4300, M4345, P3005, P3015, P4010, P4410, M5025, M5035, 5100, 5200, 8000, 8100, or 9000 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->PS3 emulation optional only | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{untested }} |- | <!--Description-->HP Color LaserJet 2550, 3700, 4650, 8500 and 8550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexmark Optra C, T, and W series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Xerox Phaser 850, 860 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Monochrome === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Postscript Support | GutenPrint Support | Hardware Issues | Running Costs | Opinion |- | <!--Description-->Brother HL-1270N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-3070CW Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|BR-Script3 (PS3) untested}} |- | <!--Description-->Brother HL5240 HL5240L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRScript (PostScript Level 2) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL-7050N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-7860DW Monochrome B/W BW | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script BRScript (PostScript Level 3) | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother HL4570CDWT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epson EPL-6200 Laser Printer USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-1370DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | HP LaserJet CP1515n USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|cheap to buy but untested - running cost unknown}} |- | <!--Description-->Lexmark Optra E312 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->built in? | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} === USB Color === {| class="wikitable sortable" width="90%" ! width="10%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Postscript Support ! width="10%" |GutenPrint Support ! width="20%" |Hardware Issues ! width="10%" |Running Costs ! width="20%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother hl-3075cw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BR-Script 3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Brother MFC-9120CN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->BRS3 | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->HP Color LaserJet 2500L (2003) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet 2550L 2550Ln (2004) USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | HP Color LaserJet CP1218, 2605, 3700, 4500, 4600, or 4650 series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{maybe|slow printing}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Konica Minolta Magicolour 4650EN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-1010 FS-1010N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Kyocera FS-C5200DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Kyocera Mita FS-1030D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kyocera FS-C5150DN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Lexmark C540n | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | Lexmark [http://www1.lexmark.com/products/view/Printers/Lexmark%20C780n/catId=cat10006-category&prodId=3907-product C780n] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->{{yes|works PS3 emulation only}} | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | OKI C3600 Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description-->Samsung CLP-315 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support-->untested | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | Xerox 618x Color Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Postscript Support--> | <!--GutenPrint Support--> | <!--Hardware Issues --> | <!--Running Costs --> | <!--Opinion-->{{N/A|untested }} |- |} See [http://www.irseesoft.de/tp_drive7.htm here] for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga, OS3.x support via [http://aminet.net/package/comm/tcp/NetPrinter NetPrinter] and [http://www.os4depot.net/index.php?function=browse&cat=driver/printer OS4 drivers] and [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33955&forum=27#622365 experiences]. usbparallel.device untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). Sticking to the same units is generally a good idea I think (and therefore this mechanism is also used with all other classes creating exec.devices). You may not send a short packet (packet less than maxpktsize == 64) nor zero byte packets until the very last byte of your printout. Otherwise the printer will silently ignore the data you sent. Some printer drivers print very short sequences that never fill the endpoint buffer, so printer ignore them. Bufferize all printer driver writes in the ieee1284.device and send them by epsize packets. So my hppsc2210 works fine with a classic HP560C driver, on a classic A2000 subwayized :) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Beige cream D shape centronics end (Prolific chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002v1 centronics end (chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002VEA v2 centronics end (Prolific PL2305L chipset) | | | | {{N/A|untested}} |- | DYNAMODE USB-C-PP-1284 USB to 36pin (Prolific 2305 chipset) | 0x067b | 0x2305 | 0x02 | {{N/A|untested but similar to BAFO below}} |- | IOGear GUC1284B | | | | {{N/A|untested}} |- | My-Link (raised ellipse on centronics plastic end) (unknown chipset) | | | | {{N/A|untested but more expensive }} |- | NEWLink (Prolific chipset?) | | | | {{N/A|untested}} |- | Targus PA096E centronics end (chipset?) | | | | {{N/A|untested}} |- | TRENDnet ware TU-P1284 | | | | {{N/A|untested}} |- | True PnP (Prolific chipset 2305) cheap 36pin Centronics (series of ridges along both short sides) | 0x067b | 0x2305 | 2.00 | {{N/A|untested on BAFO BF-1284 but reports of poor quality and lack of support on other OSs }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Transparent See Through Blue | | | | {{N/A|untested but possible poor quality build }} |- | Dynamode USB-PARALLEL 25pin female (prolific) | 0x067b | 0x2305 | 0x02 | {{N/A|untested}} |- | FDL USB to 25pin | | | | {{N/A|untested}} |- | PlusKom USB to 25pin female connector for printer (IEEE 1284) | | | | {{N/A|untested}} |- | QinHeng Electronics (CH340S chipset) | 0x1a86 | 0x7584 | | {{N/A|untested curvy sides - flat top }} |- | StarTech | | | | {{N/A|untested}} |- | Syba SD-USB-DB25 | | | | {{N/A|untested}} |- |} ==rawwrap.class - some old flatbed scanners supported== Scandal is the MUI frontend to [http://www.ppa.pl/bugtracker/ Betascan Bugtracker] and [http://aminet.net/search?query=betascan Search for Betascan scanner drivers] derived from [http://www.sane-project.org/sane-backends.html sane backends] [http://www.sane-project.org/sane-backends.html#S-EPSON2 Epson2] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Expression 1600 1640XL 1680 10000XL | 0x04b8 | 0x0107 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Prefection 1200U, 1200 Photo, | 0x04b8 | 0x0104 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 1240U | 0x04b8 | 0x010b | <!--Revision--> | <!--Opinion-->{{[https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=45760&forum=25 works]|Needs 24V 0.8A psu but in Trident, click on "Classes", then on "rawwrap.class", then on "Configure". There, under "Global", activate the Option "Bind to Vendor/Unknown Interfaces". Now go to the second tab "Default Interface" and select/enter these values: Default usbraw.device Unit: 0 Exclusive access: Yes Out NAK Timeout: 20000ms In NAK Timeout: 20000ms In Buffer Mode: No buffering Buffer Size: 36 KB Short Reads Terminate: Yes Now click on "Use as Default" and select "Devices" on the left. There, click on your scanner and click on "Class Scan". Now close Trident by clicking on "Save". }} |- | Perfection 1640SU Photo | 0x04b8 | 0x010a | 0x0104 | {{yes|works, even the transparency unit}} |- | Perfection 1650 Photo, 1660 Photo, 3200 Photo | 0x04b8 | 0x011c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 2400 Photo, 2450 Photo | 0x04b8 | 0x011b | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 4870 Photo, 4990 Photo, | 0x04b8 | 0x0128 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection V700 V750 Photo | 0x04b8 | 0x012c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus CX2800 2900 3200 3500 3600 3650 3700 3800 3900 Stylus CX4100 4200 3500 4600 4700 4800 4900 500 5100 5200 5300 5400 5900 | 0x04b8 | 0x0802 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus Office BX300F USB | 0x04b8 | 0x0848 | | {{yes| works with good scan quality}} |- |} [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx] scanners based on the Grandtech GT-6801 and GT-6816 "System-On-Chip" scanner chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Artec Ultima 2000 and e+, Trust Flat Scan USB 19200 (ePlus2k.usb / Gt680xfw.usb) | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Genius Colorpage Vivid3x 4x 1200x | 0x0458 | 0x2011 to 0x201f | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | <!--Description-->Lexmark X70 also X73 [http://subfusion.net/drivers/oslo3071b2.usb OSLO3071b2.usb] | <!--Vendor ID-->0x043d | <!--Product ID-->0x002d | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Medion/Lifetec/Tevion/Cytron MD/LT 9375 and Artec Ultima 2000, MD LT 9385 Gt680xfw.usb | <!--Vendor ID-->0x05d8 | <!--Product ID-->0x4002 | <!--Revision--> | <!--Opinion--> |- | BearPaw 2448 CS and TA Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A2Nfw.usb A2Nfw.usb] | 0x055f | 0x021a | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | Mustek BearPaw 1200 CS | 0x055f | 0x021e | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A1fw.usb A1fw.usb])}} |- | <!--Description-->Mustek 1200 CU Plus Scanner [http://www.meier-geinitz.de/sane/gt68xx-backend PS1Dfw.usb / SBSfw.usb] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2000 }} |- | Mustek ScanExpress 1200 UB plus, Trust Compact Scan USB 19200, ScanMagic 1200 UB Plus | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb])}} |- | Mustek ScanExpress 1248 UB aka PC-World PC Line PCL-3000 | 0x055f | 0x021f | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb SBSfw.usb])}} |- | Mustek BearPaw 2400CS TA aka Goodmans GSC 12/24 | 0x055f | 0x0218 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter untested) }} |- | BearPaw 2400 CS aka TA Plus | 0x055f | 0x0219 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter) }} |- | Packard Bell Diamond 1200 Plus | 0x055f | 0x021c or 0x021b | 0x0 | {{yes|works - [http://www.meier-geinitz.de/sane/gt68xx-backend/ firmware required] but slow usb 1.1 speed with poor quality output (scanner fault not scandal)}} |- | Packard Bell Diamond 2400 Plus aka BearPaw 2400 CU Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/ PS2Dfw2.usb firmware rename to PS2Dfw.usb] | 0x055f | 0x021d | 1.00 | {{yes|works slow usb 1.1 speed with ok quality output (scanner fault not scandal)}} |- | Plustek OpticPro 1248U | 0x07B3 | 0x0400 0x0401 | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | Plustek OpticSlim 2400 | 0x07b3 | 0x0422 | <!--Revision--> | <!--Opinion-->{{unk| (cis3R5B1.fw)}} |- | Visioneer OneTouch 7300 | 0x04a7 | 0x0444 | <!--Revision--> | <!--Opinion-->{{unk| (Cis3r5b1.fw)}} |- | <!--Description-->Mustek ScanEpress 1200 UB (Plus) clone [http://www.meier-geinitz.de/sane/ use mustek_usb backend] | <!--Vendor ID-->0x055f | <!--Product ID-->0x0006 | <!--Revision--> | <!--Opinion-->{{no| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Lexmark - needs testing {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Lexmark X1110 | | | | {{N/A|untested}} |- | Lexmark X1140 | | | | {{N/A|untested}} |- | Lexmark X1150 | | | | {{N/A|untested}} |- | Lexmark X1170 | | | | {{N/A|untested}} |- | Lexmark X1180 | | | | {{N/A|untested}} |- | Lexmark X1185 | 0x043d | 0x007c | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Lexmark X12xx | | | | {{N/A|untested in USB1.1, not fully tested in USB2.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dell A920 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} HP - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | HP ScanJet 4100C | 0x03f0 | 0x0101 | | {{no|no driver}} |- | HP ScanJet 5200C | 0x03f0 | 0x0401 | | {{no|no driver}} |- | HP ScanJet 62X0C | 0x03f0 | 0x0201 | | {{no|no driver}} |- | HP ScanJet 63X0C | 0x03f0 | 0x0601 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0102, 0x0105, 0x0205, 0x0305, 0x0405 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0705, 0x0805, 0x0901, 0x0a01 | | {{no|no driver}} |- | HP | 0x03f0 | 0x1205, 0x1305, 0x2005, 0x2205 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Plustek [http://www.sane-project.org/sane-backends.html#S-PLUSTEK LM983x] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Plustek OticPro U12 UT12 UT16 U24 UT24 | 0x07B3 | 0x0010 to 0x0017 | | {{no|no driver}} |- | KYE/Genius Colorpage HR6-V2 HR6A HR7 HR7LE HR6X | 0x0458 | 0x2008 to 0x2016 | | {{no|no driver}} |- | Hewlett-Packard ScanJet 2100C and 2200C | 0x03F0 | 0x0505 and 0x0605 | | {{no|no driver}} |- | Mustek BearPaw 1200 and 2400 | 0x0400 | 0x1000 and 0x1001 | | {{no|no driver}} |- | UMAX 3400/3450 and 5400 | 0x1606 | 0x0050, 0x0060 and 0x0160 | | {{no|no driver}} |- | Epson Perfection 1250 and 1260 | 0x04B8 | 0x010f and 0x011d | | {{no|no driver}} |- | CANON CanoScan N650/656U N1220U D660U N670/676U N1240U LIDE20 LIDE25 LIDE30 | 0x04A9 | 0x2206 to 0x2220 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} [http://snapscan.sourceforge.net/ SnapScan] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Acer Benq 310U, 320U, 340U | 0x4a5 | 0x0 | | {{no|no driver}} |- | Acer Benq 620U, 620UT, 640U, 640UT | 0x4a5 | 0x20 | | {{no|no driver}} |- | Acer Benq 1240 3300 4300 | 0x4a5 | 0x020 | | {{no|no driver}} |- | Agfa SnapScan e10 e20 e25 e26 e40 e42 e50 e52 | 0x06bd | 0x20 | | {{no|no driver}} |- | Epson Perfection 660 | 0x04b8 | 0x0114 | | {{no|no driver}} |- | Epson Perfection 1270 1670 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 2480 2580 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 3490 3590 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Mitsubishi | 0x0 | 0x0 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ==hub.class (self-powered and external ac powered hubs)== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Dynamode USB-H41 4 ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Belkin 4 Port | | | | {{yes|works}} |- | Conrad | | | | {{yes|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum] }} |- | DLink DUB-H4 AC Adapter | 0x05e3 | 0x0608 | High 0200 | {{maybe|WARNING Genesys Logic Hub Broken - Will cause failures with USB}} |- | [http://service.targa.co.uk/faq.php?lang_id=2&baseid=178&artdesc=SilverCrest+USB+Hub+2040&artid=760&artpic=silvercrestHUB2040.jpg SilverCrest 4-port slim USB 2.0 HUB - HUB2040 (40775) - Targa GmbH] | 0x05e3 | 0x0608 | 0901 | {{yes|works Genesys Logic, Inc., [http://service.targa.co.uk/dokumente/USB_HUB_2040_0109_manual_EN.pdf Manual]}} |- | Skymaster | 0x05e3 | 0x0605 | 060B | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | No Name active 4-port | 0x1a40 | 0x0101 | 0111 | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Thinkpad USB 3.0 Dock DU9019D1 | <!--Vendor ID-->0x17e9 | <!--Product ID-->0x4302 | <!--Revision-->0014 | <!--Opinion-->{{Maybe|works a bit}} classed as dfu.class with two further USB 2.0 hubs - USB 3.0 ports detected and work (2.0 backwards compatibility) - DisplayLink DL-3900 with VIA VL811 chipset - usb ethernet not working - two dvi not working - 20V psu 2a (40w) with a 5.5 - 2.5mm tip (no bus power) - data through a-b printer/scanner usb lead - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} ==Internet== ===rndis.class USB Tethering === The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported including smartfones. Before opening Network Prefs, activate USB Tethering on the Smartfon, on Network prefs, type in usbrndis.device and tick "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed. When restart AROS my Smartphone deactivates the connection and to access the network again, have to reactivate it before starting the browser. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Alcatel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | Huawei U8800 | 0x12d1 | 0x1039 | | {{yes|works}} |- | <!--Description-->Huawei | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | HTC (Android phone) | 0x0bb4 | 0x0ffe | | {{Yes|any android phone with usb tethering option}} |- | <!--Description-->Nokia | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Oppo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Samsung Galaxy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- |- | <!--Description-->iPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft winPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ===USB &rarr; ethernet lan adaptor=== *2002 playstation 2 usb1.1 era - a little support but very old and slow *2006 wii asix era - a little support but very much miss than hit *2026 usb0: or eth0: of CDC Ethernet protocol (cdcether) with Ethernet Control Model (ECM) and [https://www.usb.org/document-library/class-definitions-communication-devices-12 others like Wireless Mobile Communication Devices WMC] and later CDC EEM (Ethernet Emulation Model) and NCM (Network Control Model) are USB Communication Device Class (CDC) protocols packing more Ethernet traffic over every USB bundle. For CDC Ethernet - NCM is better than EEM is better than ECM * USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 poor speeds * USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88772 a little especially the 2010 apple version but buy many as very very poor odds of working one * USB3.0 Over 400 meg broadband (60+MBytes/s) - not supported at the moment SANA (Standard Amiga Network Architecture) to usb ADMtek Infineon ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="50%" |Opinion |- | 3Com 3c460b | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Abocom UFE1000 / Abocom DSB650TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Accton USB320-EC / Accton SpeedStream Ethernet | 0x083a | 0x0320 | <!--Revision--> | {{unk|2002 }} |- | AEI USB Fast Ethernet / Allied Telesyn AT-USB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2002 }} |- | ATEN UC-110T | 0x0557 | 0x4000 | | {{unk|2001 }} |- | BAFO USB To Ethernet Adapter BF-310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Belkin F5D5050 v1 1101 | 0x050D | | <!--Revision--> | {{maybe|2002 sometimes works from old amiga.org post which is now removed}} |- | Belkin F5D5050 v2 2101 | 0x050D | 0x0121 | <!--Revision--> | {{no|2006 does not works}} |- | Belkin F5U122-PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USB-100 / Billionton USBLP-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USBEL-100 / Billionton USBE-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Compex LinkPort/UE202A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-H3ETX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-650 / D-Link DSB-650TX / D-Link DSB-650TX-PNA | 0x2001 | 0x4000 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DU-E10 / D-Link DU-E100 | 0x2001 | | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Edimax USB Ethernet Adapter EU-4201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Elsa AG MicroLink USB2 Lan Ethernet adapter | 0x05cc | 0x3000 | <!--Revision-->1.01 | <!--Opinion-->{{unk| }} |- | GetNet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | GIGABYTE GN-BR402W Wireless Router | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goodway Fellowes USB UE-120 REV:V1 UE120 ADMTek 1011594 HO2419741 | <!--Vendor ID-->0x07a6 | <!--Product ID-->0x0986 | <!--Revision-->0001 | <!--Opinion-->{{maybe|2001 USB Specification 1.1 compliant}} |- | GWC Tech USB Ethernet Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hawking UF100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | HP HN210E / I/O DATA USB ETTX / Kingston KNU101TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Jinco USB Ethernet Adapter 10/100 Base-T UE-110 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Kouwell USB to Ethernet 588A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Linksys USB10T / TA / TX | 0x066b | 0x2202 | <!--Revision--> | <!--Opinion-->{{unk|untested - possible peg1/peg2}} |- | Linksys (Cisco) USB100TX / H1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitec LAN-TX/U1 H2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.mayflash.com/psps2/ps2024/ps2024.htm Mayflash PS2024] Playstation2 compatible clone of Proxim/Farallon NetLine? | 0x07a6 | 0x8511 | <!--Revision-->1.01 | <!--Opinion-->{{maybe|works with DHCP router option on old 32bit distros but not on newer 64bit, best to go asixeth apple 2010 but buy many of them as poor success rate i.e. a lottery}} |- | Netgear FA101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Philips CPWUE01/00 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Planet UE-9500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | PlayStation 2 SCPH-10000 50000 models | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Proxim (formerly Farallon) NetLine USB PN796-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Siemens SpeedStream USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SOHOware NUB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SMC EZNET-USB 2202USB/ETH / SMC 2206USB/ETH | 0x0707 | 0x0100 0x0200 0x0201 | <!--Revision--> | {{unk|untested but should work very well }} |- | Surecom EP-1427X 100/10M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Target USB to 10/100M Fast Ethernet Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Trendnet TU-ET100C | 0x07a6 | 0x8511 | <!--Revision-->0x0 | {{yes| sometimes works well, very stable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Digitus USB NIC DN-3016-A | 0x07a6 | 0x8513 | 1.01 | {{unk|untested new chipset }} |- | Digitus lanusb ADM8515 | 0x07a6 | 0x8515 | 1.01 | {{unk|untested because new chipset }} |- | VE285 usblan ADMtek 8515 | 0x07a6 | 0x8515 | 1.01 | {{no|not working as new chipset }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Davicom USB-100 see clone below | 0x0a46 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | [http://wiki.maemo.org/USB_to_ethernet_networking chinese translucent transparent crystal blue] but variants are also found in clear, white and black. Just over 6&nbsp;cm long. | 0x0a46 | 0x9601 | 0x0 | {{yes|2002 success can be sporadic so technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked. One case cracked open. }} |- | Corega FEther USB-TXC | 0x07aa | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dynamode USB-NIC-1427-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hirose USB-100 | 0x0a47 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | KY-RS9600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585358&postcount=12 works] }} |- | ShanTou ST268 USB NIC | 0x0a46 | 0x0268 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | ZT6688 USB NIC | 0x0a46 | 0x6688 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ICS Advent DM9601 USB 2.0 10/100M Ethenet Adaptor JP1081B | <!--Vendor ID-->0x0FE6 | <!--Product ID-->0x9700 | <!--Revision-->0101 | <!--Opinion-->{{No|not working 32bit and 64bit - USB 1.1 10M ethernet}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} MosChip MCS7830 (USB 2) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Digitus DN-10050 | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | Edimax [http://www.edimax.co.uk/images/Image/datasheet/USB/EU-4206/EU-4206.pdf EU-4206] | | | <!--Revision--> | <!--Opinion-->{{unk|2005 }} |- | Speed Dragon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | STLabs | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | StarTech Compact USB2105S [http://www.kustompcs.co.uk/acatalog/info_6790.html USB2106S] | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | Sunrich Technologies [http://www.st-lab.com/admin/upfile/UploadFile/manual/manual(u-250).zip U-250] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | Syba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MCS 7832 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2008 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} * USB2 [https://www.asix.com.tw/en/product/USBEthernet Asix Ethernet] AX88178A, AX88772C, AX88772B, AX88772A (wii), AX88172A * USB3 AX88179A, AX88179 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AirLink101 AGIGAUSB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 AX88172}} |- | ATEN UC210T | 0x0557 | 0x2009 | 0x | <!--Opinion-->{{unk| AX88172}} |- | <!--Description-->Billionton Systems USB2AR | <!--Vendor ID-->0x08dd | <!--Product ID-->0x90ff | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->Buffalo LUA-U2-KTX | <!--Vendor ID-->0x0411 | <!--Product ID-->0x003d | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->corega FEther USB2-TX | <!--Vendor ID-->0x07aa | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{no| }} |- | D-Link DUB-E100 up to rev A4 | 0x2001 | 0x1a00 | | <!--Opinion-->{{No| }} |- | <!--Description-->D-Link DUB-E100 rev B1 onwards | 0x07d1 or 0x2001 | 0x3c05 | <!--Revision--> | <!--Opinion-->{{Maybe|AX88172 works on Deneb with [http://amigax.com/2010/02/21/usb-ethernet-speed-test-amigaos-4-0-classic/ Amiga OS4 Classic] and [http://www.a1k.org/forum/showthread.php?t=11432 on a1k] }} |- | <!--Description-->goodway corp USB gwusb2e | <!--Vendor ID-->0x1631 | <!--Product ID-->0x6200 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hawking UF200 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[Linksys USB200M] | 0x077b | 0x2226 | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585601&postcount=20 works] }} |- | <!--Description-->Netgear FA120 | 0x0846 | 0x1040 | <!--Revision--> | <!--Opinion-->{{N/A|untested 2002 10/100 Rev.B1" is silkscreened on the board of the device populating this entry (S/N: FA12254CB100409, date code 0508). This device may be manuf. by [http://www.cameo.com.tw/ Cameo] "AX88172 L", "F05040157", and "ED3" Chip1 ASIX AX88172 Chip2 Realtek RTL8201BL}} |- | <!--Description-->Intellinet | 0x0b95 | 0x1720 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->JVC MP-PRX1 Port Replicator | <!--Vendor ID-->0x04f1 | <!--Product ID-->0x3008 | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->ST Lab USB Ethernet | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1720 | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter" | <!--Vendor ID-->0x6189 | <!--Product ID-->0x182d | <!--Revision-->0 | <!--Opinion-->{{No| }} |- | <!--Description-->Surecom EP-1427X-2 | <!--Vendor ID-->0x1189 | <!--Product ID-->0x0893 | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->TrendNet TU2-ET100 v2 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{Maybe|version 2}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->A-LINK NA1GU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 88772}} |- | <!--Description-->AirLink101 ASOHOUSB Wii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AirLive EtherWe-1000U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->APPLE AX88772 Model No. A1277 MC704LL/A P/N 825-7098-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{No|2008 usb2, }} |- | <!--Description-->APPLE Model No. A1277 (MB442Z/A 0885909217434) MC704ZM/A PN 825-7579-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{Maybe|2010 model, usb2 and controller AX88772 where prehaps 1in3 units working with owb - really poor odds i.e. a lottery, could be situation where various ethernet phy chipsets are used - press Use in network prefs after Save initial setup typing in usbasixeth.device, }} |- | <!--Description-->ASIX AX88772 bulbous casing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{maybe|2008 works on 32bit and 64bit though setup can take a few attempts but may have issues with phy ethernet chip changing, }} |- | <!--Description-->Datel Wii Lan Adapter DUS0204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->EdiMax EU-4207 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Goodway HE2230 Maplin ASIX 88772 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Intec LAN G5626 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0202 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0301 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Linksys USB200M Rev 2 | <!--Vendor ID-->0x13b1 | <!--Product ID-->0x0018 | <!--Revision--> | <!--Opinion-->{{maybe|2008 sparsely randomly working AX88772 or with "Sana-II Meter Tool 37.11" network monitoring program, showing continuous "Bad Packet" errors which could means "CRC" errors}} |- | <!--Description-->Linksys USB300M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{maybe|2009 AX88772 }} |- | <!--Description-->Mayflash W001 or clones Lupo/PEGA S-Wii-0680 light gray rectangular with third of one top 45 degree angled slope | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{unk| may have randomly changed phy ethernet chips, }} |- | <!--Description-->Max Value MVF00446 ASIN B006EG568A | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises as AX88772 sometimes works on 32bit and 64bit}} |- | <!--Description-->NEWLink N14050 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NEWLink Wii-ETH USB2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nintendo Wii LAN Adaptor 2110566 and clones | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{Maybe|Poseidon recognises as AX88772 with usbasixeth.device sometimes works seems different ethernet phy chips can be matched affecting compatibility}} |- | <!--Description-->Nyko Wii Net Connect 87024 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585624&postcount=22 works] }} |- | <!--Description-->0Q0 cable ethernet | <!--Vendor ID-->0x1557 | <!--Product ID-->0x7720 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB2-E100 (2009/2010) Bulbous housing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises it as ax88772A and typing in usbasixeth.device sometimes works}} |- | <!--Description-->Sabrent KINAMAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SpeedLink SL-3401-SGY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGreen 20254 USB2 to 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88772}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Afunta Apple-style White USB2.0 I/O Crest SY-ADA24005 ASIX Electronics Corp. AX88772A Fast Ethernet Adapter | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x | <!--Opinion-->{{no|usbasixeth.device accepted by network prefs but does not work}} |- | <!--Description-->Amazon Basics USB 2.0 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Digitus DN-10050-1 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x0 | <!--Opinion-->{{unk| }} |- | <!--Description-->Edimax EU-4230 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sabrent KINAMAX NT-USB20 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88772B USB 2.0 to 10/100M | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EdiMax EU-4208 | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x772b | <!--Revision-->0x | <!--Opinion-->{{No|Detected but not working}} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB2100 ASIX AX88772C | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772D AX88772D] | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772E AX88772E] | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->AX88178 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2004 }} |- | <!--Description-->Plugable USB2-E1000 i.e. USB 2.0 to Gigabit Ethernet 10/100/1000 LAN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 ASIX AX88178 Controller and Realtek RTL8211CL PHY}} |- | <!--Description-->AX88178A USB 2.0 to 10/100/1000M Gigabit Ethernet controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AmazonBasics USB3.0 adapter [https://github.com/nothingstopsme/AX88179_178A_Linux_Driver AX88179] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cable Matters SuperSpeed USB 3.0 RJ45 adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hori Nintendo Switch 1 USB3 ethernet AX88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2017 AX88179 not binding to asixeth.class }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2020 ASIX AX88179 not binding to class, USB 3.2 Gen1 to Gigabit Ethernet controller with integrated 10/100/1000Mbps Gigabit Ethernet PHY}} |- | <!--Description-->Plugable AX88179 = [https://plugable.com/products/usb3-e1000-deal USB3-E1000] before mid-2023 or USB3-E1000; AX88179A = USBC-E1000 after mid-2023 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 controller is AX88179 phy is ??, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTW ax88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no| AX88179 not binding to asixeth.class, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000NDS AX88179 USB-A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC301AU AX88179 USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC30B2 AX88179A USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB32000SPT AX88179A USB-c Rev 1 (AX88179) Rev 2 (AX88179A) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->USB32000SPT the Lot code sticker will have a bar code accompanied by a 10 digit number. The 5th and 6th digits of this lot code number would signify the revision. (Ex. xxxx02xxxx which would indicate rev. 2) |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SYBA SY-ADA24029 Gigabit AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} may depend on the PHY chip connected to the controller chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TP-Link UE306 AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® Orico UL677G 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® UL688G USB 3.0 10/100/1000 Base-T Ethernet port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->AX88179 178A |- | <!--Description-->Tecknet UL699G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v6 | <!--Vendor ID-->0x07b8 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|no support }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen 50922 USB3-A to 100/1000 dark grey rounded barrels | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{no| ax88179 not binding to asixeth.class, }} |- | <!--Description-->UGreen USB3-C to 100/1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen CR111 20256 usb3 a black plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88179}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 USBC-E1000 after mid-2023 i.e. AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTB | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| AX88179A USB-A, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==USB &rarr; SerialPort Converter== *2002 some support for early revisions of PL2303 *2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support *2025 FTDI 232R [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1135&highlight=232r&rowstart=20 work in progress] *2026 CDC-ACM i.e. Serial port over USB standard serialpl2303.class make sure you specify serialpl2303.device or Echo "Test" >SER1: {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | ATEN UC-232A | 0x0557 | 0x2008 | Full 0x0300 | {{N/A|untested}} |- | IOGear GUC232A | 0x0557 | 0x2008 | Full 0x0110 | {{N/A|untested}} |- | Alcatel | 0x11f7 | 0x02df | | {{N/A|untested}} |- | BAFO BF-810 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Belkin F5U103 | 0x | 0x | 0x0 | {{N/A|untested}} |- | Davibe SP611 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Dcu10 | 0x0731 | 0x0528 | | {{N/A|untested}} |- | Elcom | 0x056e | 0x5003 | | {{N/A|untested}} |- | IOData | 0x04bb | 0x0a03 | 0x0 | {{N/A|untested}} |- | Itegno | 0x0eba | 0x1080 | | {{N/A|untested}} |- | Nokia CA42 | | | | {{N/A|untested}} |- | Radioshack | 0x1453 | 0x4026 | | {{N/A|untested}} |- | Ratoc | 0x0584 | 0xb000 | | {{N/A|untested}} |- | Samsung | 0x04e8 | 0x8001 | | {{N/A|untested}} |- | Siemens DCA-510 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Sitecom CN104 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Sitecom CN116 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Some Cut Ma620 | 0x0df7 | 0x0620 | | {{N/A|untested}} |- | Speed Dragon Multimedia MS3303H | | | | {{N/A|untested}} |- | Syntech | | | | {{N/A|untested}} |- | <!--Description-->Tripp | 0x2478 | 0x2008 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Airlink101 AC-USBS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Belkin F5U103v | 0x067B | 0x2303 | 0x0 | {{no|no driver }} |- | Dynamode U232-P9 | 0x067B | 0x2303 | 300 | {{no| no driver [http://koti.mbnet.fi/lonnberg/pl2303x.html linux patch] and using lsusb -v -d 067b:2303 gave bMaxPacketSize as 64 - pl2303x }} |- | Konig CABLE-146/2 USB to RS232 | 0x067b | 0x2303 | 400 | {{no|no driver }} |- | MANHATTAN 205146 USB to Serial Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | Sabrent SBT-USC1M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Trendnet TU-59 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Unbranded black case and lead USB 232 Converter | <!--Vendor ID-->0x067B | <!--Product ID-->0x2303 | <!--Revision-->0300 | <!--Opinion-->{{No| }} |- |} [http://www.ftdichip.com/index.html Future Technology Devices International Ltd FTDI]-FT232R.class [https://ftdichip.com/software-examples/code-examples/c-builder/ FTProg src], [http://rtr.ca/ft232r/ ft232r src], [https://ftdichip.com/wp-content/uploads/2020/08/DS_FT232R.pdf FT232R datasheet], [], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID-->0x0403 | <!--Product ID-->0x6001 | <!--Revision--> | <!--Opinion-->{{no|no driver}} [https://www.youtube.com/watch?v=1GE-gKgHxZI beware of cheap clones fake with s/n A50285BI SN] |- | <!--Description-->Lynx Astro FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232R |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Sabrent CB-FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | {{no|no driver TTL-232R cables use FTDI's [http://n1mm.hamdocs.com/tiki-index.php?page=USB+Interface+Devices FT232RQ ic device] }} |- | <!--Description-->Startech.com 1 Port FTDI USB to Serial RS232 DB9M Adapter Cable with COM Retention ICUSB2321F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL Chipset |- | <!--Description-->StarTech.com 2 Port FTDI USB to Serial RS232 Adapter Cable ICUSB2322F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FTDI FT2232D Chipset |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL is the SSOP-28 and the FT232RQ is the QFN-32 package option |} [https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html ch341a.class] *I2C EEPROMS (3.3V and 5V) compatible and also SPI FLASH memories (3.3V devices) making sure 1.8V is covered *each having their own [https://winraid.level1techs.com/t/guide-how-to-use-a-ch341a-spi-programmer-flasher-with-pictures/33041 4x2 connection blocks] using [https://github.com/flashrom/flashrom flashrom] sudo flashrom --programmer ch341a_spi -r backup.bin sudo flashrom --programmer ch341a_spi -w <new bios name> {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Jiangsu QinHeng Ltd CH341A emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI) | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x5512 | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->QinHeng USB2.0-Serial HL-340 | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x7523 | <!--Revision-->0252 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |} ==simplemidi.class and CAMD== Currently support includes * simplemidi.class SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate a musical keyboard * camdusbmidi.class follows the rules of the m68k implementation of Commodore's CAMD midi specification and usb class compliant for * usb host like a computer * usb device controllers - keyboards, drum machines, djay turntables, grooveboxes, etc * interfaces - cables or boxes which convert usb to 5pin DIN plug midi What is needed is a fully class-compliant '''brand name''' USB MIDI keyboard, especially manufactured in the last 10 years are best *Arturia *Novation *M-Audio *Akai Plugging this in one of your USB ports, the camd.library will make the keyboard's MIDI IN/OUT ports available in the system. Then select the keyboard's MIDI IN port (known as a "cluster" in CAMD) for input, and the software instrument's cluster as output ShowCluster (shows midi ports available in and out) MidiWatch (usually port usbmidi.in.0 less often usbmidi.out.0) (Ctrl-C to end output stream) usbmidi.in.0 Message on channel 01, NoteOn 90 39 08 00 usbmidi.in.0 Message on channel 01, NoteOff 80 39 00 00 MidiThru (forwards messages from one port to another) run >nil: c:midithru usbmidi.out.0 usbmidi.out.2 MidiSendC (sends a middle C to a specific port) Midi Controller + Sound Module (together aka as a synth) -> Audio Output The difference between midi and midi over USB is that in old school Midi the transmitter transmits whenever it wants and the receiver always has to be prepared to receive data. Easy to do at the rate of a 1990's modem speed these days. USB over midi.. turns midi into a polled protocol.. So the USB host (typically the computer) has to ask "do you have anything for me" before the remote will send. If the USB host gets busy doing other things or there is a lot of things on the USB bus to get polled, you can get delays. For its age midi is still a great protocol for music * [https://www.usb.org/sites/default/files/midi10.pdf USBIF's "USB Device Class Definition for MIDI Devices" document, version 1.0 from Nov 1, 1999] * [https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf MIDI v2.0 from 2020 which AROS still needs, adds support for MIDI 2.0, MIDI-CI, and Universal MIDI Packet] Nearly all synthesizers now use the 16 MIDI channels available on a MIDI bus in one instrument alone, requiring multiple MIDI busses in a typical setup with more than one MIDI instrument. In addition, by handling multiple "virtual" cables, USB offers a solution to go beyond MIDI's 16-channel limit. MIDI data is transferred over USB using 32-bit USB-MIDI Event Packets. These packets provide an efficient method to transfer multiple MIDI streams with fixed length messages. The 32-bit USB-MIDI Event Packet allows multiple "virtual MIDI cables" routed over the same USB endpoint. This approach minimizes the number of required endpoints. It also makes parsing MIDI events easier by packetizing the separate bytes of a MIDI event into one parsed USB-MIDI event. {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Computer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{Yes|which acts as USB midi host to get all usb devices talking together}} |- | <!--Description-->Hobbytronics usb host standalone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->bomebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->raspberry pi with several midi interface(s) and linux scripting | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Kenton MIDI USB Host mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |} {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Acorn Instruments Masterkey 49 device | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested usb powered 5V regulated - similar keybed to keystation 49es but unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Akai SynthStation 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 - sticky rubber keys - usb |- | <!--Description-->Akai MPK Mini Laptop Production Keyboard | <!--Vendor ID-->0x09e8 | <!--Product ID-->0x007c | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and camd usb to use, not tested with apps}} | <!--Opinion-->2010 25 mini key self powered by mini USB lead - sustain port - no top left corner joystick - tested icaros 2.3 - |- | <!--Description-->Akai LPK25 LPK37 LPK49 Laptop Production Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2012 untested velocity sensitive mini keys with synth action - weak mini USB port - latency issues - |- | <!--Description-->Akai Professional APC Key 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 |- | <!--Description-->Akai MPK49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2012 untested 49 key 49-key full-sized, semi-weighted keyboard with aftertouch - |- | <!--Description-->AKAI Max25 MAX49 control keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2014 usb compliant |- | <!--Description-->Akai Professional MPK249 MPK261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 USB2 USB-b - full keys semi-weighted aftertouch - midi in out - sustain and peddle port |- | <!--Description-->Akai Professional Advance 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 |- | <!--Description-->Akai MPK Mini MKII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 untested USB2 USB-b midi connection only - 4 way thumb joystick top left - 25 tiny keys - velocity drum pads - plastic build quality - |- | <!--Description-->AKAI Professional APC Key 25 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| driver}} | <!--Opinion-->2017 |- | <!--Description-->Akai MPK Mini Play | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2021 untested USB2 USB-b midi connection only - synth basic samples - class compliant? - small led display top centre - 25 mini keys - press and hold the "Prog Select" button then use the "Program" knob to assign a MIDI channel - |- | <!--Description-->Akai MPK Mini 3 MKIII MK3 | <!--Vendor ID-->0x09E8 | <!--Product ID-->0x1049 | <!--Revision-->0200 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2021 USB2 USB-b midi controller connection no 5pin legacy - small led display top centre - 25 mini keys goofy uneven feel of the akai keyboards - press and hold the "Prog Select" button and press pad 1 to 8 to assign a MIDI channel - tested on AROS One 2.4 usb |- | <!--Description-->Akai Force / MPC One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Akai Pro MPK Mini Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2023 untested 37 mini keys - class compliant device - usb-b bus powered only with 5pin midi in and out - Shift and Global for Midi Ch - |- | <!--Description-->Akai Pro Ableton Push Mk 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Akai Professional MPC Key 37 49 61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2023 untested USB2 usb-b |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Alesis Photon PH-25 X25 Midi & USB keyboard/synth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2005 midi keyboard controller |- | <!--Description-->Alesis Q25 Q49 Q61 Q88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2014 untested |- | <!--Description-->Alesis Coda Pro Portable 88-Key Digital Piano USB MIDI Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 |- | <!--Description-->Alesis V25 V49 V61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 |- | <!--Description-->Alesis V Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VI49 VI61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VX49 VX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 1 5-pin MIDI input, 1 5-pin MIDI output, 1 USB port, |- | <!--Description-->Alesis Q25 Q49 Q61 Mk2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 |- | <!--Description-->Alesis Recital 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Alesis V25 V49 V61 MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 |- | <!--Description-->Alesis Qmini portable 32-key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->audiothingies MicroMonsta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested synth - |- | <!--Description-->audiothingies MicroMonsta 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 synth - |- | <!--Description-->Arturia Analog Experience “The Player” USB MIDI Master Keyboard Model APE25 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 usb-b bus powered - |- | <!--Description-->Arturia MiniLab Mk1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 maybe class complaint |- | <!--Description-->Arturia MiniLab MkII Mk2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 maybe class complaint |- | <!--Description-->Arturia Keystep 32 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2016 untested 32 mini keys usb compliant |- | <!--Description-->Arturia KeyLab 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2017 untested hammer-action Fatar keybed - reset Press and hold Oct + and Oct – buttons then insert the USB cable - |- | <!--Description-->Arturia MiniLab mkII | <!--Vendor ID-->0x1C75 | <!--Product ID-->0x2209 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2017 USB2 usb-b bus power - metal base heavier than most - Shift and press a key to select the MIDI Channel - To reset to original factory, unplug the USB cable, hold down the Oct- and Oct + buttons, plug the USB cable back in and continue to hold the buttons until the pads turn white - need software to change parameters like velocity sensitive assistance - |- | <!--Description-->Arturia KeyLab MK2 MKII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2017 untested hammer-action Fatar keybed |- | <!--Description-->Arturia MicroFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 hybrid digital/analog synthesis, |- | <!--Description-->[https://www.youtube.com/watch?v=PeYIAfn3UMs Arturia Minilab 3] [https://www.youtube.com/shorts/chj1WgMupGw ] [https://www.youtube.com/shorts/FMVdfhzg1Dw ] | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2020 untested usb-c bus powered - 25 mini keys semi - |- | <!--Description-->Arturia Keystep Pro | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Arturia MiniLab 3 Mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 maybe class complaint |- | <!--Description-->Arturia MiniFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 |- | <!--Description-->Arturia KeyLab Essential 49 61 88 mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested usb-c and 1 midi out - lack of aftertouch - |- | <!--Description-->Arturia AstroLab | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description-->Arturia KeyLab MK3 MKIII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 untested hammer-action Fatar keybed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer UMX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe|untested}} | <!--Opinion-->2007 |- | <!--Description-->Behringer U-Control UMX490 UMX610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 |- | <!--Description-->Behringer U-Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer Swing 32-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer MOTOR 49 - 49-Key USB/MIDI Master Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Creative EMU Xboard 25 E-MU X-Board 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2008 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->CME M-Key Mkey 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2008 stops sending MIDI on a regular basis. The simplest "fix" is to flip it off and on via the power switch at the back |- | <!--Description-->CME Ukey U-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2009 |- | <!--Description-->CME Xkey | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 low-profile aluminium full size pressure sensitive with polyphonic aftertouch but keys make too much noise and that they can be too sensitive to velocity - low power draw 25ma |- | <!--Description-->CME M-Key 49 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 simplified version of the U-key Mobiltone |- | <!--Description-->CME XKEY AIR 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 |- | <!--Description-->cme xkey 37 le | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Donner Spaceline DMK-25 Donnerdeal Rantion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Donner DMK25 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 25 mini velocity keys with limited aftertouch - usb-c powered - 8 drum pads - 3.5mm "midi out" socket - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Elektron Digitakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 expensive later midi usb class compliant with since 1.5 Update |- | <!--Description-->Elecktron Digitone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Digitone Keys 37-key Digital FM Synthesizer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 expensive |- | <!--Description-->Elektron Analog Four MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Octatrak MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->ESI keycontrol | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 49+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 25xt | <!--Vendor ID-->0x2702 | <!--Product ID-->0x2702 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and usb driver working}} | <!--Opinion-->2011 bus powered or 12v 0.5a dc in - metal base so heavy - midi out 5pin - sustain pedal port - modulation slider - rubber coated knobs becomes sticky - |- | <!--Description-->ESI keycontrol 49xt 61xt 88xt | <!--Vendor ID-->0x2702 | <!--Product ID--> | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected}} | <!--Opinion-->2011 12v 0.5a center pin +ve external psu required - USB i/o and 1 legacy 5pin out - full sized keys - heavy aluminium case keyboard metal base - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Evolution MK-125 MK-149 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2000 9v |- | <!--Description-->Evolution MK-225C MK-249C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 9v |- | <!--Description-->Evolution USB/Midi Controller MK-425C MK-449C MK-461C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|25, 49, 61 keys - }} | <!--Opinion-->2006 9V or 12V - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->IK Multimedia iRig Keys Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 37 full keys |- | <!--Description-->IK Multimedia iRig Keys Pro Mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 25 or 37 mini keys |- | <!--Description-->IK Multimedia iRig Keys 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 mini velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys 2 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 full velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Kawai VPC 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> weighted keys - heavy build - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Keith McMillen Instruments K-Board | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? each keypad makes them velocity, pressure, and location sensitive but not really suited for piano playing |- | <!--Description-->Keith McMillen BopPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Korg NanoKontrol 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->mini usb |- | <!--Description-->Korg Prophecy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->KORG microKONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2010 |- | <!--Description-->Korg microKEY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2011 velocity-sensitive Natural Touch keys but joystick is an alternative to the common pitch/modulation wheel design - power draw - |- | <!--Description-->Korg nanoKey nanoPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 |- | <!--Description-->Korg Taktile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg microKEY2 25 37 49 61 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|2015 untested}} | <!--Opinion-->2015 USB powered - semi weighted - |- | <!--Description-->Korg MiniList | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg MinKey nanoPad nanoPad 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg Nautilus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Kurzweil PC3 7 series - Artis 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->fatar TP-8 semi-weighted action |- | <!--Description-->Kurzweil PC1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Kurzweil PC3 A8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Line 6 Mobile keys 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 POD Studio KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 Tone Port KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Midiman (later M-Audio) Oxygen8 Ozone Ozonic 25 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|not class compliant - untested 5pin legacy }} | <!--Opinion-->2002 2004 untested - 25 full keys - slider/fader to left of lcd display - |- | <!--Description-->m-audio oxygen keystation (61 key) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 |- | <!--Description-->M-Audio eKeys 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 |- | <!--Description-->M-Audio Axiom 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 bus powered and 12v psu - if sliders/faders are on right - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Oxygen 8v2, 49, 61 (silver) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Keystation 37e 49e, 61e MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2006 - ok key action - |- | <!--Description-->M-Audio Keystation 37es 49se 61es, 88es MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 - |- | <!--Description-->M-Audio Oxygen 25/49/61/88 (blue) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 [https://m-audio.com/products/view/oxygen-25-legacy advised Class-compliant and GM/GM2/XG SysEx messages] with full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Axiom 25, 49, 61 (2nd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 semi-weighted mini keys - bus powered and 9v psu for 25/49 and 12v for 61 - if sliders/faders are on left - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Axiom Pro 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 poor construction |- | <!--Description-->MAudio Axiom AIR 25 M-Audio Axiom Air Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->M-Audio Oxygen 25 III (3rd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 untested - usb only - rubber keys sticky - |- | <!--Description-->MAudio Keyrig 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 - mini usb - plays a few notes and then stops responding randomly - try plugging it into port 1 or 2 on your pc - |- | <!--Description-->M-Audio Keystation 49 MK2 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 USB port and class compliant |- | <!--Description-->M-Audio Keystation 61 MK3 MKIII MIDI keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 usb compliant untested |- | <!--Description-->M-Audio Oxygen 25 IV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2016 choice |- | <!--Description-->M-Audio CTRL-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2017 |- | <!--Description-->M-Audio ProKeys 88, 88sx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 mini usb - some power or incompatibility issue with the native USB ports of the laptop, plugged in a passive USB 2.0 HUB (not USB 3.0, not powered) |- | <!--Description-->[https://www.youtube.com/watch?v=3328SvuJsLw M-Audio Oxygen25 MKV] | <!--Vendor ID-->0x0763 | <!--Product ID-->0x0001 | <!--Revision-->0023 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - midi in out untested}} | <!--Opinion-->2020 25 full size semi keys - USB2 usb-b but no 5pin classic plugs - channel select SHIFT button and CHANNEL on keybed - plastic build - holding down both the Octave + and - for factory reset - more limited in what you can do with it than IV 4th one - tested on AROS One 2.4 usb |- | <!--Description-->M-Audio Oxygen Pro 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 untested semi full keys |- | <!--Description-->M-Audio Oxygen Pro Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 32 smaller keys - not endless encoders - usb only - |- | <!--Description-->M-Audio Hammer 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog Minitaur | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-VAVE SMK-25mini 25key MIDI Control Keyboard Y6I0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Native Instruments NI Primus A25 JamMate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->Native Instruments Maschine MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 not compliant uses snd-usb-caiaq module, |- | <!--Description-->Native Instruments Komplete Kontrol S88 S61 S49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 - weighted keys - |- | <!--Description-->Native Instruments Maschine MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 maybe compliant, |- | <!--Description-->Native Instruments Maschine Micro Mikro MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe? |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 all MK2 MK3 power up the keyboard using USB, it will set the keyboards MIDI port to computer MIDI only without any option to set it to use the MIDI DIN, meaning you cannot connect the keyboard to hardware and power from USB, you MUST power with the power adapter and physically unplug from any USB connection - |- | <!--Description-->Native Instruments Komplete Kontrol A25 A49 A61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 maybe compliant, |- | <!--Description-->[https://github.com/sikorak666/maschine-mikro-mk3-driver Native Instruments Maschine Micro Mikro Plus MK3 MKIII] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Native Instruments Komplete Kontrol M32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 untested 32 smaller keys - no drum pads - USB only - |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkIII MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description-->NI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neusonik iBoard 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Impact LX25+ LX49+ LX61+ LX88+ SE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 budget full-size velocity-sensitive synth-action keyboard - |- | <!--Description-->Nektar Impact GX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB port - |- | <!--Description-->Nektar Panorama P4 P6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB & USB Micro B, 5-pin MIDI out, 2 x TRS inputs with 49 semi-weighted, velocity sensitive with aftertouch |- | <!--Description-->Nektar SE25 SE49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> mini keys - micro usb bus powered - velocity and sustain button |- | <!--Description-->Nektar Panorama P6 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Panorama T6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nord Stage 3 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> sysex |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation ReMote 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 lhs XY touchpad and the joystick - |- | <!--Description-->Novation LaunchKey 25 49 61 88 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 not USB class compliant |- | <!--Description-->Novation 49 61 SL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation ReMote 25SL 49SL 61SL soft label | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 - two long top liquid-crystal display LCD strips - XY touchpad and the joystick - |- | <!--Description-->Novation ReMOTE 25LE | <!--Vendor ID-->0x1235 | <!--Product ID-->0x0004 | <!--Revision-->0001 | <!--CAMD-->{{Yes|detected, usb driver in devs/midi for camd to use}} | <!--Opinion-->2007 USB-b powered, 9v center pin positive or 6 MN1500 AA batteries - X/Y touchpad and the combined pitch and modulation joystick - no aftertouch but can use both the legacy MIDI OUT and USB port simultaneously |- | <!--Description-->Novation Nocturn 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| }} | <!--Opinion-->2008 untested sending random pitchbend info |- | <!--Description-->Novation 49 61 SL MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation MiniNova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 |- | <!--Description-->Novation Impulse 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 velocity aftertouch‑sensitive semi-weighted keyboards and eight backlit pads - USB, 5-pin MIDI out - |- | <!--Description-->Novation Circuit Tracks / Rhythm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Novation LaunchKey 25 49 61 88 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 USB class compliant - full keys - |- | <!--Description-->Novation Launchpad Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested 8x8 buttons with 16 backlit |- | <!--Description-->Novation LaunchKey Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested - 25 soft mini keys - 2 rotary wheels lhs - |- | <!--Description-->Novation LaunchKey 25 37 49 61 88 MK3 MKIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 USB class compliant choice - full keys - |- | <!--Description-->Novation LaunchKey Mini MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 25 soft mini keys - 2 sliders lhs - |- | <!--Description-->Novation 61SL Mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Nymphes Dreadbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 6 voice analog synth |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Oberheim MC 2000 EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 88 keys fully weighted - very heavy - |- | <!--Description-->PreSonus ATOM SQ Hybrid MIDI Keyboard/Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[https://polyend.com/tracker/ Polyend Tracker] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Roland ED PC-300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 USB MIDI keyboard controller 49-key |- | <!--Description-->Roland EDIROL PCR-M30 PCR-M50 PCR-M80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol PCR-30 PCR-50 PCR-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 untested 32 key - |- | <!--Description-->Roland PC-50 PC-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- | <!--Description-->Roland PCR-500 PCR-800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 61 velocity-sensitive keys with aftertouch |- | <!--Description-->Roland A-88 a-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 USB port - weighted keys velocity no aftertouch - class compliant with press FUNCTION so it is lit. Press the key labelled "ADV.", Press the "+" button so it is lit - |- | <!--Description-->Roland PC-200 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 some had fatar keys |- | <!--Description-->Roland MC-707 Groovebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 |- | <!--Description-->Roland MC-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Roland A-500 A500Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland A-300 A300Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland JUNO DS, FA, Fantom, JUPITER X / Xm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 (be sure that USB driver is set to "Generic" - requires device rebooting) |- | <!--Description-->Roland A-88 a-49 MKii MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 expensive with USB-c port - hammer-action keyboard weighted keys - Class-compliant if USB-C enables bus power - MIDI 2.0 later - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ROLI Seaboard RISE 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Samson Graphite 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Samson Carbon 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Sequential TAKE 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK-161 and VMK-161 Plus Organ version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->TP-8O action is the unweighted, organ-style waterfall keybed - usb midi in out - 9v psu - |- | <!--Description-->Studiologic SL990XP midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK176 Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->USB and midi connectivity |- | <!--Description-->Studiologic SL880 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic SL73 SL88 Studio midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> hammer-action Fatar TP semi-weighted keys |- | <!--Description-->Studiologic Numa Organ 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 73 key TP-8O action is the unweighted, organ-style waterfall keybed used in nearly all clonewheels |- | <!--Description-->Studiologic Numacompact 2/2x, Numa X Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero CommandKey49 CommandKey25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SZ-MiniCommand Mini-Command USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SPC61 MIDI Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> bus powered - 5 octave |- | <!--Description-->SubZero ControlKey49S 49 Key Slim MIDI Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Synido TempoKey K25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 25 mini keys - usb-c powered |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Worlde Panda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha KX8 KX49 KX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2008 not compliant |- | <!--Description-->Yamaha CMC-PD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2010 |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 not class compliant |- | <!--Description-->Yamaha P45B P-45 Digital Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2011 not compliant |- | <!--Description-->Yamaha P-115 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested weighted keys - USB midi port |- | <!--Description-->Yamaha MX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 should compliant untested |- | <!--Description-->Yamaha Montage, CP73/88, YC, MODX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Yamaha PSR-E353, PSR-E443 PSR-S670, PSR-S770, PSR-S970, PSR-A3000, TYROS-5 NP-12, NP-32 DGX-650, DGX-660 P-105, P-115, P-255 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha MX49 II V2 Black Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->DJM V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> dj |- | <!--Description-->Native Instruments Kontrol DJ Pro midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> detected but untested |- | <!--Description-->Numark Mixtrack Pro II USB DJ Controller Djay | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->older generation pioneer DDJ-SX2 dj | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Alyseum AL-22 AL22c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum AL-88 Schneidersladen AL88c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum U3-88c Midi Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no CopperLan support Midi network using a UTP Ethernet patch cable) |- | <!--Description-->Behringer BCF2000 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->[http://www.behringer.com/EN/home.aspx Behringer] BCR2000 1in 2out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer B-CONTROL DEEJAY BCD3000 DJ Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer UMD404 UMD202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Creative EMU 0404/USB midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 |- | <!--Description-->DigiDesign / Focusrite Command 8 Control Surface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 supports MIDI continuous controller (CC) and note data. SysEx dumping and loading is also supported |- | <!--Description-->Digidesign Digi 002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 firewire only |- | <!--Description-->Digidesign Digi 003 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 firewire only |- | <!--Description-->emagic m4 2x4 AMT8 Unitor 8 Mk2 8x8 | <!--Vendor ID-->0x00d0 | <!--Product ID--> | <!--Revision-->0x010 0x0103 | <!--CAMD-->{{No| }} | <!--Opinion-->2000 offers MTS (Midi Time Stamping) - 12v 2a psu centre pos - usb mini with rs232 and rs422 serial ports - 16 channels (8-in / 8-out), this rack-mountable unit - |- | <!--Description-->Evolution U-Control UC-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| detected}} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Guillemot Maxi Studio ISIS Vintage Sound Card MIDI Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->1998 |- | <!--Description-->[http://www.ucapps.de/mbhp_usb.html MidiBox] Hardware Platform USB Module | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2001 |- | <!--Description-->Mackie Control Universal Pro XT with One Two Extenders | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->M-Audio Audiophile USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 not compliant, |- | <!--Description-->M-Audio Midisport UNO old version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio MidiMan 1x1 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 [http://sourceforge.net/projects/linux-hotplug/ firmware update] |- | <!--Description-->M-Audio Midisport 2x2 yellowy green blue, green or silver chassis plastic box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|MIDISPORT 2x2 or 4x4 interfaces from previous production series (blue, green or silver chassis) are not class-compliant}} | <!--Opinion-->2004 |- | <!--Description-->MAudio Audiosport Quattro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2004 not usb compliant as [http://usb-midi-fw.sourceforge.net/ firmware required and that is buggy], |- | <!--Description-->M-Audio UC-33 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio Midisport 1x1 2x2 4x4 Anniversary Edition, black box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 maybe class compliant, |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->[http://www.amiga.org/forums/showthread.php?t=52920 Mark of the Unicorn Motu Fastlane] 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|[http://www.amiga.org/forums/showpost.php?p=560852&postcount=8 not working on OS4]}} | <!--Opinion--> not class compliant, |- | <!--Description-->Motu Micro Lite 1x1 and MOTU microlite 5x5 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> good unit but poor just plug in support and not class compliant - USB2 usb-b - |- | <!--Description-->Motu MIDI Express 128 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->poor support serial port only - offers MTS (Midi Time Stamping) A serial port based MIDI interface or a USB interface without MTS will have a MIDI slop of up to 2ms on record and playback. MTS provides accuracy for record and playback to around .3ms - five times more accurate than serial or non-MTS." |- | <!--Description-->MOTU.com MIDI Express XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2008 for many USB should have octocoupled connection to reduce groundloop humm, usually the timing is off |- | <!--Description-->MOTU MIDI Timepiece AV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> not class compliant is one of the best multi-port MIDI interfaces ever made as USB model connects to the computer as an 8x16 interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Native Instruments GmbH Audio 8 DJ, 4 DJ, 2 DJ | <!--Vendor ID-->0x17CC | <!--Product ID-->0x | <!--Revision--> | <!--CAMD-->{{no|needs dedicated driver}} | <!--Opinion-->2006 not class compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Qcon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Roland Edirol UA-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|did not match to camdusbmidi.class USB audio midi with onboard DSP}} | <!--Opinion-->1998 |- | <!--Description-->Roland Corp Edirol UM-2 | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0005 | <!--Revision-->0200 | <!--CAMD-->{{no|is not bound via camdusbmidi.class }} | <!--Opinion-->1999 not bound to any midi class - 2x2 - tested Aros One USb 2.4 |- | <!--Description-->Roland Edirol UA-100G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->1999 USB audio midi with onboard DSP |- | <!--Description-->Roland Edirol UM-880 8x8 midi interface | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2000 under poseidon but could work with run >nil: c:midithru out.0 "EDIROL UM-880.out.2" |- | <!--Description-->Roland Edirol UM-1 blue plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| bound??? via camdusbmidi.class - untested midi in out}} | <!--Opinion-->2000 UM-1 - 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 |- | <!--Description-->Roland Edirol UM550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1X midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1SX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0052 | <!--Revision-->0200 | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-2C - 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-1G 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->Roland Edirol Cakewalk UM-2G 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->[https://github.com/spotify/linux/blob/master/sound/usb/usbquirks.h Roland Edirol UA20 UA-20] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2004 |- | <!--Description-->Roland UM-1EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol UM-2EX 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 adds a second MIDI OUT |- | <!--Description-->Roland Cakewalk UM-3G - 3x3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Roland Cakewalk ua-25excw 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2009 not class compliant mode |- | <!--Description-->[https://alsa.opensrc.org/Edirol_UA-25EX Roland Edirol UA55 UA-55 Cakewalk UA25 EX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2011 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus B2M Bass MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus G2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg CMC Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Subzero SZ-MB44 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Swisssonic MIDI1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2012 AmigaOS there is no output at midichannel one and two but if play a midi file there is only output on some channels and if pressed stop the prog freezes or the whole system crashes |- | <!--Description-->Teac Tascam US-428 US-422 midi interface | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> 2000 not compatible |- | <!--Description-->Teac Tascam [http://web.archive.org/web/*/http://www.tascam.com/Products/US-224.html US-224] | <!--Vendor ID-->0x1604 | <!--Product ID-->0x8004 | <!--Revision-->0100 | <!--CAMD-->{{No| }} | <!--Opinion--> 2002 does not bind to any class |- | <!--Description-->Teac Corp Tascam US-1x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 |- | <!--Description-->Teac Tascam US-122 MKII midi interface | <!--Vendor ID-->0x0644 | <!--Product ID-->0x8021 | <!--Revision-->0100 | <!--CAMD-->{{No|not detected / binding to camdusbmidi.class on AROS 2.4 usb }} | <!--Opinion-->2004 detected but not working 2-in/2-out USB two XLR microphone preamps with phantom power for condenser microphones |- | <!--Description-->Teac Tascam US-200 US-400 US-600 US-800 US-1200 US-1800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 may not be totally usb compliant |- | <!--Description-->Yamaha UX-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Akai EIE and Pro version midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 dc 6v power - 3 USB hubs, midi in out , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alesis I/O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2007 powered USB hub required, not compliant |- | <!--Description-->Alesis IO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 usb compliant? |- | <!--Description-->Alesis IO4 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->Behringer XTouch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> psu needed |- | <!--Description-->Behringer X-Touch Compact | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant? |- | <!--Description-->Behringer X-Touch Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant?, usb to 5pin midi interface |- | <!--Description-->Behringer U-Phoria UMD404HD UMD202HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 maybe class compliant - volume low, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->CME U2 MIDI Pro 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> current model |- | Creative EMU XMIDI 1X1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 early versions with sysex checksum errors |- | <!--Description-->Creative E-MU Xmidi 1x1 Tab (V3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 tab version class compliant but report that when transferring 'System Exclusive' messages (SysEx) the unit could not handle the highest data rate leading to data corruption |- | Creative EMU XMIDI 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 sysex errors |- | <!--Description-->Digidesign Mbox 2 Mini now Avid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 USB powered but not compliant |- | <!--Description-->Digidesign Mbox II Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 USB powered but not compliant |- | <!--Description-->Engl Z7 MIDI Interface (E660/E610/E360/E930) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitar? |- | <!--Description-->Elektron TurboMidi TM-1 1in 1out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U 4x4 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->supposedly class compliant - USB bus powered - |- | <!--Description-->ESI MidiTerminal M8U 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U XL 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> ploytec chipset |- | <!--Description-->ESI MidiTerminal M8U XL 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no hardware routing e.g. x on input 5 to synth y on output 7 - ploytec chipset |- | <!--Description-->ESI MidiMate 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->ESI MidiMate II 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI ROM I/O | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2005 romio version |- | <!--Description-->ESI M4U XT | <!--Vendor ID-->0x2573 | <!--Product ID-->0x0002 | <!--Revision-->0100 | <!--CAMD-->{{Maybe|is bound via camdusbmidi.class AROS One 2.4 - untested midi in out}} | <!--Opinion-->2010 - |- | <!--Description-->ESI M8U XT 8in 8out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 discontinued 2018 |- | <!--Description-->ESI M8UEX USB3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI M4U eX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI MidiMate eX midi interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 curent model, well liked and might class compliant?? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->icon midiport 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iCON CubeMi 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? |- | <!--Description-->iConnectivity | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iConnectivity mio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 class compliant but reported issues with sending System Exclusive (SysEx) MIDI messages and MIDI signals getting cut off |- | <!--Description--> iConnectMidi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->iCM2 iCM4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->iConnectivity iConnectMIDI4+ L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 class compliant?? |- | <!--Description-->iConnectivity MioXL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->IK Multimedia iRig MIDI 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant |- | <!--Description-->iRig Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Electronics pro solo mk2 midi to cv converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Midi Thru-25 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Keytech MT18E 8 Way Midi Thru box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 9 to 12v psu required |- | <!--Description-->MidiPlus Midi 2x2 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiPlus Midi 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->MidiTech MIT-00151 Midiface 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiTech Midiface 4x4 8x8 16x16 thru merge | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Miditech Midilink mini 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->M-Audio Midisport UNO only if box is labeled Class Compliant and latest MIDISPORT 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 not usb compliant, - |- | <!--Description-->M-Audio Midiman Midisport 2x2 Anniversary Edition [https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1133862-why-there-hardly-any-midi-interfaces.html not stable enough] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 USB2 usb-b - does not need firmware and supposedly plug and play - |- | <!--Description-->M-Audio Midisport 4x4 Anniversary Edition | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> rumored does not need firmware - supposedly plug and play - issues with its firmware for some and lacks configurable routing |- | <!--Description-->Maudio Fast Track Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Native Instruments Komplete Audio 6 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 maybe usb compliant but bus powered, |- | <!--Description-->Nektar Midiflex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 class compliant and usb-b powered - used as a 1 in / 3 out, 2 in / 2 out or 4 out 5pin sockets - |- | <!--Description-->Neusonik IM-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Peavey Xport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitars only |- | <!--Description-->Roland UM-ONE UM-1 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 USB class compliant if switch to TAB for class compliant mode rather than the COMPUTER mode |- | <!--Description-->Squarp Hermid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg Midex 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? supporting MIDI Time Stamping protocol |- | <!--Description-->Swissonic MidiConnect 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Tapco LiNK.midi USB 4x4 (Loud technologies) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|dedicated driver}} | <!--Opinion-->2005 |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion--> 2014 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Zoom U-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description-->Unbranded cable | 0x552d | 0x4348 | F110 | <!--CAMD-->{{Maybe|detected but no usb driver in devs/midi for camd to use}} | <!--Opinion-->detected but not working the USB-MIDI conversion functionality of the cheapo USB MIDI "cable" interface is simply lacking, possibly being incapable of handling MIDI strings longer than 3 bytes long SysEx strings (e.g. SysEx dumps) - tested in Icaros 2.3 - |- | <!--Description-->USB2.0-MIDI Unbranded cable with clear braided underneath leads | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x752D | <!--Revision-->0254 | <!--CAMD-->{{Maybe|detected binding to camdusbmidi.class but untested midi in / out}} | <!--Opinion-->untested but better to get a branded version - tested AROS One 2.4 usb |- | <!--Description-->LogiLink USB to Midi In-Out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|}} | <!--Opinion-->untested cheap cable version but issues with latency on other systems |- | <!--Description--> gm5 USB midi chip DIY option only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Doremidi LEKATO MIDI USB C Interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Thomann Midi USB 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> Prodipe made |- | <!--Description-->Prodipe MIDI 1i/1o | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} Classic 5pin DIN controllers for above interfaces {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Akai s5000 s6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi digital samplers |- | <!--Description-->Akai AX80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-3000 CZ-1000 CZ-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Cheetah MS6 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2000 multi-timbral, six-voice (twelve-oscillator), analogue synthesiser module is loaded with CEM 3396s |- | <!--Description-->Ensoniq ESQ1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Integra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Wavestation Ex A/D SR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1986 ex has piano and drum sounds |- | <!--Description-->Korg DW-8000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg DW-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Poly 800 MK1 Poly-800ii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> all plastic and can run on batteries - 49 keys non-velocity dco synt analogue filter |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland D-50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1987 untested greater concern would be moisture and wear}} |- | <!--Description-->Roland A50 (76) A80 (88) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1989 untested}} |- | <!--Description-->ROLAND JUNO-D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland Juno 106 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->80s kx73 or kx88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland ED PC-160A PC-180A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} legacy DIN5 MIDI port only - 6 AA batteries or 9v psu - One regular source of failure for me were emty batteries (even with red control light still active). Another source was a bad MIDI cable - unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description-->Roland M1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland S-550 S-760 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> digital samplers kontakt replaced these? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha DX7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1983 12bit |- | <!--Description-->Yamaha DX7S DX72IID DX7IIFD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1987 16bit versions |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- |} The MIDI standard was published in August 1983. The inventors, Kakehashi and Smith finally received a Technical Grammy Award in 2013 for their work. The MIDI files that contained just the note data, velocity and timing meant you could transfer an entire studio session from one place to another on one floppy disk and it could control all the synths and drum samplers. Pass-thru meant that one computer could run an entire bands worth of instruments. It's bulletproof too. MIDI never goes wrong, it's always a bug in software that causes any issue - you can absolutely rely on it to go gigging with, take your synths, controllers and computers and not crash an entire gig at your 100,000 person venue. The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work. The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in. The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times. For midi, the hardware/software combination at various connection points handles the translation to/from midi (or other protocols). Drivers would be needed for midi, including clock and SysEx signal (actually claiming to handle ALL midi quirks transparently All the important MIDI data types can be sent (CC, NRPN, RPN, MMC, Note On/Off, program change) There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues. Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late. Ethernet network cable to transport MIDI over large distances, connect 2 MIDI In and 2 MIDI Out ports to patch, remap, filter and merge MIDI flows on a fine channel basis for tight MIDI throughput, latency and jitter Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info. Preemptible, low latency and accuracy are essential for good communication. One of the first things you need to do, is make sure your MIDI software sets the interface to the same MIDI channel as your keyboard (usually 1) Do you want to send just your master keyboard to other synths or to be able to use any keyboard with any synth? 1st option is relatively simple. Just need to send midi from your master keyboard into a midi splitter that redistributes the signal onto your synths. Each synth will be set up to receive midi on a specific channel so the only challenge is to find a way to select to which channel you are sending midi. Some master keyboards can do that although not many that have a dedicated knob or switch on the panel and most require a bit of menu diving. Could use a midi box that offers channel selection but usually this is not very workflow friendly. The software route would require using the mouse. 2nd option is a bit more complex but superior workflow by sending midi messages into a merge box, from there into a hardware sequencer that allows to select midi channel, then on to a midi interface that distributes the signal to the synths. Master keyboard MIDI-in to computer. External hardware sampler MIDI-out from computer. Audio-out from sampler to audio-in on computer/device. Blue Ribbon Soundworks Bars & Pipes Professional (1993/4) GM (1984), GS (1987), XG level 1-3 (1994-1997), GM level 2 (1999) GM GM1 imposes several requirements beyond the MIDI 1.0 specification. While MIDI 1.0 by itself provides a communication protocol which ensures that different instruments can interoperate at a fundamental level e.g sound modules. GM goes further in two ways. First, GM requires that all compliant MIDI instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony). Second, GM attaches specific interpretations to many parameters and control messages which were left unspecified in the MIDI 1.0 specification. A minimum of 128 MIDI Program Numbers (conforming to the GM 1 Instrument Patch Map) and 47 percussion sounds (conforming to the GM 1 Percussion Key Map). Support for controller number 1, 7, 10, 11, 64, 100, 101, 121 and 123; support for channel pressure and pitch bend controllers. General MIDI Level 2 or GM2 is a specification for synthesizers which defines several requirements beyond the MIDI standard and is based on General MIDI (GM) and Roland GS extensions. It was adopted in 1999 by the MIDI Manufacturers Association (MMA). * Number of Notes: 32 simultaneous notes * MIDI Channels: 16 * Simultaneous Melodic Instruments – up to 16 (all Channels) * Simultaneous Percussion Kits – up to 2 (Channel 10/11) Program and bank change events General MIDI 2 compatible synthesizers access all of the 256 instruments by setting cc#0 (Bank Select MSB) to 121 and using cc#32 (Bank Select LSB) to select the variation bank before a Program Change. Variation bank 0 contains the full GM (General MIDI 1) sound set. Variations using other bank numbers are new to General MIDI 2, and correspond to variation sounds introduced in Roland GS. [https://www.youtube.com/watch?v=CluuHrr7HG4 Major WWHWWWH, Minor WHWWHWW scale], [https://www.youtube.com/watch?v=Jjm7Ti-iwz0 Chords], ==usb audio== AROS currently does not support natively any USB audio interface for recording audio USB audio is only available for limited Amiga like OSs, independent of the USB protocol version USB1.x USB2, USB3.x, which are not backwards compatible. *Introduced 2000 and from 2014 USB Audio 1 UAC1 16bit 44.1kHz *Introduced 2006 and from 2014 USB Audio 2 [https://www.usb.org/document-library/usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through-april UAC2] 24bit 192kHz *Introduced 2016 and from 2024 USB Audio 3 [https://www.usb.org/documents UAC3] 32bit 384kHz USB group decided to rewrite the audio standard, so [https://os4depot.net/?function=showfile&file=audio/record/usbaudio2.lha UAC2] and [https://archive.fosdem.org/2019/schedule/event/linux_and_usb_audio_class_3/attachments/slides/3345/export/events/attachments/linux_and_usb_audio_class_3/slides/3345/Linux_and_USB_Audio_Class_3___FOSDEM_2019.pdf UAC3]. They added clock selection and control, timing domains and others. Part of the changes included changing many of the descriptors that an audio device uses to describe itself to the machine. PsdErrorlog/PsdDevlister? The AHI driver generated only supports mono/stereo at any bit rates between 8 and 32 bit per sample, but not multichannel modes and only rates up to 65KHz (because AHI uses a 16-bit word for frequencies). If the soundcard does not offer such a PCM 8-32 bit mode at frequencies lower than 65 KHz, there's nothing much that can be done about it on the computer side other than revising and expanding the AHI standard. Most cheap USB soundcards do though. AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI. Untested but most likely to work, at least 2 mic inputs (low impedance) & instruments (high impedance) and made in the last 10 years *[https://www.youtube.com/watch?v=gMuA-2FbJxE Entry level <100Euro] BOMGE U202, Behringer UMC, Presonus Studio, *[ Next tier <200Euro] Audient iD, Solid SSL2 and SSL2+, Lewitt, Focusrite Scarlett, Arturia MiniFuse, *[ Prosumer <300Euro] Focusrite Clarett+, *[ Professional <500Euro] RME Babyface, *[ Studio >500Euros] Bands may need 4 or more mic inputs [http://forum.xda-developers.com/showthread.php?p=38364030 XDA Forum thread], <pre> <- Computer <- Mobile Phone / Tablet (OTG) <- Digital Cameras <- Video <- Webcams Base Computer <-> OBS like <- Audio Mixer <- Microphone(s) -> Internet -> Youtube & Chat </pre> USB AUDIO CARDS - UAC Compliant {| class="wikitable sortable" width="90%" ! width="20%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Records ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Antelope Galaxy 64 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant and a high-end 64-channel AD/DA converter HDX, Dante connectivity and a Thunderbolt Audio interface |- | <!--Description-->Antelope Galaxy 32 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->may not be compliant as Antelope Audio does not provide official drivers, control software, or an Antelope Launcher |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Arturia Mini Fuse 1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant, okay pre amp 1 combi input, cirrus logic cs4272 ad converter, |- | <!--Description-->Arturia MiniFuse 2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant usb-c with usb2.0, okay pre amps with good dynamic range 110dB, cirrus logic cs4272 ad converter, two combi inputs for mic, line or guitar, |- | <!--Description-->Arturia MiniFuse 4 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, okay 110dB dynamic range, -129dB EIN, |- | <!--Description-->Arturia AudioFuse 16Rig | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audient iD44 mk1 mki | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2018 maybe usb compliant, good, |- | <!--Description-->Audient evo4 EVO8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, |- | <!--Description-->Audient iD4 mk2 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, |- | <!--Description-->Audient id14 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description-->Audient iD24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant and usb-c bus powered, good, , 0-in/14-out audio interface with ADAT expandability, balanced inserts |- | <!--Description-->Audient iD44 Mk2 Mkii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer U-PHORIA UMC22 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer U-PHORIA UMC202HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps ein -129 dBu, 24bit ADC, |- | <!--Description-->Behringer U-PHORIA UMC404HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps, 24bit adc, |- | <!--Description-->Behringer U-PHORIA UMC204HD 192 Empower Tribe | <!--Vendor ID-->0x1397 | <!--Product ID-->0x0508 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer UMC1820 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2016, bus complaint?, okay midas pre amps, adc, |- | <!--Description-->Behringer U-PHORIA UM2 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, poor zenyx pre-amps with high noise floor, plastic build no rf shielding, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, , , midi, strictly NEC USB 2.0, |- | <!--Description-->Focusrite Scarlett 8i6 Gen 1 MOSC0001 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, but |- | <!--Description-->Focusrite Scarlett 2i2 Gen 1 MOSC0003 *TP1 - 3.3V, tested ok *TP2 - U4 control signal, 3.3V present at all time. *TP4 - Ground *TP6 - 48V, tested ok *TP7 - Ground *TP8 - Ground | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 usually avoid early Gen 1, |- | <!--Description-->[https://khronscave.blogspot.com/2021/08/75-focusrite-scarlett-2i4-1st-gen.html Focusrite Scarlet 2i4 Gen 1 (slide toggles) MOSC0004] *TP1 - 3.3V, tested 3.22v *TP2 - U4 control signal, 3.3V present *TP4 - Ground *TP6 - measure 47.72v * AKM 4384ET (VDD 5v) * Cirrus Logic CS4272-CZZ (VA 4.94v/ VD 3.2v/ VL 3.2v) * all four HC4066 (VCC 4.96v) * XMOS XS1-L01A-TQ128-C5 (all VDD 1.08v/ all VVDIO 3.23v/ PPLAVDD 0.99v/ PCU-VDDIO 3.23v) 2i4S *TP1 seems to be 0V *TP2 should be 5V *TP3 should be *TP6 should be 48V *TP8 should be 3.3V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps JRC NJM2122 and NJM4565, [https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf CS4272 adc], [https://pdf.datasheet.live/e5e5fd1c/akm.com/AK4384.pdf AK4384 output pair], Xmos XS1-L8A-64-TQ128 processor and firmware in Winbond 25X40CL 4Mbit, an SMSC Microchip USB3343 interface and a Microchip PL611 clock generator - two Intersil / Renesas ISL97519A for the phantom power rail, two OnSemi NCP1521B for the 3.3V (digital) and 1V (Xmos core) rails - |- | <!--Description-->Focusrite iTrack Solo USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2012 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 1st Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->[http://wiki.linuxaudio.org/wiki/current_audio_gear Focusrite ] Scarlett 4i4 Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->Focusrite Scarlett 6i6 Gen1 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , , 12v psu, the headphone outs mirror the outs on the back panel, so that's six independent outs. 4 independent analog output paths, plus two over spdif, |- | <!--Description-->[https://khronscave.blogspot.com/2019/03/38-focusrite-scarlett-18i8-gen1-teardown.html Focusrite Scarlett 18i8 1st Gen MOSC0008] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, JRC NJM4565 provide most of the opamps, pair of JRC NJM2122's for inputs 1 and 2, [http://www.mouser.com/ds/2/76/cs4272_f1-43250.pdf Cirrus CS4272], 12v 1a +central psu to a pair of National Semiconductor LM2672 for 3.3V rail and the +6.9V rail, Xmos XS1–L16A–128 dual-row QFN package, firmware a Winbond 25X40C 4Mbit SPI Flash and an SMSC USB3343 interface chip, the two headphone outs are completely independent so 6 independent analog output paths, plus two over spdif, |- | <!--Description-->Focusrite Clarett+ 8Pre | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 great, expensive, maybe usb compliant? |- | <!--Description-->Focusrite Scarlett 2i2 Gen 2 (slide toggles) MOSC0006 *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8202 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz CS4272 as well as an additional AKM AK4384ET for the second stereo output pair, 4 screws under bottom rubber, |- | <!--Description-->[https://khronscave.blogspot.com/2021/07/focusrite-scarlett-2i4-2nd-gen-teardown.html Focusrite Scarlett 2i4 Gen 2 (slide toggles) MOSC0014] *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps NJM2122's, NJM4565's and CMOS switches (HEF4053 and HEF4066), CS4272 and a AKM AK4384ET, Xmos XU208-256-TQ64-C10 with firmware stored in a Macronix MX25L8006E 8Mbit flash memory, clocking by a Cirrus Logic CS2100, an MP1542 boost converter creates +6V and -6V rails, powering the opamps and the rest of the analog circuitry, |- | <!--Description-->Focusrite Scarlett 6i6 Gen2 MOSC0016 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo 2nd Gen MOSC0019 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->[https://khronscave.blogspot.com/2024/03/focusrite-scarlett-18i8-gen2-teardown.html Focusrite Scarlett 18i8 2nd Gen MOSC00] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Red 16Line | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 may not be compliant as Focusrite provides no drivers - 64-in/64-out Pro Tools - dual Thunderbolt 3 audio interface with ultra-low latency A-D/D-A conversion - Red Evolution mic preamps |- | <!--Description-->Focusrite Scarlett Solo 3rd Gen MOSC0024 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant usb-c but usb2, preamps, ad/dc 24bit 192kHz, most Focusrite gen3 interfaces have encrypted processors, |- | <!--Description-->Focusrite Scarlett 18i6 Gen3 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB2 class compliant device, but with custom mixer interface |- | <!--Description-->Focusrite Scarlett 2i2 Gen 3 (push in switches) MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8210 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB-c bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz Cirrus Logic xfr002c and cs4272 chips, |- | <!--Description-->Focusrite Scarlett 18i20 3rd gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i8 3rd Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8214 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, , , no screws under the rubber pads on the bottom, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo Studio Mk3 USB Audio Interface MOSC0030 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2020 |- | <!--Description-->Focusrite Scarlett 2i2 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 4i4 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Studio 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Solo 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FractalAudio FM9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Fractal Audio AM4 platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 not working |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Lewitt Connect 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Lewitt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Motu UltraLite AVB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb not compliant? |- | <!--Description-->MOTU M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant?, usb-c, good pre amps, ad/dc, |- | <!--Description-->MOTU M4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->MOTU U2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, good but latest had hardware revision |- | <!--Description-->MOTU UltraLite-mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 not usb compliant, great |- | <!--Description-->MOTU UltraLite-mk5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nuemann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb audio compliant, great pre-amps |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->neuralDSP Quad Cortex QC platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc compliant but plugins not working |- | <!--Description-->NeuralDSP QC Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc complaint |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neve Genesys Black G16 G32 G64 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant - very good very expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Presonus AudioBox USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe not usb compliant, usb1.1 usb-b bus powered, okay pre-amps, 24bit ADC 48Khz max, |- | <!--Description-->Presonus Audiobox 1818VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Presonus AudioBox 44VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 may not be usb compliant, 12v psu, |- | <!--Description-->PreSonus AudioBox 22VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->|PreSonus Studio 2|4 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, usb-b, |- | <!--Description-->|PreSonus Studio 2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->|PreSonus Studio 6|8 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe compliant, needs ext psu, |- | <!--Description-->PreSonus Studio 24c 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, good, adc, |- | <!--Description-->PreSonus Studio 26c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus® Studio 68c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus AudioBox USB 96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, high preamp noise, |- | <!--Description-->Presonus Quantum ES2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism Lyra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Platane UP1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb- UAC2 asynchronous protocol, 64dB Low-noise Mic amplifier, 32Bit High End ADC and DAC, 16dBu High-power ti headphone amplifier |- | <!--Description-->Platane UP2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Platane | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->RME Babyface/UC/UFX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 might be able to put into class compliant cc although a firewire device, pre amps, adc, |- | <!--Description-->RME Babyface Pro FS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 might be class compliant usb-b, pre amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Solid State Logic SSL2 SSL2+ Mk1 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, good, adc, |- | <!--Description-->Solid State Logic SSL12 SSL18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, bus powered, good pre-amps, up to 32-bit 192kHz AD/DA converters, 12-in 8-out, |- | <!--Description-->Solid State Logic SSL2 SSL2+ MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, good pre amps ein -130 dBu, ad/dc, okay latency, |- | <!--Description-->Solid State Logic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Topping E1x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description-->Topping Pro E2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->UAD UA Apollo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->UA apollo 2nd Gen twin X (Duo/Quad), X4, X6, X8, X8P, and X16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 bus compliant?, usb- |- | <!--Description-->UA apollo twin x quad 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 bus compliant?, usb- |- | <!--Description-->Universal Audio Volt 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->|Universal Audio Volt 276 2|76 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->Universal Audio Volt 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Akai EIE Pro AI01 Electromusic Interface Expander - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, 4-in/4-out USB 2.0 audio interface with a built-in USB hub and MIDI I/O, up to 24-bit/96kHz |- | <!--Description-->Akai EIE Pro AI02 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Alesis io2 io|2, io14 io|14, io26 io|26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 bus powered but not usb compliant, okay pre-amps, 2, 4 or 8 mics respectively, |- | <!--Description-->Alesis iO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 not usb compliant, poor pre-amps, |- | <!--Description-->Alesis Core 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe cc, mini usb, poor latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Apogee Duet 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire only, not usb compliant micro-usb with most features, , , two‑channel two‑in, two‑out, |- | <!--Description-->Apogee Ensemble | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire, not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee One USB 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant micro-usb for basic features, , , single‑channel up to 48kHz |- | <!--Description-->Apogee One USB 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant usb- and maybe aa batteries, |- | <!--Description-->Apogee Duet 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee One USB 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->Apogee Ensemble Thunderbolt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee Boom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c, , , |- | <!--Description-->Apogee Duet 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ART PRO Audio Usb Mix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant bus powered, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Avid Digidesign Mbox 1 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID-->01000 | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2002 mbox original was usb1 and not a usb class compliant device, and had the much hated "focusrite designed" mic preamps, light blue front plate and the sticky out feet |- | <!--Description-->Avid Digidesign Mbox 2 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 midi not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Pro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Mini USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Micro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant |- | <!--Description-->AVID MBox 3rd gen Mini or Standard but Pro is Firewire | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2010 maybe usb compliant, |- | <!--Description-->behringer u-control uca202 | <!--Vendor ID-->0x8bb | <!--Product ID-->0x2902 | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, draws a lot of power - dac ti burr-brown - no microphone pre-amp - |- | <!--Description-->Behringer U-CONTROL UCA 222 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2009 maybe usb compliant, - no microphone pre-amp - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Black Lion Audio 2x2 evolution | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant but , okay with 109dB range - poor noise floor, 24-bit 192kHz Cirrus Logic CS4272, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Bomge 11s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge 22s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge BMG22 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 usb-c, 24bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower , may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TI Burr-Brown PCM2702E PCM2704 PCM2704C Muse Audio Mini USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2704 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description-->TI Burr-Brown PCM2900 PCM2902 PCM2906 USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2900 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Depusheng MD22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description-->Depusheng USB Audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Emagic emi 2|6 em2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2002 not uac |- | <!--Description-->|Emagic emi 6|2m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description-->|Emagic emi 6|2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Ego Systems, Inc. in Korea (ESI) joining with RIDI GmbH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->esi Mixvibes U46 Mk II USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant, usb-b powered, |- | <!--Description-->ESI ESU22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe not usb compliant, |- | <!--Description-->esi U24XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, 24 bits, 2 analogue inputs and outputs with 6.3 mm jack connection, Output L can be used as a headphone output, S / PDIF digital input - |- | <!--Description-->esi U46XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, |- | <!--Description-->ESI Originals, Inc ESIO MAYA22USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI MAYA44USB+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, xlr, |- | <!--Description-->ESI Originals, Inc ESIO MARA22XTU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI U22XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb class compliant |- | <!--Description-->ESI Gigaport Ex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 usb compliant?, usb-c usb3.1, , , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->iConnectivity iConnectAUDIO2+ icaudio-02 USB audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->LexiconPro - Omega 8x4x2 (USB-1.1) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2003 not usb complaint |- | <!--Description-->Lexicon Alpha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Lexicon Lambda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 may not be compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Line 6 Toneport UX1 and Tone Port UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Line 6 TonePort UX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 maybe not class compliant, |- | <!--Description-->Line 6 POD Studio UX1 UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Lokchonk UX22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://www.youtube.com/watch?v=ljSiNmudMm0 Lokchonk UX44HD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b , , , 2in 2out only, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Mackie Onyx Artist 1·2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 maybe not usb compliant, usb-b powered, |- | <!--Description-->Mackie Onyx Producer 2X2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b midi |- | <!--Description-->Mackie Onyx Blackjack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 USB powered but maybe not usb compliant, Two Onyx Preamps, 2-in, 2-out which are combo Neutrik-type connectors to handle XLR, instrument or line level |- | <!--Description-->Mackie | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, , , |- | <!--Description-->Media Assistance USB-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not uac cc comliant, |- | <!--Description-->M-Audio Fast Track USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2004 maybe not usb compliant, - guitar |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe usb cc providing 24-bit/96kHz audio capabilities but requires manual configuration of the mixer settings |- | <!--Description-->M-Audio M-Track | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 usb compliant?, okay - guitar and vocal mainly |- | <!--Description-->[https://htyp.org/M-Audio/Fast_Track_Ultra/Linux M-Audio FastTrack Ultra] and Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe usb compliant, low round-trip latency, okay octane pre amps, adc, |- | <!--Description-->M-Audio M-Track 2x2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre-amps, , |- | <!--Description-->M-Audio M-Track (MkII) 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre amps, , |- | <!--Description-->M-Audio M-Track Solo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf shielding, |- | <!--Description-->M-Audio M-Track DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf sheild, |- | <!--Description-->M-Audio Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, okay |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->NI AK1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, |- | <!--Description-->[https://www.pogo.org.uk/~mark/linuxdj/ Native Instruments Traktor Audio 8 DJ], [ Traktor Audio 4 DJ], [ Traktor Audio 2 DJ], | <!--Vendor ID-->0x17cc | <!--Product ID-->0x1978, 0x0839, 0x041C | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant uses snd-usb-caiaq module, [https://mixxx.discourse.group/t/problems-with-native-instruments-audio-8-dj-on-linux/14719/2 Audio 8 device has 4 subunits which are not recognized correctly], Cirrus Logic DACs spec'd at 24-bit/96KHz over a USB2, |- | <!--Description-->NI Komplete Audio 6 Mk1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps, 24bit 96kHz adc, ocassional dropouts, plastic build top with metal around 3/4, |- | <!--Description-->Native Instruments NI Komplete Audio 1 and 2 USB | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, good pre amp ein -129.5 dBu, ad/dc, |- | <!--Description-->[https://support.native-instruments.com/hc/en-us/articles/360014683497-Apple-Silicon-Compatibility-News Native Instruments Komplete Audio 6 Mk2] | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, pre amps, 24bit 192kHz adc, black aluminum glass build, |- | <!--Description-->[ Native Instruments Traktor Pro] | <!--Vendor ID-->0x17cc | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation AudioHub 2x4 NOVHUB01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, no xlr, focusrite sounds inside, |- | <!--Description-->Novation AudioHub | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Prodipe Studio 22 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Schiit HEL 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Schiit HEL 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 gaming headsets mostly |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland Edirol UA-3 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->1998 maybe not usb compliant, |- | <!--Description-->Roland Edirol UA-30 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->1999 not usb compliant, |- | <!--Description-->Roland Edirol UA1A UA-1D Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-5 Audio Capture (Roland) | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-1000 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Roland Edirol UA-1EX, Cakewalk UA-1G | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant driver also supports ASIO (Steinberg Audio Stream I/O Interface), noisy |- | <!--Description-->Roland Duo Capture UA-11 | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Roland QUAD-CAPTURE Analog 2x2 Digital 2x2 USB 2.0 4in/4out | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant, usb-b powered |- | <!--Description-->[https://wiki.debian.org/DebianEdu/Documentation/Manuals/Rosegarden/Setup Roland Edirol UA-101 and UA-1000 (Clemens Ladisch driver)] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->[https://github.com/mmueller-kaffeeschluerfercom/UA-25-Firmware-Modification Roland Edirol ua-25] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2007 maybe usb compliant 16bit 44.1kHz sampling without MIDI but not USB class complient when in Advanced mode for 24bit or midi |- | <!--Description-->Edirol by Roland USB AudioCapture UA-25EX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x00e6, 0x00e7 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant if ADVANCED DRIVER switched to OFF might play and record at 44.1kHz and 16-bit samples |- | <!--Description-->Roland Audio Interface V-Studio 20 VS-20 Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 maybe not usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->Roland Edirol UA55 UA-55 Quad Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID-->0x012f | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2011 not USB class compliant, |- | <!--Description-->Roland DUO-CAPTURE EX UA-22 USB Audio | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0159 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant but not be used with a USB 3.0 port that is not compatible with USB 2.0 specification, vs pre amps, adc, three AA batteries in base, or an AC adapter psb-1u 9V 2A - |- | <!--Description-->Roland Rubix series Roland Rubix22 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland Rubix series Roland Rubix24 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant |- | <!--Description-->Steinberg MI2, Steinberg MI4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Steinberg (2004 Yamaha buys) MIDI interface hardware including the CC like CC121 CC-121 and CI1 CI2 series. | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2008 not usb compliant, |- | <!--Description-->Steinberg UR12 UR22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR44 usb audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR242 audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, usb powered or 5v psu, okay pre-amps, |- | <!--Description-->Steinberg UR22mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, okay pre-amps ein -123 dBu, ad/dc, |- | <!--Description-->Steinberg UR-RT 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, usb2.0 usb-b, pre-amps, ad/dc, |- | <!--Description-->Steinberg UR44C (USB3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Steinberg URX22C UR22C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, preamps okay but little noisy, ad/dc. |- | <!--Description-->Steinberg UR22 MkIII UR series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb-c, okay pre-amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Tapco LiNK.USB 2x2 (Loud technologies WA, USA) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 maybe not compliant, usb-b, poor pre-amps hum, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=usx2yloader/README;hb=3843634ef0310a952b256bcb6a4ddd0ad4ebe396 Teac Tascam US-422 US-428 US2XYloader] | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Tascam US-122 US-224 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2003 not usb compliant, needing firmware usx2yloader/us122fw.ihx for audio sound card - Tascam US-122 and US-122L are not the same - |- | <!--Description-->Tascam US-122L | <!--Vendor ID-->0x0644 | <!--Product ID-->0x800e | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, obsolete needs tascam_loader.ihx and us122fw.ihx firmware loaded each time unless automated |- | <!--Description-->Tascam US122 US-122 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Tascam US144 US-144 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 maybe usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Teac TASCAM US-200 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac US-366 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-600 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-800 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 may not be totally usb compliant |- | <!--Description-->Teac Tascam iU2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 usb compliant?, 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb compliant?, |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->teyun q12 Q-12, q22 Q-22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description-->Teyun q26 Q-26, q24 Q-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Yamaha UW500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2000 not class compliant, |- | <!--Description-->Yamaha Audiogram 3 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe usb compliant, okay pre amp, 16bit 44kHz adc no advanced features without dedicated asio driver, 1 xlr, 1 instrument, |- | <!--Description-->Yamaha Audiogram 6 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, okay, 2 xlr, 2 instrument, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Zoom UAC-232 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->Zoom UAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.arcam.co.uk/products,rseries,usb-dacs,rPAC.htm Arcam rPac] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioquest Dragonfly | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioengine D1 Premium 24-bit DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 (Burr Brown PCM 1716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 + Burson Buffer + MK3 JKSPDIF | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[http://epiphany-acoustics.co.uk/products-page/dacs/e-dac-24bit-miniature-usb-dac/ Epiphany E-DAC 24bit] ES9023 DAC chip | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio FUBAR II Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio iLoveTW 24Bit USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO D5 ta2020 chip amp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E07K Andes | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E17 Alpen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Magnum | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Martini-U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Vulcan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Halide Design DAC HD (Wolfson WM8716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->HRT Steamer II USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->John Kenny JKDAC uses a 24-bit/192&nbsp;kHz Sabre ES9022 DAC or better JKDAC32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> iBasso D12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Leckerton UHA-6S MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->MyST 1866 PortaDAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Objective DAC ODAC+O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Rega DAC (Wolfson WM8742) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.henryaudio.com/open-source.php Henry Audio USB DAC 128 also known as QNKTC AB-1.2 open source DAC] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Henry Audio mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->AKM4430 DAC chip comes from Asahi Kasai |- | <!--Description-->DevilSound USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Zoom U series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->KingRex UD-01 SE (Burr-Brown PCM 2702E) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SuperPro 24/192 USB DAC (24bit 192&nbsp;kHz, CS-4398 D/A chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM108 7.1ch emulation I2S in and out | 0x1926 | 0x0003 | 0x0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | [http://www.lindy.co.uk/usb-2-audio-adapter/42961.html Lindy USB 2.0] (Chipset CM108) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Speed-Link SL-8850-SBK Vigo ([http://mightyohm.com/forum/viewtopic.php?p=1036#p1030 CMedia CM108]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode USB SOUNDCARD 2.0 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x1130 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode Virtual 7.1 USB-SOUND7 (C-Media ) | 0x0d8c | 0x000c 0x000e | 1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Generic White box with very little red led and white USB lead (CMedia ) | <!--Vendor ID-->0x0d8c | <!--Product ID--> 0c000e | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | CM109 CiT SC-U119 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM1197.1ch I2C MCU port Penguin | 0x0D8C | 0x0000 | 0x010 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Sweex 7.1 Startech External USB, WMA Blue metal box SYBA SD-AUD20040, Sabrent USB-SND8, Sewell Vantec NBA-200U (C-Media CM6206 CM106 like) | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x0102 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->50/50 if the item is detected but does not work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Creative Labs SoundBlaster X-fi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi Go | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative Sound Blaster Play! USB sound adapter (SB1140) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> working with [http://www.amiga.org/forums/showpost.php?p=646431&postcount=15 Deneb on OS3] |- | <!--Description-->Asus Xonar U1 (ASUS UA100 USB Audio Chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Asus Xonar U3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Griffin iMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->M-Audio Transit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Icemat Siberia (steel series) (Cmedia chipset) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->JMTek HY554, ZyXEL NSA-220, Logilink (Tenx Technology TP6911 and SSS-1623 headphone set) | 0x0C76 0x1130 | 0x1605 0x1607 0xf211 | 0x | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> reports on other OS not good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Plantronics "DSP Adapter-01" (or "USB Adapter-02") | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Rocksmith Real Tone Cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->RSA Intruder Predator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->StarTech ICUSBAUDIO7 | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x000c | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Stoner Acoustics UD100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Teac UDH01-B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TerraTec Electronic GmbH Aureon Dual USB | 0x0ccd | 0x0077 | <!--Product ID--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Phase26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trust 510 EX 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Logitech A-5572A USB 2.0 to 3.5mm jacks Virtual 7.1 Surround Sound Adapter or accessory of Logitech Clearchat pro USB or Logitech USB Headset H530 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x046D | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trumix TM-10 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 maybe cc |- | <!--Description-->Trumix TM-12 USB-C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe cc usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Turtle Beach Audio Advantage Amigo Micro II USB Sound Card & Headset Adapter | <!--Vendor ID-->0x10F5 | <!--Product ID-->0x0211 | <!--Revision-->0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Vantec NBA-100U 7.1 Channel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |} Companies including Access, Alesis, Allen&Heath, American Audio, CME, ESI, Infrasonic, Lexicon, Numark, Presonus, Reloop, SIMS, Sound Devices, Steinberg, Swissonic, Tascam, Terrasoniq, Terratec, Yamaha and Yellowtec decided to license and bundle this driver. So fully functional custom drivers are available for Access Virus TI, Access Virus TI snow, Alesis Multimix 8 USB2.0, Alesis Multimix 16 USB2.0, Allen&Heath XONE:2D, Allen&Heath XONE:3D, Allen&Heath XONE:4D, Allen&Heath XONE:DX, Allen&Heath XONE:DB4, American Audio Versa Port, CME XCORPIO, ESI ESU1808, ESI Gigaport AG / DG, ESI Maya 44 USB, Infrasonic Amon, Lexicon I-ONIX U22, Lexicon I-ONIX U42S, Lexicon I-ONIX U82S, Mindprint DI-MOD USB, Numark DJ IO, Numark NS6, Numark NS7, Numark Omni Control, Numark V7, Presonus Audiobox USB, Reloop Digital Jockey, SIMS Primus, Sound Devices USB pre, Steinberg MI2, Steinberg MI4, Swissonic Easy USB, Tascam M-164UF, Tascam US-122L, Tascam US-144, Tascam US-Tascam US-144mkII 122mkII, Tascam US-200, Tascam US-600, Tascam US-1641, Tascam US-1800, Tascam US-2000, Terratec Area 61, Terrasoniq Phase X64, Terratec Phase 26 USB, Yamaha UW10, Yamaha UW500, Yellowtec PUC2 and many others. Well, those companies are using the same driver framework because all of those interfaces use the same microprocessor/firmware architecture to communicate with the USB bus. Just like almost all FireWire audio interfaces use the same TC Dice or BridgeCo chipsets. Usually it does not make sense for companies to develop their own USB1.1/USB2/FW framework for a product they are going to sell for <$500. However, that isn't the end of the story. The companies who develop audio interfaces implement different features into their devices and must update the driver and firmware to accommodate those features. That is where things can go wrong. Sometimes there is miss-communication about how things are coded, sometimes the developer who started a project leaves without transferring his knowledge to his successor, etc. You have to keep in mind that there are no "big" computer audio companies. Even the companies that seem big in the scale of the market, probably have fewer employees than you'd think. A very well made interface that is designed from scratch from the ground up would be a very expensive device, regardless of whether it's USB, FW, PCIe or whatever. Round-trip latency is the sum of the following: <pre> ASIO input buffer ASIO output buffer A/D D/A converter latency The driver's hidden safety buffer </pre> At a 64-sample ASIO buffer size/44.1k, Tascam units yield ~18ms total round-trip latency. Typical USB audio interfaces use a large hidden safety buffer. This helps ensure glitch-free playback... even under less than ideal circumstances. But... this comes at the expense of much higher round-trip latency. Short of doubling the sample-rate, there's no means of mitigating the higher round-trip latency. If you have no plans of ever monitoring in realtime thru software based EFX/processing (ie: playing/monitoring DI bass thru an AmpSim plugin as you're playing), then this may not matter to you. If you want the ability this play/monitor in realtime thru software based EFX/processing, make sure to get an audio interface that yields low round-trip latency. As a point of reference the best PCI/e audio interfaces yield about 5ms total round-trip latency at a 64-sample ASIO buffer size/44.1k The best Firewire and USB units yield 5.5-5.6ms total round-trip latency at those same settings. Typical USB and Firewire units (that use a large hidden safety buffer) yield 12-18ms total round-trip latency at those same settings. Anything above ~6ms starts to feel sluggish. Anything above ~10ms feels like playing thru molasses. USB Microphones {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->C-Media Electronics, Inc. CM108 Audio Controller Mic | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x013c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato WaveMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Wave:1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver }} |- | <!--Description-->Elgato Wave:3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver lightweight }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->hyperx solocast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description-->hyperx quadcast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sennheiser CC510 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Alesis USB-Mic microphone podcasting kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2020 (AT202) AT4040 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2035 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer B1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball iCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardioid only }} |- | <!--Description-->Blue Microphones Yeti | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description-->Blue Microphones Yeti Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL 2001A/600 Studio Microphone Pack / MXL 2003A Studio Condenser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft LifeChat LX-3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Namtai SingStar(TM) PS2 SCEH-0001 USBMIC | <!--Vendor ID-->0x1415 | <!--Product ID--> | <!--Revision-->0.01 | <!--Opinion-->{{unk| mono microphones }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren Mini USB Condenser Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rockband USB Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode NT1A VideoMic Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode Podcaster 2 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| RODECaster Pro usb audio compatible}} |- | <!--Description-->Rode NT1A NT2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| NT2 better }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Roland R-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Go Mic - Portable USB Microphone for Recording | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| mini usb r.h.s. and clip on the bottom left hand side}} |- | <!--Description-->Samson Go Mic Clip On USB Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| switch to choose between Cardiod, Omni and -10&nbsp;dB modes, a 3.5mm headphone socket and a USB socket}} |- | <!--Description-->Samson C01U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardoid only}} |- | <!--Description-->Samson C03U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shure MV7 USB Podcast Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->SONY PCM-D50 handy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb 5V, }} |- | <!--Description-->Sony PCM-M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out 5V, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->TASCAM DR-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008, one mini usb out, lithium battery}} |- | <!--Description-->Tascam DR-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009, one mini usb out, aa battery}} |- | <!--Description-->Tascam DR05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011, one mini usb port for file transfer and charging the AA batteries }} |- | <!--Description-->Tascam DR-40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 mini usb aa battery }} |- | <!--Description-->Tascam DR-07mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 , one mini usb out, }} |- | <!--Description-->Tascam DR-05X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-07X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-40X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb 3 aa battery }} |- | <!--Description-->Tascam DR-05XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-07XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-40XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c, }} |- | <!--Description-->Tascam DR-100mkIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Tascam | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Zoom H4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 no driver, mini usb 5V }} |- | <!--Description-->Zoom H2 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0095 | <!--Revision--> | <!--Opinion-->{{unk|2007 no driver, mini usb 5V audio i/f USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 no driver, mini usb 5V }} |- | <!--Description-->Zoom H1 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0120 | <!--Revision--> | <!--Opinion-->{{unk|2010 no driver, mini usb 5V and display will alternate between USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H2n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V audio i/f press the Record. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n PRO | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 untested, 2xlr, 5v mini usb, }} |- | <!--Description-->Zoom H5 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 no driver, 5v mini usb, 2 xlr, }} |- | <!--Description-->Zoom H1n-vp handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6studio | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested}} |- | <!--Description-->Zoom | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} |- | <!--Description-->Zoom Q3 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 untested usb a cord, no hdmi, 480p}} |- | <!--Description-->Zoom Q3HD Handy Video Recorder | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 untested, built in usb-a cord, mini hdmi, 1 hour on 2 AA batteries, H.264 movies 480p }} |- | <!--Description-->Zoom Q2HD Handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 untested, up 720p but no stablisation, mini usb cord, 1 hour on 2 AA batteries}} |- | <!--Description-->Zoom Q4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 untested, li-ion battery}} |- | <!--Description-->Zoom Q4N | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 untested, li-ion battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio Technica ATR4697-USB Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CAD Audio CAD USB Condenser Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL AC-44 Boundary Conferencing Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Audio SAUB1 Boundary Microphone (USB) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} USB Speakers {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Focal XS 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} USB Headset Wired/Wireless {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Logitech Vantage Wired (came free with PS2 Socom3) | | | | <!--Opinion-->{{unk| }} |- | Logitech G330 | | | | <!--Opinion-->{{unk| }} |- | Logitech Premium USB Stereo Headset 350 | | | | <!--Opinion-->{{unk| }} |- | Plantronics DSP-300 | | | | <!--Opinion-->{{unk| }} |- | Plantronics GameCom 777 | | | | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitech G-930 Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.makeuseof.com/tag/set-usb-wireless-earphones/ Plantronics Audio 995 Wireless RF] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Sennheiser Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} [https://www.youtube.com/watch?v=Be1e0QPIPK0 Mixers] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ALESIS MULTIMIX 4 CHANNEL USB MIXER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Alesis - MultiMix 8 USB FX (USB 1.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2010 usb compliant?, up to 16-bit/48kHz, 18v 500mA - |- | <!--Description-->Alesis - MultiMix 8 USB 2.0 FX (USB 2.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2012 usb compliant?, up to 16-bit/48kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Allen&Heath MixWiz16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description-->Allen and Heath ZED Power 1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 8 xlr, usb-b out, }} |- | <!--Description-->Allen & Heath ZEDi-10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer XENYX 302USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 5-Input Mixer/Audio Interface - 1 xlr - }} |- | <!--Description-->Behringer Xenyx Q502USB Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} Behringer 2*18.5V 250ma psu - 1 xlr - phanton power - |- | <!--Description-->Behringer Xenyx Q802USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 2*18.5V 250ma psu - 2 xlr - phanton power - |- | <!--Description-->BEHRINGER XENYX 1204USB 8-Channel 2-Bus Mixer USB/Audio Interface Studio/Live | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle psu lead - can develop constant background hiss over time |- | <!--Description-->Behringer XENYX X1222USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver - 12-Channel Analog Mixer with USB Interface and Effects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Depusheng HT-7 HT7USB 7 Channel Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2023 cheap no driver, USB MP3 player to work, format your USB stick Fat32 as a Logical drive - not primary}} |- | <!--Description-->Depusheng XT7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description-->Depusheng DT8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Spirit soundcraft Folio FX8 with Lexicon Effects Processor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} unusual power connector - [https://github.com/lack/soundcraft-utils usb routing] - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Weymic Professional F7 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver, cheap mixer with 3pin ac input (introduces noise) and 1 usb-a port}} |- | <!--Description-->Weymic Professional F7-Pro 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver}} |- | <!--Description-->Weymic A80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2024 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} Mixer no hardware usb {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->ALTO Lynx MIX82FX Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Alto L16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MXUL5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MX602A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Eurorack UB502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 17.5V 3pin psu needed}} |- | <!--Description-->Behringer Eurorack UB802 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 4 xlr, }} |- | <!--Description-->Behringer Eurorack UB1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer RX1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer 802 XENYX 8-Input 2-Bus Mixer Small Format Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 18.5V ???ma psu - 2 xlr - phanton power - |- | <!--Description-->Behringer Xenyx 502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Xenyx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->IMG stage Line MMX-122 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, iec cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Mackie 802VLZ4 Mackie 802-VLZ4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb , psu}} |- | <!--Description-->Mackie 1202-VLZ Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, mains iec}} |- | <!--Description-->Mackie Mix5 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 18v 300mA psu - 5 Channel - |- | <!--Description-->Mackie Mix8 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 9v x2 600mA psu - |- | <!--Description-->Mackie MIX12FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, 9v 500mA x2 psu, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->[https://www.soundcraft.com/en/product_documents/en/owners_manual Soundcraft] Spirit Folio F1 Fader 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} 16 Channel Mixer - |- | <!--Description-->Soundcraft EPM6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft EPM8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Harman Soundcraft EPM 12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle power lead - |- | <!--Description-->Soundcraft EPM 16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Soundcraft Notepad 8FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft Notepad UI12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad UI16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad 124FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, 14.8V x2 3 pin psu}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->t.mix xmix 1402fx mp usb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, mains iec, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- |} ==Webcameras== A USB camera has two dedicated chips: a controller or bridge and an image sensor. There was no Commodore support for video interfaces. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit. ===OLD standards=== See [http://www.e3b.de/usb/main_supported_e.html support pages] and [http://www.e3b.de/usb/main_faq_e.html here] and some [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=status further compatibility] Pencam STV680 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AIPTEK stv680 | 0x0553 | 0x0202 | | {{N/A|untested}} |- | Konica e-mini | 0x04c8 | 0x0722 | | {{N/A|untested }} |- | DigitalDream l'espion XS | 0x1183 | 0x0001 | | {{N/A|untested}} |- | [http://reviews.cnet.com/webcams/creative-webcam-go/1707-6502_7-1446174.html Creative WebCam Go mini] | 0x041e | 0x4007 | | {{N/A|untested}} |- |} SonixcamTool (Sonix webcams and derivates) '''Note [http://amigadev.free.fr/sonix/ some] Sonix Webcams with a Sonix SN9C1xx controller ''and'' a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device!''' {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Macally IceCam II | 0x0c45 | 0x05d8 | | {{N/A|untested}} |- | Sweex MiniCam 100K | 0x0c45 | 0x6005 | | {{N/A|untested - sensor tas5110c1b}} |- | Macally IceCam Portable | 0x0c45 | 0x6007 | | {{N/A|untested - sensor tas5110d}} |- | Sweex 100K | 0x0c45 | 0x6009 | 0x0101 | {{yes|bulk works - sensor pas106b}} |- | [http://www.epinions.com/pr-Chicony_TwinkleCam_Webcam/display_~full_specs Chicony Twinkle DC-2110A] | 0x0c45 | 0x600d | | {{no|no}} |- | Unknown | 0x0c45 | 0x601e | | {{no|no}} |- | USB PC Camera (SN9C102) | 0x0c45 | 0x6028 | | {{no|no - sn9c10x + pas202b}} |- | Trust SpaceC@m 120 and 150 | 0x0c45 | 0x6029 | | {{N/A|untested - sensor pas106a}} |- | HiRes Webcam Live | 0x0c45 | 0x602c | | {{no|no - sensor ov7630}} |- | [http://www.sweex.com/en/assortiment/sound-vision/webcams/JA000020 Sweex USB Webcam 300K] | 0x0c45 | 0x608f | | {{no|no - sensor ov7630}} |- | Speedlink Sphere Webcam SL-6820, 350K | 0x0c45 | 0x613c | 0x0101 | {{N/A|untested - sensor HV7131R}} |- | WB-3250P | 0x0c45 | 0x613e | | {{no|no - sensor ov7630}} |- | Unknown | 0x0c45 | 0x6207 | | {{no|no}} |} <pre> micromaxx USB Camera STM 1363 514 works --- USB Tower Lego 1684 1 works need NCQ Trust Spycam 100plus STM 1363 514 works </pre> ov51x.class - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link VGA Webcam (640x480) | 0x05a9 | 0x8519 | | {{no|no driver}} |- | Sony PS2 EyeToy Logitech/Logicool Black (ov519) SCEH-0004 | 0x054c | 0x0154 | | {{no|no driver}} |- | Sony PS2 EyeToy Namtai Silver (ov519) SLEH-00031 SLEH-00030 | 0x054c | 0x0155 | | {{no|no driver}} |- |} ===UVC.class - [https://www.usb.org/document-library/video-class-v15-document-set USB Device Class Definition for Video Devices or USB Video Class]=== AROS needs realtime isochronous transfers in EHCI and XHCI, then a usb uvc.class which might create a virtual UVC.VHI type device driver for use by AROS apps since 2019 the market is filled with UVC Compliant USB HDMI Capture {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acasis 4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Acasis 4K60 HD VS009 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k 60hz ok for chat streams}} |- | <!--Description-->Acasis 4K60 HDMI HDR Game Live Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| for chat streams }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AJA U-tap HDMI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->ASUS TUF CU4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATEN CAMLIVE HDMI to USB-C UVC Video Capture adapter UC3020 HDMI (F) TO USB-C M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 possibly UVC and UAC standard support allows up to 1080P @ 60}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia Live Streamer Cap 4K - BU113 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc usb3}} |- | <!--Description-->AVerMedia GC515 video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia Live Gamer Ultra GC553 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description-->AVerMedia Live Gamer Ultra S GC553PROW 302AGC553DL2 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1553 | <!--Revision--> | <!--Opinion-->{{unk|2021 powered by good quality type C USB3 cable and 4K HDMI 2.0 cable}} |- | <!--Description-->AVermedia Live Gamer Mini GC311 302AGC311DG9 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1311 | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc compliant up to 1080p 60fps capture and supports internal hardware H.264 encoding - if flashing blue light try another '''quality''' micro usb cable - }} |- | <!--Description-->AVerMedia Ez Recorder 330 (ER330) | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 designed to work independently and is generally not compatible as a plug-and-play UVC capture card }} |- | <!--Description-->AVerMedia Live Gamer extreme3 GC551G2 (LGX3) | <!--Vendor ID-->0x07ca | <!--Product ID-->0x3551 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc compliant for intensive gaming streams, some vrr but no hdr with maximum recording resolution of 4K30/1080p60 from fully wired usb3 compatible cable - passing through 4K60/1080p120 Game Capture video capturing device HDMI}} |- | <!--Description-->AVerMedia Live Gamer Ultra Pro GC553Pro | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 usb3 }} |- | <!--Description-->AVerMedia Live Gamer Ultra 2.1 GC553G2 61GC553G20BV video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia GC575 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AVMatrix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ClonerAlliance Flint 4KP Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->DIGITNOW U600 video capture card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Cam Link 4K | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 uvc }} |- | <!--Description-->[https://github.com/elgatosf/capture-device-support Elgato HD60 S+] | <!--Vendor ID-->0x0FD9 | <!--Product ID-->0x006C, 0x006E | <!--Revision--> | <!--Opinion-->{{unk|2019 4K 30FPS capture, 1080p 60FPS uvc}} |- | <!--Description-->Elgato HD60 X | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc }} |- | <!--Description-->Elgato Cam Link 4K HDMI video capture card | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 uvc compliant but can have usb disconnects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EVGA XR1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description-->EVGA XR1 lite USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 USB 3.0 device }} |- | <!--Description-->EVGA XR1 Pro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EZcap Game Link Raw - ezcap321 usb3.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 2160p30, 1080p120 and 1440p60 HDMI input and pass-through. - 1080p120, 2160p30 and 1440p60 recording. - Latency less than 50ms uvc}} |- | <!--Description-->EZCap GameDock Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 record at 4K30, 1440p60, and 1080p120}} |- | <!--Description-->EZcap 360 Game Capture Extreme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 USB 3.0, 4K 60FPS passthru and 1080p 240FPS}} |- | <!--Description-->EZCAP 364 GameDock Extreme 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genki ShadowCast 1 & 2, the Pro version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HAUPPAUGE HD PVR Pro 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 4K in/Out 1080P 60fps Capture and Streaming PC Connected and Stand Alone }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->INOGENI 2830 HDMI 4K to USB 3.0 UHD 1080p Video Capture Card 4K2USB3 | <!--Vendor ID-->0x2997 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{unk|2019 uvc compliant made in Canada - usb3-b socket and 1 hdmi}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kondor Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nanjing Magewell Electronics Co ltd USB 3.0 XI100DUSB-HDMI Pro Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 }} |- | <!--Description-->Magewell USB3.0 Silver HDMI Full HD Video Capture Device 1080p 32011 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 usb audio extract HDMI embedded audio output via headphones}} |- | <!--Description-->Magewell USB capture HDMI PLUS 2K 32040 320400000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 captures video up to 1920×1200, 1920×1080 or 2048×1080 at 60 fps over an HDMI capture from devices such as game consoles in up to DCI 4Kp60 4:2:0 input resolution, and it automatically upscales/downscales the signal to 2K for recording or streaming}} |- | <!--Description-->Magewell USB capture HDMI Gen2 32060 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 1080p gets hot, 165M HDMI receiver, max input 2048x1080 60fps 4:4:4, RGB/YUV 4:4:4 8/10/12-bit, YUY 4:2:2 12-bit, up to 8-channel 24-bit HDMI-embedded audio at 192kHz, HDMI 1.4a, output from 480p to 1080p, YUY2/UYVY/RGB24/RGB32 support video cropping, up/down scaling, de-interlacing, aspect ratio conversion, color format conversion, frame rate conversion, flip and mirror, up to 2-channel IEC60958 audio streams, 5V 0.5A 2.5W, }} |- | <!--Description-->Magewell USB Capture 4K Plus 32090 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 limited by the bandwidth of USB 3.0, the maximum frame rate can only reach 30 fps when capturing}} |- | <!--Description-->Magewell USB Capture 4K PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Magewell Pro Convert IP to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Captures one network eth NDI® High Bandwidth, NDI® HX2, NDI® HX3 sources or H.264/H.265 video source into software at resolutions up to 1080p60}} |- | <!--Description-->Magewell USB Fusion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|versatile USB video capture device that allows users to switch between two HDMI inputs and one USB webcam input for live presentations}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ROLAND UVC-01 USB Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sunplus Innovation Technology Inc. MiraBox HSV321 ARX321 Video Capture device | <!--Vendor ID-->ox1bcf | <!--Product ID-->0x2c99 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGREEN CM716 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| uvc uac but disable HDCP on your source device (PS4/PS5, Xbox) }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->VisionTek UVC HD60 Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acer Aspire Crystal Eye AOA110 AOA150 0.3M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2008 webcam }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->AVerMedia Live Streamer CAM 313 (PW313) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2019 uvc 1080p/30 webcam}} |- | <!--Description-->AVerMedia Live Streamer DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2021 uvc 1080p/60 webcam}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->[http://reviews.cnet.co.uk/webcams/creative-live-cam-optia-af-review-49294183/ Creative Live Cam Optia AF] 2.0M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|2008 }} |- | <!--Description-->DSLR macro extensions + a cheap 50mm E-Series lens + some PVC tubing and a negative holder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera chosen}} |- | <!--Description-->DSLR scanning using a macro lens, for the adapter, for a 3d printed negative holder) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera used }} |- | <!--Description-->Logitech C270 | <!--Vendor ID-->0x046d | <!--Product ID-->0x0825 | <!--Revision--> | <!--Opinion-->{{unk|720p }} |- | <!--Description-->Logitech C910 C920 HD Pro 5Megapixels 720p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech C920s c922 HD Pro 5Megapixels 1080p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Logitech Brio 100 300 500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} 1080p |- | <!--Description-->Logitech MX Brio 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Microsoft's LifeCam HD-3000 HD-5000 | <!--Vendor ID-->0x045e | <!--Product ID--> 0x0779 | <!--Revision-->1.06 | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Cinema | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Studio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} sony imx179 1080p |- | <!--Description-->Pi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 1/2.8” Sony IMX291 image sensor, it's a 2MP, UVC-compliant, ultra-wide-angle, low light, high-speed USB 2.0 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} OV5648 |- | <!--Description-->razer kiyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 4 megapixel sensor 1080p 30fps 720p 60fps - 12 led ring light adjustable |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->TeckNet C068 1.3mpixel HTD USB2.0 Camera Vimicro Z-Star Corp | <!--Vendor ID-->0x0AC8 | <!--Product ID--> 0x3420 | <!--Revision-->0x01FA | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->YEALINK(XIAMEN) NETWORK UVC50 is compatible with the UVC 1.1 protocol CP960-UVC50 and CP960-UVC80 kits PTZ, CP960-UVC30 Kit is UVC 1.5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Amcrest ProHD 1080P WiFi Wireless IP Security Camera - 1080P (1920TVL), [https://www.ispyconnect.com/man.aspx%3Fn%3DAmcrest IP2M-841] nvr | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} h264/rtsp, motion detection, features Sony image sensor and Ambarella processor - rtsp://[username]:[password]@[IPaddress]:[port]/cam/realmonitor?channel=[channel]&subtype=[stream] - [username] - username to login to the DVR or NVR, [password] - password, [IPaddress] - IP address of the device. If you are not on the same local network, this should be the external IP address of the device's network, [port] - port number, [channel] - channel number of the stream, [stream] - view the Main or Sub stream. (main stream is 0, sub stream is 1) , eg. rtsp://admin:admin@192.108.1.108:80/cam/realmonitor?channel=1&subtype=1 - utilizing RTSP ( rtsp://user:pass@ipcam1 ) |- | <!--Description-->Axis all modern ones | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg or MJPEG over HTTP |- | <!--Description-->PTZ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->DLink DCS-5222 5222L network camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} camera streams H.264 over RTP controlled by RTSP |- | <!--Description-->Dlink DCS900 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Wansview 1080p [http://marc.merlins.org/perso/linuxha/post_2013-11-10_Reviewing-IP-Webcams-for-Linux-and-Zoneminder_Dlink-DCS900_-Ubnt-Aircam_-Foscam-FI8904W-FI8910W_-FFI9820W_-FI9821W_-Wansview-NCB541W_-and-Zavio-F3210.html#NCM625GA NCM625GA] IP Camera WiFi Wireless IP Security Camera , Full HD Plug n Play Home Surveillance / Baby Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg - play its HD stream without problem with vlc rtsp://ip/live/ch0 and getting jpegs http://ipaddr/mjpeg/snap.cgi?chn=0 - methods involve transcoding h.264 video from the camera into jpeg's, which is cpu intensive - able to pull images manually, using http://username:password@ip/mjpeg/snap.cgi - |- | <!--Description-->Wansview NCB541W | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Avermedia Game Capture HD C281 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2011 standalone h.264 recording of up to component cable not hdmi but not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia GL310 Live Gamer Portable (LGP Lite) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working usb2 and USB Lite no uvc}} |- | <!--Description-->Avermedia AVerMedia Live Gamer Portable ([https://github.com/Trouffman/octv_gears_lgp Model C875]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 usb2 no uvc}} |- | <!--Description-->AVerMedia LGX Live Gamer extreme GC550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2015 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->AVerMedia LGX2 Live Gamer extreme2 gc550 plus gc551 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->Avermedia ExtremeCap UVC - BU110 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 maybe not uvc and uac}} |- | <!--Description-->AVerMedia Live Gamer Portable 2 Plus GC513 Micro-USB Capture Box LGP2 Plus | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1513 | <!--Revision--> | <!--Opinion-->{{no|2017 powered by a standard Micro-USB cable, video capture output up to 1080p60 capture to hdmi in, standalone sd card recording on exFAT or FAT32 of .MOV, 2160p pass-through hdmi out to tv - no vrr - [https://www.avermedia.com/uk/support/download#ans_part firmware latest 2.1.7.13, 2.1.7.14], SN74AVC8T245 8bit, DRV604 stereo, iTE IT6663FN hdmi 2.0 splitter, TLV320DAC3101 DAC, CS42L73 audio codec, CDCE913 PLL clock, W29N01HVSINA nand bios, I-Catch V35MA SOC CPU 32bit MIPS24K, ADV7480 hdmi mhl, }} |- | <!--Description-->AVerMedia Live Gamer 4K LG4K GC573 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc but [https://github.com/derrod/lg4k-linux drivers here], }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Blackmagic intensity Extreme Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->BlackMagic Intensity Pro 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2015 }} |- | <!--Description-->Elgato Video Capture (1VC108601000) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Elgato Game Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, mini usb}} |- | <!--Description-->Elgato Game Capture HD60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, }} |- | <!--Description-->Elgato Game Capture HD GCHD 2GC309901000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc https://github.com/tolga9009/elgato-gchd needs firmware mb86h57_h58_idle.bin and mb86h57_h58_enc_h.bin - mini usb}} |- | <!--Description-->Elgato HD60S Elgato Game Capture 4K60 S+ Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|non uvc, }} |- | <!--Description-->August EZCap.tv model 116 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} poor audio recording |- | <!--Description-->E-SDS Diamond Maplin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1212 HD PVR | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} analog and component only - PlayStation (.m2ts), AVCHD (ts), or XBox(.mp4) recording formats - switched the component output from the default YPbPr to RGB. |- | <!--Description-->Hauppauge 1431 1445 HD PVR Gaming Edition HDMI Capture | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working, can get warm}} |- | <!--Description-->Hauppauge HD Rocket | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Hauppauge HD-PVR2 (model 145210 Rev E4) | <!--Vendor ID-->0x2040 | <!--Product ID-->0xE502 | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1480 1482 HD PVR 2 GE Gaming Edition HDMI Capture green LED - 1498 1503 1504 Plus version with Mac support | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe514 0xe524 | <!--Revision--> | <!--Opinion-->{{No| can get warm - [https://ez.analog.com/video/w/documents/581/adv7482-design-support-files ADV7482] [https://patchwork.kernel.org/patch/9201075/ video chip] with Magnum DXT H.264 encoder blob, IDR keyframe generation poor - best for model 157210 and not 157221 and Game Edition Plus (model 157320) 2040:E505 E505-00-00AF1234 [http://www.hauppauge.com/site/support/linux.html#tabs-3 ]}} * HDMI: 1920x1080p50/60, 1920x1080i50/60, 1280x720p50/60, 720x480i, 720x576i, 640x480p60. * Component: 1920x1080p50/60, 1920x1080i50/60*, 1280x720p50/60, 720x480p60, 720x480i, 720x576i. * Composite: 720x480i and 720x576i * Audio Inputs : HDMI PCM and RCA support with Adjustable Bitrate Quality 2 Channel AAC/AC3 audio codec |- | <!--Description-->Hauppauge 1512 HD PVR 2 PC blue LED with optical in input on the back | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe525 | <!--Revision--> | <!--Opinion-->{{No| }} can get quite warm - IR Blaster added - |- | <!--Description-->Hauppauge Colossus2 E585-00-00AF4321 | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe585 | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion SLIDES2PC 35mm Portable Slide & Film Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion Pics 2 PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->ION PowerScan USB film and slide scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->Koolertron Sunny | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->FilmScan35 35mm Film Negative Scanner 1304 marks spencer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->U3 HD Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->[https://github.com/openrazer/openrazer Razer Ripsaw HD] Game Capture (RZ20-01780100) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2017 not uvc put in usb2 slot and use video BGR3 (Emulated) and OpenRazer drivers }} |- | <!--Description-->Razer Ripsaw HD USB HDMI Capture Card | <!--Vendor ID-->0x1532 | <!--Product ID-->0x0d01 | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc compliant}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Silvercrest 35mm Photo Slide Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc but not great quality}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Z-Star Microelectronics Corp. Traveler TV 6500 SF Dia-scanner | <!--Vendor ID-->0x0ac8 | <!--Product ID-->0x3370 | <!--Revision--> | <!--Opinion-->{{No|2010 not uvc and poor scans}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- |} === AR VR XR Headset === AROS needs realtime isochronous transfers in EHCI and XHCI, then an usb based uvc.class to vhi type driver for virtual display and maybe more The primary engineering challenge of VR is motion sickness caused by a mismatch of visual and inner ear information, which is extremely well established as causing people to throw up in a wide range of contexts outside of VR. The experiences that make some people sick are low framerate. Foveated rendering doesn't solve vergence accommodation. Your eye will still be focused at infinity regardless of where you are looking, you'll just have the illusion that the foreground or background are out of focus. Eye tracking plus dynamic lenses (perhaps liquid lenses) or real light fields are necessary. First start with apps that have simple static features at first, then advance to dioramasa and teleportation options for 10, 20 minutes and then gradually upgrade over a timespan of four weeks to train your brain. Avoid smooth motion stuff like rollercoaster or mountain heights until much later. Even with this preparation, VR makes 40% of people seasick nausea. If so, you may be able to use VR glasses just to watch videos and some slow moving apps [https://www.emuvr.net/ emuVR] instead. *2014-2019 1st Gen, low resolution, *2020-2025 2nd Gen, higher resolution, *2026- Most hardware typically has a 1-3 year retail lifespan with 1-3 years of updates after. Really need "right" tethered PCVR rather than wireless. The advantage to being tethered to a PC is processing power. Any standalone headset is going to be running purely off of batteries. VR and AR are known as XR Technology will get immersed enough so not making people sick. Higher resolution, faster frame rates, and [https://github.com/opentrack/opentrack better tracking]. Eventually, hyper reality brings VR, AR and MR digital layers together as a less chaotic, optic tracking with no delay, agents understanding, experiences with objects 3Dgs 4Dgs gassian splats bullet time slice photo snaps .ply for WebXR [https://lvra.gitlab.io/docs/hardware/ ], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Big Screen Beyond 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 pcvr 2560 x 2560, fixed IPD, }} |- | <!--Description-->bigscreen Beyond 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr oled 5120 x 2560 @75Hz 2688x2688 @90Hz over pancake lenses, 116 FOV, virtual screens, custom facial plate from iphone app, streamvr 2.0 basestations and controllers not included, no passthrough, 107g-196g, }} |- | <!--Description-->bigscreen Beyond 2e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr oled 5120 x 2560 total up to 90Hz pancake lens 116 FOV adjustable IPD app needed for adjustment, eye tracking, custom face mask cushion, streamvr 2.0 basestations and controllers not included, seperate head strap and speaker modules extra costs, 110g-300g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Dpvr P1 Pro 4k Ultra Vr Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 wireless snapdragon, }} |- | <!--Description-->DPVR P2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Play for Dream MR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android modular 3840x3552 uoled per eye 90Hz or qled mura issues, Arm snapdragon XR2+ Gen 2, eye tracking and 11 cameras 7 sensors 22 ir leds 14ms latency and foveated rendering, 1.5hrs battery, }} |- | <!--Description-->Play for Dream GravityXR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 ultralight head gear gx100 3w }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://lvra.gitlab.io/docs/community/ Valve Index HMD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 tethered PC VR headset 1440 x 1600 120Hz, 108° and 104° FOV, fresnel lenses, SteamVR2 compatible tracking ir basestations, controllers aka Knuckles, dp 1.2 and usb3 cable proprietary cable end, no battery, }} |- | <!--Description-->Valve Steam Frame (Valve Deckard / Valve’s Index 2) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 - 2160 x 2160 up to 144Hz pancake lens, 108° and 96° FOV, wifi 6 fovelated streaming, Qualcomm Snapdragon 8 Gen 3 with [https://github.com/FEX-Emu/FEX fex] arm-to-x86 x64 translation layer, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PSVR2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 PCVR with adapter, two, one for each eye, 2000 x 2040 resolution OLED panels from 90Hz 120Hz refresh rates, fresnel lenses, 116° and 102° FOV, sony proprietary headset cable end, needs additional comfort options, }} |- | <!--Description-->VisionPro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goertek glasses | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive ? | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| 2016 2x 1080x1200 needs external power supply, }} |- | <!--Description-->HTC Vive Original | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 108° and 96° FOV}} |- | <!--Description-->HTC Vive Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 , uvc, at least 2 powered steamvr basestations so 3 to 5 wall warts in total, proprietary cable end, }} |- | <!--Description-->HTC Vive Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 dual 1440x1600 oled displays, 116° and 100° FOV - steamvr 2.0 basestation 2 for 5m2 area 4 for 10m2 - steamvr 2.0 joypads - low latency wireless later - type USB-c headphone adapter required, [https://github.com/CertainLach/VivePro2-Linux-Driver Rust on Linux] with [https://github.com/santeri3700/vive-pro-2-on-linux Shell], proprietary cable end, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lynx R1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 android Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->Lynx R2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 company liquidated, 2 x 2312x2160 110 FOV pancake lenses, LynxOS android Qualcomm Snapdragon XR2 Gen, openxr 1.1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oculus Rift prototype development kit [https://www.virtual-boy.com/forums/t/the-oculus-rift-dk1-thread/ DK1] with [https://www.youtube.com/watch?v=X_T4DJyy2Bo wired razer hydra controllers] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2013 pcvr LCD 1280 × 800 resolution 640 × 800 per eye up to 110° FOV, and 3DoF rotational tracking via a 1000Hz 9-axis IMU (Accelerometer, gyroscope, and magnetometer), no positional optical tracking either inside-out or outside-in, 380g, nausea issues, , }} |- | <!--Description-->Oculus Rift prototype development kit [https://github.com/facebookarchive/RiftDK2/tree/master DK2], [https://www.ifixit.com/Teardown/Oculus+Rift+Development+Kit+2+Teardown/27613 ifixit teardown] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 pcvr, 5.7" Super AMOLED display with a resolution of 960 x 1080 per eye 100° field of view, 1 usb Positional Tracker DK2 camera, lots of wires}} |- | <!--Description-->Facebook [https://github.com/thaytan/OpenHMD/tree/rift-kalman-filter Oculus Rift CV1] [https://noraisin.net/diary/?m=202201 some Linux support] [] [https://github.com/OpenHMD/OpenHMD/issues/330 AMD usb issues] [https://github.com/OpenHMD/OpenHMD/wiki/Xorg ] [https://github.com/Doc-Ok/OculusRiftCV1Camera Live Video] [https://www.youtube.com/@thaytan Youtube] [https://github.com/Fredrum/riftOnLinux Pi] [https://github.com/OhioIon/riftDriverPi ], but not quite there with the [https://www.youtube.com/watch?v=DSsCN6HFkWc consumer CV1], [https://forum.dcs.world/topic/142259-cv1-not-working-in-dcs/#comment-2878168 orange led could be HDMI Signal is not within HDMI Spec and might be Overclocked or usb3 not getting enough power frustrating], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x3031, 0x2031, 0x0031 and 0x0211 for 3p-a basestations lighthouses, 0x045e 0x02e6 for xbox wireless adapter | <!--Revision--> | <!--Opinion-->{{No|2016 powered run from your PC maybe uvc via wired dual PenTile OLED 2160x1200 (1080x1200 per eye) @ exactly 90Hz but screen door effect (space between pixels), 87 FOV, IPD from 58mm to 72mm, good 3D audio and okay mic, constellation headset 6DOF (3-axis rotational tracking + 3-axis positional tracking) with up to 3 usb infrared basestation (1 in front and 2 behind pointing upwards) on usb3 and usb2 to your PC but the tracking can be fragile so set it up on a weekly basis, wired only HDMI 1.3, USB 3.0 bus powered with proprietary plug in headset, 470g 1lb front heavy, 2 robust 1st Gen touch controllers with external sensors i.e. outside-in - 1 aa alkaline over rechargable battery each , press occulus and B buttons for 2 secs to connect, headset traps air so gets very warm inside and random disconnects due to twisting action on the top of the headset and/or cables, t4 torx screws }} |- | <!--Description-->Facebook Occulus Go 32Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 discontinued 2020 android based, 1280x1440 per eye 60Hz LCD, not gaming, no inside-out and limited self tracking, }} |- | <!--Description-->Facebook Oculus Rift S [https://noraisin.net/diary/?m=202201 some Linux support] | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0051 headset (cdc, audio, tracking data), 0x2052 usb hub, | <!--Revision--> | <!--Opinion-->{{No|2019 PCVR wired dual LCD 1080 by 1200, 88 horizontal FOV, display port (fibre optic strands) and annoying USB3 copper cables (power, audio and other data) but proprietary port in the headset, cameras on the headset ("inside-out") tracking so no base stations, non removeable head band and cushions and ipd hard to set, requires specific fragile Rift S/Quest1 2nd Gen Touch controllers which has a ring of translucent plastic with leds inside - t5 torx to disassemble for sticks drifting}} |- | <!--Description-->Facebook Occulus Quest 1 *032Gb *064Gb | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0183 (single adb boot), 0x0 | <!--Revision--> | <!--Opinion-->{{No|2019 android standalone wireless, 1440 x 1600 72Hz oled, front heavy though, play area 2m x 2m or bigger, low clocked Qualcomm Snapdragon 835 (MSM8998) (4x Kryo 280 Gold cores ARM Cortex-A73) + (4x Kryo 280 Silver A53), 2 to 3 hrs play time, 575g, 2nd Gen touch controllers, }} |- | <!--Description-->Meta Oculus Quest 2 KW49CM aka Codename Del Mar [https://www.meta.com/en-gb/help/quest/967070027432609/ fragile 3rd Gen Touch controllers] [https://www.youtube.com/watch?v=Cgejky8ZeoM internal battery] and selling over 20 million, more than all other quest headsets combined *064Gb *128Gb (110Gb free) *256Gb Setup continuous wifi, create Meta Oculus account, [https://developers.meta.com/horizon/ verify dev account, click on My apps], [ create Organization -> My Organization Groupings], [https://www.youtube.com/watch?v=QPInS5xxF-0 finally, meta quest mobile app to switch on adb], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x5010 (), 0x0083 (massstorage), 0x0086 (), 0x0186 (adb and xrsp [https://github.com/shinyquagsire23/xrsp_tests tests]), 0x0090 (composite adb), 0x0081 (), | <!--Revision-->0419 | <!--Opinion-->{{unk|2021 android stand alone, lcd 1832x1920 per-eye 90Hz refresh rate, 97 FOV, fresnel lenses, 6DOF (degrees of freedom), 58-63-68 IPD settings, low clocked Arm snapdragon xr2 gen 1 apps with Meta Link cable USB-C usb3.2 pcvr maybe, b/w but no color passthrough, 6 t2 torx and 5 ph00 screws in headset (long bit), discontinued December 31, 2024, feature updates until December 2026, critical bug fixes and security updates until December 2027, 470g, Oculus + B button on right controller (move) and Menu + Y button on left controller (click) for about 3 seconds, 10W 5v 2a, RTL8153 chipset usb support, *V60 unable to *V77 pcvr issues *V79 unable to }} |- | <!--Description-->Facebook Occulus Quest Pro aka Codename Seacliffe | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 android standalone wireless 1440 x 1600 72Hz oled, 106° and 96° FOV mini lcd local dimming, pancake lenses, limited eye tracking, play area 2m x 2m or bigger, higher clocked snapdragon xr2 gen 1 arm cpu Arm apps, 1 to 2 hrs play time, new pro controllers with 3 cameras each, battery at rear, wireless charging, color passthrough, 9V 3A or 5V 3A, *v77 capped wifi }} |- | <!--Description-->Meta Oculus Quest 3 aka Codename Eureka [ Air Light ALVR] or [ WiVRn] with fragile touch plus q3 controllers *128Gb *512Gb streaming from PC with [https://github.com/alvr-org/Monado-ALVR ALVR], runtime of [https://monado.freedesktop.org/ Monado steamvr alternative openxr openVR], with Envision GUI, | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 standalone, pancake lenses on lcd 2064 x 2208 res panel per eye 1200ppi - 104° and 96° FOV - up to 120Hz, Arm snapdragon xr2 gen 2 apps, foveated rendering, Meta Link cable USB-C 3.2, headstrap clamshell or halo style, speaker arms fragile, color passthrough, 510g, 18W 9v 2A or 15W 5V 3A, *v74 ok }} *v76 pcvr issues }} |- | <!--Description-->Meta Quest 3S aka Codename Ventura *128Gb *256Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 Arm snapdragon xr2 gen 2 cpu, lcd 1832 x 1920 fresnel lenses, 97 FOV, headphone arms fragile, better air flow, no promixity sensor inside, Meta Link cable USB-C 3.2, passthrough, }} |- | <!--Description-->Meta Boba 3 | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 ultra-wide 180° x 120° FOV, snapdragon XR2 G2, }} |- | <!--Description-->Meta Tiramisu | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 µOLED displays with 90 pixels per degree, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pimax 5K Super Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 }} |- | <!--Description-->Pimax 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description-->Pimax 8K-X 8KX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 }} |- | <!--Description-->Pimax Crystal Light | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 2160 x 2160 4k 120Hz, 115° and 96° FOV, inside-out tracking, no battery, display port cable, variable qc and customer service, }} |- | <!--Description-->Pimax Crystal Super | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 3640 x 3640 4k 90hz, 116°+ and 100° FOV, eye tracking, inside-out tracking, no battery, display port cable, }} |- | <!--Description-->Pimax Dream Air with Lighthouse(s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 tethered 3840 by 3552 @90Hz micro oled with pancake lens, 100 HFOV 96 VFOV but FOV IPD changes in app, link box for headset 2 split y cables, removable face gasket, 290g, steamVR2 bases and controllers, eye tracking, }} |- | <!--Description-->Pimax Dream Air SLAM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 Simultaneous Localization and Mapping (SLAM) tracking inside-out so no base stations, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://somniumspace.com/ Somnium VR One VR1] [https://portal.vrgineers.com/user-guide/software/ open source] VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr 2880 x 2880 per eye @90 @120Hz, 125° horizontal 100° vertical FOV, 2 x SteamVR 2.0 bases, passthrough, 900g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero VR-1 Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 psu needed, 2 x Mini LED binocular of 150 nits, 2880x2720 per, 90Hz, FOV 102° horizontal, 73° vertical, 720g with headstrap, 2 x SteamVR 2.0 basestations, no speakers/mic, hdmi and usb3.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Camelo La Melaza Music Shield | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 no usb only bluetooth , }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->InAir 2 elite suite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar nits 46FOV , , 4h battery life, 80g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oakley Vanguard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->RayNeo Air 3s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 100in 46FOV 650nits, usb-c 79g }} |- | <!--Description-->RayNeo Air 3S Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 135in virtual display 46FOV 1200nits, usb-c 80g }} |- | <!--Description-->RayNeo Air 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AR oled vision 4000 processing, HDR10, 47 FOV }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rokid Max 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 50 FOV 650nits, usb-c back left, 76g, }} |- | <!--Description-->Rokid AI Spatial with Station 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 600nits 147in 50FOV 75g, }} |- | <!--Description-->Rokid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| ar ai smart glass}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 135in 46 FOV 1000nits, magnetic connector, 77g, }} |- | <!--Description-->VITURE XR Luma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 1200p 50 FOV, }} |- | <!--Description-->Viture Luma Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 152in 52 FOV 1000nits 1200p, 3dof, , 79g, }} |- | <!--Description-->Viture Luma Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 in FOV, 2 cameras, 3dof 6dof, }} |- | <!--Description-->[https://github.com/wheaney/XRLinuxDriver Viture Luma Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Beast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 1250nits 58FOV 174in, magnetic, 88g, }} |- | <!--Description-->VITURE Beast X Glasses models (Immersive 3D Moonlight) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 based 2D to 3D conversion with support DP Alt Mode (DisplayPort over USB-C), 1200p, 3df tracking, practic lenses 58deg POV, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xreal One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 600nits, 50FOV, 3dof, usb-c 84g, }} |- | <!--Description-->XReal One Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 700nits 57FOV 171in, usb-c, x1 3dof, }} |- | <!--Description-->Nreal now Xreal Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , micro-oled 1080p, audio, virtual uvc ar displays, }} |- | <!--Description-->Nreal now Xreal Real3D 1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AI based 2D to 3D conversion 57 FOV, , virtual uvc ar displays not vr, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xiami XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xtal 8k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Apple Vision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 tethered AR mixed reality glasses, 3300ppi, 800g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Google XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Focus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 standalone }} |- | <!--Description-->HTC Vive Focus Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 android with 2 1440 x 1600 75Hz amoled, inside-out, durable motion controllers, Vive port, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Pro EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 dual-OLED displays 2880 x 1600 combined resolution), SteamVR 2.0 tracking, foveated rendering, Tobii, it enables gaze-based menu navigation with avatar eye contact, proprietary cables, }} |- | <!--Description-->HTC Vibe Cosmos | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 poor tracking and lifespan on controllers, }} |- | <!--Description-->HTC Vibe Cosmos Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2020 1440x1700 per eye resolution, 90 Hz refresh rate, 6 DoF tracking, 2880 x 1700 combined pixel resolution, 97° FoV, two controllers and two base stations. Lighthouse tracking, }} |- | <!--Description-->HTC Vive Focus Vision Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->HTC Vive Focus 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 per-eye resolution of 2448×2448 at 90 Hz, a 120-degree field of view, Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->HTC Vive XR Elite VR Headset Deluxe Pack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 snapdragon xr2 gen 1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pico Goblin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 android based, 2.5K 1280x1440 per eye @70Hz, 92° FoV, and 3DoF (three degrees of freedom) tracking (Orientation tracking only—yaw, pitch, roll), single controller, snapdragon 820, ipd adjustment 54-71 mm, 600g, }} |- | <!--Description-->ByteDance Pico G2 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 android standalone VR headset, 3840 x 2160 (4K) LCD screen, Snapdragon 835 processor, 3DoF so rotational movement (looking around, pointing) rather than positional movement (walking, leaning), does not support hand or eye tracking, 800g }} |- | <!--Description-->ByteDance Pico NEO 2 EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 6DoF 360g snapdragon 845 display 4k 75Hz tracking inside-out - magnetic field for controllers - pico software on android 8 - eye tracking }} |- | <!--Description-->ByteDance Pico Neo 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 Snapdragon XR2 Gen, 4K 3664 x 1920 90Hz lcd, battery at rear, displayport, Pico apparently emulates Oculus controllers, }} |- | <!--Description-->ByteDance Pico Neo 3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico Neo 3 Link | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160x2160 panel per eye 75Hz 90Hz 105 FOV, Arm snapdragon xr gen 1, }} |- | <!--Description-->ByteDance Pico 4 ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160 x 2160 @90 105 FOV, snapdragon XR2 G2, streaming from PC with alvr, wireless streaming from PC with WiVRn, Pico apparently emulates Oculus controllers, not plug and play, }} |- | <!--Description-->ByteDance Pico 5 aka Project Swan aka Vision Pro Competitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 micro-oled BOE 3840 x 3840 4000ppi per eye, MLA pancake lenses, custom pico arm cpu, pico os 6 android, eye and hand tracking, 300g, }} |- | <!--Description-->ByteDance Pico | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung Galaxy XR VR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 3552 x 3840 @60-90 109 FOV , Arm snapdragon XR2+ Gen 2, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shiftall MeganeX 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 android }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8k MeganeX Superlight 8K] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android (3552 x 3840 pixels) into pixel count yields 27.27MP 10-bit HDR-compatible 4K resolution micro OLED panels @90Hz, pancake lenses 94 FOV, SteamVR™ tracking, 180g, 5V 2A, }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8kmk2 MeganeX 8K Mk2 MkII] [https://github.com/sboys3/CustomHeadsetOpenVR community] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr linux, 4K per eye (1.35inch micro OLED 3552x3840 10 bit HDR) 27MP @90Hz 75Hz 72Hz pancake, upto 108 hor 100 vert FOV, usb-c and dp cables to breakout box, 5V 2.1A, 200g}} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Acer Windows(TM) MR AH101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Dual 2.89” LCD panels 2880 x 1440 combined (1440 x 1440 per eye) Up to 90Hz (HDMI 2.0), or 60Hz (HDMI 1.4), Field of View FOV 95, Tracking Inside-out, lots of light leak, }} |- | <!--Description-->Acer H7001 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 wmr 1440 x 1440 per-eye resolution @90Hz refresh rate, and 100-degree field of view FOV, inside-out tracking with front-mounted cameras so no external sensors, flip-up visor design but has a "screen door effect," subpar foam padding, win10 to win11 24H2, }} |- | <!--Description-->Dell Visor Mixed Reality VRP100 VR118 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 2x 1440x1440 a bit of nose light leak }} |- | <!--Description-->Fujitsu | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 cheap and lots of light leak }} |- | <!--Description-->[https://github.com/HadesVR HadesVR] with [https://github.com/ManoloMancelli/Persephone-Classic-Controller Persephone Controller] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.youtube.com/watch?v=HFaVjB1uNOM Persephone 3 Pro DiY 6Dof SteamVR Headset], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HP Reverb G1 VR1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 WMR 2160 x 2160 @90Hz, 115 FOV, , hp proprietary headset cable end, 2 camera tracking but poor and controllers can be unresponsive, 500g front heavy, flight sims rather than gaming, }} |- | <!--Description-->HP 1440p Spatial Computing | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dim display }} |- | <!--Description-->[https://forums.x-plane.org/forums/topic/294764-vr-in-linux-without-steam/ HP Reverb G2] WMR VR3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 2 2160 x 2160 90Hz, needs Windows10 or Win 11 24H2, 4 camera tracking, controllers can be unresponsive, hp proprietary headset cable end, , }} |- | <!--Description-->HP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Mirage Solo is a Standalone VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Qualcomm Snapdragon 835, 1280x1440 per eye resolution, 75 Hz refresh rate, }} |- | <!--Description-->Lenovo Explorer VR2511N (G0A2) VR windows mixed reality (WMR) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 LCD 2.89" 1440 x 1440 per eye @90Hz, 6 DOF position tracking, 400g, }} |- | <!--Description-->[https://github.com/relativty/relativty open source relativty] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung MHD Odyssey XE800ZAA WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 9V 500mA oled screens 2x 1440x1600 with usb3 and hdmi cables but bluetooth dongle required }} |- | <!--Description-->Samsung MHD Odyssey+ Plus WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dual 3.5-inch AMOLED displays 2880 x 1600 total @90Hz, 6DOF inside-out tracking with usb3 and hdmi cables but bluetooth dongle required, use only win10 or win11 24H2, }} |- | <!--Description-->Sony PSVR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2016 2x 1080x960 up to 120Hz, lots of cables and computation brick, sony camera needed for tracking, ps4 or move controllers, }} |- | <!--Description-->Virtuality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|1992 , , Amiga 3000 with TI chips, }} |- | <!--Description-->Virtuix Omni | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 VR treadmill changed course to commercial VR and pivotted back again 2020, }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === HDMI CEC transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === TV Remote Control MCE IR transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Compro K100 K300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Elitegroup Computer Systems | <!--Vendor ID-->0x1019 | <!--Product ID-->0x0f38 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GMYLE MCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|acts as usb-hid with limited keyboard like controls }} |- | <!--Description-->Hauppauge WinTV-PVR kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Logitech Harmony 300 i300 600 650 800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Microsoft MCE Commander | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2005 need extra software support}} |- | <!--Description-->Microsoft 1039 rev 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 home top of square shape direction keys}} |- | <!--Description-->Microsoft 1039 rev 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2006 home under circle spaced direction keys}} |- | <!--Description-->Microsoft 1069 SMK Manufacturing, Inc | <!--Vendor ID-->0x0609 | <!--Product ID-->0x0334 | <!--Revision--> | <!--Opinion-->{{No|2007 untested}} |- | <!--Description-->Philips RC1974506/00 | <!--Vendor ID-->0x0471 | <!--Product ID-->0x0815 | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Sony RM-MCE10E PC REMOTE CONTROL VGN-AR21M VGX-XL100 VGN-AR21B/AR21S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE20E PC REMOTE CONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE30E PC REMOTE CONTROL VGN-AW21XY VGX-TP3E VGX-TP3G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE50E PC REMOTE CONTROL VGC-LA2R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TSDX-IR14 USB MCE Media Center External Infrared IR Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->chipsets support CIR (consumer IR) Winbond W83977F/AF, SMC IrCC 2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|technical reasons it's not possible to use USB IrDA dongles}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Zotac RC2604323/01G Zbox Media Remote Control with IR USB Receiver OVU710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Anycubic Cobra 2 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Bambu Labs A1 Mini 3D printer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 EMS proprietary slicer app and cloud use, eSUN}} |- | <!--Description-->Bambu Labs X1 Carbon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Bambu Labs X2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elegoo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lulzbot | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Prusa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Qidi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Snapmaker U1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tool changer }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sovol SV08 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| open source voron model, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->desktop pick and place machines AFARCO PNP running OpenPnP for Desktop SMT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==ethwrap.class - Host Data Link "Cable Bridge" for data transfer== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Advance USBNET (eTEK design) | 0x0525 | 0x9901 | | {{N/A|untested}} |- | ALi Uli M5632 (chip) | | | | {{N/A|untested}} |- | Aten (Ali Corporation) UN201 | 0x0402 | 0x5632 | | {{maybe|force binding from rawwarp to ethwrap}} |- | Belkin (eTek design see below) | 0x050d | 0x0004 | | {{N/A|untested}} |- | Digitus DN-3004 - USB Host Link | | | | {{yes|works}} |- | EPSON USB client | 0x0525 | 0x2888 | | {{N/A|untested}} |- | eTEK | 0x056c | 0x8100 | | {{N/A|untested}} |- | KC-190 | 0x050f | 0x0190 | | {{N/A|untested}} |- | GeneSys GL620USB | | | | {{no|no driver the half-duplex GL620USB is NOT supported, products using it include the Inland Pro USB Quick Link}} |- | GeneSys GL620USB-A | | | | {{N/A|untested}} |- | Laplink Gold (uses NetChip 1080) | | | | {{N/A|untested}} |- | Prolific 2301/2302 (Jaton USB ConNET) (BAFO DirectLinq) | 0x067b | 0x0000 and 0x0001 | 0x0004 | {{maybe|detected but untested}} |- | Xircom PGUNET (uses AnchorChips 2720) | 0x0547 | 0x2727 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==cdcacm.class - USB modem== The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream). {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Alcatel OT-I650 | 0x1bbb | 0x0003 | | {{N/A|untested}} |- | Acatel Dymamode/Dynamite | 0x06b9 | 0xa5a5 | | {{N/A|untested Zyxel Prestige 630-13 - untested PROLiNK Hurricane 8000 external link }} |- | AnyData ADU-100A ADU-E100A ADU-E100D ADU-E100H D10 | 0x16d5 | 0x6501 | | {{N/A|untested}} |- | AnyData ADU-310 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | AnyData ADU-500A ADU-510A ADU-510L ADU-520A | 0x16d5 | 0x6502 | | {{N/A|untested}} |- | AnyData ADU-610 ADU-620 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | BT On-Air USB MODEM | 0x079b | 0x000f | | {{N/A|untested}} |- | Conexant USB MODEM CX93010 | 0x0572 | 0x1321 | | {{N/A|untested}} |- | Conexant USB MODEM RD02-D400 | 0x0572 | 0x1324 | | {{N/A|untested}} |- | Conexant Chipset | 0x06ea | 0x0002 | | {{N/A|untested AUS N367 Roadster II 56 USB (Model AM5050R3) - untested }} |- | [http://accessrunner.sourceforge.net/ Conexant AccessRunner] | 0x0586 | 0x330a | | {{N/A|untested }} |- | Creative Modem Blaster USB DE5670 | 0x1690 | 0x0101 | | {{N/A|untested}} |- | FIREFLY, MediaTek Inc | 0x0e8d | 0x0003 | | {{N/A|untested}} |- | Huawei E122 | 0x12d1 | 0x1446 | | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=49126#forumpost49126] |- | Huawei E160, E160E, E160G | 0x12d1 | 0x1003 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=51888#forumpost51888] (Chipset: Qualcomm MSM6246) |- | Huawei E169 also known as Vodafone K3715 and Huawei K3715 | 0x12d1 | 0x1001 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4941&forum=4&post_id=44683#forumpost44683] (Chipset: Qualcomm MSM7200) |- | Huawei E220 "Vodafone EasyBox II" "T-Mobile wnw Box Micro" also known as Huawei K3565 | 0x12d1 | 0x1003 | | {{yes|works, see E169 above (Chipset: Qualcomm MSM6280)}} |- | Huawei E1750 | 0x12d1 | 0x1001 | | {{N/A|untested (Chipset: Qualcomm MSM6290)}} |- | Huawei E170, E172, E176 | 0x12d1 | 0x1003 | | {{N/A|untested (Chipset: Qualcomm MSM7200)}} |- | Huawei E180 | 0x12d1 | 0x1406 | | {{yes|Works (Chipset: Qualcomm MSM7200)}} |- | KYOCERA AH-K3001V | 0x0482 | 0x0203 | | {{N/A|untested}} |- | LG CU515 | | | | {{N/A|untested}} |- | MediaTek Inc GPS | 0x0e8d | 0x3329 | | {{N/A|untested}} |- | Metricom GS Modem | 0x0870 | 0x0001 | | {{N/A|untested}} |- | Motorola MOTOMAGX phones | 0x22b8 | 0x6425 | | {{N/A|untested}} |- | Motorola Q Phone | 0x22b8 | 0x7000 | | {{N/A|untested}} |- | Hummingbird huc56s (Conexant) | 0x0572 | 0x1329 | | {{N/A|untested}} |- | Netcomm Roadster II 128 ISDN | | | | {{N/A|untested}} |- | Nokia n70 N95 HSDPA | | | | {{yes|works - see [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=4415&viewmode=flat&order=ASC here]}} |- | OGO | 0x045E | 0x0079 | 0090 | {{no|no driver}} |- | Olitec ADSL Modem V2 | 0x08e3 | 0x0100 / 0x0102 | | {{N/A|untested}} |- | <!--Description-->Onda PT502HS | <!--Vendor ID-->0x19D2 | <!--Product ID-->0x0001 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | Radicom V92HU-E2 | | | | {{N/A|untested}} |- | <!--Description-->Samsung i8510 Innov8 Symbian smartphone | 0x04e8 | 0x6651 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Samsung Tocco Lite (aka GT-S5230) | 0x04e8 | 0x6795 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Shiro / Aztech USB MODEM UM-3100 | 0x0572 | 0x1328 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1602 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1608 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM - new version | 0x0ace | 0x1611 | | {{N/A|untested}} |- | Zoom Telephonics Model 3095F USB MODEM | 0x0803 | 0x3095 | | {{N/A|untested}} |- | Ugobe Pleo | 0x6962 | 0x0100 | 0x0100 | {{Yes|Works}} |} ==Misc== palmpda.class - no [http://aminet.net/package/util/libs/PdaLinkPoseidon pdalink.library and tools] in AROS Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools through virtual usbpalm.device. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Palm IIIx (OS3.1) serial rs-232 only | | | | {{no|no }} |- | Palm IIIc (OS3.5) | | | | {{no|no }} |- | Palm V | | | | {{no|no }} |- | Palm m100 | | | | {{no|no }} |- | Palm m125 first USB - last with aaa batteries | | | | {{no|no }} |- | Palm m500 (OS4) | | | | {{no|no }} |- | Tungsten T (OS5) first arm cpu | 0x | 0x | 0x | {{no|no }} |- | Zire 31 (OS 5.28) color arm-based | | | | {{no|no }} |- | [[:w:Handspring (company)|Handspring Visor]] – USB support out of box | | | | {{no|no }} |- | Handspring Treo 600 – last one for [[:w:Handspring (company)|Handspring]] | | | | {{no|no }} |- | Treo 700w | | | | {{no|no }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} bluetooth.class - needs Bluetooth (Viking King Harald "Bluetooth" Gormsson (Old Norse: Haraldr Blátǫnn Gormsson; Danish: Harald Blåtand Gormsen) stack to work (not written due to licensing fees to use the symbol merging the Younger Futhark runes for H (ᚼ) and B (ᛒ), representing Harald's initials) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} ccid.class - Chip/Smart Card Interface Devices (not implemented) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->cyberJack RFID basis | <!--Vendor ID-->0x0C4B | <!--Product ID-->0x9102 | <!--Revision-->0001 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} dfu.class - DFU firmware upgrade {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->iPhone 3, 4, 5, 5c | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1290 0x1292 0x1294 | <!--Revision--> | <!--Opinion-->{{unk| 32bit use with caution could cause damage}} |- | <!--Description-->iPhone 5s, 6, 7, 8, X | <!--Vendor ID-->0x05ac | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 64bit use with caution could cause damage}} |- | <!--Description-->M-Audio/Midiman USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->iPad 1, iPad 2 A1395 A1430, iPad 3, ipad mini A1432, iPad A1458 4th Gen (MD512LL/A), | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2008-2013 32bit A4, A5 up to Apple A6X, iOS 1 to 10, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->iPad Air (1st generation) A1474, A1475, A1476, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2014-2015 [https://github.com/AsahiLinux 64bit], A7, iOS 11 up to |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2015 64bit A8, A8X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2016 64bit A9, A9X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2017 64bit A10, A10X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2018 64bit A11 |- | <!--Description-->iPad Air 3rd Gen A2153, A2123, A2154, iPad Mini 5th Gen, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2019 64bit A12 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} RocketTool (USB Rocket Launchers - Toy missile launchers) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Original Launcher and StrikerII (includes laser) | 0x1130 | 0x0202 | | {{yes|works }} |- | Dream Cheeky USB Missile Launcher or USB Cirus Cannon | 0x1941 | 0x8021 | | {{no|no driver }} |- | Dream Cheeky USB Webcam Missile Launcher | 0x1941 | | | {{no|no driver }} |- | Rocket Baby | 0x0a81 | 0x0701 | | {{no|no driver }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} DRadioTool (FM Radios - USB radio devices D-Link/Gemtek) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link DSB-R100 USB | 0x04b4 | 0x1002 | 0x0410 | {{yes|works }} |- | [http://www.neoseeker.com/forums/383/t257009-link-usb-dru-r100-radio/ GemTek USB FM Radio 21] | 0x04b4 | 0x1002 | | {{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} UproarTool (Valencia MPX mp3 player and others) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Korean D Square Valencia MPX-Player | 0x04e8 | various | | {{N/A|untested }} |- |} [https://www.youtube.com/watch?v=vIuT7rJgc8w with unlocked android bootloader], <pre> Kill and restart the server a few times sudo adb kill-server sudo adb start-server And finally type in sudo adb devices adb devices Lists connected devices adb shell Opens a terminal shell on the device hollywood:/ $ su id df -h top ls -la ls sdcard ls sdcard/Android ls sdcard/Oculus wm size cd .. cd data/system look inside bad Corejava folder cd data/system/etc/init look cd data/system/app cd /data cd /dev/block adb shell pm disable-user --user 0 com.oculus.nux.ota adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over adb shell 'setprop debug.oculus.cpuLevel 5 && setprop debug.oculus.gpuLevel 5 && setprop debug.oculus.adaclocks.force 0 && setprop debug.oculus.phaseSync 1 && settings put global always_finish_activities 1 && settings put global wifi_scan_throttle_enabled 1 && settings put global window_animation_scale 0.25 && settings put global transition_animation_scale 0.25 && settings put global animator_duration_scale 0.25 && sync' settings list --user 0 secure or global or system user_setup_complete=0 adb shell screenrecord adb shell reboot adb install <path_to_apk> Installs an app like adb install -g -r alvr_client_android.apk or adb install -r app.apk memtester lsmod adb command to enable hand tracking, possible, but root access is required adb root oculussetting --set hand_tracking_opt_in 1 hand_tracking_enabled 1 adb push <local> <remote> Copies files to the device adb pull <remote> <local> Copies files from the device pull them using CFB, extract original apk using LL adb forward tcp:9943 tcp:9943 (Used for advanced, such as ALVR streaming) adb shell pm disable-user --user 0 com.oculus.partnercustomization Enterprise versions adb reboot Performs a standard system restart adb reboot bootloader Restarts the device into fastboot/bootloader mode adb reboot recovery Restarts the device into recovery mode adb reboot download Reboots Samsung devices into Download Mode adb reboot fastboot Directly enters fastboot mode [https://gist.github.com/pantasio/3d0eb4bb03a1e696aae8696f60730859#file-enable-usb-debug-adb usb dev debug adb] </pre> {{BookCat}} p49nou5rdgvgp4n3r2uedj2pdu9a9tt Messier Index/Cover 0 209938 4656904 4340939 2026-08-10T06:46:22Z ShakespeareFan00 46022 4656904 wikitext text/x-wiki {{center/top}} <div style="border:5px solid #FF0000;width:550px"> <br/><br/><br/><br/> <b> <big style="font-size:24pt"><u>The Index of Astronomy Objects</u></big><br/><br/> <big style="font-size:18pt">Volume 1</big><br/><br/> <big style="font-size:18pt">Messier Index</big> </b> {| |- |rowspan=2|[[File:Eaglefairy hst big.jpg|200px]] |style="padding-bottom:2px;"|[[File:Crab Nebula.jpg|200px|The Crab Nebula]] |- |[[File:Messier 17.jpg|200px|Messier 17]] |} <br/><br/><br/><br/> </div> {{center/end}} {{BookCat}} 0hin63zc7zampqr6eu941klzq5a17jf Survey of Communication Study/Chapter 7 - Rhetorical Criticism 0 210995 4656876 4052971 2026-08-09T23:12:24Z Rich Farmbrough 9604 4656876 wikitext text/x-wiki <poem style=" color:green;">==Rhetorical Criticism==</poem> {| cellspacing=0 align=Left |<poem style="padding:15px 15px 15px; background:lightblue;color:black;border:1px solid gray;"> '''Chapter Objectives:''' After reading this chapter you should be able to: • Define rhetoric. • Identify key features of classical rhetorical theory. • Identify the challenges that contemporary theorists are making to the study of rhetoric. • Define rhetorical criticism. • Explain the purpose and uses of rhetorical criticism. • Explain the different models of rhetorical criticism. • Understand how rhetorical theory and criticism are a current part of the communication discipline. </poem> |} What do you think of when you hear the word “rhetoric”? Do you have a positive association with the word? Perhaps it feels difficult to define. We often hear that rhetoric is connected to politics, or specifically, the speeches made by politicians, as in, “That campaign speech was just a bunch of empty rhetoric.” Sound familiar? As is often the case, the popular media has distorted the meaning of this word thus, making it difficult to understand. Another problem is that “rhetoric is not a content area that contains a definite body of knowledge, like physics; instead, rhetoric might be understood as the study and practice of shaping content” (Covino and Jolliffe 4). A third source of difficulty when it comes to defining this concept is that scholars themselves have been debating this term for thousands of years! In this chapter, we will explore both Rhetoric and Rhetorical Criticism. We treat these as separate but related fields of inquiry, and briefly map out their history, discuss some of the major rhetorical theories and methods of doing rhetorical criticism, and finally, explain how this specialization contributes to the larger discipline of Communication. But, before going any further, let’s begin by highlighting the definitional and historical debate so we may begin with a common understanding of the term, “rhetoric.” Remember from Chapter 5 that we are defining '''rhetoric''' as ''“any kind of symbol use that functions in any realm”'' (Foss, Foss, and Griffin 7). One would think that after thousands of years scholars would finally come to an agreement about what rhetoric means. But as is the way with all symbols (words in this case) their meaning can and does change over time to reflect the ever-changing social, political, religious, and cultural context in which they operate. More specifically, they change to reflect the needs, attitudes and beliefs of the people living and communicating within a particular context. Let us take a trip around the world and through time to explore the origin and meaning of rhetoric. As we tour the origins and various definitions of rhetoric we will also highlight the view or scope allowed by each, for “a way of seeing is also a way of not seeing” (Burke 49). <poem style=" color:green;">==Rhetoric In Ancient Times==</poem> We will begin our tour in Ancient Greece with the “first four”—Aspasia of Miletus, Socrates, Plato, and Aristotle—who have come to be regarded as the foremother and forefathers of rhetoric and the Communication discipline as a whole. Although little is known about her because she vanished from history circa 401 BCE, as we discussed in Chapter 4, '''Aspasia of Miletus''' can be considered the foremother of classical rhetoric as she is rumored to have taught rhetoric and home economics to Socrates. With specialties in philosophy and politics, she became the only female member of the elite Periclean circle that included the most prominent Sophists of the day. In the circle she made both friends and enemies as a result of her political savvy and public speaking ability. [[File:(1883) Socrates. A translation of the Apology, Crito, and parts of the Phaedo of Plato..jpg|right|300 px|(1883) Socrates. A translation of the Apology, Crito, and parts of the Phaedo of Plato.]] As a student of '''Socrates''' (469-399 BCE), '''Plato''' (429-347 BCE) wrote about rhetoric in the form of dialogues wherein the main character is Socrates. Through this form the '''dialectic''' was born. While this term has been debated since its inception, Plato conceptualized it as ''a process of questions and answers that would lead to the ultimate truth and understanding''. While Plato wrote about dialectic, contributing a great deal to classical rhetorical theory, he was also very critical of it. In <u>Georgias</u>, for example, Plato argued that because rhetoric does not require a unique body of knowledge it is a false rather than true art. While Plato condemned the art of rhetoric, his student, '''Aristotle''' (384-322 BCE) believed in the possibility of rhetoric as a means of creating community. The dialectical, or give and take approach, allows people to share and test ideas with one another with the goal of a more prosperous city-state. He defined rhetoric as the ability to see, in each particular case, the available means of persuasion. Two parts of this definition are particularly significant: the terms “in each particular case” and “persuasion.” Two parts of this definition are particularly significant: the terms “in each particular case” and “persuasion.” The former suggests that Aristotle recognized the importance of context and audience; that a specific situation with a particular audience might direct the speaker, or rhetor, to create a message in a form that might look different in another context with another audience. He recognized the importance of '''audience analysis''': that ''different things appeal to different people''. To put it in contemporary terms, let us look at an example from the marketing and advertising world. Mattel, the company who makes Barbie has long been interested in selling the doll as well as her friends and accessories worldwide. (Currently, a Barbie is sold somewhere in the world every 2 seconds!) Researching the Japanese doll market, advertisers found that Japanese girls do not play with their dolls in the same way as American girls--dressing them, fixing their hair, and role-playing with them. Instead, Japanese girls might place the dolls on a shelf and admire them. To sell Barbie in Japan meant that Mattel must also “teach” Japanese girls how to play and use Barbie like American kids do. As a result, their Japanese television commercials are explicit in the verbal messages as well as the images of playing with (not looking at) Barbie. Mattel has taken the same message—sell Barbie—and constructed it differently depending on the context and their audience. This would be an example of creating the necessary appeals to persuade kids (to buy Barbie) in each particular case (America versus Japan) based on audience analysis. The second part of his definition dealing with persuasion suggests that Aristotle conceptualized a very specific and limited scope for rhetoric. Rhetoric exists in contexts where a person or a group of people is engaged in the process of communicating for the purpose of changing another in some way. Change may come in the form of trying to influence a prospective voter in an upcoming election or convincing a jury on the guilt or innocence of a defendant in a murder trial. As we will discuss later in this chapter, the sole focus on persuasion is one of the critiques that contemporary theorists have when assessing rhetorical theory. While much of the classical theorists were men and dealt with traditionally male roles, Pan Chao (c. 45 CE-115 CE) provides historical insight into Eastern rhetoric and the role of women in rhetoric. A strong believer in the benefits of education, she was one of the first people to argue for the education of girls and women. The role of women and other non-dominant groups is another concern of contemporary theorists that will be discussed later in more detail. <poem style=" color:blue;">===Articulating a Classical Rhetorical Theory===</poem> Two other key figures in classical rhetoric are Cicero (106-43 BCE) and Quintillian (c. 35-95). They deserve recognition for combining much of what was known from the Greeks and Romans into more complete theoretical systems. Many of the concepts to emerge from this time are still relevant today, although they may have been transformed in some way to reflect a more contemporary context. You may, for example, recognize them in the setting of a public speaking course. In the classical system there were three types of public speeches—legal, political, and ceremonial. Eventually the genre of rhetorical discourse would include poetry, sermons, letters, songs; and with the advent of the technology, mass mediated discourse such as television, radio, and film. As we discussed in Chapter 4, another major contribution was the formation of the '''five canons''': ''invention, arrangement, style, memory, and delivery''. All of these should be easily recognizable as the stages of speech preparation. First, the speechwriter must invent and formulate the arguments based on logos-- rational appeal or logic. Next, the speech is organized in the most effective manner. Aristotle thought the logical appeals should go in the main part or body of the speech and the appeals to ethos and pathos should fall in the introduction and conclusion. After the proper arrangement of the information, the writer must think about style—the particular language choices that will enhance the enjoyment, and thus acceptability of the argument, on the part of the audience. The fourth step, memory, was vital in the classical period but is rarely a requirement in today’s public speaking contexts. Today, we favor more extemporaneous speaking styles instead of memorized speeches. The final element, delivery, consists of the use of nonverbal gestures, eye contact and vocal variations when presenting the speech to an audience. Think back to the evaluation form that your professor used to evaluate your speeches in class; chances are you were evaluated in some manner on your ability to perform the five canons. <poem style=" color:blue;">===Rhetoric Loses Its Status, Then Rises Again===</poem> As the Roman Empire fell and the historical period known as the Middle Ages (400-1400) dominated, rhetoric fell from grace. It was no longer a valued and honored skill, but instead, was thought of as a pagan art. This view coincided with the Christian domination of the period as, “Christians believed that the rhetorical ideas formulated by the pagans of classical Greece and Rome should not be studied and that possession of Christian truth was accompanied by an automatic ability to communicate the truth effectively” (Foss, Foss, and Trapp 8). Ironically, it was a Christian, Augustine, who recognized and articulated the role for rhetoric in the church. Prior to his conversion to Christianity, Augustine was a teacher of rhetoric, thus, he knew skills in oratory and that the ability to move an audience was consistent with the duties of a preacher. As the world grew bigger, people needed a form of communication that would travel across distance—thus letter writing became popular and was now considered within the scope of rhetoric. As the Middle Ages ended, the Renaissance took its place from 1400-1600. During this period two intellectual trends—humanism and rationalism—shaped the study of rhetoric. '''Humanism''' is ''the study of history, moral philosophy, poetry, and rhetoric of classical antiquity''. These thinkers believed that the word was to be known and understood through language, rather that the natural or physical worlds. '''Rationalism''', however, ''privileged scientific and objective answers to life’s questions and as such had little use for rhetoric''. In the modern period that followed, three trends in rhetoric emerged—the epistemological, belletristic, and elocutionist. <poem style=" color:blue;">===Challenges To The Canon===</poem> While much of the classical rhetorical theories arose from the closely related context of public speaking, much of the theorizing that contributes to contemporary rhetoric comes from outside this context and, to some extent, outside the Communication discipline. While Aristotle and Augustine were chiefly concerned with questions of persuasive ability, contemporary theorists are concerned with relationships between power, knowledge, and discourse. Hopefully, you can see that this is a much broader set of questions and in turn the scope of rhetoric has also expanded. Below, we will discuss this expansion and the contributors. <poem style=" color:blue;">===Rhetoric In Contemporary Times===</poem> In addition to the broader set of concerns on the part of contemporary theorists, they specifically challenged certain assumptions and biases of the canon—that of rationalism and voice. Responding to this rational bias are social constructionism and postmodernism. '''Social Constructionism''' often associated with Thomas Kuhn and Richard Rorty, ''questions the premise that scientific or philosophical knowledge can be assumed as fundamentally true''. This perspective “discounts the possibility that truth/reality/knowledge exists in an a priori state.” [Instead,] it emphasizes what cultures regard as knowledge or truth” (Covino and Jolliffe 83). Meaning, that the “truth” is not “out there” (as X Files would have us believe). Rather, the truth is determined by our own personal and cultural experiences and how language is used to understand and explain those experiences. In any discussion of Postmodernism the difficulty of defining the term is invariably part of the discussion. Part of that problem can be located the etymology of the word itself. Modern refers to just now (from modo in Latin) and post means after. Thus, this term translates into “after just now”—an idea difficult to wrap our heads around you might say. How do you, for example, point to or mark the period after just now? (Covino and Jolliffe 76). Some qualities that describe postmodernism are that of fragmentation, nonlinearity, and instability. The film, Moulin Rouge, is an excellent example of a postmodern text as it exemplifies these qualities. The story is told not in a traditionally linear (or modern) form, but instead the dialogue is made up of a patchwork of pop songs from Elton John to Madonna to weave the tale of a 19th century romance. {| cellspacing=0 align=left width=35% |<poem style="padding:15px 15px 15px; background:lightgreen;color:black;border:1px solid gray;"> '''Case In Point''' '''Why Engagement Rings are a Scam''' [[File:EngagementRing.JPG|left|200px|thumb|EngagementRing]] In the show, [https://www.youtube.com/watch?v=N5kWu1ifBGU '''Adam Ruins Everything'''], Adam outlines how our culture can be rhetorically shaped by corporations. While not a rhetorical scholar, he uses Rhetorical Criticism to examine the tradition of the accompaniment of a proposal with an engagement diamond ring. By exposing the origin of this tradition, and the messages that were created surrounding it, he demonstrates that this ‘tradition’ was perpetuated by ad campaigns that inflated the worth of a diamond by putting down people for not having them. Through a system of repeat exposure and peer pressure, this custom has stuck and assimilated into our everyday life. What are some customs that you can think of which you have not questioned the origin and purpose behind? Attempt to determine their intent through the use of rhetorical criticism. </poem> |} The second major challenge to the rhetorical canon and to a rational paradigm has been that of voice; who gets to speak and whose rhetoric is considered significant (or even gets labeled as rhetoric)? Going back to the classical period, you remember that public oratory was considered the scope of rhetoric. And you also know who traditionally hold positions of power that would grant them access to the public speaking contexts—primarily white, wealthy men. This obviously left out a lot of people: they had no voice. An Afrocentric and feminist perspective offer two responses to this challenge. An Afrocentric position seeks to include linguistic elements from African languages as well as the Black experience in America into the scope and understanding of rhetorical processes. A feminist perspective looks at the ways in which women and other groups have been similarly left of the scope of rhetorical discourse and attempts to uncover the patriarchal biases in language and restore them with more egalitarian principles. <poem style=" color:green;">==Understanding Rhetorical Criticism==</poem> In the second half of this chapter we would like to discuss the application of rhetorical theory through rhetorical criticism. To explain praxis as applied to rhetorical theory, we will discuss the scope of rhetorical criticism, the purpose of this method, the kinds of knowledge produced, and the relationship between rhetorical theory and criticism. We will conclude with examples of how rhetorical criticism seeks to answer contemporary socio and political concerns. '''Rhetorical criticism''' is ''an epistemology or way of knowing many scholars find effective in coming to an understanding about the communication process and the artifact under study''. (An '''artifact''' or '''text''' is simply ''the thing that the critic wants to learn about''. Artifacts can be, for example, speeches, songs, sermons, films or works of art.) Think about a speech you have heard that was very moving and inspirational. At its conclusion perhaps you wondered, “I know that was a great speech, but why”? Or perhaps a visit to the Vietnam Memorial in Washington, D.C. inspired the question, “How did the artist take a controversial subject (the war) and memorialize it in a way that diffuses the controversy”? Or maybe you are a fan of the show South Park. You recognize that there are jokes that make fun of particular groups of people such as ethnic and racial minorities that could be labeled “racist.” Yet, you do not believe that the overall point or message of this program is to espouse a racist agenda. So, what is going on with this show that allows it to contain some of its racial message? These are the types of questions that rhetorical criticism can answer. {| cellspacing=0 align=right width=35% |<poem style="padding:15px 15px 15px; background:lightgreen;color:black;border:1px solid gray;"> '''Case In Point''' '''Advertisements''' '''[https://amp.businessinsider.com/images/59db7a766d80ad64018b4cd9-960-480.jpg Click Here]''' to look at the following advertisement released by Dove: What is the message they are attempting to convey? What messages about race can be interpreted by the viewer? Whether we mean for it or not, the messages we put forth can be interpreted negatively. Thus, it is incredibly important to be aware of the possible ways in which they can be received. While it is possible that the advertisers were attempting to include a diversity of skin tones in this ad, it can also be interpreted as a racist, hegemonic structure of hierarchy based on skin tone. http://www.businessinsider.com/what-you-need-to-know-in-advertising-today-10-10-2017 </poem> |} *'''Scope''' While there is general agreement among rhetorical scholars that criticism is an appropriate method of study, there are differing opinions about why and how it contributes to an overall understanding of rhetoric. Depending on the rhetorical critic, the assumptions about rhetorical criticism vary. As a way of uncovering some of the various assumptions scholars bring to this method of inquiry, we will look at the various definitions of criticism and rhetoric and what is considered within the scope of rhetorical criticism. '''''To Persuade?''''' We can begin to see the relationship between rhetorical theory and criticism when we examine the beginnings of criticism. Pay attention to the shared qualities and assumptions. In an early (1925) essay on rhetorical criticism, the study of rhetoric was limited to that of speakers and speeches, and included a number of points to which the critic should attend: speaker's personality, speaker's public character, audience, speaker's leading ideas, motives, topics, proofs, judgment of human nature, questions considered, textual authenticity, arrangement, mode of expression preparation, delivery, style, effect on audience, influence on the time (Wichelns). With this broad agenda for critics, Wichelns failed to provide them with a method to accomplish these goals. His essay was influential in that it lead to an exclusive focus and assumption that criticism was to be centered on oral rhetoric. Hopefully, you can see how this parallels the focus of rhetoric in the classical period. Other scholars tried to fill in some of the gaps of this early essay. Ewbank tried to broaden the scope in 1931 by performing "case studies" where the critic wrote from personal experience derived from witnessing the speech. He looked at the audience's immediate reactions and the effect of the speech on them. Hunt (1935) said the critic should be focused more on values and less on performance of a work. He wanted critics to make value judgments but gave no definition of such. Bryant (1937) was the first person to question the exclusive focus on "great" individuals. He wanted a focus on social forces or movements and thought forces and figures should be studied together. Booth expanded rhetoric to include novels, plays, editorials and songs. Of the more recent critics, Cathcart says, "rhetoric is used . . . to refer to a communicator's intentional use of language and other symbols to influence or persuade selected receivers to act, believe, or feel the way the communicator desires in problematic situations" (2). Of criticism he says it is, "that special form of communication which examines how communication is accomplished and whether it is worthwhile. . . Criticism is thus the counterpart of creativity" (3). Imbedded in these definitions are Cathcart's assumptions that only messages that are intended are within the scope of study. Such messages are designed to change the listener or the situation in some way, presumably to solve the problematic situation. This implies that the rhetor knows how to solve the problem and believes that he or she has the best solution. The requirement of a "problematic situation" narrows the scope considerably as does Cathcart's examples of rhetoric—public discourse such as speeches, essays, interviews, and slogans (2). Thus, for Cathcart, a rhetor comes to the problematic speaking situation with his or her solution based on what he or she believes the audience needs to resolve the conflict. Criticism is used to assess whether the rhetor was successful in persuading the audience to accept the solution and the strategies used to gain such acceptance. Black in <u>Rhetorical Criticism</u>, defines rhetoric as, "discourse that aims to influence" (17). Criticism then, "is a discipline that, through the investigation and appraisal of the activities and products of men, seeks as its end the understanding of man himself. . . .rhetorical criticism is the criticism of rhetorical discourse" (9, 10). Here, Black offers and suggests a broader scope than Cathcart. Rhetoric is not limited to solely problematic situations; thus, it does not assume that the rhetor has a solution for the audience. Like Cathcart, he assumes the rhetorical goal is to influence and persuade and is concerned with the strategies that are most effective; scholars look at "what he says and how he says it" (17). Many other critics assume the intent to persuade as the natural goal of rhetoric and focus on the strategies for doing so. Stewart says rhetorical criticism is "the study of man's past attempt to change the behavior of fellow man, primarily through verbal symbols" (1). Brock and Scott claim rhetoric may be defined as the human effort to induce cooperation through the use of symbols" (6). By reading about the various definitions and assumptions of rhetorical criticism we hope you can begin to see a relationship between some of the early definitions of rhetorical theory (as persuasion) and how that impacted the development of rhetorical criticism. '''''Or Not to Persuade?''''' The definitions offered by Foss, however, suggest at least two different assumptions. She defines rhetoric as "the action humans perform when they use symbols for the purpose of communication with one another" (4). Like other theorists and critics, Foss is concerned with symbolic action, however, she does not assume that the sole propose of those symbols is to persuade others. Rhetoric may be intended to persuade, but it may also be "an invitation to understanding": an offer to others to see our world the way we do, not in the hope that they will change, but that they will understand (5). At other times rhetoric may be used for self-discovery, to bring people together, or entertainment. With the focus on communication as understanding rather than persuasion, Foss offers critics a broad scope for the study of rhetorical discourse. Foss defines criticism as "the process of systematically investigating and explaining symbolic acts and artifacts for the purpose of understanding rhetorical processes" (7). Like other critics she wants to understand strategies or processes, but she does not assume that she can understand "man," rather she wants to understand rhetoric and how humans use it. From her definitions, we see that Foss approaches rhetorical criticism with two assumptions that differ from other scholars. First, she does not assume that the role of the rhetorical critic is to judge the effectiveness of the speaker or discourse: their purpose is to understand. Second, she does not believe that the critic must possess knowledge of the motives of the communicator. In her perspective, this is not necessary because, regardless of intent, a message has been transmitted and produces an effect upon the audience. The goal is to uncover the meanings that are produced; not necessarily the intended meaning. *'''Purpose''' While scholars debate the purpose of rhetorical criticism, the arguments fall into one of two categories: judgment and understanding. While, this may be an oversimplification in some cases, it is useful for our purpose here. Those who see rhetorical criticism as a means of judgment are concerned with articulating the effectiveness of a text or artifact and the strategies that contributed or detracted from its overall success. How effective was President Trump, for example, in persuading the American people that the US should build a wall along the southern border? Those concerned with understanding may be concerned with comprehension and appreciation of the artifact itself and how that knowledge contributes to an understanding of rhetoric and rhetorical processes. A critic interested in this sort of project might ask a question such as, "Does the television show Stranger Things offer an empowering feminist voice or does it reinscribe a traditionally feminine image?" Both questions can be answered by rhetorical criticism: they are just different kinds of questions. Currently, the collective opinion seems to be moving in the direction of understanding as the purpose of rhetorical criticism. We see that Foss is less concerned with judgment as she is with comprehension as suggested in her above definitions of rhetoric and criticism. She sees a direct and explicit correlation between the criticism of an artifact and an understanding of rhetorical theory: "the critic is interested in discovering what the artifact teaches us about the nature of rhetoric" (8). The overall goal is to contribute to our effectiveness as communicators. When we know and understand how rhetoric works we are able to critique the rhetorical choices of others and make effective rhetorical choices for our own communication. The aim for the individual is to be rhetorically effective in a given situation by understanding the communicative options available to him or her. Other specific purposes can include artistic, analytic, and ideological. Leff describes the artistic critic as one who sees the text as art and wants to foster an appreciation in the reader (224). The purpose is for the reader to understand and therefore, appreciate the art form. The analytic critic sees the text, (such as advertisements or political campaigns) as an object of study and seeks the means to comprehend. Wanderer talks of the ideological or advocate critic as looking at how a text may be oppressive, suppress the readers' interpretations, closes off other readings or possibilities (social protests, minorities.) Feminist and ideological criticism seek the emancipation of all human potential and exposes how that potential is being silenced by the existing ideologies. <poem style=" color:blue;">===What Can We Learn?===</poem> The value of rhetorical criticism comes from the insights it can provide about rhetorical communication and the artifacts we study. Through these methodological process critics come to a greater awareness about the variety of communication options open to us in a given situation. This awareness helps us to be effective communicators. Conversely, discovering what is ineffective in a discourse teaches us what not to do when we communicate with others. By uncovering hidden meanings in a text we learn how various messages are produced and their effects. This can help us decipher how we may want to respond in a given situation: "The value of both critical theory and textual criticism derives from the extent to which they inform discursive practice and advance our understanding of rhetorical communication" (Henry 220-221). Criticism also helps us learn about a specific text. When we can identify a text with pervasive effects, rhetorical criticism can inform us as to how and why that text is so effective. Thus, rhetorical criticism enables scholars to learn more about their own communication strategies, the study of rhetoric, and the specific artifacts that interest us. <poem style=" color:blue;">===The Relationship Between Theory and Criticism===</poem> Many critics are concerned with the relationship between theory and practice and how an understanding of one contributes to the other. In this way theory and criticism are mutually interdependent: the purpose for criticism is to unite theory and practice - praxis. Criticism must be informed by method so others can see why and how we reason about quality i.e. we need theory for criticism and criticism for theory (Farrell 4). Campbell says the purpose of criticism is to contribute to the modification and application of theory (18). Criticism helps us see gaps in theory and the limits of knowledge so we may ascertain social significance of discourse. If there is a gap in theory criticism helps us create a new one. Hart, however, claims that critics do not have to choose between studying texts and contributing to theory; productive criticism can do both, regardless of the critic’s intention. If you remember back to the chapter on theory, we talked about theory as an idea of how something works. The “something” in this case is language or discourse; rhetorical theories provide models for how language functions as part of the human experience and rhetorical criticism is a way of testing and revising the particular theory with a real life case study. <poem style=" color:green;">==Current Uses of Rhetorical Theory and Criticism==</poem> By now you should have a clear understanding of what rhetorical theory and criticism are and the uses they serve for the discipline, as well as the world outside academia. We would like to conclude this chapter by detailing some of the current issues and questions occupying rhetorical scholars. As the examples are numerous, we will speak to three specific content areas: the study of social movements, political and campaign rhetoric, and studies of popular culture. <poem style=" color:blue;">===Social Movements===</poem> [[File:Black Lives Matter protest.jpg|thumb|left|300px|Black Lives Matter protest]]One of the exciting things about Communication is that is it has always been interested in the large sociopolitical issues facing society. Social change as it occurs through social movements is one such area of research. Think back to your history lessons concerning minority populations in the United States. Has the political status of women; African Americans; Asians; gays, lesbians, bisexuals, and transgendered individuals always been what it is today? (We are not suggesting here that there is finally equality among people of various races, ethnicities, genders, or sexual orientations; only that it has been much worse.) How have those changes come about? Certainly laws and customs have changed in an attempt to provide more equal access to resources and opportunities. But prior to such legislative changes, a change in attitude was necessary. Here is where social movement rhetoric played a vital role in changes our nation’s history. The rhetoric of leaders such as Martin Luther King Jr., Malcolm X, Sojourner Truth, Elizabeth Cady Stanton, Caesar Chavez have all been influential in changing attitudes. They inspired movements such as Black Lives Matter and #MeToo to create discussion and to bring to light issues that are going on today using platforms such as social media to reach big audiences. Scholars interested in these issues study the discourse of the leaders (i.e. their speeches) as well as the rhetorical vision they create for their audience. Moreover, they also attempt to learn from the past about what sort of rhetorical strategies will be successful in contemporary and future movements. As Bowers, Ochs, and Jensen explain, "one of the goals of studying social movements is to make predictions" (141). <poem style=" color:blue;">===Public Address===</poem> [[File:Donald Trump in Ypsilanti (33998674940) (cropped1).jpg|thumb|left|300px|Donald Trump in Ypsilanti (33998674940) (cropped1)]]Another area of research that falls within the scope of rhetorical theory and criticism is that of public address. This area is concerned with politics and political oratory. Some students of rhetoric may go onto careers in speech writing and campaign design on the behalf of political candidates. In this context they are able to utilize their skills in rhetoric and persuasion to answer the challenge of, how can I get people to vote for a particular candidate. Kathleen Hall Jamison is an example of such a person. She worked on the Dukakis presidential campaign and has authored several books in this area. Similarly, one might be in the business of analyzing political speeches and offering suggestions about what is effective and ineffective in a politician’s rhetoric. <poem style=" color:blue;">===Popular Culture===</poem> The study and critique of popular culture is something that most, if not all, of us participate in at some level. Do you ever watch music videos with your friends and comment on the use of some of the images? Do you look forward to the commercials during the Super Bowl to see the latest and innovative advertising techniques? As you watch, critique, and analyze these images, you are beginning the process of rhetorical criticism. The only difference between you and the professional critic (beside lots of schooling) is that the professional critic has decided to make his or her analysis systematic. This is accomplished by employing one of the formal methods discussed earlier, such as the pentad or a feminist critique. As most people participate in some form of popular culture such as television, films, music, sports, or fashion, you can see the potential impact that popular culture messages and images have on a society. Thus, scholars of popular culture feel it is important to pay critical attention to them rather than dismiss them as trivial. <poem style=" color:green;">==Summary==</poem> By now you have a more complex understanding of the term rhetoric and realize the distinction between the use of the term in the popular press and its meaning within the context of the Communication discipline. At a very basic level, you know that it refers to the process in which humans use symbols to communicate with one another. Moreover, you should know the contributions of classical and well as contemporary theorists to understanding human symbol use. As a way of knowing, rhetorical criticism provides scholars with a unique methodological tool for understanding communication. Through the contributions and paradigm shifts from classical to contemporary scholars, the scope of rhetorical criticism has been widened to include a variety of social events, acts, and artifacts that we encounter in our daily life. This method has a direct impact on our lives by informing us about the communicative options available to us when communicating with others in cultural, professional, personal and political contexts. <poem style=" color:green;">==Discussion Questions==</poem> #What specific contributions did classical theorists make to the study of rhetoric? #How have contemporary rhetorical theorists challenged the canon? #Compare and contrast classical rhetorical theories versus contemporary ones. #What idea has been at the center of most definitions of rhetoric?#Do you think rhetoric should refer only to persuasion? What are the limits and advantages to such an approach? #What role do you think the study of rhetoric can play in today’s social world? The political context? #What are some examples of the use of classical rhetorical theory in contemporary rhetorical discourse? #What sort of research question would you, as a scholar interested in the rhetoric of popular culture, ask? #What might some of the limitations of rhetorical criticism as a method? #What are the elements of Burke’s pentad? Give an example of how you would apply it to the study of a particular body of discourse. #What kind of research question would you want to ask using the method of feminist criticism? <poem style=" color:green;">==Key Terms==</poem> *Afrocentric *Aristotle *Artifact *Aspasia of Miletus *Audience analysis *Canons *Cicero *Dialectic *Ethos *Fantasy Theme Criticism *Feminist Criticism *Humanism *Ideological Criticism *Logos *Narrative Criticism *Neo-Aristotelian Criticism *Pan Chao *Pathos *Pentadic Criticism *Persuasion *Plato *Postmodernism *Public Address *Quintillian *Rationalism *Rhetoric *Rhetorical Criticism *Social Constructionism *Socrates *Types of speeches <poem style=" color:green;">==References==</poem> Black, Edwin. Rhetorical Criticism: A Study in Method. 2 ed. Madison: University of Wisconsin, 1978.</p> <p style="margin-left:.5in;text-indent:-.5in"> Bormann, Ernest G. "How to Make a Fantasy Theme Analysis.". 4.</p> <p style="margin-left:.5in;text-indent:-.5in"> Bowers, John W., Donovan J. Ochs, and Richard J. Jensen. The Rhetoric of Agitation and Control. Prospect Heights: Waveland, 1993.</p> <p style="margin-left:.5in;text-indent:-.5in"> Brock, Bernard L., Robert L. Scott, and James W. Cheseboro. "Introduction." Methods in Rhetorical Criticism. Ed. Bernard L. Brock, Robert L. Scott, and James W. Cheseboro. Detroit: Wayne State University, 1989. 9-22. </p> <p style="margin-left:.5in;text-indent:-.5in"> Bryant, Donald C. "Some Problems With Scope and Method in Rhetorical Criticism." Quarterly Journal of Speech 23 (1937): 182-89.</p> <p style="margin-left:.5in;text-indent:-.5in"> Burke, Kenneth. Permanence and Change. 1935. 3 ed. Berleley: University of California, 1984.</p> <p style="margin-left:.5in;text-indent:-.5in"> Campbell, Karlyn Kohrs. The Rhetorical Act. 2 ed. Belmont: Wadsworth, 1996.</p> <p style="margin-left:.5in;text-indent:-.5in"> Carlson, A. Cheree. "Aspasia of Miletus: How One Woman Disappeared from the History of Rhetoric." Women's Studies in Communication 17.1 (1994): 26-44.</p> <p style="margin-left:.5in;text-indent:-.5in"> Cathcart, Robert S. Post-Communication: Rhetorical Analysis and Evaluation. Indianapolis: Bobbs-Merrill, 1991.</p> <p style="margin-left:.5in;text-indent:-.5in"> Chao, Pan. "Lessons for Women." Rhetoric: Concepts, Definitions, and Boundaries. Ed. William A. Covino and David A. jolliffe. Boston: Allyn and Bacon. 415-18. </p> <p style="margin-left:.5in;text-indent:-.5in"> Covino, A William and David A. Jolliffe, ed. Rhetoric: Concepts, Definitions, Boundaries. Boston: Allyn and Bacon, 1995.</p> <p style="margin-left:.5in;text-indent:-.5in"> Ewbank, Henry L. "Four Approaches to the Study of Speech Style." Quarterly Journal of Speech 18 (1931): 458-65.</p> <p style="margin-left:.5in;text-indent:-.5in"> Farrell, Thomas B. Norms of Rhetorical Culture. New Haven: Yale University Press, 1993.</p> <p style="margin-left:.5in;text-indent:-.5in"> Foss, Sonja K., Karen A. Foss, and Cindy L. Griffin. Feminist Rhetorical Theories. Thousand Oaks: Sage, 1999.</p> <p style="margin-left:.5in;text-indent:-.5in"> Foss, Sonja K., Foss, Karen A. and Robert Trapp. Contemporary Perspectives on Rhetoric. 3rd ed. Prospect Heights: Waveland, 2002.</p> <p style="margin-left:.5in;text-indent:-.5in"> Foss, Sonja K. Rhetorical Criticism: Exploration and Practice. 2nd ed. Prospect Heights: Waveland, 1996.</p> <p style="margin-left:.5in;text-indent:-.5in"> Hart, Roderick P. "Contemporary Scholarship in Public Address: A Research Editorial." Western Journal of Speech Communication 50 (1986): 282-89.</p> <p style="margin-left:.5in;text-indent:-.5in"> Henry, David. "Test and Theory in Critical Practice." Quarterly Journal of Speech 78 (1992): 219-22.</p> <p style="margin-left:.5in;text-indent:-.5in"> Hunt, Everett Lee. "Rhetoric and Literary Criticism." Quarterly Journal of Speech 21 (1935): 564-68.</p> <p style="margin-left:.5in;text-indent:-.5in"> Leff, Michael. "Things Made by Words: Reflections on Textual Criticism." Quarterly Journal of Speech 78 (1992): 223-31. Mohtmann, and Donovan J. Ochs. University Park: Pennsylvania State University Press, 1973. 1-31.</p> <p style="margin-left:.5in;text-indent:-.5in"> Stewart, Charles J. "Historical Survey: Rhetorical Criticism in Twentieth Century America." Explorations in Rhetorical Criticism. Ed. Charles J. Stewart G.P.</p> <p style="margin-left:.5in;text-indent:-.5in"> Wichelns, Herbert. "The Literary Criticism of Oratory." Rhetoric and Public Speaking in Honor of James A. Winans. Ed. A.M. Drummand. New York: Century, 1935.</p> {{BookCat}} rrhxgpjj6j578drfaiirzfo3rudgxrc User:Piotrus 2 212865 4656989 2061806 2026-08-10T08:27:09Z ShakespeareFan00 46022 4656989 wikitext text/x-wiki {{center/top}} {| id="toc" style="margin: 0 2em 0 2em;" ! align="left" style="background:#ccccff" width="100%" | I don't check this page often. Please [http://en.wikipedia.org/wiki/User:Piotrus visit my Wikipedia userpage]. |} {{center/end}} I am a Grad student, TA, Dept of Sociology, University of Pittsburgh. On [[Wikibooks]] I am involved with [[Subject:Sociology]] where I'd like to develop some free textbooks. On [[Wikipedia]], see [[:w:User:Piotrus/Teaching]] for courses I've taught on Wikipedia. On [[Wikiversity]], see [[:wikiversity:User:Piotrus/Teaching materials]] for materials I can share. Please see my user page on Wikipedia: [[w:User:Piotrus]]. ==Sandbox== For various stuff, on this and other wiki projects. 18rroi3bxkgq5pi1abht8lnfkoeqak7 OpenSCAD User Manual/Transformations 0 214094 4656880 4629368 2026-08-10T02:13:45Z Happy2048 3619931 Corrected spelling of combining in side box 4656880 wikitext text/x-wiki {{incomplete}} === Basic concept === Transformations affect their child nodes and as the name implies transform them in various ways such as moving, rotating or scaling the child. Transformations are written before the object they affect e.g. <syntaxhighlight lang="javascript"> translate([10,20,30]) cube(10); </syntaxhighlight> Notice that there is no semicolon following transformation command. Transformations can be applied to a group of child nodes by using '{' and '}' to enclose the subtree e.g. <syntaxhighlight lang="javascript"> translate([0,0,-5]) { cube(10); cylinder(r=5,h=10); } </syntaxhighlight> Cascading transformations are used to apply a variety of transforms to a final child. Cascading is achieved by nesting statements e.g. <syntaxhighlight lang="javascript"> rotate([45,45,45]) translate([10,20,30]) cube(10); </syntaxhighlight> [[File:Openscad_combined_transform.png|200px|thumb|When combining transforms, order is important]] Combining transformations is a sequential process, going from right to left. Consider the following two transformations: <syntaxhighlight lang="javascript"> color("red") translate([0,10,0]) rotate([45,0,0]) cube(5); color("green") rotate([45,0,0]) translate([0,10,0]) cube(5); </syntaxhighlight> While these contain the same operations, the first rotates a cube around the origin and then moves it by the offset specified for the translate, before finally coloring it red. By contrast, the second sequence first moves a cube, and then rotates it around the origin, before coloring it green. In this case the rotation causes the cube to move along an arc centered at the origin. The radius of this arc is the distance from the origin, which was set by the preceding translation. The different ordering of the rotate and translate transformations causes the cubes to end up in different places. === Advanced concept === As OpenSCAD uses different libraries to implement capabilities this can introduce some inconsistencies to the F5 preview behaviour of transformations. Traditional transforms (translate, rotate, scale, mirror & multimatrix) are performed using OpenGL in preview, while other more advanced transforms, such as resize, perform a CGAL operation, behaving like a CSG operation affecting the underlying object, not just transforming it. In particular this can affect the display of modifier characters, specifically "#" and "%", where the highlight may not display intuitively, such as highlighting the pre-resized object, but highlighting the post-scaled object. === scale === Scales its child elements using the specified vector. Note that unlike the resize transformation below, this is multiplicative, so the current size is multiplied by the factor provided in the vector. The argument name is optional. Usage Example: scale(v = [x, y, z]) { ... } <syntaxhighlight lang="javascript"> cube(10); translate([15,0,0]) scale([0.5,1,2]) cube(10); </syntaxhighlight> [[File:OpenSCAD scale() example.JPG|Image showing result of scale() transformation in OpenSCAD]] === resize === Modifies the size of the child object to match the given x,y, and z sizes. resize() is a CGAL operation, and like others such as render() operates with full geometry, so even in preview this takes time to process. <br> <big>Usage Example:</big> <syntaxhighlight lang="javascript"> // resize the sphere to extend 30 in x, 60 in y, and 10 in the z directions. resize(newsize=[30,60,10]) sphere(r=10); </syntaxhighlight> [[File:OpenSCAD Resize example elipse.JPG|400px|OpenSCAD Resize example ellipse]] If x,y, or z is 0 then that dimension is left as-is. <syntaxhighlight lang="javascript"> // resize the 1x1x1 cube to 2x2x1 resize([2,2,0]) cube(); </syntaxhighlight> If the 'auto' parameter is set to true, it auto-scales any 0-dimensions to match. For example. <syntaxhighlight lang="javascript"> // resize the 1x2x0.5 cube to 7x14x3.5 resize([7,0,0], auto=true) cube([1,2,0.5]); </syntaxhighlight> The 'auto' parameter can also be used if you only wish to auto-scale a single dimension, and leave the other as-is. <syntaxhighlight lang="javascript"> // resize to 10x8x1. Note that the z dimension is left alone. resize([10,0,0], auto=[true,true,false]) cube([5,4,1]); </syntaxhighlight> === rotate === Rotates its child 'a' degrees about the axis of the coordinate system or around an arbitrary axis. The argument names are optional if the arguments are given in the same order as specified. <syntaxhighlight lang="javascript"> //Usage: rotate(a = deg_a, v = [x, y, z]) { ... } // or rotate(deg_a, [x, y, z]) { ... } rotate(a = [deg_x, deg_y, deg_z]) { ... } rotate([deg_x, deg_y, deg_z]) { ... } </syntaxhighlight> The 'a' argument (deg_a) can be an array, as expressed in the later usage above; when deg_a is an array, the 'v' argument is ignored. Where 'a' specifies ''multiple axes'' then the rotation is applied in the following order: x then y then z. That means the code: rotate(a=[ax,ay,az]) {...} is equivalent to: rotate(a=[0,0,az]) rotate(a=[0,ay,0]) rotate(a=[ax,0,0]) {...} For example, to flip an object upside-down, you can rotate your object 180 degrees around the 'y' axis. rotate(a=[0,180,0]) { ... } This is frequently simplified to rotate([0,180,0]) { ... } The optional argument 'v' is a vector that determines an arbitrary axis about which the object is rotated. When specifying a single axis the 'v' argument allows you to specify which axis is the basis for rotation. For example, the equivalent to the above, to rotate just around y rotate(a=180, v=[0,1,0]) { ... } When specifying a single axis, 'v' is a [[wikipedia:Euler_vector|vector]] defining an arbitrary axis for rotation; this is different from the ''multiple axis'' above. For example, rotate your object 45 degrees around the axis defined by the vector [1,1,0], rotate(a=45, v=[1,1,0]) { ... } [[File:OpenSCAD rotate() example.JPG|image of result of rotate() transformation in OpenSCAD]] Rotate with a ''single scalar argument'' rotates around the Z axis. This is useful in 2D contexts where that is the only axis for rotation. For example: rotate(45) square(10); [[File:Example 2D Rotate.JPG|Result of OpenSCAD rotate(45) as 2D render]] ===== Rotation rule help ===== [[File:Right-hand grip rule.svg|thumb|Right-hand grip rule]] For the case of: rotate([a, b, c]) { ... }; "a" is a rotation about the X axis, from the +Y axis, toward the +Z axis. <br> "b" is a rotation about the Y axis, from the +Z axis, toward the +X axis. <br> "c" is a rotation about the Z axis, from the +X axis, toward the +Y axis. These are all cases of the [[wikipedia:right-hand rule| Right Hand Rule]]. Point your right thumb along the positive axis, your fingers show the direction of rotation. Thus if "a" is fixed to zero, and "b" and "c" are manipulated appropriately, this is the ''spherical coordinate system''. <br> So, to construct a cylinder from the origin to some other point (x,y,z): <syntaxhighlight lang="javascript"> x= 10; y = 10; z = 10; // point coordinates of end of cylinder length = norm([x,y,z]); // radial distance b = acos(z/length); // inclination angle c = atan2(y,x); // azimuthal angle rotate([0, b, c]) cylinder(h=length, r=0.5); %cube([x,y,z]); // corner of cube should coincide with end of cylinder </syntaxhighlight> [[File:Example xyz rotation in OpenSCAD.JPG|Example of OpenSCAD Rotate() used as a spherical coordinate system.]] === translate === Translates (moves) its child elements along the specified vector. The argument name is optional. Example: translate(v = [x, y, z]) { ... } <syntaxhighlight lang="javascript"> cube(2,center = true); translate([5,0,0]) sphere(1,center = true); </syntaxhighlight> [[File:OpenSCAD translate() example.JPG|image of result of the translate() transformation in OpenSCAD]] === mirror === Transforms the child element to a mirror of the original, as if it were the mirror image seen through a plane intersecting the origin. The argument to mirror() is the normal vector of the origin-intersecting mirror plane used, meaning the vector coming perpendicularly out of the plane. Each coordinate of the original object is altered such that it becomes equidistant on the other side of this plane from the closest point on the plane. For example, <code>mirror([1,0,0])</code>, corresponding to a normal vector pointing in the x-axis direction, produces an object such that all positive x coordinates become negative x coordinates, and all negative x coordinates become positive x coordinates. ====Function signature:==== mirror(v= [x, y, z] ) { ... } ====Examples==== The original is on the right side. Note that mirror doesn't make a copy. Like rotate and scale, it changes the object. <gallery widths="170px"> File:Mirror-x.png|<code>hand(); // original</code><br><code>mirror([1,0,0]) hand();</code> File:Mirror-x-y.png|<code>hand(); // original</code><br><code>mirror([1,1,0]) hand();</code> File:Mirror-x-y-z.png|<code>hand(); // original</code><br><code>mirror([1,1,1]) hand();</code> </gallery> <syntaxhighlight lang="javascript"> // original rotate([0,0,-30]){ cube([23,12,10]); translate([0.5, 4.4, 9.9]){ color("red", 1.0){ linear_extrude(height=2){ text("OpenSCAD", size= 3); } } } } // mirrored mirror([1,0,0]){ rotate([0,0,-30]){ cube([23,12,10]); translate([0.5, 4.4, 9.9]){ color("red", 1.0){ linear_extrude(height=2){ text("OpenSCAD", size= 3); } } } } } </syntaxhighlight> [[File:Example 1a.jpg]] === multmatrix === Multiplies the geometry of all child elements with the given [[w:Affine_transformation|affine transformation]] matrix, where the matrix is 4×3 - a vector of 3 row vectors with 4 elements each, or a 4×4 matrix with the 4th row always forced to [0,0,0,1]. Usage: multmatrix(m = [...]) { ... } This is a breakdown of what you can do with the independent elements in the matrix (for the first three rows):<br> <table class="wikitable" style="text-align:center;"> <tr><td>Scale X</td><td>Shear X along Y</td><td>Shear X along Z</td><td>Translate X</td></tr> <tr><td>Shear Y along X</td><td>Scale Y</td><td>Shear Y along Z</td><td>Translate Y</td></tr> <tr><td>Shear Z along X</td><td>Shear Z along Y</td><td>Scale Z</td><td>Translate Z</td></tr> </table> The fourth row is forced to [0,0,0,1] and can be omitted unless you are combining matrices before passing to multmatrix, as it is not processed in OpenSCAD. Each matrix operates on the points of the given geometry as if each vertex is a 4 element vector consisting of a 3D vector with an implicit 1 as its 4th element, such as v=[x, y, z, 1]. The role of the implicit fourth row of m is to preserve the implicit 1 in the 4th element of the vectors, permitting the translations to work. The operation of multmatrix therefore performs m*v for each vertex v. Any elements (other than the 4th row) not specified in m are treated as zeros. This example rotates by 45 degrees in the XY plane and translates by [10,20,30], i.e. the same as <code>translate([10,20,30]) rotate([0,0,45])</code> would do. <syntaxhighlight lang="javascript"> angle=45; multmatrix(m = [ [cos(angle), -sin(angle), 0, 10], [sin(angle), cos(angle), 0, 20], [ 0, 0, 1, 30], [ 0, 0, 0, 1] ]) union() { cylinder(r=10.0,h=10,center=false); cube(size=[10,10,10],center=false); } </syntaxhighlight> The following example demonstrates combining affine transformation matrices by matrix multiplication, producing in the final version a transformation equivalent to rotate([0, -35, 0]) translate([40, 0, 0]) Obj();. Note that the signs on the sin function appear to be in a different order than the above example, because the positive one must be ordered as x into y, y into z, z into x for the rotation angles to correspond to rotation about the other axis in a right-handed coordinate system. <syntaxhighlight lang="openscad" line="1" start="1"> module Obj() { cylinder(r=10.0,h=10,center=false); cube(size=[10,10,10],center=false); } // This itterates into the future 6 times and demonstrates how multimatrix is moving the object around the center point for(time = [0 : 15 : 90]){ y_ang=-time; mrot_y = [ [ cos(y_ang), 0, sin(y_ang), 0], [ 0, 1, 0, 0], [-sin(y_ang), 0, cos(y_ang), 0], [ 0, 0, 0, 1] ]; mtrans_x = [ [1, 0, 0, 40], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ]; echo(mrot_y*mtrans_x); // This is the object at [0,0,0] Obj(); // This is the starting object at the [40,0,0] coordinate multmatrix(mtrans_x) Obj(); // This is the one rotating and appears 6 times multmatrix(mrot_y * mtrans_x) Obj(); }; </syntaxhighlight> This example skews a model, which is not possible with the other transformations. <syntaxhighlight lang="javascript"> M = [ [ 1 , 0 , 0 , 0 ], [ 0 , 1 , 0.7, 0 ], // The "0.7" is the skew value; pushed along the y axis as z changes. [ 0 , 0 , 1 , 0 ], [ 0 , 0 , 0 , 1 ] ] ; multmatrix(M) { union() { cylinder(r=10.0,h=10,center=false); cube(size=[10,10,10],center=false); } } </syntaxhighlight> This example shows how a vector is transformed with a multmatrix vector, like this all points in a point array (polygon) can be transformed sequentially. Vector (v) is transformed with a rotation matrix (m), resulting in a new vector (vtrans) which is now rotated and is moving the cube along a circular path radius=v around the z axis without rotating the cube. <syntaxhighlight lang="javascript"> angle=45; m=[ [cos(angle), -sin(angle), 0, 0], [sin(angle), cos(angle), 0, 0], [ 0, 0, 1, 0] ]; v=[10,0,0]; vm=concat(v,[1]); // need to add [1] vtrans=m*vm; echo(vtrans); translate(vtrans)cube(); </syntaxhighlight> ==== More? ==== Learn more about it here: * [http://en.wikipedia.org/wiki/Transformation_matrix#Affine_transformations Affine Transformations] on wikipedia * http://www.senocular.com/flash/tutorials/transformmatrix/ === color === Displays the child elements using the specified RGB color + alpha value. This is only used for the F5 preview as CGAL and STL (F6) do not currently support color. The alpha value defaults to 1.0 (opaque) if not specified. ====Function signature:==== color( c = [r, g, b, a] ) { ... } color( c = [r, g, b], alpha = 1.0 ) { ... } color( "#hexvalue" ) { ... } color( "colorname", 1.0 ) { ... } Note that all four values for red, green, blue, and alpha (RGBA) are expected to be written as floating point values in the range '''[0.0:1.0]'''. Graphics industry common practice is to specify RGBA values as integers in the range [0:255]. To convert values from 0 to 256 to the range needed for the color module they can be individually scaled, or the color vector may be scaled thus: <code>color([0,125,255]/255) { ... } </code> {{OpenSCAD User Manual/Tip| Transparent shapes should be drawn into the scene after opaque ones to be sure that the latter are visible ''through'' transparent shapes that are "in front" of them. If drawn after a solid object behind a transparent one might not be visible. Issue [https://github.com/openscad/openscad/issues/1390 #1390] is about this issue. | tag = Warning }} ====Using Named Colors==== {{requires|2011.12}} Colors can be specified by name in a case '''in'''sensitive string. For example <code>color("red") sphere(5);</code> will color the sphere red. Alpha may be given as a second parameter: <code>color("Blue",0.5) cube(5);</code> or by name <code>color("green",alpha=0.5) cube(5);</code>. The color values on the list all have their alpha value set to 1.0, thus fully opaque. The available color names are taken from the World Wide Web Consortium's [https://www.w3.org/TR/css-color-3/#svg-color SVG color list]. OpenSCAD adds an additional named color, "transparent", with this RGBA value, [0,0,0,0], making it a 100% transparent black. {| class="wikitable mw-collapsible mw-collapsed" style="font-size:90%;border:1px solid black;" width="100%" cellpadding="4" ! colspan="6" style="text-align:left;" | <big>'''CSS Color Names Table'''</big><br> <small>(note that both spellings of grey or gray are accepted, so e.g. slategrey and slategray both work)</small><br> |-valign="top" |width="20%" | {|width="100%" <!-- second column --> |- | style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Purples'''</big> |-style="background:lavender;color:black" |Lavender |-style="background:thistle;color:black" |Thistle |-style="background:plum;color:black" |Plum |-style="background:violet;color:black" |Violet |-style="background:orchid;color:black" |Orchid |-style="background:fuchsia;color:white" |Fuchsia |-style="background:Magenta;color:white" |Magenta |-style="background:mediumorchid;color:white" |MediumOrchid |-style="background:mediumpurple;color:white" |MediumPurple |-style="background:#9966CC;color:white" |BlueViolet |-style="background:darkviolet;color:white" |DarkViolet |-style="background:darkorchid;color:white" |DarkOrchid |-style="background:darkmagenta;color:white" |DarkMagenta |-style="background:purple;color:white" |Purple |-style="background:indigo;color:white" |Indigo |-style="background:darkslateblue;color:white" |DarkSlateBlue |-style="background:slateblue;color:white" |SlateBlue |-style="background:mediumslateblue;color:white" |MediumSlateBlue |- |style="background:whitesmoke;color:slategray;text-align:center;"|<big>'''Reds'''</big> |-style="background:indianred;color:white" |IndianRed |-style="background:lightcoral;color:black" |LightCoral |-style="background:salmon;color:black" |Salmon |-style="background:darksalmon;color:black" |DarkSalmon |-style="background:lightsalmon;color:black" |LightSalmon |-style="background:red;color:white" |Red |-style="background:crimson;color:white;color:white" |Crimson |-style="background:fireBrick;color:white" |FireBrick |-style="background:darkred;color:white" |DarkRed |} |width="20%" | {|width="100%" |- | style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Blues'''</big> |-style="background:aqua;color:black" |Aqua |-style="background:cyan;color:black" |Cyan |-style="background:lightcyan;color:black" |LightCyan |-style="background:paleturquoise;color:black" |PaleTurquoise |-style="background:aquamarine;color:black" |Aquamarine |-style="background:turquoise;color:black" |Turquoise |-style="background:mediumturquoise;color:black" |MediumTurquoise |-style="background:darkturquoise;color:white" |DarkTurquoise |-style="background:cadetblue;color:white" |CadetBlue |-style="background:steelblue;color:white" |SteelBlue |-style="background:lightsteelblue;color:black" |LightSteelBlue |-style="background:powderblue;color:black" |PowderBlue |-style="background:lightblue;color:black" |LightBlue |-style="background:skyblue;color:black" |SkyBlue |-style="background:lightskyblue;color:black" |LightSkyBlue |-style="background:deepskyblue;color:white" |DeepSkyBlue |-style="background:dodgerblue;color:white" |DodgerBlue |-style="background:cornflowerblue;color:white" |CornflowerBlue |-style="background:royalblue;color:white" |RoyalBlue |-style="background:blue;color:white" |Blue |-style="background:mediumblue;color:white" |MediumBlue |-style="background:darkblue;color:white" |DarkBlue |-style="background:navy;color:white" |Navy |-style="background:midnightblue;color:white" |MidnightBlue |- | style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Pinks'''</big> |-style="background:pink;color:black" |Pink |-style="background:lightpink;color:black" |LightPink |-style="background:hotpink;color:white" |HotPink |-style="background:deeppink;color:white" |DeepPink |-style="background:mediumvioletred;color:white" |MediumVioletRed |-style="background:palevioletred;color:white" |PaleVioletRed |} |width="20%" | {|width="100%" <!-- fourth column --> |- | style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Greens'''</big> |-style="background:greenyellow;color:black" |GreenYellow |-style="background:chartreuse;color:black" |Chartreuse |-style="background:lawngreen;color:black" |LawnGreen |-style="background:lime;color:black" |Lime |-style="background:limegreen;color:black" |LimeGreen |-style="background:palegreen;color:black" |PaleGreen |-style="background:lightgreen;color:black" |LightGreen |-style="background:mediumspringgreen;color:black" |MediumSpringGreen |-style="background:springgreen;color:black" |SpringGreen |-style="background:mediumseagreen;color:white" |MediumSeaGreen |-style="background:seagreen;color:white" |SeaGreen |-style="background:forestgreen;color:white" |ForestGreen |-style="background:green;color:white" |Green |-style="background:darkgreen;color:white" |DarkGreen |-style="background:yellowgreen;color:black" |YellowGreen |-style="background:olivedrab;color:white" |OliveDrab |-style="background:olive;color:white" |Olive |-style="background:darkolivegreen;color:white" |DarkOliveGreen |-style="background:mediumaquamarine;color:black" |MediumAquamarine |-style="background:darkseagreen;color:black" |DarkSeaGreen |-style="background:lightseagreen;color:white" |LightSeaGreen |-style="background:darkcyan;color:white" |DarkCyan |-style="background:teal;color:white" |Teal |- | style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Oranges'''</big> |-style="background:lightsalmon;color:black" ||LightSalmon |-style="background:coral;color:white" |Coral |-style="background:tomato;color:white" |Tomato |-style="background:orangered;color:white" |OrangeRed |-style="background:darkorange;color:white" |DarkOrange |-style="background:orange;color:white" |Orange |} |width="20%" | {|width="100%" <!-- fifth column --> |- | style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Yellows'''</big> |-style="background:gold;color:black" |Gold |-style="background:yellow;color:black" |Yellow |-style="background:lightyellow;color:black" |LightYellow |-style="background:lemonchiffon;color:black" |LemonChiffon |-style="background:lightgoldenrodyellow;color:black" |LightGoldenrodYellow |-style="background:papayawhip;color:black" |PapayaWhip |-style="background:moccasin;color:black" |Moccasin |-style="background:peachpuff;color:black" |PeachPuff |-style="background:palegoldenrod;color:black" |PaleGoldenrod |-style="background:khaki;color:black" |Khaki |-style="background:darkkhaki;color:black" |DarkKhaki |- |style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Browns'''</big> |-style="background:cornsilk;color:black" |Cornsilk |-style="background:blanchedalmond;color:black" |BlanchedAlmond |-style="background:bisque;color:black" |Bisque |-style="background:navajowhite;color:black" |NavajoWhite |-style="background:wheat;color:black" |Wheat |-style="background:burlywood;color:black" |BurlyWood |-style="background:tan;color:black" |Tan |-style="background:rosybrown;color:black" |RosyBrown |-style="background:sandybrown;color:black" |SandyBrown |-style="background:goldenrod;color:black" |Goldenrod |-style="background:darkgoldenrod;color:white" |DarkGoldenrod |-style="background:Peru;color:white" |Peru |-style="background:chocolate;color:white" |Chocolate |-style="background:saddlebrown;color:white" |SaddleBrown |-style="background:sienna;color:white" |Sienna |-style="background:brown;color:white" |Brown |-style="background:maroon;color:white" |Maroon |- |} |width="20%"| {|width="100%" <!-- sixth column --> |-style="background:whitesmoke;color:slategray;text-align:center" |<big>'''Whites'''</big> |-style="background:white;" |White |-style="background:snow;" |Snow |-style="background:honeydew;" |Honeydew |-style="background:mintcream;" |MintCream |-style="background:azure;" |Azure |-style="background:aliceblue;" |AliceBlue |-style="background:ghostwhite;" |GhostWhite |-style="background:whitesmoke;" |WhiteSmoke |-style="background:seashell;" |Seashell |-style="background:beige;" |Beige |-style="background:oldlace;" |OldLace |-style="background:floralwhite;" |FloralWhite |-style="background:ivory;" |Ivory |-style="background:antiquewhite;" |AntiqueWhite |-style="background:linen;" |Linen |-style="background:lavenderblush;" |LavenderBlush |-style="background:mistyrose;" |MistyRose |- |colspan=3 style="background:whitesmoke;color:slategray;text-align:center"|<big>'''Grays'''</big> |-style="background:gainsboro;color:black" |Gainsboro |-style="background:lightgrey;color:black" |LightGrey |-style="background:silver;color:black" |Silver |-style="background:darkgray;color:black" |DarkGray |-style="background:gray;color:black" |Gray |-style="background:dimgray;color:white" |DimGray |-style="background:lightslategray;color:white" |LightSlateGray |-style="background:slategray;color:white" |SlateGray |-style="background:darkslategray;color:white" |DarkSlateGray |-style="background:black;color:white" |Black |} |} <small>[http://en.wikipedia.org/wiki/Web_colors Table based on "Web Colors" from Wikipedia]</small> ====Using Hexcode Colors==== {{requires|2019.05}} Hex values are given as a string of hexadecimal digits, in either RGB or RGBA format, meaning either as three or four values, and each value may be given as one or two hexadecimal digits: :<code>#rgb</code> :<code>#rgba</code> :<code>#rrggbb</code> :<code>#rrggbbaa</code> If the alpha value is included in the hex value and also as separate parameter, the separate parameter takes precedence. ====Example==== [[File:Wavy multicolor object.jpg|thumb|A 3-D multicolor sine wave]] Here's a code fragment that draws a wavy multicolor object <syntaxhighlight lang="javascript"> for(i=[0:36]) { for(j=[0:36]) { color( [0.5+sin(10*i)/2, 0.5+sin(10*j)/2, 0.5+sin(10*(i+j))/2] ) translate( [i, j, 0] ) cube( size = [1, 1, 11+10*cos(10*i)*sin(10*j)] ); } } </syntaxhighlight> Being that -1<=sin(''x'')<=1 then 0<=(1/2 + sin(''x'')/2)<=1 , allowing for the RGB components assigned to color to remain within the [0,1] interval. ====Example 2==== In cases where you want to optionally set a color based on a parameter you can use the following trick: <syntaxhighlight lang="javascript"> module myModule(withColors=false) { c=withColors?"red":undef; color(c) circle(r=10); } </syntaxhighlight> Setting the colorname to undef keeps the default colors. === offset === {{requires|2015.03}} default with no argument at all is (r = 1, chamfer = false) Offset generates a new 2d interior or exterior outline from an existing outline. There are two modes of operation: radial and delta. * The radial method creates a new outline as if a circle of some radius is rotated around the exterior (r > 0) or interior (r < 0) of the original outline. * The delta method creates a new outline with sides having a fixed distance outward (delta > 0) or inward (delta < 0) from the original outline. The construction methods produce an outline that is either inside or outside of the original outline. For outlines using delta, when the outline goes around a corner, it can be given an optional chamfer. Offset is useful for making thin walls by subtracting a negative-offset construction from the original, or the original from a positive offset construction. Offset can be used to simulate some common solid modeling operations: * Fillet: <code>offset(r=-3) offset(delta=+3)</code> rounds all inside (concave) corners, and leaves flat walls unchanged. However, holes less than 2*r in diameter vanish. * Round: <code>offset(r=+3) offset(delta=-3)</code> rounds all outside (convex) corners, and leaves flat walls unchanged. However, walls less than 2*r thick vanish. ==== Parameters ==== The first parameter may be passed without a name, in which case it is treated as the '''r''' parameter below. All other parameters must be named if used. '''r''' or '''delta''' :Number. Amount to offset the polygon. When negative, the polygon is offset inward. :* r (default parameter if not named) specifies the radius of the circle that is rotated about the outline, either inside or outside. This mode produces rounded corners. The name may be omitted; that is, <code>offset(c)</code> is equivalent to <code>offset(r=c)</code>. :* delta specifies the distance of the new outline from the original outline, and therefore reproduces angled corners. No inward perimeter is generated in places where the perimeter would cross itself. ; chamfer :Boolean. (default ''false'') When using the delta parameter, this flag defines if edges should be chamfered (cut off with a straight line) or not (extended to their intersection). This parameter has no effect on radial offsets. '''$fa''', '''$fs''', and '''$fn''' :The [[OpenSCAD User Manual/Other Language Features#circleres|circle resolution]] special variables may be used to control the smoothness or facet size of curves generated by radial offsets. They have no effect on delta offsets. {{multiple image | align = center | width = 350 | footer = Result for different parameters. The black polygon is the input for the offset() operation. | image1 = OpenSCAD offset join-type out.svg | caption1 = Positive r/delta value | image2 = OpenSCAD offset join-type in.svg | caption2 = Negative r/delta value }} ====Examples==== [[File:OpenSCAD offset example.png|thumb|Example 1: Result.]] <syntaxhighlight lang="javascript"> // Example 1 linear_extrude(height = 60, twist = 90, slices = 60) { difference() { offset(r = 10) { square(20, center = true); } offset(r = 8) { square(20, center = true); } } } </syntaxhighlight> <syntaxhighlight lang="javascript"> // Example 2 module fillet(r) { offset(r = -r) { offset(delta = r) { children(); } } } </syntaxhighlight> <br clear="all"/> === fill === {{requires|Development snapshot}} Fill removes holes from polygons without changing the outline. For convex polygons the result is identical to hull(). '''Examples''' [[File:OpenSCAD fill example.png|thumb|Example 1: Result.]] <syntaxhighlight lang="javascript"> // Example 1 t = "OpenSCAD"; linear_extrude(15) { text(t, 50); } color("darkslategray") { linear_extrude(2) { offset(4) { fill() { text(t, 50); } } } } </syntaxhighlight> === minkowski === [[File:Openscad minkowski example 1a.png|200px|thumb|A box and a cylinder]] [[File:Openscad minkowski example 2a.png|200px|thumb|Minkowski sum of the box and cylinder]] Displays the [https://doc.cgal.org/latest/Minkowski_sum_3/index.html minkowski sum] of child nodes. Usage example: Say you have a flat box, and you want a rounded edge. There are multiple ways to do this (for example, see [[#hull|hull]] below), but minkowski is elegant. Take your box, and a cylinder: <syntaxhighlight lang="javascript"> $fn=50; cube([10,10,1]); cylinder(r=2,h=1); </syntaxhighlight> Then, do a minkowski sum of them (note that the outer dimensions of the box are now 10+2+2 = 14 units by 14 units by 2 units high as the heights of the objects are summed): <syntaxhighlight lang="javascript"> $fn=50; minkowski() { cube([10,10,1]); cylinder(r=2,h=1); } </syntaxhighlight> NB: The <u>'''origin'''</u> of the second object is used for the addition. The following minkowski sums are different: the first expands the original cube by +1 in -x, +x, -y, +y from cylinder, expand 0.5 units in both -z, +z from cylinder. The second expands it by +1 in -x, +x, -y, +y and +z from cylinder, but expand 0 in the -z from cylinder. <syntaxhighlight lang="javascript"> minkowski() { cube([10, 10, 1]); cylinder(1, center=true); } </syntaxhighlight> <syntaxhighlight lang="javascript"> minkowski() { cube([10, 10, 1]); cylinder(1); } </syntaxhighlight> '''Warning:''' for high values of $fn the minkowski sum may end up consuming lots of CPU and memory, since it has to combine every child node of each element with all the nodes of each other element. So if for example $fn=100 and you combine two cylinders, then it does not just perform 200 operations as with two independent cylinders, but 100*100 = 10000 operations. '''Warning:''' if one of the inputs is compound, such as: <syntaxhighlight lang="javascript"> { translate([0, 0, collar]) sphere(ball); cylinder(collar, ball, ball); } </syntaxhighlight> it may be treated as two separate inputs, resulting in an output which is too large, and has features between surfaces that should be unaltered with respect to one another. If so, use [[OpenSCAD_User_Manual/CSG_Modelling#union|union()]]. === hull === [[File:Openscad hull example 1a.png|200px|thumb|Two cylinders]] [[File:Openscad hull example 2a.png|200px|thumb|Convex hull of two cylinders]] Displays the [[wikipedia:Convex_hull|convex hull]] of child nodes. Usage example: <syntaxhighlight lang="javascript"> hull() { translate([15,10,0]) circle(10); circle(10); } </syntaxhighlight> The Hull of 2D objects uses their projections (shadows) on the xy plane, and produces a result on the xy plane. Their Z-height is not used in the operation. Referring to the illustration of a convex hull of two cylinders, it is computationally more efficient to use <code>hull()</code> on two 2D circles and [[OpenSCAD_User_Manual/2D to 3D Extrusion#Linear Extrude|linear_extrude]] the resulting 2D shape into a 3D shape, rather than using <code>hull()</code> on two cylinders, even though the resulting object appears identical. Complex geometries involving <code>hull()</code> can be rendered faster by starting out in 2D, if possible. {{BookCat}} [[ru:Руководство пользователя по OpenSCAD/Преобразования]] kg1em2x58mxzq9exyvy91wvrq7ihilc OpenSCAD User Manual/Conditional and Iterator Functions 0 214543 4656877 4627635 2026-08-09T23:35:49Z Happy2048 3619931 Corrected capitalization to match section IDs in linked pages so links scroll to named section. 4656877 wikitext text/x-wiki === For loop === ---- Evaluate each value in a range or vector, or each name in an object, applying it to the following Action. for(variable = [start : increment : end]) for(variable = [start : end]) for(variable = [vector]) for(variable = object) ==== For each value in a [[OpenSCAD_User_Manual/General#Ranges|range]] ==== for (variable = [ start : increment : end ]) for (variable = [ start : end ]) <sub>''Note: For range, values are separated by colons rather than commas used in vectors.''</sub> The Action is evaluated for each value in the range. :: '''start''' - initial value :: '''increment''' or step - amount to increase the value, ''optional, default = 1'' :: '''end''' - stop when next value would be past end : ''' examples''': for (a =[3:5])echo(a); // 3 4 5 for (a =[3:0]){echo(a);} // 0 1 2 3 start > end is invalid, deprecated by 2015.3 for (a =[3:0.5:5])echo(a); // 3 3.5 4 4.5 5 for (a =[0:2:5])echo(a); // 0 2 4 a never equals end for (a =[3:-2:-1])echo(a); // 3 1 -1 negative increment requires 2015.3 be sure end < start ==== For each element of a [[OpenSCAD_User_Manual/General#Vectors|vector]] ==== The Action is evaluated for each element of the vector. for (a =[3,4,1,5])echo(a); // 3 4 1 5 for (a =[0.3,PI,1,99]){echo(a);} // 0.3 3.14159 1 99 x1=2; x2=8; x3=5.5; for (a =[x1,x2,x3]){echo(a);} // 2 8 5.5 for (a =[[1,2],6,"s",[[3,4],[5,6]]])echo(a); // [1,2] 6 "s" [[3,4],[5,6]] The vector can be described elsewhere, like 'for each' in other languages. animals = ["elephants", "snakes", "tigers", "giraffes"]; for(animal = animals) echo(str("I've been to the zoo and saw ", animal)); // "I've been to the zoo and saw elephants", for each animal ==== For each element of an [[OpenSCAD_User_Manual/General#Objects|object]] ==== {{requires|Development snapshot}} The Action is evaluated for the name of each element of the object, in an unspecified order. tm = textmetrics("Hello, World!"); for (name = tm) echo(name, tm[name]); ==== Notes ==== for() is an Operator. Operators require braces {} if more than one Action is within its scope. Actions end in semicolons, Operators do not. for() is not an exception to the rule about variables having only one value within a scope. Each evaluation is given its own scope, allowing any variables to have unique values. No, you still can't do a=a+1; Remember this is not an iterative language, the for() does not loop in the programmatic sense, it builds a tree of objects one branch for each item in the range/vector, inside each branch the 'variable' is a specific and separate instantiation or scope. Hence: for (i=[0:3]) translate([i*10,0,0]) cube(i+1); Produces: <sub>''[See Design/Display-CSG-Tree menu]''</sub> group() { group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { cube(size = [1, 1, 1], center = false); } multmatrix([[1, 0, 0, 10], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { cube(size = [2, 2, 2], center = false); } multmatrix([[1, 0, 0, 20], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { cube(size = [3, 3, 3], center = false); } multmatrix([[1, 0, 0, 30], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { cube(size = [4, 4, 4], center = false); } } } While the group() is built sequentially, all instances of the for() exist as separate entities, they do not iterate one piece of code sequentially. ==== Nested for() ==== While it is reasonable to nest multiple for() statements such as: for(z=[-180:45:+180]) for(x=[10:5:50]) rotate([0,0,z]) translate([x,0,0]) cube(1); instead, all ranges/vectors can be included in the same for() operator. for ( variable1 = <range or vector> , variable2 = <range or vector> ) <do something using both variables> [[File:OpenSCAD Manual nested for.jpg|thumb|380px|for() loops nested 3 deep]] example for() nested 3 deep color_vec = ["black","red","blue","green","pink","purple"]; for (x = [-20:10:20] ) for (y = [0:4] )color(color_vec[y]) for (z = [0,4,10] ) {translate([x,y*5-10,z])cube();} <big>'''shorthand'''</big> nesting for same result color_vec = ["black","red","blue","green","pink","purple"]; for (x = [-20:10:20], y = [0:4], z = [0,4,10] ) translate([x,y*5-10,z]){color(color_vec[y])cube();} :'''Examples using vector of vectors''' [[File:OpenSCAD_For_Rotation.png|thumb|example 1 for() loop vector of vectors (rotation)]] example 1 - iteration over a vector of vectors (rotation) for(i = [ [ 0, 0, 0], [ 10, 20, 300], [200, 40, 57], [ 20, 88, 57] ]) { rotate(i) cube([100, 20, 20], center = true); } [[File:OpenSCAD_For_Translation.png|thumb|example 2 for() loop vector of vectors (translation)]] example 2 - iteration over a vector of vectors (translation) for(i = [ [ 0, 0, 0], [10, 12, 10], [20, 24, 20], [30, 36, 30], [20, 48, 40], [10, 60, 50] ]) { translate(i) cube([50, 15, 10], center = true); } [[File:OpenSCAD Vector of vectors example 3.jpg|thumb| example 3 for() loop vector of vectors]] example 3 - iteration over a vector of vectors for(i = [ [[ 0, 0, 0], 20], [[10, 12, 10], 50], [[20, 24, 20], 70], [[30, 36, 30], 10], [[20, 48, 40], 30], [[10, 60, 50], 40] ]) { translate([i[0][0], 2*i[0][1], 0]) cube([10, 15, i[1]]); } === Intersection For Loop === ---- Iterate over the values in a range or vector and create the [[OpenSCAD_User_Manual/The_OpenSCAD_Language#intersection|intersection]] of objects created by each pass. Besides creating separate instances for each pass, the standard '''for()''' also groups all these instances creating an implicit union. '''intersection_for()''' is a work around because the implicit union prevents getting the expected results using a combination of the standard '''for()''' and '''intersection()''' statements. '''intersection_for()''' uses the same parameters, and works the same as a [[#For Loop|For Loop]], other than replacing the implicit union with an intersection. {| width="100%" |'''example 1 - loop over a range:''' |- |<syntaxhighlight lang="javascript"> intersection_for(n = [1 : 6]) { rotate([0, 0, n * 60]) { translate([5,0,0]) sphere(r=12); } } </syntaxhighlight> |[[File:OpenSCAD_Intersection_For_Range.png|thumb|intersection_for()]] |[[File:OpenSCAD Intersection()for() example1.jpg|thumb|either intersection() for() or for() intersection()]] |} {| width="100%" |'''example 2 - rotation ''': |- |<syntaxhighlight lang="javascript"> intersection_for(i = [ [ 0, 0, 0], [ 10, 20, 300], [200, 40, 57], [ 20, 88, 57] ]) { rotate(i) cube([100, 20, 20], center = true); } </syntaxhighlight> |[[File:OpenSCAD_Intersection_For_Rotation.png|thumb|intersection_for()]] |[[File:OpenSCAD Intersection()for() example 2.jpg|thumb|intersection() for()]] |} === If Statement === ---- Performs a test to determine if the actions in a sub scope should be performed or not. '''REALLY IMPORTANT'''. You can't change the value of Variables. If you have an assignment inside brackets, it creates a new variable that is lost as soon as you exit that scope. if (test) scope1 if (test){scope1} if (test) scope1 else scope2 if (test){scope1} else {scope2} :'''Parameters''' ::'''test''': Usually a boolean expression, but can be any value or variable. :::[[OpenSCAD_User_Manual/General#Boolean values|See here for true or false state of values.]] :::[[OpenSCAD_User_Manual/Mathematical_Operators#Relational operators|See here for boolean and logical operators]] ::: Do not confuse the assignment operator '=' with the equal operator '==' :: '''scope1''': one or more actions to take when test is '''true'''. :: '''scope2''': one or more actions to take when test is '''false'''. if (b==a) cube(4); if (b<a) {cube(4); cylinder(6);} if (b&&a) {cube(4); cylinder(6);} if (b!=a) cube(4); else cylinder(3); if (b) {cube(4); cylinder(6);} else {cylinder(10,5,5);} if (!true){cube(4); cylinder(6);} else cylinder(10,5,5); if (x>y) cube(1, center=false); else {cube(size = 2, center = true);} if (a==4) {} else echo("a is not 4"); if ((b<5)&&(a>8)) {cube(4);} else {cylinder(3);} if (b<5&&a>8) cube(4); else cylinder(3); Since 2015.03 variables can now be assigned in any scope. Note that assignments are only valid within the scope in which they are defined - you are still not allowed to leak values to an outer scope. See [[OpenSCAD User Manual/General#Scope of variables|Scope of variables]] for more details. :'''Nested if''' The scopes of both the '''if()''' portion and the '''else''' portion, can in turn contain '''if()''' statements. This nesting can be to any depth. if (test1) { scope1 if (test2) {scope2.1} else {scope2.2} } else { scope2 if (test3) {scope3.1} else {scope3.2} } When scope1 and scope2 contain '''only''' the if() statement, the outer sets of braces can be removed. if (test1) if (test2) {scope2.1} else {scope2.2} else if (test3) {scope3.1} else {scope3.2} One evolution is this: ==== else if ==== if(test1) {scope1} else if(test2) {scope2} else if(test3) {scope3} else if(test4) {scope4} else {scope5} Note that ''else'' and ''if'' are two separate words. When working down the chain of tests, the first true uses its scope. All further tests are skipped. ;example if((k<8)&&(m>1)) cube(10); else if(y==6) {sphere(6);cube(10);} else if(y==7) color("blue")sphere(5); else if(k+m!=8) {cylinder(15,5,0);sphere(8);} else color("green"){cylinder(12,5,0);sphere(8);} ===Conditional ? :=== ---- A ternary function that uses a test to determine which of 2 values to return. a = test ? TrueValue : FalseValue ; echo( test ? TrueValue : FalseValue ); :'''Parameters''' ::'''test''': Usually a boolean expression, but can be any value or variable. :::[[OpenSCAD_User_Manual/General#Boolean Values| See here for true or false state of values.]] :::[[OpenSCAD_User_Manual/Mathematical_Operators#Relational Operators|See here for boolean and logical operators]] ::: Do not confuse assignment '=' with equal '==' :: '''TrueValue''': the value to return when test is '''true'''. :: '''FalseValue''': the value to return when test is '''false'''. ::::A value in OpenSCAD is either a Number (like 42), a Boolean (like true), a String (like "foo"), a Vector (like [1,2,3]), or the Undefined value (undef). Values can be stored in variables, passed as function arguments, and returned as function results. This works like the <code>?:</code> operator from the family of C-like programming languages. :'''Examples''' a=1; b=2; c= a==b ? 4 : 5 ; // 5 a=1; b=2; c= a==b ? "a==b" : "a!=b" ; // "a!=b" TrueValue = true; FalseValue = false; a=5; test = a==1; echo( test ? TrueValue : FalseValue ); // false L = 75; R = 2; test = (L/R)>25; TrueValue = [test,L,R,L/R,cos(30)]; FalseValue = [test,L,R,sin(15)]; a1 = test ? TrueValue : FalseValue ; // [true, 75, 2, 37.5, 0.866025] Some forms of [[OpenSCAD_User_Manual/User-Defined_Functions_and_Modules#Recursive_functions|tail-recursion]] elimination are supported. ==== Recursive function calls ==== Recursive function calls are supported. Using the Conditional "... ? ... : ... " it's possible to ensure the recursion is terminated. Note: There is a built-in recursion limit to prevent an application crash. If the limit is hit, the function returns undef. :'''example''' // recursion - find the sum of the values in a vector (array) by calling itself // from the start (or s'th element) to the i'th element - remember elements are zero based function sumv(v, i, s = 0) = (i == s ? v[i] : v[i] + sumv(v, i-1, s)); vec=[ 10, 20, 30, 40 ]; echo("sum vec=", sumv(vec, 2, 1)); // calculates 20+30=50 ==== Formatting complex usage ==== Multiple nested conditionals can become difficult to understand. Formatting them like multi-line indented "if/else" statements is clearer. <nowiki> // find the maximum value in a vector function maxv(v, m=-999999999999, i=0) = (i == len(v) ) ? m : (m > v[i]) ? maxv(v, m, i+1) : maxv(v, v[i], i+1); v=[7,3,9,3,5,6]; echo("max",maxv(v)); // ECHO: "max", 9 </nowiki> === Assign Statement === ---- {{OpenSCAD_User_Manual/Deprecated|assign()|Variables can now be assigned anywhere. If you prefer this way of setting values, the new [[#Let Statement|Let Statement]] can be used}} Set variables to a new value for a sub-tree. :'''Parameters''' :: The variables that should be (re-)assigned :'''example:''' <syntaxhighlight lang="javascript"> for (i = [10:50]) { assign (angle = i*360/20, distance = i*10, r = i*2) { rotate(angle, [1, 0, 0]) translate([0, distance, 0]) sphere(r = r); } } </syntaxhighlight> <syntaxhighlight lang="javascript"> for (i = [10:50]) { angle = i*360/20; distance = i*10; r = i*2; rotate(angle, [1, 0, 0]) translate([0, distance, 0]) sphere(r = r); } </syntaxhighlight> === Let Statement === ---- {{requires|2019.05}} Set variables to a new value for a sub-tree. The parameters are evaluated sequentially and may depend on each other (as opposed to the deprecated assign() statement). :'''Parameters''' :: The variables that should be set :'''example:''' <syntaxhighlight lang="javascript"> for (i = [10:50]) { let (angle = i*360/20, r= i*2, distance = r*5) { rotate(angle, [1, 0, 0]) translate([0, distance, 0]) sphere(r = r); } } </syntaxhighlight> {{BookCat}} qorar3ip71wzbt6mreoad164rh12wef C++ Programming/Exercises 0 220783 4656971 4647109 2026-08-10T08:15:54Z ShakespeareFan00 46022 4656971 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <div align="center" style="font-size: 400%;">''C++ Programming''<br/><br/><sup>'''exercises'''</sup></div><br> <div style="text-align: center;">'''Appendix Purpose and Scope'''</div> This Appendix to the '''C++ Programming''' book will attempt to provide users a complementary understanding of the [[w:C++|C++ programming language]]. It will be interconnected and dependent on the lessons and theoretical content already presented on the '''C++ Programming''' book but at the same time will attempt to remain as self contained as possible to enable the series of exercises and problems to be used alone in practical/laboratory classes. This is an open work, if you find any problems with terms or concepts '''you can help by contribute to it''', '''your participation is needed and welcomed!''' You are also welcome to state any preference, shortcomings or vision for the actual book content, structure or other conceptual matters, see [[Talk:C++ Programming|this Wikibook's discussion page for the right forum for participating]]. <div class="metadata"> <table style="width: 60%; background: AntiqueWhite; border: 1px solid #aaa; padding: 0.5em; margin:0 auto;"><tr> <td style="width: 100px;">[[Image:Baustelle.svg|80px]]</td> <td>'''This page of the [[C++ Programming|C++ Programming Wikibook]] is under construction.'''<br /><small>It may be incomplete or contain errors. See [[Talk:C++ Programming/Content]] for discussion.</small></td> </tr></table> </div> === [[C++ Programming/About the Book|About the book]] === <div style="text-align: center;">'''Referencing the [[C++ Programming/Chapters|learning chapters]]'''</div> {{SideBox|1=If you have questions related to C++ that are not addressed on the book, ask at the [[Talk:C++ Programming/Q&A|Q&A]] or check<br>[[Subject:C++ programming language]] ---- A [http://en.wikibooks.org/ complete printable version of<br>'''C++ Programming Exercises'''] is available.<br>(attention to its size) ---- A [[C++ Programming/All Chapters|single page version]] <small><small><small>[ [http://en.wikibooks.org/w/index.php?title=C%2B%2B_Programming/All_Chapters&action=edit edit])</small></small></small> with all chapters is available (attention to its size). ---- You can use [http://dash-of-pepper.com/wikitype WikiType] an online application which converts the Wikibooks into formatted PDF. With no source highlight. <small>Use the link for the [[C++ Programming/All Chapters|single page version]] version of the work (or any of the by Chapter print versions).</small>}} '''Chapter 1:''' ''C++ a multi-paradigm language'' '''Chapter 2:''' ''Fundamentals for getting started'' '''Chapter 3:''' ''Object-Oriented Programming'' '''Chapter 4:''' ''Advanced Features'' '''Chapter 5:''' ''Beyond the Standard'' === include c++ exercise === *[[C++ Programming/Exercises/Variables and types|Variables and types]] (5 exercises) {{stage short|100%|March 4 2006}} *[[C++ Programming/Exercises/Iterations|Iterations]] (31 exercises) {{stage short|100%|March 4 2006}} *[[C++ Programming/Exercises/Static arrays|Static arrays]] (5/15 exercises) {{stage short|25%|March 4 2006}} *[[C++ Programming/Exercises/Functions|Functions]] {{stage short|25%|March 4 2006}} *[[C++ Programming/Exercises/Standard IO|The Standard IO Stream]] {{stage short|25%|Sep 20, 2005}} [[{{BOOKCATEGORY}}|7]] <noinclude>{{displaytitle|title=Appendix D}}</noinclude> [[de:C++-Programmierung]] [[es:Programación en C Más Más]] [[fr:Programmation C plus plus]] [[pl:C++]] [[ru:Си++]] 9r6f3wlikedknj7k26tipmnv5xcj4e0 Linear Algebra/Topic: Markov Chains/Solutions 0 225624 4656907 4651712 2026-08-10T06:47:40Z ShakespeareFan00 46022 4656907 wikitext text/x-wiki == Solutions == ''Use a computer for these problems. You can, for instance, adapt the Octave script given below.'' {{TextBox|1= ;Problem 1: These questions refer to the coin-flipping game. <ol type=1 start=1> <li> Check the computations in the table at the end of the first paragraph. <li> Consider the second row of the vector table. Note that this row has alternating <math>0</math>'s. Must <math>p_{1}(j)</math> be <math>0</math> when <math>j</math> is odd? Prove that it must be, or produce a counterexample. <li> Perform a computational experiment to estimate the chance that the player ends at five dollars, starting with one dollar, two dollars, and four dollars. </ol> ;Answer: <ol type=1 start=1> <li> With this file <tt>coin.m</tt><br> <br> <tt>&nbsp;&nbsp; # Octave function for Markov coin game. p is chance of going down.<br> &nbsp;&nbsp; function w = coin(p,v)<br> &nbsp;&nbsp; q = 1-p;<br> &nbsp;&nbsp; A=[1,p,0,0,0,0;<br> &nbsp;&nbsp; 0,0,p,0,0,0;<br> &nbsp;&nbsp; 0,q,0,p,0,0;<br> &nbsp;&nbsp; 0,0,q,0,p,0;<br> &nbsp;&nbsp; 0,0,0,q,0,0;<br> &nbsp;&nbsp; 0,0,0,0,q,1];<br> &nbsp;&nbsp; w = A * v;<br> &nbsp;&nbsp; endfunction<br></tt> <br> This Octave session produced the output given here. <br> <tt>&nbsp;&nbsp;octave:1> v0=[0;0;0;1;0;0]<br> &nbsp;&nbsp; v0 =<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 1<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; octave:2> p=.5<br> &nbsp;&nbsp; p = 0.50000<br> &nbsp;&nbsp; octave:3> v1=coin(p,v0)<br> &nbsp;&nbsp; v1 =<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; octave:4> v2=coin(p,v1)<br> &nbsp;&nbsp; v2 =<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.25000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.25000<br></tt> <br> This continued for too many steps to list here. <br> <tt>&nbsp;&nbsp;octave:26> v24=coin(p,v23)<br> &nbsp;&nbsp; v24 =<br> &nbsp;&nbsp; 0.39600<br> &nbsp;&nbsp; 0.00276<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.00447<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.59676<br></tt> <li> Using these formulas :<math>\begin{align}{2} p_{1}(n+1) &= 0.5\cdot p_{2}(n) &\qquad p_{2}(n+1) &= 0.5\cdot p_{1}(n)+0.5\cdot p_{3}(n) \\ p_{3}(n+1) &= 0.5\cdot p_{2}(n)+0.5\cdot p_{4}(n) &\qquad p_{5}(n+1) &= 0.5\cdot p_{4}(n) \end{align} </math> and these initial conditions :<math> \begin{pmatrix} p_{0}(0) \\ p_{1}(0) \\ p_{2}(0) \\ p_{3}(0) \\ p_{4}(0) \\ p_{5}(0) \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} </math> we will prove by induction that when <math>n</math> is odd then <math>p_{1}(n)=p_{3}(n)=0</math> and when <math>n</math> is even then <math>p_{2}(n)=p_{4}(n)=0</math>. Note first that this is true in the <math>n=0</math> base case by the initial conditions. For the inductive step, suppose that it is true in the <math>n=0</math>, <math>n=1</math>, ..., <math>n=k</math> cases and consider the <math>n=k+1</math> case. If <math>k+1</math> is odd then the two :<math>\begin{array}{rl} p_{1}(k+1) &= 0.5\cdot p_{2}(k)=0.5\cdot 0=0 \\ p_{3}(k+1) &=0.5\cdot p_{2}(k)+0.5\cdot p_{4}(k) =0.5\cdot 0+0.5\cdot 0 =0 \end{array}</math> follow from the inductive hypothesis that <math>p_{2}(k)=p_{4}(k)=0</math> since <math>k</math> is even. The case where <math>k+1</math> is even is similar. <li> We can use, say, <math>n=100</math>. This Octave session <br> <tt> &nbsp;&nbsp; octave:1> B=[1,.5,0,0,0,0;<br> &nbsp;&nbsp; > 0,0,.5,0,0,0;<br> &nbsp;&nbsp; > 0,.5,0,.5,0,0;<br> &nbsp;&nbsp; > 0,0,.5,0,.5,0;<br> &nbsp;&nbsp; > 0,0,0,.5,0,0;<br> &nbsp;&nbsp; > 0,0,0,0,.5,1];<br> &nbsp;&nbsp; octave:2> B100=B**100<br> &nbsp;&nbsp; B100 =<br> &nbsp;&nbsp; 1.00000 0.80000 0.60000 0.40000 0.20000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.20000 0.40000 0.60000 0.80000 1.00000<br> &nbsp;&nbsp; octave:3> B100*[0;1;0;0;0;0]<br> &nbsp;&nbsp; octave:4> B100*[0;1;0;0;0;0]<br> &nbsp;&nbsp; octave:5> B100*[0;0;0;1;0;0]<br> &nbsp;&nbsp; octave:6> B100*[0;1;0;0;0;0]</tt><br> <br> yields these outputs. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;"><i>starting with:</i>&nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $1 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $2 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $3 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $4 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_0(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.80000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_1(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_2(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_3(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_4(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_5(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.80000 &nbsp;&nbsp; </TABLE> </div> </ol> }} {{TextBox|1= ;Problem 2: We consider throws of a die, and say the system is in state <math>s_i</math> if the largest number yet appearing on the die was <math>i</math>. <ol type=1 start=1> <li> Give the transition matrix. <li> Start the system in state <math>s_1</math>, and run it for five throws. What is the vector at the end? </ol> {{harv|Feller|1968|loc=p. 424}} ;Answer: <ol type=1 start=1> <li> From these equations :<math> \begin{array}{*{6}{rc}r} (1/6)s_{1}(n) &+ &0s_{2}(n) &+ &0s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{1}(n+1) \\ (1/6)s_{1}(n) &+ &(2/6)s_{2}(n) &+ &0s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{2}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(3/6)s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{3}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(4/6)s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{4}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(1/6)s_{4}(n) &+ &(5/6)s_{5}(n) &+ &0s_{6}(n) &= &s_{5}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(1/6)s_{4}(n) &+ &(1/6)s_{5}(n) &+ &(6/6)s_{6}(n) &= &s_{6}(n+1) \end{array} </math> We get this transition matrix. :<math> \begin{pmatrix} 1/6 &0 &0 &0 &0 &0 \\ 1/6 &2/6 &0 &0 &0 &0 \\ 1/6 &1/6 &3/6 &0 &0 &0 \\ 1/6 &1/6 &1/6 &4/6 &0 &0 \\ 1/6 &1/6 &1/6 &1/6 &5/6 &0 \\ 1/6 &1/6 &1/6 &1/6 &1/6 &6/6 \end{pmatrix} </math> <li> This is the Octave session, with outputs edited out and condensed into the table at the end. <br><tt>&nbsp;&nbsp; octave:1> F=[1/6, 0, 0, 0, 0, 0;<br> &nbsp;&nbsp; > 1/6, 2/6, 0, 0, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 3/6, 0, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 4/6, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 1/6, 5/6, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 1/6, 1/6, 6/6];<br> &nbsp;&nbsp; octave:2> v0=[1;0;0;0;0;0]<br> &nbsp;&nbsp; octave:3> v1=F*v0<br> &nbsp;&nbsp; octave:4> v2=F*v1<br> &nbsp;&nbsp; octave:5> v3=F*v2<br> &nbsp;&nbsp; octave:6> v4=F*v3<br> &nbsp;&nbsp; octave:7> v5=F*v4</tt><br> <br> These are the results. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 2 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 3 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 4 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 5 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.027778 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0046296 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00077160 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00012860 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.083333 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0324074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.01157407 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00398663 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.138889 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0879630 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.05015432 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02713477 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.194444 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.1712963 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.13503086 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.10043724 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.250000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.2824074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.28472222 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27019033 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.305556 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.4212963 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.51774691 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.59812243 </TABLE> </div> </ol> }} {{TextBox|1= ;Problem 3: There has been much interest in whether industries in the United States are moving from the Northeast and North Central regions to the South and West, motivated by the warmer climate, by lower wages, and by less unionization. Here is the transition matrix for large firms in Electric and Electronic Equipment {{harv|Kelton|1983|loc=p. 43}} <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;border-right:2px black solid;"> &nbsp;&nbsp; &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NE'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NC'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''S'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''W'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''Z'' <TR> <TD style="border-right:2px black solid;">''NE'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.787 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.111 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.102 <TR> <TD style="border-right:2px black solid;">''NC'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.966 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.034 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD style="border-right:2px black solid;">''S'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.063 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.937 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD style="border-right:2px black solid;">''W'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.612 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.314 <TR> <TD style="border-right:2px black solid;">''Z'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.009 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.005 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.010 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.954 <TR> </TABLE> </div> For example, a firm in the Northeast region will be in the West region next year with probability <math>0.111</math>. (The ''Z'' entry is a "birth-death" state. For instance, with probability <math>0.102</math> a large Electric and Electronic Equipment firm from the Northeast will move out of this system next year: go out of business, move abroad, or move to another category of firm. There is a <math>0.021</math> probability that a firm in the ''National Census of Manufacturers'' will move into Electronics, or be created, or move in from abroad, into the Northeast. Finally, with probability <math>0.954</math> a firm out of the categories will stay out, according to this research.) <ol type=1 start=1> <li> Does the Markov model assumption of lack of history seem justified? <li> Assume that the initial distribution is even, except that the value at <math>Z</math> is <math>0.9</math>. Compute the vectors for <math>n=1</math> through <math>n=4</math>. <li> Suppose that the initial distribution is this. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;">''NE'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NC'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''S'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''W'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''Z'' <TR> <TD>0.0000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.6522 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.3478 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0000 &nbsp;&nbsp; </TABLE> </div> Calculate the distributions for <math>n=1</math> through <math>n=4</math>. <li> Find the distribution for <math>n=50</math> and <math>n=51</math>. Has the system settled down to an equilibrium? </ol> ;Answer: <ol type=1 start=1> <li> It does seem reasonable that, while the firm's present location should strongly influence where it is next time (for instance, whether it stays), any locations in the prior stages should have little influence. That is, while a company may move or stay because of where it is, it is unlikely to move or stay because of where it was. <li> This Octave session has been edited, with the outputs put together in a table at the end. <br><tt> &nbsp;&nbsp; octave:1> M=[.787,0,0,.111,.102;<br> &nbsp;&nbsp; > 0,.966,.034,0,0;<br> &nbsp;&nbsp; > 0,.063,.937,0,0;<br> &nbsp;&nbsp; > 0,0,.074,.612,.314;<br> &nbsp;&nbsp; > .021,.009,.005,.010,.954]<br> &nbsp;&nbsp; M =<br> &nbsp;&nbsp; 0.78700 0.00000 0.00000 0.11100 0.10200<br> &nbsp;&nbsp; 0.00000 0.96600 0.03400 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.06300 0.93700 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.07400 0.61200 0.31400<br> &nbsp;&nbsp; 0.02100 0.00900 0.00500 0.01000 0.95400<br> &nbsp;&nbsp; octave:2> v0=[.025;.025;.025;.025;.900]<br> &nbsp;&nbsp; octave:3> v1=M*v0<br> &nbsp;&nbsp; octave:4> v2=M*v1<br> &nbsp;&nbsp; octave:5> v3=M*v2<br> &nbsp;&nbsp; octave:6> v4=M*v3<br></tt> <br> is summarized in this table. <div style="text-align: center;"> <math> \begin{array}{c|cccc} \vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 \\ \hline \begin{pmatrix} 0.025000 \\ 0.025000 \\ 0.025000 \\ 0.025000 \\ 0.900000 \end{pmatrix} &\begin{pmatrix} 0.114250 \\ 0.025000 \\ 0.025000 \\ 0.299750 \\ 0.859725 \end{pmatrix} &\begin{pmatrix} 0.210879 \\ 0.025000 \\ 0.025000 \\ 0.455251 \\ 0.825924 \end{pmatrix} &\begin{pmatrix} 0.300739 \\ 0.025000 \\ 0.025000 \\ 0.539804 \\ 0.797263 \end{pmatrix} &\begin{pmatrix} 0.377920 \\ 0.025000 \\ 0.025000 \\ 0.582550 \\ 0.772652 \end{pmatrix} \end{array} </math> </div> <li> This is a continuation of the Octave session from the prior item. <br><tt> &nbsp;&nbsp; octave:7> p0=[.0000;.6522;.3478;.0000;.0000]<br> &nbsp;&nbsp; octave:8> p1=M*p0<br> &nbsp;&nbsp; octave:9> p2=M*p1<br> &nbsp;&nbsp; octave:10> p3=M*p2<br> &nbsp;&nbsp; octave:11> p4=M*p3<br> </tt> <br> <br> This summarizes the output. <div style="text-align: center;"> <math> \begin{array}{c|cccc} \vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 \\ \hline \begin{pmatrix} 0.00000 \\ 0.65220 \\ 0.34780 \\ 0.00000 \\ 0.00000 \end{pmatrix} &\begin{pmatrix} 0.00000 \\ 0.64185 \\ 0.36698 \\ 0.02574 \\ 0.00761 \end{pmatrix} &\begin{pmatrix} 0.0036329 \\ 0.6325047 \\ 0.3842942 \\ 0.0452966 \\ 0.0151277 \end{pmatrix} &\begin{pmatrix} 0.0094301 \\ 0.6240656 \\ 0.3999315 \\ 0.0609094 \\ 0.0225751 \end{pmatrix} &\begin{pmatrix} 0.016485 \\ 0.616445 \\ 0.414052 \\ 0.073960 \\ 0.029960 \end{pmatrix} \end{array} </math> </div> <li> This is more of the same Octave session. <br> <tt><br> &nbsp;&nbsp; octave:12> M50=M**50<br> &nbsp;&nbsp; M50 =<br> &nbsp;&nbsp; 0.03992 0.33666 0.20318 0.02198 0.37332<br> &nbsp;&nbsp; 0.00000 0.65162 0.34838 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.64553 0.35447 0.00000 0.00000<br> &nbsp;&nbsp; 0.03384 0.38235 0.22511 0.01864 0.31652<br> &nbsp;&nbsp; 0.04003 0.33316 0.20029 0.02204 0.37437<br> &nbsp;&nbsp; octave:13> p50=M50*p0<br> &nbsp;&nbsp; p50 =<br> &nbsp;&nbsp; 0.29024<br> &nbsp;&nbsp; 0.54615<br> &nbsp;&nbsp; 0.54430<br> &nbsp;&nbsp; 0.32766<br> &nbsp;&nbsp; 0.28695<br> &nbsp;&nbsp; octave:14> p51=M*p50<br> &nbsp;&nbsp; p51 =<br> &nbsp;&nbsp; 0.29406<br> &nbsp;&nbsp; 0.54609<br> &nbsp;&nbsp; 0.54442<br> &nbsp;&nbsp; 0.33091<br> &nbsp;&nbsp; 0.29076<br></tt> <br> This is close to a steady state. </ol> }} {{TextBox|1= ;Problem 4: This model has been suggested for some kinds of learning {{harv|Wickens|1982|loc=p. 41}}. The learner starts in an undecided state <math>s_U</math>. Eventually the learner has to decide to do either response <math>A</math> (that is, end in state <math>s_A</math>) or response <math>B</math> (ending in <math>s_B</math>). However, the learner doesn't jump right from being undecided to being sure <math>A</math> is the correct thing to do (or <math>B</math>). Instead, the learner spends some time in a "tentative-<math>A</math>" state, or a "tentative-<math>B</math>" state, trying the response out (denoted here <math>t_A</math> and <math>t_B</math>). Imagine that once the learner has decided, it is final, so once <math>s_A</math> or <math>s_B</math> is entered it is never left. For the other state changes, imagine a transition is made with probability <math>p</math> in either direction. <ol type=1 start=1> <li> Construct the transition matrix. <li> Take <math>p=0.25</math> and take the initial vector to be <math>1</math> at <math>s_U</math>. Run this for five steps. What is the chance of ending up at <math>s_A</math>? <li> Do the same for <math>p=0.20</math>. <li> Graph <math>p</math> versus the chance of ending at <math>s_A</math>. Is there a threshold value for <math>p</math>, above which the learner is almost sure not to take longer than five steps? </ol> ;Answer: <ol type=1 start=1> <li> This is the relevant system of equations. :<math> \begin{array}{*{5}{rc}r} (1-2p)\cdot s_{U}(n) &+ &p\cdot t_{A}(n) &+ &p\cdot t_{B}(n) & & & & &= &s_{U}(n+1) \\ p\cdot s_{U}(n) &+ &(1-2p)\cdot t_{A}(n) & & & & & & &= &t_{A}(n+1) \\ p\cdot s_{U}(n) & & &+ &(1-2p)\cdot t_{B}(n) & & & & &= &t_{B}(n+1) \\ & &p\cdot t_{A}(n) & & &+ &s_{A}(n) & & &= &s_{A}(n+1) \\ & & & &p\cdot t_{B}(n) & & &+ &s_{B}(n) &= &s_{B}(n+1) \end{array} </math> Thus we have this. :<math> \begin{pmatrix} 1-2p &p &p &0 &0 \\ p &1-2p &0 &0 &0 \\ p &0 &1-2p &0 &0 \\ 0 &p &0 &1 &0 \\ 0 &0 &p &0 &1 \end{pmatrix} \begin{pmatrix} s_{U}(n) \\ t_{A}(n) \\ t_{B}(n) \\ s_{A}(n) \\ s_{B}(n) \end{pmatrix} = \begin{pmatrix} s_{U}(n+1) \\ t_{A}(n+1) \\ t_{B}(n+1) \\ s_{A}(n+1) \\ s_{B}(n+1) \end{pmatrix} </math> <li> This is the Octave code, with the output removed. <br><tt> &nbsp;&nbsp; octave:1> T=[.5,.25,.25,0,0;<br> &nbsp;&nbsp; > .25,.5,0,0,0;<br> &nbsp;&nbsp; > .25,0,.5,0,0;<br> &nbsp;&nbsp; > 0,.25,0,1,0;<br> &nbsp;&nbsp; > 0,0,.25,0,1]<br> &nbsp;&nbsp; T =<br> &nbsp;&nbsp; 0.50000 0.25000 0.25000 0.00000 0.00000<br> &nbsp;&nbsp; 0.25000 0.50000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.25000 0.00000 0.50000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.25000 0.00000 1.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.25000 0.00000 1.00000<br> &nbsp;&nbsp; octave:2> p0=[1;0;0;0;0]<br> &nbsp;&nbsp; octave:3> p1=T*p0<br> &nbsp;&nbsp; octave:4> p2=T*p1<br> &nbsp;&nbsp; octave:5> p3=T*p2<br> &nbsp;&nbsp; octave:6> p4=T*p3<br> &nbsp;&nbsp; octave:7> p5=T*p4<br></tt> <br> Here is the output. The probability of ending at <math>s_A</math> is about <math>0.23</math>. :<math> \begin{array}{cc|ccccc} &\vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 &\vec{p}_5 \\ \hline \begin{array}{c} s_U \\ t_A \\ t_B \\ s_A \\ s_B \end{array} &\begin{array}{c} 1 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} &\begin{array}{c} 0.50000 \\ 0.25000 \\ 0.25000 \\ 0.00000 \\ 0.00000 \end{array} &\begin{array}{c} 0.375000 \\ 0.250000 \\ 0.250000 \\ 0.062500 \\ 0.062500 \end{array} &\begin{array}{c} 0.31250 \\ 0.21875 \\ 0.21875 \\ 0.12500 \\ 0.12500 \end{array} &\begin{array}{c} 0.26562 \\ 0.18750 \\ 0.18750 \\ 0.17969 \\ 0.17969 \end{array} &\begin{array}{c} 0.22656 \\ 0.16016 \\ 0.16016 \\ 0.22656 \\ 0.22656 \end{array} \end{array} </math> <li> With this file as <tt>learn.m</tt> <br><tt> &nbsp;&nbsp; # Octave script file for learning model.<br> &nbsp;&nbsp; function w = learn(p)<br> &nbsp;&nbsp; T = [1-2*p,p, p, 0, 0;<br> &nbsp;&nbsp; p, 1-2*p,0, 0, 0; <br> &nbsp;&nbsp; p, 0, 1-2*p,0, 0;<br> &nbsp;&nbsp; 0, p, 0, 1, 0;<br> &nbsp;&nbsp; 0, 0, p, 0, 1]; <br> &nbsp;&nbsp; T5 = T**5;<br> &nbsp;&nbsp; p5 = T5*[1;0;0;0;0];<br> &nbsp;&nbsp; w = p5(4);<br> &nbsp;&nbsp; endfunction<br></tt> <br> issuing the command <tt>octave:1> learn(.20)</tt> yields <tt>ans = 0.17664</tt>. <li> This Octave session <br><tt> &nbsp;&nbsp; octave:1> x=(.01:.01:.50)';<br> &nbsp;&nbsp; octave:2> y=(.01:.01:.50)';<br> &nbsp;&nbsp; octave:3> for i=.01:.01:.50 <br> &nbsp;&nbsp; > y(100*i)=learn(i);<br> &nbsp;&nbsp; > endfor<br> &nbsp;&nbsp; octave:4> z=[x, y];<br> &nbsp;&nbsp; octave:5> gplot z<br></tt> <br> yields this plot. There is no threshold value &mdash; no probability above which the curve rises sharply. <div style="text-align: center;"> [[Image:Linalg_learn5.png|x350px]] </div> </ol> }} {{TextBox|1= ;Problem 5: A certain town is in a certain country (this is a hypothetical problem). Each year ten percent of the town dwellers move to other parts of the country. Each year one percent of the people from elsewhere move to the town. Assume that there are two states <math>s_T</math>, living in town, and <math>s_C</math>, living elsewhere. <ol type=1 start=1> <li> Construct the transistion matrix. <li> Starting with an initial distribution <math>s_T=0.3</math> and <math>s_C=0.7</math>, get the results for the first ten years. <li> Do the same for <math>s_T=0.2</math>. <li> Are the two outcomes alike or different? </ol> ;Answer: <ol type=1 start=1> <li> From these equations :<math> \begin{array}{*{2}{rc}r} 0.90\cdot p_{T}(n) &+ &0.01\cdot p_{C}(n) &= &p_{T}(n+1) \\ 0.10\cdot p_{T}(n) &+ &0.99\cdot p_{C}(n) &= &p_{C}(n+1) \end{array} </math> we get this matrix. :<math> \begin{pmatrix} 0.90 &0.01 \\ 0.10 &0.99 \end{pmatrix} \begin{pmatrix} p_{T}(n) \\ p_{C}(n) \end{pmatrix} = \begin{pmatrix} p_{T}(n+1) \\ p_{C}(n+1) \end{pmatrix} </math> <li> This is the result from Octave. {{center/top}} <math>\begin{array}{c|ccccc} n=0 &1 &2 &3 &4 &5 \\ \hline \begin{array}{c} 0.30000 \\ 0.70000 \end{array} &\begin{array}{c} 0.27700 \\ 0.72300 \end{array} &\begin{array}{c} 0.25653 \\ 0.74347 \end{array} &\begin{array}{c} 0.23831 \\ 0.76169 \end{array} &\begin{array}{c} 0.22210 \\ 0.77790 \end{array} &\begin{array}{c} 0.20767 \\ 0.79233 \end{array} \end{array}</math> <math>\begin{array}{|ccccc} 6 &7 &8 &9 &10 \\ \hline \begin{array}{c} 0.19482 \\ 0.80518 \end{array} &\begin{array}{c} 0.18339 \\ 0.81661 \end{array} &\begin{array}{c} 0.17322 \\ 0.82678 \end{array} &\begin{array}{c} 0.16417 \\ 0.83583 \end{array} &\begin{array}{c} 0.15611 \\ 0.84389 \end{array} \end{array}</math> </center> <li> This is the <math>s_T=0.2</math> result. <center> <math>\begin{array}{c|ccccc} n=0 &1 &2 &3 &4 &5 \\ \hline \begin{array}{c} 0.20000 \\ 0.80000 \end{array} &\begin{array}{c} 0.18800 \\ 0.81200 \end{array} &\begin{array}{c} 0.17732 \\ 0.82268 \end{array} &\begin{array}{c} 0.16781 \\ 0.83219 \end{array} &\begin{array}{c} 0.15936 \\ 0.84064 \end{array} &\begin{array}{c} 0.15183 \\ 0.84817 \end{array} \end{array}</math> <math>\begin{array}{|ccccc} 6 &7 &8 &9 &10 \\ \hline \begin{array}{c} 0.14513 \\ 0.85487 \end{array} &\begin{array}{c} 0.13916 \\ 0.86084 \end{array} &\begin{array}{c} 0.13385 \\ 0.86615 \end{array} &\begin{array}{c} 0.12913 \\ 0.87087 \end{array} &\begin{array}{c} 0.12493 \\ 0.87507 \end{array} \end{array}</math> {{center/end}} <li> Although the probability vectors start <math>0.1</math> apart, they end only <math>0.032</math> apart. So they are alike. </ol> }} {{TextBox|1= ;Problem 6: For the World Series application, use a computer to generate the seven vectors for <math>p=0.55</math> and <math>p=0.6</math>. <ol type=1 start=1> <li> What is the chance of the National League team winning it all, even though they have only a probability of <math>0.45</math> or <math>0.40</math> of winning any one game? <li> Graph the probability <math>p</math> against the chance that the American League team wins it all. Is there a threshold value&mdash; a <math>p</math> above which the better team is essentially ensured of winning? </ol> (Some sample code is included below.) ;Answer: These are the <math>p=.55</math> vectors, <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:left"> <TR> <TD style="border-bottom:2px black solid;text-align:right"> <TD style="border-right:2px black solid;border-bottom:2px black solid;"><math>n=0</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=1</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=2</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=3</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=4</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=5</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=6</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=7</math> &nbsp;&nbsp; <TR> <TD> 0-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.55000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.45000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30250 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.49500 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20250 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 3-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16638 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40837 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.33412 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09112 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 4-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 <TR> <TD> 3-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.29948 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.36754 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20047 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 <TR> <TD> 4-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 <TR> <TD> 3-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.33691 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27565 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 <TR> <TD> 4-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 <TR> <TD> 3-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30322 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30322 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 <TR> <TD> 4-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16677 <TR> <TD> 3-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.13645 </TABLE> </div> and these are the <math>p=.60</math> vectors. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:left"> <TR> <TD style="border-bottom:2px black solid;text-align:right"> <TD style="border-right:2px black solid;border-bottom:2px black solid;"><math>n=0</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=1</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=2</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=3</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=4</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=5</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=6</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=7</math> &nbsp;&nbsp; <TR> <TD> 0-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.36000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.48000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 3-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.21600 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.43200 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.28800 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06400 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 4-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 <TR> <TD> 3-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.15360 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 <TR> <TD> 4-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 <TR> <TD> 3-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.23040 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 <TR> <TD> 4-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 <TR> <TD> 3-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27648 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09216 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09216 <TR> <TD> 4-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16589 <TR> <TD> 3-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.11059 </TABLE> </div> <ol type=1 start=1> <li> The script from the computer code section can be easily adapted. <br> <tt> &nbsp;&nbsp; # Octave script file to compute chance of World Series outcomes.<br> &nbsp;&nbsp; function w = markov(p,v)<br> &nbsp;&nbsp; q = 1-p;<br> &nbsp;&nbsp; A=[0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-0<br> &nbsp;&nbsp; p,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-0<br> &nbsp;&nbsp; q,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-1_<br> &nbsp;&nbsp; 0,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-0<br> &nbsp;&nbsp; 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-1<br> &nbsp;&nbsp; 0,0,q,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-2__<br> &nbsp;&nbsp; 0,0,0,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-0<br> &nbsp;&nbsp; 0,0,0,q,p,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-1<br> &nbsp;&nbsp; 0,0,0,0,q,p, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-2_<br> &nbsp;&nbsp; 0,0,0,0,0,q, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, p,0,0,0,1,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 4-0<br> &nbsp;&nbsp; 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-1__<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,q,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,q,0,0, 0,0,1,0,0,0, 0,0,0,0,0,0; # 0-4_<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,p, 0,0,0,1,0,0, 0,0,0,0,0,0; # 4-1<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,q, p,0,0,0,0,0, 0,0,0,0,0,0; # 3-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0; # 2-3__<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,q,0,0,0,0, 1,0,0,0,0,0; # 1-4<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,p,0, 0,1,0,0,0,0; # 4-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,q,p, 0,0,0,0,0,0; # 3-3_<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,q, 0,0,0,1,0,0; # 2-4<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,p,0,1,0; # 4-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,q,0,0,1]; # 3-4<br> &nbsp;&nbsp; v7 = (A**7) * v;<br> &nbsp;&nbsp; w = v7(11)+v7(16)+v7(20)+v7(23)<br> &nbsp;&nbsp; endfunction<br></tt> <br> Using this script, we get that when the American League has a <math>p=0.55</math> probability of winning each game then their probability of winning the first-to-win-four series is <math>0.60829</math>. When their probability of winning any one game is <math>p=0.6</math> then their probability of winning the series is <math>0.71021</math>. <li> This Octave session <br><tt> &nbsp;&nbsp; octave:1> v0=[1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];<br> &nbsp;&nbsp; octave:2> x=(.01:.01:.99)';<br> &nbsp;&nbsp; octave:3> y=(.01:.01:.99)';<br> &nbsp;&nbsp; octave:4> for i=.01:.01:.99<br> &nbsp;&nbsp; > y(100*i)=markov(i,v0);<br> &nbsp;&nbsp; > endfor<br> &nbsp;&nbsp; octave:5> z=[x, y];<br> &nbsp;&nbsp; octave:6> gplot z<br></tt> <br> yields this graph. By eye we judge that if <math>p>0.7</math> then the team is close to assurred of the series. <div style="text-align: center;"> [[Image:Linalg_ws.png|x350px]] </div> </ol> }} {{TextBox|1= ;Problem 7{{anchor|Markov matrix}}: A '''Markov matrix''' has each entry positive and each column sums to <math>1</math>. <ol type=1 start=1> <li> Check that the three transistion matrices shown in this Topic meet these two conditions. Must any transition matrix do so? <li> Observe that if <math>A\vec{v}_0=\vec{v}_1</math> and <math>A\vec{v}_1=\vec{v}_2</math> then <math>A^2</math> is a transition matrix from <math>\vec{v}_0</math> to <math>\vec{v}_2</math>. Show that a power of a Markov matrix is also a Markov matrix. <li> Generalize the prior item by proving that the product of two appropriately-sized Markov matrices is a Markov matrix. </ol> ;Answer: <ol type=1 start=1> <li> They must satisfy this condition because the total probability of a state transition (including back to the same state) is 100%. <li> See the answer to the third item. <li> We will do the <math>2 \! \times \! 2</math> case; bigger-sized cases are just notational problems. This product :<math> \begin{pmatrix} a_{1,1} &a_{1,2} \\ a_{2,1} &a_{2,2} \end{pmatrix} \begin{pmatrix} b_{1,1} &b_{1,2} \\ b_{2,1} &b_{2,2} \end{pmatrix} =\begin{pmatrix} a_{1,1}b_{1,1}+a_{1,2}b_{2,1} &a_{1,1}b_{1,2}+a_{1,2}b_{2,2} \\ a_{2,1}b_{1,1}+a_{2,2}b_{2,1} &a_{2,1}b_{1,2}+a_{2,2}b_{2,2} \\ \end{pmatrix} </math> has these two column sums :<math> (a_{1,1}b_{1,1}+a_{1,2}b_{2,1}) +(a_{2,1}b_{1,1}+a_{2,2}b_{2,1}) =(a_{1,1}+a_{2,1})\cdot b_{1,1} +(a_{1,2}+a_{2,2})\cdot b_{2,1} =1\cdot b_{1,1}+1\cdot b_{2,1} =1 </math> and :<math> (a_{1,1}b_{1,2}+a_{1,2}b_{2,2}) +(a_{2,1}b_{1,2}+a_{2,2}b_{2,2}) =(a_{1,1}+a_{2,1})\cdot b_{1,2} +(a_{1,2}+a_{2,2})\cdot b_{2,2} =1\cdot b_{1,2}+1\cdot b_{2,2} =1 </math> as required. </ol> }} <b> Computer Code </b> This script ''markov.m'' for the computer algebra system Octave was used to generate the table of World Series outcomes. (The sharp character <tt>#</tt> marks the rest of a line as a comment.) # Octave script file to compute chance of World Series outcomes. function w = markov(p,v) q = 1-p; A=[0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-0 p,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-0 q,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-1_ 0,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-0 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-1 0,0,q,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-2__ 0,0,0,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-0 0,0,0,q,p,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-1 0,0,0,0,q,p, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-2_ 0,0,0,0,0,q, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-3 0,0,0,0,0,0, p,0,0,0,1,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 4-0 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-1__ 0,0,0,0,0,0, 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-2 0,0,0,0,0,0, 0,0,q,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-3 0,0,0,0,0,0, 0,0,0,q,0,0, 0,0,1,0,0,0, 0,0,0,0,0,0; # 0-4_ 0,0,0,0,0,0, 0,0,0,0,0,p, 0,0,0,1,0,0, 0,0,0,0,0,0; # 4-1 0,0,0,0,0,0, 0,0,0,0,0,q, p,0,0,0,0,0, 0,0,0,0,0,0; # 3-2 0,0,0,0,0,0, 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0; # 2-3__ 0,0,0,0,0,0, 0,0,0,0,0,0, 0,q,0,0,0,0, 1,0,0,0,0,0; # 1-4 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,p,0, 0,1,0,0,0,0; # 4-2 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,q,p, 0,0,0,0,0,0; # 3-3_ 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,q, 0,0,0,1,0,0; # 2-4 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,p,0,1,0; # 4-3 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,q,0,0,1]; # 3-4 w = A * v; endfunction Then the Octave session was this. > v0=[1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0] > p=.5 > v1=markov(p,v0) > v2=markov(p,v1) ... Translating to another computer algebra system should be easy&mdash; all have commands similar to these. ==References== * {{citation|first=William|last=Feller|title=An Introduction to Probability Theory and Its Applications|volume=1|edition=3rd|publisher=Wiley|year=1968}}. * {{citation|first=Christina M.L.|last=Kelton|title=Trends on the Relocation of U.S. Manufacturing|publisher=Wiley|year=1983}}. * {{citation|first=Thomas D.|last=Wickens|title=Models for Behavior|publisher=W.H. Freeman|year=1982}}. {{BookCat}} h8ai3ivaw9jox5f8jj5hqn41bvfi4zk 4656908 4656907 2026-08-10T06:48:48Z ShakespeareFan00 46022 4656908 wikitext text/x-wiki == Solutions == ''Use a computer for these problems. You can, for instance, adapt the Octave script given below.'' {{TextBox|1= ;Problem 1: These questions refer to the coin-flipping game. <ol type=1 start=1> <li> Check the computations in the table at the end of the first paragraph. <li> Consider the second row of the vector table. Note that this row has alternating <math>0</math>'s. Must <math>p_{1}(j)</math> be <math>0</math> when <math>j</math> is odd? Prove that it must be, or produce a counterexample. <li> Perform a computational experiment to estimate the chance that the player ends at five dollars, starting with one dollar, two dollars, and four dollars. </ol> ;Answer: <ol type=1 start=1> <li> With this file <tt>coin.m</tt><br> <br> <tt>&nbsp;&nbsp; # Octave function for Markov coin game. p is chance of going down.<br> &nbsp;&nbsp; function w = coin(p,v)<br> &nbsp;&nbsp; q = 1-p;<br> &nbsp;&nbsp; A=[1,p,0,0,0,0;<br> &nbsp;&nbsp; 0,0,p,0,0,0;<br> &nbsp;&nbsp; 0,q,0,p,0,0;<br> &nbsp;&nbsp; 0,0,q,0,p,0;<br> &nbsp;&nbsp; 0,0,0,q,0,0;<br> &nbsp;&nbsp; 0,0,0,0,q,1];<br> &nbsp;&nbsp; w = A * v;<br> &nbsp;&nbsp; endfunction<br></tt> <br> This Octave session produced the output given here. <br> <tt>&nbsp;&nbsp;octave:1> v0=[0;0;0;1;0;0]<br> &nbsp;&nbsp; v0 =<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 1<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; octave:2> p=.5<br> &nbsp;&nbsp; p = 0.50000<br> &nbsp;&nbsp; octave:3> v1=coin(p,v0)<br> &nbsp;&nbsp; v1 =<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; octave:4> v2=coin(p,v1)<br> &nbsp;&nbsp; v2 =<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.25000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.25000<br></tt> <br> This continued for too many steps to list here. <br> <tt>&nbsp;&nbsp;octave:26> v24=coin(p,v23)<br> &nbsp;&nbsp; v24 =<br> &nbsp;&nbsp; 0.39600<br> &nbsp;&nbsp; 0.00276<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.00447<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.59676<br></tt> <li> Using these formulas :<math>\begin{align}{2} p_{1}(n+1) &= 0.5\cdot p_{2}(n) &\qquad p_{2}(n+1) &= 0.5\cdot p_{1}(n)+0.5\cdot p_{3}(n) \\ p_{3}(n+1) &= 0.5\cdot p_{2}(n)+0.5\cdot p_{4}(n) &\qquad p_{5}(n+1) &= 0.5\cdot p_{4}(n) \end{align} </math> and these initial conditions :<math> \begin{pmatrix} p_{0}(0) \\ p_{1}(0) \\ p_{2}(0) \\ p_{3}(0) \\ p_{4}(0) \\ p_{5}(0) \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} </math> we will prove by induction that when <math>n</math> is odd then <math>p_{1}(n)=p_{3}(n)=0</math> and when <math>n</math> is even then <math>p_{2}(n)=p_{4}(n)=0</math>. Note first that this is true in the <math>n=0</math> base case by the initial conditions. For the inductive step, suppose that it is true in the <math>n=0</math>, <math>n=1</math>, ..., <math>n=k</math> cases and consider the <math>n=k+1</math> case. If <math>k+1</math> is odd then the two :<math>\begin{array}{rl} p_{1}(k+1) &= 0.5\cdot p_{2}(k)=0.5\cdot 0=0 \\ p_{3}(k+1) &=0.5\cdot p_{2}(k)+0.5\cdot p_{4}(k) =0.5\cdot 0+0.5\cdot 0 =0 \end{array}</math> follow from the inductive hypothesis that <math>p_{2}(k)=p_{4}(k)=0</math> since <math>k</math> is even. The case where <math>k+1</math> is even is similar. <li> We can use, say, <math>n=100</math>. This Octave session <br> <tt> &nbsp;&nbsp; octave:1> B=[1,.5,0,0,0,0;<br> &nbsp;&nbsp; > 0,0,.5,0,0,0;<br> &nbsp;&nbsp; > 0,.5,0,.5,0,0;<br> &nbsp;&nbsp; > 0,0,.5,0,.5,0;<br> &nbsp;&nbsp; > 0,0,0,.5,0,0;<br> &nbsp;&nbsp; > 0,0,0,0,.5,1];<br> &nbsp;&nbsp; octave:2> B100=B**100<br> &nbsp;&nbsp; B100 =<br> &nbsp;&nbsp; 1.00000 0.80000 0.60000 0.40000 0.20000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.20000 0.40000 0.60000 0.80000 1.00000<br> &nbsp;&nbsp; octave:3> B100*[0;1;0;0;0;0]<br> &nbsp;&nbsp; octave:4> B100*[0;1;0;0;0;0]<br> &nbsp;&nbsp; octave:5> B100*[0;0;0;1;0;0]<br> &nbsp;&nbsp; octave:6> B100*[0;1;0;0;0;0]</tt><br> <br> yields these outputs. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;"><i>starting with:</i>&nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $1 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $2 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $3 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $4 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_0(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.80000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_1(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_2(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_3(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_4(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_5(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.80000 &nbsp;&nbsp; </TABLE> </div> </ol> }} {{TextBox|1= ;Problem 2: We consider throws of a die, and say the system is in state <math>s_i</math> if the largest number yet appearing on the die was <math>i</math>. <ol type=1 start=1> <li> Give the transition matrix. <li> Start the system in state <math>s_1</math>, and run it for five throws. What is the vector at the end? </ol> {{harv|Feller|1968|loc=p. 424}} ;Answer: <ol type=1 start=1> <li> From these equations :<math> \begin{array}{*{6}{rc}r} (1/6)s_{1}(n) &+ &0s_{2}(n) &+ &0s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{1}(n+1) \\ (1/6)s_{1}(n) &+ &(2/6)s_{2}(n) &+ &0s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{2}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(3/6)s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{3}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(4/6)s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{4}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(1/6)s_{4}(n) &+ &(5/6)s_{5}(n) &+ &0s_{6}(n) &= &s_{5}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(1/6)s_{4}(n) &+ &(1/6)s_{5}(n) &+ &(6/6)s_{6}(n) &= &s_{6}(n+1) \end{array} </math> We get this transition matrix. :<math> \begin{pmatrix} 1/6 &0 &0 &0 &0 &0 \\ 1/6 &2/6 &0 &0 &0 &0 \\ 1/6 &1/6 &3/6 &0 &0 &0 \\ 1/6 &1/6 &1/6 &4/6 &0 &0 \\ 1/6 &1/6 &1/6 &1/6 &5/6 &0 \\ 1/6 &1/6 &1/6 &1/6 &1/6 &6/6 \end{pmatrix} </math> <li> This is the Octave session, with outputs edited out and condensed into the table at the end. <br><tt>&nbsp;&nbsp; octave:1> F=[1/6, 0, 0, 0, 0, 0;<br> &nbsp;&nbsp; > 1/6, 2/6, 0, 0, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 3/6, 0, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 4/6, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 1/6, 5/6, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 1/6, 1/6, 6/6];<br> &nbsp;&nbsp; octave:2> v0=[1;0;0;0;0;0]<br> &nbsp;&nbsp; octave:3> v1=F*v0<br> &nbsp;&nbsp; octave:4> v2=F*v1<br> &nbsp;&nbsp; octave:5> v3=F*v2<br> &nbsp;&nbsp; octave:6> v4=F*v3<br> &nbsp;&nbsp; octave:7> v5=F*v4</tt><br> <br> These are the results. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 2 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 3 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 4 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 5 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.027778 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0046296 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00077160 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00012860 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.083333 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0324074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.01157407 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00398663 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.138889 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0879630 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.05015432 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02713477 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.194444 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.1712963 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.13503086 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.10043724 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.250000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.2824074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.28472222 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27019033 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.305556 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.4212963 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.51774691 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.59812243 </TABLE> </div> </ol> }} {{TextBox|1= ;Problem 3: There has been much interest in whether industries in the United States are moving from the Northeast and North Central regions to the South and West, motivated by the warmer climate, by lower wages, and by less unionization. Here is the transition matrix for large firms in Electric and Electronic Equipment {{harv|Kelton|1983|loc=p. 43}} <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;border-right:2px black solid;"> &nbsp;&nbsp; &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NE'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NC'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''S'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''W'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''Z'' <TR> <TD style="border-right:2px black solid;">''NE'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.787 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.111 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.102 <TR> <TD style="border-right:2px black solid;">''NC'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.966 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.034 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD style="border-right:2px black solid;">''S'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.063 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.937 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD style="border-right:2px black solid;">''W'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.612 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.314 <TR> <TD style="border-right:2px black solid;">''Z'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.009 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.005 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.010 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.954 <TR> </TABLE> </div> For example, a firm in the Northeast region will be in the West region next year with probability <math>0.111</math>. (The ''Z'' entry is a "birth-death" state. For instance, with probability <math>0.102</math> a large Electric and Electronic Equipment firm from the Northeast will move out of this system next year: go out of business, move abroad, or move to another category of firm. There is a <math>0.021</math> probability that a firm in the ''National Census of Manufacturers'' will move into Electronics, or be created, or move in from abroad, into the Northeast. Finally, with probability <math>0.954</math> a firm out of the categories will stay out, according to this research.) <ol type=1 start=1> <li> Does the Markov model assumption of lack of history seem justified? <li> Assume that the initial distribution is even, except that the value at <math>Z</math> is <math>0.9</math>. Compute the vectors for <math>n=1</math> through <math>n=4</math>. <li> Suppose that the initial distribution is this. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;">''NE'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NC'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''S'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''W'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''Z'' <TR> <TD>0.0000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.6522 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.3478 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0000 &nbsp;&nbsp; </TABLE> </div> Calculate the distributions for <math>n=1</math> through <math>n=4</math>. <li> Find the distribution for <math>n=50</math> and <math>n=51</math>. Has the system settled down to an equilibrium? </ol> ;Answer: <ol type=1 start=1> <li> It does seem reasonable that, while the firm's present location should strongly influence where it is next time (for instance, whether it stays), any locations in the prior stages should have little influence. That is, while a company may move or stay because of where it is, it is unlikely to move or stay because of where it was. <li> This Octave session has been edited, with the outputs put together in a table at the end. <br><tt> &nbsp;&nbsp; octave:1> M=[.787,0,0,.111,.102;<br> &nbsp;&nbsp; > 0,.966,.034,0,0;<br> &nbsp;&nbsp; > 0,.063,.937,0,0;<br> &nbsp;&nbsp; > 0,0,.074,.612,.314;<br> &nbsp;&nbsp; > .021,.009,.005,.010,.954]<br> &nbsp;&nbsp; M =<br> &nbsp;&nbsp; 0.78700 0.00000 0.00000 0.11100 0.10200<br> &nbsp;&nbsp; 0.00000 0.96600 0.03400 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.06300 0.93700 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.07400 0.61200 0.31400<br> &nbsp;&nbsp; 0.02100 0.00900 0.00500 0.01000 0.95400<br> &nbsp;&nbsp; octave:2> v0=[.025;.025;.025;.025;.900]<br> &nbsp;&nbsp; octave:3> v1=M*v0<br> &nbsp;&nbsp; octave:4> v2=M*v1<br> &nbsp;&nbsp; octave:5> v3=M*v2<br> &nbsp;&nbsp; octave:6> v4=M*v3<br></tt> <br> is summarized in this table. <div style="text-align: center;"> <math> \begin{array}{c|cccc} \vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 \\ \hline \begin{pmatrix} 0.025000 \\ 0.025000 \\ 0.025000 \\ 0.025000 \\ 0.900000 \end{pmatrix} &\begin{pmatrix} 0.114250 \\ 0.025000 \\ 0.025000 \\ 0.299750 \\ 0.859725 \end{pmatrix} &\begin{pmatrix} 0.210879 \\ 0.025000 \\ 0.025000 \\ 0.455251 \\ 0.825924 \end{pmatrix} &\begin{pmatrix} 0.300739 \\ 0.025000 \\ 0.025000 \\ 0.539804 \\ 0.797263 \end{pmatrix} &\begin{pmatrix} 0.377920 \\ 0.025000 \\ 0.025000 \\ 0.582550 \\ 0.772652 \end{pmatrix} \end{array} </math> </div> <li> This is a continuation of the Octave session from the prior item. <br><tt> &nbsp;&nbsp; octave:7> p0=[.0000;.6522;.3478;.0000;.0000]<br> &nbsp;&nbsp; octave:8> p1=M*p0<br> &nbsp;&nbsp; octave:9> p2=M*p1<br> &nbsp;&nbsp; octave:10> p3=M*p2<br> &nbsp;&nbsp; octave:11> p4=M*p3<br> </tt> <br> <br> This summarizes the output. <div style="text-align: center;"> <math> \begin{array}{c|cccc} \vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 \\ \hline \begin{pmatrix} 0.00000 \\ 0.65220 \\ 0.34780 \\ 0.00000 \\ 0.00000 \end{pmatrix} &\begin{pmatrix} 0.00000 \\ 0.64185 \\ 0.36698 \\ 0.02574 \\ 0.00761 \end{pmatrix} &\begin{pmatrix} 0.0036329 \\ 0.6325047 \\ 0.3842942 \\ 0.0452966 \\ 0.0151277 \end{pmatrix} &\begin{pmatrix} 0.0094301 \\ 0.6240656 \\ 0.3999315 \\ 0.0609094 \\ 0.0225751 \end{pmatrix} &\begin{pmatrix} 0.016485 \\ 0.616445 \\ 0.414052 \\ 0.073960 \\ 0.029960 \end{pmatrix} \end{array} </math> </div> <li> This is more of the same Octave session. <br> <tt><br> &nbsp;&nbsp; octave:12> M50=M**50<br> &nbsp;&nbsp; M50 =<br> &nbsp;&nbsp; 0.03992 0.33666 0.20318 0.02198 0.37332<br> &nbsp;&nbsp; 0.00000 0.65162 0.34838 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.64553 0.35447 0.00000 0.00000<br> &nbsp;&nbsp; 0.03384 0.38235 0.22511 0.01864 0.31652<br> &nbsp;&nbsp; 0.04003 0.33316 0.20029 0.02204 0.37437<br> &nbsp;&nbsp; octave:13> p50=M50*p0<br> &nbsp;&nbsp; p50 =<br> &nbsp;&nbsp; 0.29024<br> &nbsp;&nbsp; 0.54615<br> &nbsp;&nbsp; 0.54430<br> &nbsp;&nbsp; 0.32766<br> &nbsp;&nbsp; 0.28695<br> &nbsp;&nbsp; octave:14> p51=M*p50<br> &nbsp;&nbsp; p51 =<br> &nbsp;&nbsp; 0.29406<br> &nbsp;&nbsp; 0.54609<br> &nbsp;&nbsp; 0.54442<br> &nbsp;&nbsp; 0.33091<br> &nbsp;&nbsp; 0.29076<br></tt> <br> This is close to a steady state. </ol> }} {{TextBox|1= ;Problem 4: This model has been suggested for some kinds of learning {{harv|Wickens|1982|loc=p. 41}}. The learner starts in an undecided state <math>s_U</math>. Eventually the learner has to decide to do either response <math>A</math> (that is, end in state <math>s_A</math>) or response <math>B</math> (ending in <math>s_B</math>). However, the learner doesn't jump right from being undecided to being sure <math>A</math> is the correct thing to do (or <math>B</math>). Instead, the learner spends some time in a "tentative-<math>A</math>" state, or a "tentative-<math>B</math>" state, trying the response out (denoted here <math>t_A</math> and <math>t_B</math>). Imagine that once the learner has decided, it is final, so once <math>s_A</math> or <math>s_B</math> is entered it is never left. For the other state changes, imagine a transition is made with probability <math>p</math> in either direction. <ol type=1 start=1> <li> Construct the transition matrix. <li> Take <math>p=0.25</math> and take the initial vector to be <math>1</math> at <math>s_U</math>. Run this for five steps. What is the chance of ending up at <math>s_A</math>? <li> Do the same for <math>p=0.20</math>. <li> Graph <math>p</math> versus the chance of ending at <math>s_A</math>. Is there a threshold value for <math>p</math>, above which the learner is almost sure not to take longer than five steps? </ol> ;Answer: <ol type=1 start=1> <li> This is the relevant system of equations. :<math> \begin{array}{*{5}{rc}r} (1-2p)\cdot s_{U}(n) &+ &p\cdot t_{A}(n) &+ &p\cdot t_{B}(n) & & & & &= &s_{U}(n+1) \\ p\cdot s_{U}(n) &+ &(1-2p)\cdot t_{A}(n) & & & & & & &= &t_{A}(n+1) \\ p\cdot s_{U}(n) & & &+ &(1-2p)\cdot t_{B}(n) & & & & &= &t_{B}(n+1) \\ & &p\cdot t_{A}(n) & & &+ &s_{A}(n) & & &= &s_{A}(n+1) \\ & & & &p\cdot t_{B}(n) & & &+ &s_{B}(n) &= &s_{B}(n+1) \end{array} </math> Thus we have this. :<math> \begin{pmatrix} 1-2p &p &p &0 &0 \\ p &1-2p &0 &0 &0 \\ p &0 &1-2p &0 &0 \\ 0 &p &0 &1 &0 \\ 0 &0 &p &0 &1 \end{pmatrix} \begin{pmatrix} s_{U}(n) \\ t_{A}(n) \\ t_{B}(n) \\ s_{A}(n) \\ s_{B}(n) \end{pmatrix} = \begin{pmatrix} s_{U}(n+1) \\ t_{A}(n+1) \\ t_{B}(n+1) \\ s_{A}(n+1) \\ s_{B}(n+1) \end{pmatrix} </math> <li> This is the Octave code, with the output removed. <br><tt> &nbsp;&nbsp; octave:1> T=[.5,.25,.25,0,0;<br> &nbsp;&nbsp; > .25,.5,0,0,0;<br> &nbsp;&nbsp; > .25,0,.5,0,0;<br> &nbsp;&nbsp; > 0,.25,0,1,0;<br> &nbsp;&nbsp; > 0,0,.25,0,1]<br> &nbsp;&nbsp; T =<br> &nbsp;&nbsp; 0.50000 0.25000 0.25000 0.00000 0.00000<br> &nbsp;&nbsp; 0.25000 0.50000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.25000 0.00000 0.50000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.25000 0.00000 1.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.25000 0.00000 1.00000<br> &nbsp;&nbsp; octave:2> p0=[1;0;0;0;0]<br> &nbsp;&nbsp; octave:3> p1=T*p0<br> &nbsp;&nbsp; octave:4> p2=T*p1<br> &nbsp;&nbsp; octave:5> p3=T*p2<br> &nbsp;&nbsp; octave:6> p4=T*p3<br> &nbsp;&nbsp; octave:7> p5=T*p4<br></tt> <br> Here is the output. The probability of ending at <math>s_A</math> is about <math>0.23</math>. :<math> \begin{array}{cc|ccccc} &\vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 &\vec{p}_5 \\ \hline \begin{array}{c} s_U \\ t_A \\ t_B \\ s_A \\ s_B \end{array} &\begin{array}{c} 1 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} &\begin{array}{c} 0.50000 \\ 0.25000 \\ 0.25000 \\ 0.00000 \\ 0.00000 \end{array} &\begin{array}{c} 0.375000 \\ 0.250000 \\ 0.250000 \\ 0.062500 \\ 0.062500 \end{array} &\begin{array}{c} 0.31250 \\ 0.21875 \\ 0.21875 \\ 0.12500 \\ 0.12500 \end{array} &\begin{array}{c} 0.26562 \\ 0.18750 \\ 0.18750 \\ 0.17969 \\ 0.17969 \end{array} &\begin{array}{c} 0.22656 \\ 0.16016 \\ 0.16016 \\ 0.22656 \\ 0.22656 \end{array} \end{array} </math> <li> With this file as <tt>learn.m</tt> <br><tt> &nbsp;&nbsp; # Octave script file for learning model.<br> &nbsp;&nbsp; function w = learn(p)<br> &nbsp;&nbsp; T = [1-2*p,p, p, 0, 0;<br> &nbsp;&nbsp; p, 1-2*p,0, 0, 0; <br> &nbsp;&nbsp; p, 0, 1-2*p,0, 0;<br> &nbsp;&nbsp; 0, p, 0, 1, 0;<br> &nbsp;&nbsp; 0, 0, p, 0, 1]; <br> &nbsp;&nbsp; T5 = T**5;<br> &nbsp;&nbsp; p5 = T5*[1;0;0;0;0];<br> &nbsp;&nbsp; w = p5(4);<br> &nbsp;&nbsp; endfunction<br></tt> <br> issuing the command <tt>octave:1> learn(.20)</tt> yields <tt>ans = 0.17664</tt>. <li> This Octave session <br><tt> &nbsp;&nbsp; octave:1> x=(.01:.01:.50)';<br> &nbsp;&nbsp; octave:2> y=(.01:.01:.50)';<br> &nbsp;&nbsp; octave:3> for i=.01:.01:.50 <br> &nbsp;&nbsp; > y(100*i)=learn(i);<br> &nbsp;&nbsp; > endfor<br> &nbsp;&nbsp; octave:4> z=[x, y];<br> &nbsp;&nbsp; octave:5> gplot z<br></tt> <br> yields this plot. There is no threshold value &mdash; no probability above which the curve rises sharply. <div style="text-align: center;"> [[Image:Linalg_learn5.png|x350px]] </div> </ol> }} {{TextBox|1= ;Problem 5: A certain town is in a certain country (this is a hypothetical problem). Each year ten percent of the town dwellers move to other parts of the country. Each year one percent of the people from elsewhere move to the town. Assume that there are two states <math>s_T</math>, living in town, and <math>s_C</math>, living elsewhere. <ol type=1 start=1> <li> Construct the transistion matrix. <li> Starting with an initial distribution <math>s_T=0.3</math> and <math>s_C=0.7</math>, get the results for the first ten years. <li> Do the same for <math>s_T=0.2</math>. <li> Are the two outcomes alike or different? </ol> ;Answer: <ol type=1 start=1> <li> From these equations :<math> \begin{array}{*{2}{rc}r} 0.90\cdot p_{T}(n) &+ &0.01\cdot p_{C}(n) &= &p_{T}(n+1) \\ 0.10\cdot p_{T}(n) &+ &0.99\cdot p_{C}(n) &= &p_{C}(n+1) \end{array} </math> we get this matrix. :<math> \begin{pmatrix} 0.90 &0.01 \\ 0.10 &0.99 \end{pmatrix} \begin{pmatrix} p_{T}(n) \\ p_{C}(n) \end{pmatrix} = \begin{pmatrix} p_{T}(n+1) \\ p_{C}(n+1) \end{pmatrix} </math> <li> This is the result from Octave. {{center/top}} <math>\begin{array}{c|ccccc} n=0 &1 &2 &3 &4 &5 \\ \hline \begin{array}{c} 0.30000 \\ 0.70000 \end{array} &\begin{array}{c} 0.27700 \\ 0.72300 \end{array} &\begin{array}{c} 0.25653 \\ 0.74347 \end{array} &\begin{array}{c} 0.23831 \\ 0.76169 \end{array} &\begin{array}{c} 0.22210 \\ 0.77790 \end{array} &\begin{array}{c} 0.20767 \\ 0.79233 \end{array} \end{array}</math> <math>\begin{array}{|ccccc} 6 &7 &8 &9 &10 \\ \hline \begin{array}{c} 0.19482 \\ 0.80518 \end{array} &\begin{array}{c} 0.18339 \\ 0.81661 \end{array} &\begin{array}{c} 0.17322 \\ 0.82678 \end{array} &\begin{array}{c} 0.16417 \\ 0.83583 \end{array} &\begin{array}{c} 0.15611 \\ 0.84389 \end{array} \end{array}</math> {{center/end}} <li> This is the <math>s_T=0.2</math> result. {{center/top}} <math>\begin{array}{c|ccccc} n=0 &1 &2 &3 &4 &5 \\ \hline \begin{array}{c} 0.20000 \\ 0.80000 \end{array} &\begin{array}{c} 0.18800 \\ 0.81200 \end{array} &\begin{array}{c} 0.17732 \\ 0.82268 \end{array} &\begin{array}{c} 0.16781 \\ 0.83219 \end{array} &\begin{array}{c} 0.15936 \\ 0.84064 \end{array} &\begin{array}{c} 0.15183 \\ 0.84817 \end{array} \end{array}</math> <math>\begin{array}{|ccccc} 6 &7 &8 &9 &10 \\ \hline \begin{array}{c} 0.14513 \\ 0.85487 \end{array} &\begin{array}{c} 0.13916 \\ 0.86084 \end{array} &\begin{array}{c} 0.13385 \\ 0.86615 \end{array} &\begin{array}{c} 0.12913 \\ 0.87087 \end{array} &\begin{array}{c} 0.12493 \\ 0.87507 \end{array} \end{array}</math> {{center/end}} <li> Although the probability vectors start <math>0.1</math> apart, they end only <math>0.032</math> apart. So they are alike. </ol> }} {{TextBox|1= ;Problem 6: For the World Series application, use a computer to generate the seven vectors for <math>p=0.55</math> and <math>p=0.6</math>. <ol type=1 start=1> <li> What is the chance of the National League team winning it all, even though they have only a probability of <math>0.45</math> or <math>0.40</math> of winning any one game? <li> Graph the probability <math>p</math> against the chance that the American League team wins it all. Is there a threshold value&mdash; a <math>p</math> above which the better team is essentially ensured of winning? </ol> (Some sample code is included below.) ;Answer: These are the <math>p=.55</math> vectors, <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:left"> <TR> <TD style="border-bottom:2px black solid;text-align:right"> <TD style="border-right:2px black solid;border-bottom:2px black solid;"><math>n=0</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=1</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=2</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=3</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=4</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=5</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=6</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=7</math> &nbsp;&nbsp; <TR> <TD> 0-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.55000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.45000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30250 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.49500 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20250 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 3-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16638 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40837 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.33412 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09112 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 4-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 <TR> <TD> 3-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.29948 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.36754 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20047 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 <TR> <TD> 4-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 <TR> <TD> 3-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.33691 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27565 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 <TR> <TD> 4-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 <TR> <TD> 3-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30322 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30322 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 <TR> <TD> 4-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16677 <TR> <TD> 3-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.13645 </TABLE> </div> and these are the <math>p=.60</math> vectors. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:left"> <TR> <TD style="border-bottom:2px black solid;text-align:right"> <TD style="border-right:2px black solid;border-bottom:2px black solid;"><math>n=0</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=1</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=2</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=3</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=4</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=5</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=6</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=7</math> &nbsp;&nbsp; <TR> <TD> 0-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.36000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.48000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 3-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.21600 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.43200 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.28800 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06400 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 4-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 <TR> <TD> 3-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.15360 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 <TR> <TD> 4-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 <TR> <TD> 3-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.23040 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 <TR> <TD> 4-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 <TR> <TD> 3-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27648 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09216 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09216 <TR> <TD> 4-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16589 <TR> <TD> 3-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.11059 </TABLE> </div> <ol type=1 start=1> <li> The script from the computer code section can be easily adapted. <br> <tt> &nbsp;&nbsp; # Octave script file to compute chance of World Series outcomes.<br> &nbsp;&nbsp; function w = markov(p,v)<br> &nbsp;&nbsp; q = 1-p;<br> &nbsp;&nbsp; A=[0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-0<br> &nbsp;&nbsp; p,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-0<br> &nbsp;&nbsp; q,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-1_<br> &nbsp;&nbsp; 0,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-0<br> &nbsp;&nbsp; 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-1<br> &nbsp;&nbsp; 0,0,q,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-2__<br> &nbsp;&nbsp; 0,0,0,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-0<br> &nbsp;&nbsp; 0,0,0,q,p,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-1<br> &nbsp;&nbsp; 0,0,0,0,q,p, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-2_<br> &nbsp;&nbsp; 0,0,0,0,0,q, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, p,0,0,0,1,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 4-0<br> &nbsp;&nbsp; 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-1__<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,q,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,q,0,0, 0,0,1,0,0,0, 0,0,0,0,0,0; # 0-4_<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,p, 0,0,0,1,0,0, 0,0,0,0,0,0; # 4-1<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,q, p,0,0,0,0,0, 0,0,0,0,0,0; # 3-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0; # 2-3__<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,q,0,0,0,0, 1,0,0,0,0,0; # 1-4<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,p,0, 0,1,0,0,0,0; # 4-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,q,p, 0,0,0,0,0,0; # 3-3_<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,q, 0,0,0,1,0,0; # 2-4<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,p,0,1,0; # 4-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,q,0,0,1]; # 3-4<br> &nbsp;&nbsp; v7 = (A**7) * v;<br> &nbsp;&nbsp; w = v7(11)+v7(16)+v7(20)+v7(23)<br> &nbsp;&nbsp; endfunction<br></tt> <br> Using this script, we get that when the American League has a <math>p=0.55</math> probability of winning each game then their probability of winning the first-to-win-four series is <math>0.60829</math>. When their probability of winning any one game is <math>p=0.6</math> then their probability of winning the series is <math>0.71021</math>. <li> This Octave session <br><tt> &nbsp;&nbsp; octave:1> v0=[1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];<br> &nbsp;&nbsp; octave:2> x=(.01:.01:.99)';<br> &nbsp;&nbsp; octave:3> y=(.01:.01:.99)';<br> &nbsp;&nbsp; octave:4> for i=.01:.01:.99<br> &nbsp;&nbsp; > y(100*i)=markov(i,v0);<br> &nbsp;&nbsp; > endfor<br> &nbsp;&nbsp; octave:5> z=[x, y];<br> &nbsp;&nbsp; octave:6> gplot z<br></tt> <br> yields this graph. By eye we judge that if <math>p>0.7</math> then the team is close to assurred of the series. <div style="text-align: center;"> [[Image:Linalg_ws.png|x350px]] </div> </ol> }} {{TextBox|1= ;Problem 7{{anchor|Markov matrix}}: A '''Markov matrix''' has each entry positive and each column sums to <math>1</math>. <ol type=1 start=1> <li> Check that the three transistion matrices shown in this Topic meet these two conditions. Must any transition matrix do so? <li> Observe that if <math>A\vec{v}_0=\vec{v}_1</math> and <math>A\vec{v}_1=\vec{v}_2</math> then <math>A^2</math> is a transition matrix from <math>\vec{v}_0</math> to <math>\vec{v}_2</math>. Show that a power of a Markov matrix is also a Markov matrix. <li> Generalize the prior item by proving that the product of two appropriately-sized Markov matrices is a Markov matrix. </ol> ;Answer: <ol type=1 start=1> <li> They must satisfy this condition because the total probability of a state transition (including back to the same state) is 100%. <li> See the answer to the third item. <li> We will do the <math>2 \! \times \! 2</math> case; bigger-sized cases are just notational problems. This product :<math> \begin{pmatrix} a_{1,1} &a_{1,2} \\ a_{2,1} &a_{2,2} \end{pmatrix} \begin{pmatrix} b_{1,1} &b_{1,2} \\ b_{2,1} &b_{2,2} \end{pmatrix} =\begin{pmatrix} a_{1,1}b_{1,1}+a_{1,2}b_{2,1} &a_{1,1}b_{1,2}+a_{1,2}b_{2,2} \\ a_{2,1}b_{1,1}+a_{2,2}b_{2,1} &a_{2,1}b_{1,2}+a_{2,2}b_{2,2} \\ \end{pmatrix} </math> has these two column sums :<math> (a_{1,1}b_{1,1}+a_{1,2}b_{2,1}) +(a_{2,1}b_{1,1}+a_{2,2}b_{2,1}) =(a_{1,1}+a_{2,1})\cdot b_{1,1} +(a_{1,2}+a_{2,2})\cdot b_{2,1} =1\cdot b_{1,1}+1\cdot b_{2,1} =1 </math> and :<math> (a_{1,1}b_{1,2}+a_{1,2}b_{2,2}) +(a_{2,1}b_{1,2}+a_{2,2}b_{2,2}) =(a_{1,1}+a_{2,1})\cdot b_{1,2} +(a_{1,2}+a_{2,2})\cdot b_{2,2} =1\cdot b_{1,2}+1\cdot b_{2,2} =1 </math> as required. </ol> }} <b> Computer Code </b> This script ''markov.m'' for the computer algebra system Octave was used to generate the table of World Series outcomes. (The sharp character <tt>#</tt> marks the rest of a line as a comment.) # Octave script file to compute chance of World Series outcomes. function w = markov(p,v) q = 1-p; A=[0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-0 p,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-0 q,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-1_ 0,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-0 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-1 0,0,q,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-2__ 0,0,0,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-0 0,0,0,q,p,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-1 0,0,0,0,q,p, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-2_ 0,0,0,0,0,q, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-3 0,0,0,0,0,0, p,0,0,0,1,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 4-0 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-1__ 0,0,0,0,0,0, 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-2 0,0,0,0,0,0, 0,0,q,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-3 0,0,0,0,0,0, 0,0,0,q,0,0, 0,0,1,0,0,0, 0,0,0,0,0,0; # 0-4_ 0,0,0,0,0,0, 0,0,0,0,0,p, 0,0,0,1,0,0, 0,0,0,0,0,0; # 4-1 0,0,0,0,0,0, 0,0,0,0,0,q, p,0,0,0,0,0, 0,0,0,0,0,0; # 3-2 0,0,0,0,0,0, 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0; # 2-3__ 0,0,0,0,0,0, 0,0,0,0,0,0, 0,q,0,0,0,0, 1,0,0,0,0,0; # 1-4 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,p,0, 0,1,0,0,0,0; # 4-2 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,q,p, 0,0,0,0,0,0; # 3-3_ 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,q, 0,0,0,1,0,0; # 2-4 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,p,0,1,0; # 4-3 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,q,0,0,1]; # 3-4 w = A * v; endfunction Then the Octave session was this. > v0=[1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0] > p=.5 > v1=markov(p,v0) > v2=markov(p,v1) ... Translating to another computer algebra system should be easy&mdash; all have commands similar to these. ==References== * {{citation|first=William|last=Feller|title=An Introduction to Probability Theory and Its Applications|volume=1|edition=3rd|publisher=Wiley|year=1968}}. * {{citation|first=Christina M.L.|last=Kelton|title=Trends on the Relocation of U.S. Manufacturing|publisher=Wiley|year=1983}}. * {{citation|first=Thomas D.|last=Wickens|title=Models for Behavior|publisher=W.H. Freeman|year=1982}}. {{BookCat}} fncpr2w7tzgy27by3jzo2o9ktkg3ila 4657003 4656908 2026-08-10T09:05:56Z ShakespeareFan00 46022 4657003 wikitext text/x-wiki == Solutions == ''Use a computer for these problems. You can, for instance, adapt the Octave script given below.'' {{TextBox|1= ;Problem 1: These questions refer to the coin-flipping game. <ol type=1 start=1> <li> Check the computations in the table at the end of the first paragraph. <li> Consider the second row of the vector table. Note that this row has alternating <math>0</math>'s. Must <math>p_{1}(j)</math> be <math>0</math> when <math>j</math> is odd? Prove that it must be, or produce a counterexample. <li> Perform a computational experiment to estimate the chance that the player ends at five dollars, starting with one dollar, two dollars, and four dollars. </ol> ;Answer: <ol type=1 start=1> <li> With this file {{monospace|coin.m}}<br> <br> <tt>&nbsp;&nbsp; # Octave function for Markov coin game. p is chance of going down.<br> &nbsp;&nbsp; function w = coin(p,v)<br> &nbsp;&nbsp; q = 1-p;<br> &nbsp;&nbsp; A=[1,p,0,0,0,0;<br> &nbsp;&nbsp; 0,0,p,0,0,0;<br> &nbsp;&nbsp; 0,q,0,p,0,0;<br> &nbsp;&nbsp; 0,0,q,0,p,0;<br> &nbsp;&nbsp; 0,0,0,q,0,0;<br> &nbsp;&nbsp; 0,0,0,0,q,1];<br> &nbsp;&nbsp; w = A * v;<br> &nbsp;&nbsp; endfunction<br></tt> <br> This Octave session produced the output given here. <br> <tt>&nbsp;&nbsp;octave:1> v0=[0;0;0;1;0;0]<br> &nbsp;&nbsp; v0 =<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 1<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; 0<br> &nbsp;&nbsp; octave:2> p=.5<br> &nbsp;&nbsp; p = 0.50000<br> &nbsp;&nbsp; octave:3> v1=coin(p,v0)<br> &nbsp;&nbsp; v1 =<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; octave:4> v2=coin(p,v1)<br> &nbsp;&nbsp; v2 =<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.25000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.50000<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.25000<br></tt> <br> This continued for too many steps to list here. <br> <tt>&nbsp;&nbsp;octave:26> v24=coin(p,v23)<br> &nbsp;&nbsp; v24 =<br> &nbsp;&nbsp; 0.39600<br> &nbsp;&nbsp; 0.00276<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.00447<br> &nbsp;&nbsp; 0.00000<br> &nbsp;&nbsp; 0.59676<br></tt> <li> Using these formulas :<math>\begin{align}{2} p_{1}(n+1) &= 0.5\cdot p_{2}(n) &\qquad p_{2}(n+1) &= 0.5\cdot p_{1}(n)+0.5\cdot p_{3}(n) \\ p_{3}(n+1) &= 0.5\cdot p_{2}(n)+0.5\cdot p_{4}(n) &\qquad p_{5}(n+1) &= 0.5\cdot p_{4}(n) \end{align} </math> and these initial conditions :<math> \begin{pmatrix} p_{0}(0) \\ p_{1}(0) \\ p_{2}(0) \\ p_{3}(0) \\ p_{4}(0) \\ p_{5}(0) \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} </math> we will prove by induction that when <math>n</math> is odd then <math>p_{1}(n)=p_{3}(n)=0</math> and when <math>n</math> is even then <math>p_{2}(n)=p_{4}(n)=0</math>. Note first that this is true in the <math>n=0</math> base case by the initial conditions. For the inductive step, suppose that it is true in the <math>n=0</math>, <math>n=1</math>, ..., <math>n=k</math> cases and consider the <math>n=k+1</math> case. If <math>k+1</math> is odd then the two :<math>\begin{array}{rl} p_{1}(k+1) &= 0.5\cdot p_{2}(k)=0.5\cdot 0=0 \\ p_{3}(k+1) &=0.5\cdot p_{2}(k)+0.5\cdot p_{4}(k) =0.5\cdot 0+0.5\cdot 0 =0 \end{array}</math> follow from the inductive hypothesis that <math>p_{2}(k)=p_{4}(k)=0</math> since <math>k</math> is even. The case where <math>k+1</math> is even is similar. <li> We can use, say, <math>n=100</math>. This Octave session <br> <tt> &nbsp;&nbsp; octave:1> B=[1,.5,0,0,0,0;<br> &nbsp;&nbsp; > 0,0,.5,0,0,0;<br> &nbsp;&nbsp; > 0,.5,0,.5,0,0;<br> &nbsp;&nbsp; > 0,0,.5,0,.5,0;<br> &nbsp;&nbsp; > 0,0,0,.5,0,0;<br> &nbsp;&nbsp; > 0,0,0,0,.5,1];<br> &nbsp;&nbsp; octave:2> B100=B**100<br> &nbsp;&nbsp; B100 =<br> &nbsp;&nbsp; 1.00000 0.80000 0.60000 0.40000 0.20000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.20000 0.40000 0.60000 0.80000 1.00000<br> &nbsp;&nbsp; octave:3> B100*[0;1;0;0;0;0]<br> &nbsp;&nbsp; octave:4> B100*[0;1;0;0;0;0]<br> &nbsp;&nbsp; octave:5> B100*[0;0;0;1;0;0]<br> &nbsp;&nbsp; octave:6> B100*[0;1;0;0;0;0]</tt><br> <br> yields these outputs. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;"><i>starting with:</i>&nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $1 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $2 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $3 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; $4 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_0(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.80000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_1(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_2(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_3(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_4(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00000 &nbsp;&nbsp; <TR> <TD style="border-right:2px black solid;"> <math>s_5(100)</math> &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.80000 &nbsp;&nbsp; </TABLE> </div> </ol> }} {{TextBox|1= ;Problem 2: We consider throws of a die, and say the system is in state <math>s_i</math> if the largest number yet appearing on the die was <math>i</math>. <ol type=1 start=1> <li> Give the transition matrix. <li> Start the system in state <math>s_1</math>, and run it for five throws. What is the vector at the end? </ol> {{harv|Feller|1968|loc=p. 424}} ;Answer: <ol type=1 start=1> <li> From these equations :<math> \begin{array}{*{6}{rc}r} (1/6)s_{1}(n) &+ &0s_{2}(n) &+ &0s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{1}(n+1) \\ (1/6)s_{1}(n) &+ &(2/6)s_{2}(n) &+ &0s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{2}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(3/6)s_{3}(n) &+ &0s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{3}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(4/6)s_{4}(n) &+ &0s_{5}(n) &+ &0s_{6}(n) &= &s_{4}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(1/6)s_{4}(n) &+ &(5/6)s_{5}(n) &+ &0s_{6}(n) &= &s_{5}(n+1) \\ (1/6)s_{1}(n) &+ &(1/6)s_{2}(n) &+ &(1/6)s_{3}(n) &+ &(1/6)s_{4}(n) &+ &(1/6)s_{5}(n) &+ &(6/6)s_{6}(n) &= &s_{6}(n+1) \end{array} </math> We get this transition matrix. :<math> \begin{pmatrix} 1/6 &0 &0 &0 &0 &0 \\ 1/6 &2/6 &0 &0 &0 &0 \\ 1/6 &1/6 &3/6 &0 &0 &0 \\ 1/6 &1/6 &1/6 &4/6 &0 &0 \\ 1/6 &1/6 &1/6 &1/6 &5/6 &0 \\ 1/6 &1/6 &1/6 &1/6 &1/6 &6/6 \end{pmatrix} </math> <li> This is the Octave session, with outputs edited out and condensed into the table at the end. <br><tt>&nbsp;&nbsp; octave:1> F=[1/6, 0, 0, 0, 0, 0;<br> &nbsp;&nbsp; > 1/6, 2/6, 0, 0, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 3/6, 0, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 4/6, 0, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 1/6, 5/6, 0; <br> &nbsp;&nbsp; > 1/6, 1/6, 1/6, 1/6, 1/6, 6/6];<br> &nbsp;&nbsp; octave:2> v0=[1;0;0;0;0;0]<br> &nbsp;&nbsp; octave:3> v1=F*v0<br> &nbsp;&nbsp; octave:4> v2=F*v1<br> &nbsp;&nbsp; octave:5> v3=F*v2<br> &nbsp;&nbsp; octave:6> v4=F*v3<br> &nbsp;&nbsp; octave:7> v5=F*v4</tt><br> <br> These are the results. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 2 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 3 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 4 &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; 5 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.027778 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0046296 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00077160 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00012860 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.083333 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0324074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.01157407 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.00398663 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.138889 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0879630 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.05015432 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02713477 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.194444 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.1712963 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.13503086 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.10043724 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.250000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.2824074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.28472222 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27019033 <TR> <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16667 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.305556 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.4212963 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.51774691 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.59812243 </TABLE> </div> </ol> }} {{TextBox|1= ;Problem 3: There has been much interest in whether industries in the United States are moving from the Northeast and North Central regions to the South and West, motivated by the warmer climate, by lower wages, and by less unionization. Here is the transition matrix for large firms in Electric and Electronic Equipment {{harv|Kelton|1983|loc=p. 43}} <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;border-right:2px black solid;"> &nbsp;&nbsp; &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NE'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NC'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''S'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''W'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''Z'' <TR> <TD style="border-right:2px black solid;">''NE'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.787 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.111 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.102 <TR> <TD style="border-right:2px black solid;">''NC'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.966 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.034 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD style="border-right:2px black solid;">''S'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.063 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.937 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD style="border-right:2px black solid;">''W'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.074 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.612 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.314 <TR> <TD style="border-right:2px black solid;">''Z'' &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.009 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.005 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.010 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.954 <TR> </TABLE> </div> For example, a firm in the Northeast region will be in the West region next year with probability <math>0.111</math>. (The ''Z'' entry is a "birth-death" state. For instance, with probability <math>0.102</math> a large Electric and Electronic Equipment firm from the Northeast will move out of this system next year: go out of business, move abroad, or move to another category of firm. There is a <math>0.021</math> probability that a firm in the ''National Census of Manufacturers'' will move into Electronics, or be created, or move in from abroad, into the Northeast. Finally, with probability <math>0.954</math> a firm out of the categories will stay out, according to this research.) <ol type=1 start=1> <li> Does the Markov model assumption of lack of history seem justified? <li> Assume that the initial distribution is even, except that the value at <math>Z</math> is <math>0.9</math>. Compute the vectors for <math>n=1</math> through <math>n=4</math>. <li> Suppose that the initial distribution is this. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:center"> <TR> <TD style="border-bottom:2px black solid;">''NE'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''NC'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''S'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''W'' &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; ''Z'' <TR> <TD>0.0000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.6522 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.3478 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.0000 &nbsp;&nbsp; </TABLE> </div> Calculate the distributions for <math>n=1</math> through <math>n=4</math>. <li> Find the distribution for <math>n=50</math> and <math>n=51</math>. Has the system settled down to an equilibrium? </ol> ;Answer: <ol type=1 start=1> <li> It does seem reasonable that, while the firm's present location should strongly influence where it is next time (for instance, whether it stays), any locations in the prior stages should have little influence. That is, while a company may move or stay because of where it is, it is unlikely to move or stay because of where it was. <li> This Octave session has been edited, with the outputs put together in a table at the end. <br><tt> &nbsp;&nbsp; octave:1> M=[.787,0,0,.111,.102;<br> &nbsp;&nbsp; > 0,.966,.034,0,0;<br> &nbsp;&nbsp; > 0,.063,.937,0,0;<br> &nbsp;&nbsp; > 0,0,.074,.612,.314;<br> &nbsp;&nbsp; > .021,.009,.005,.010,.954]<br> &nbsp;&nbsp; M =<br> &nbsp;&nbsp; 0.78700 0.00000 0.00000 0.11100 0.10200<br> &nbsp;&nbsp; 0.00000 0.96600 0.03400 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.06300 0.93700 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.07400 0.61200 0.31400<br> &nbsp;&nbsp; 0.02100 0.00900 0.00500 0.01000 0.95400<br> &nbsp;&nbsp; octave:2> v0=[.025;.025;.025;.025;.900]<br> &nbsp;&nbsp; octave:3> v1=M*v0<br> &nbsp;&nbsp; octave:4> v2=M*v1<br> &nbsp;&nbsp; octave:5> v3=M*v2<br> &nbsp;&nbsp; octave:6> v4=M*v3<br></tt> <br> is summarized in this table. <div style="text-align: center;"> <math> \begin{array}{c|cccc} \vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 \\ \hline \begin{pmatrix} 0.025000 \\ 0.025000 \\ 0.025000 \\ 0.025000 \\ 0.900000 \end{pmatrix} &\begin{pmatrix} 0.114250 \\ 0.025000 \\ 0.025000 \\ 0.299750 \\ 0.859725 \end{pmatrix} &\begin{pmatrix} 0.210879 \\ 0.025000 \\ 0.025000 \\ 0.455251 \\ 0.825924 \end{pmatrix} &\begin{pmatrix} 0.300739 \\ 0.025000 \\ 0.025000 \\ 0.539804 \\ 0.797263 \end{pmatrix} &\begin{pmatrix} 0.377920 \\ 0.025000 \\ 0.025000 \\ 0.582550 \\ 0.772652 \end{pmatrix} \end{array} </math> </div> <li> This is a continuation of the Octave session from the prior item. <br><tt> &nbsp;&nbsp; octave:7> p0=[.0000;.6522;.3478;.0000;.0000]<br> &nbsp;&nbsp; octave:8> p1=M*p0<br> &nbsp;&nbsp; octave:9> p2=M*p1<br> &nbsp;&nbsp; octave:10> p3=M*p2<br> &nbsp;&nbsp; octave:11> p4=M*p3<br> </tt> <br> <br> This summarizes the output. <div style="text-align: center;"> <math> \begin{array}{c|cccc} \vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 \\ \hline \begin{pmatrix} 0.00000 \\ 0.65220 \\ 0.34780 \\ 0.00000 \\ 0.00000 \end{pmatrix} &\begin{pmatrix} 0.00000 \\ 0.64185 \\ 0.36698 \\ 0.02574 \\ 0.00761 \end{pmatrix} &\begin{pmatrix} 0.0036329 \\ 0.6325047 \\ 0.3842942 \\ 0.0452966 \\ 0.0151277 \end{pmatrix} &\begin{pmatrix} 0.0094301 \\ 0.6240656 \\ 0.3999315 \\ 0.0609094 \\ 0.0225751 \end{pmatrix} &\begin{pmatrix} 0.016485 \\ 0.616445 \\ 0.414052 \\ 0.073960 \\ 0.029960 \end{pmatrix} \end{array} </math> </div> <li> This is more of the same Octave session. <br> <tt><br> &nbsp;&nbsp; octave:12> M50=M**50<br> &nbsp;&nbsp; M50 =<br> &nbsp;&nbsp; 0.03992 0.33666 0.20318 0.02198 0.37332<br> &nbsp;&nbsp; 0.00000 0.65162 0.34838 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.64553 0.35447 0.00000 0.00000<br> &nbsp;&nbsp; 0.03384 0.38235 0.22511 0.01864 0.31652<br> &nbsp;&nbsp; 0.04003 0.33316 0.20029 0.02204 0.37437<br> &nbsp;&nbsp; octave:13> p50=M50*p0<br> &nbsp;&nbsp; p50 =<br> &nbsp;&nbsp; 0.29024<br> &nbsp;&nbsp; 0.54615<br> &nbsp;&nbsp; 0.54430<br> &nbsp;&nbsp; 0.32766<br> &nbsp;&nbsp; 0.28695<br> &nbsp;&nbsp; octave:14> p51=M*p50<br> &nbsp;&nbsp; p51 =<br> &nbsp;&nbsp; 0.29406<br> &nbsp;&nbsp; 0.54609<br> &nbsp;&nbsp; 0.54442<br> &nbsp;&nbsp; 0.33091<br> &nbsp;&nbsp; 0.29076<br></tt> <br> This is close to a steady state. </ol> }} {{TextBox|1= ;Problem 4: This model has been suggested for some kinds of learning {{harv|Wickens|1982|loc=p. 41}}. The learner starts in an undecided state <math>s_U</math>. Eventually the learner has to decide to do either response <math>A</math> (that is, end in state <math>s_A</math>) or response <math>B</math> (ending in <math>s_B</math>). However, the learner doesn't jump right from being undecided to being sure <math>A</math> is the correct thing to do (or <math>B</math>). Instead, the learner spends some time in a "tentative-<math>A</math>" state, or a "tentative-<math>B</math>" state, trying the response out (denoted here <math>t_A</math> and <math>t_B</math>). Imagine that once the learner has decided, it is final, so once <math>s_A</math> or <math>s_B</math> is entered it is never left. For the other state changes, imagine a transition is made with probability <math>p</math> in either direction. <ol type=1 start=1> <li> Construct the transition matrix. <li> Take <math>p=0.25</math> and take the initial vector to be <math>1</math> at <math>s_U</math>. Run this for five steps. What is the chance of ending up at <math>s_A</math>? <li> Do the same for <math>p=0.20</math>. <li> Graph <math>p</math> versus the chance of ending at <math>s_A</math>. Is there a threshold value for <math>p</math>, above which the learner is almost sure not to take longer than five steps? </ol> ;Answer: <ol type=1 start=1> <li> This is the relevant system of equations. :<math> \begin{array}{*{5}{rc}r} (1-2p)\cdot s_{U}(n) &+ &p\cdot t_{A}(n) &+ &p\cdot t_{B}(n) & & & & &= &s_{U}(n+1) \\ p\cdot s_{U}(n) &+ &(1-2p)\cdot t_{A}(n) & & & & & & &= &t_{A}(n+1) \\ p\cdot s_{U}(n) & & &+ &(1-2p)\cdot t_{B}(n) & & & & &= &t_{B}(n+1) \\ & &p\cdot t_{A}(n) & & &+ &s_{A}(n) & & &= &s_{A}(n+1) \\ & & & &p\cdot t_{B}(n) & & &+ &s_{B}(n) &= &s_{B}(n+1) \end{array} </math> Thus we have this. :<math> \begin{pmatrix} 1-2p &p &p &0 &0 \\ p &1-2p &0 &0 &0 \\ p &0 &1-2p &0 &0 \\ 0 &p &0 &1 &0 \\ 0 &0 &p &0 &1 \end{pmatrix} \begin{pmatrix} s_{U}(n) \\ t_{A}(n) \\ t_{B}(n) \\ s_{A}(n) \\ s_{B}(n) \end{pmatrix} = \begin{pmatrix} s_{U}(n+1) \\ t_{A}(n+1) \\ t_{B}(n+1) \\ s_{A}(n+1) \\ s_{B}(n+1) \end{pmatrix} </math> <li> This is the Octave code, with the output removed. <br><tt> &nbsp;&nbsp; octave:1> T=[.5,.25,.25,0,0;<br> &nbsp;&nbsp; > .25,.5,0,0,0;<br> &nbsp;&nbsp; > .25,0,.5,0,0;<br> &nbsp;&nbsp; > 0,.25,0,1,0;<br> &nbsp;&nbsp; > 0,0,.25,0,1]<br> &nbsp;&nbsp; T =<br> &nbsp;&nbsp; 0.50000 0.25000 0.25000 0.00000 0.00000<br> &nbsp;&nbsp; 0.25000 0.50000 0.00000 0.00000 0.00000<br> &nbsp;&nbsp; 0.25000 0.00000 0.50000 0.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.25000 0.00000 1.00000 0.00000<br> &nbsp;&nbsp; 0.00000 0.00000 0.25000 0.00000 1.00000<br> &nbsp;&nbsp; octave:2> p0=[1;0;0;0;0]<br> &nbsp;&nbsp; octave:3> p1=T*p0<br> &nbsp;&nbsp; octave:4> p2=T*p1<br> &nbsp;&nbsp; octave:5> p3=T*p2<br> &nbsp;&nbsp; octave:6> p4=T*p3<br> &nbsp;&nbsp; octave:7> p5=T*p4<br></tt> <br> Here is the output. The probability of ending at <math>s_A</math> is about <math>0.23</math>. :<math> \begin{array}{cc|ccccc} &\vec{p}_0 &\vec{p}_1 &\vec{p}_2 &\vec{p}_3 &\vec{p}_4 &\vec{p}_5 \\ \hline \begin{array}{c} s_U \\ t_A \\ t_B \\ s_A \\ s_B \end{array} &\begin{array}{c} 1 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} &\begin{array}{c} 0.50000 \\ 0.25000 \\ 0.25000 \\ 0.00000 \\ 0.00000 \end{array} &\begin{array}{c} 0.375000 \\ 0.250000 \\ 0.250000 \\ 0.062500 \\ 0.062500 \end{array} &\begin{array}{c} 0.31250 \\ 0.21875 \\ 0.21875 \\ 0.12500 \\ 0.12500 \end{array} &\begin{array}{c} 0.26562 \\ 0.18750 \\ 0.18750 \\ 0.17969 \\ 0.17969 \end{array} &\begin{array}{c} 0.22656 \\ 0.16016 \\ 0.16016 \\ 0.22656 \\ 0.22656 \end{array} \end{array} </math> <li> With this file as <tt>learn.m</tt> <br><tt> &nbsp;&nbsp; # Octave script file for learning model.<br> &nbsp;&nbsp; function w = learn(p)<br> &nbsp;&nbsp; T = [1-2*p,p, p, 0, 0;<br> &nbsp;&nbsp; p, 1-2*p,0, 0, 0; <br> &nbsp;&nbsp; p, 0, 1-2*p,0, 0;<br> &nbsp;&nbsp; 0, p, 0, 1, 0;<br> &nbsp;&nbsp; 0, 0, p, 0, 1]; <br> &nbsp;&nbsp; T5 = T**5;<br> &nbsp;&nbsp; p5 = T5*[1;0;0;0;0];<br> &nbsp;&nbsp; w = p5(4);<br> &nbsp;&nbsp; endfunction<br></tt> <br> issuing the command <tt>octave:1> learn(.20)</tt> yields <tt>ans = 0.17664</tt>. <li> This Octave session <br><tt> &nbsp;&nbsp; octave:1> x=(.01:.01:.50)';<br> &nbsp;&nbsp; octave:2> y=(.01:.01:.50)';<br> &nbsp;&nbsp; octave:3> for i=.01:.01:.50 <br> &nbsp;&nbsp; > y(100*i)=learn(i);<br> &nbsp;&nbsp; > endfor<br> &nbsp;&nbsp; octave:4> z=[x, y];<br> &nbsp;&nbsp; octave:5> gplot z<br></tt> <br> yields this plot. There is no threshold value &mdash; no probability above which the curve rises sharply. <div style="text-align: center;"> [[Image:Linalg_learn5.png|x350px]] </div> </ol> }} {{TextBox|1= ;Problem 5: A certain town is in a certain country (this is a hypothetical problem). Each year ten percent of the town dwellers move to other parts of the country. Each year one percent of the people from elsewhere move to the town. Assume that there are two states <math>s_T</math>, living in town, and <math>s_C</math>, living elsewhere. <ol type=1 start=1> <li> Construct the transistion matrix. <li> Starting with an initial distribution <math>s_T=0.3</math> and <math>s_C=0.7</math>, get the results for the first ten years. <li> Do the same for <math>s_T=0.2</math>. <li> Are the two outcomes alike or different? </ol> ;Answer: <ol type=1 start=1> <li> From these equations :<math> \begin{array}{*{2}{rc}r} 0.90\cdot p_{T}(n) &+ &0.01\cdot p_{C}(n) &= &p_{T}(n+1) \\ 0.10\cdot p_{T}(n) &+ &0.99\cdot p_{C}(n) &= &p_{C}(n+1) \end{array} </math> we get this matrix. :<math> \begin{pmatrix} 0.90 &0.01 \\ 0.10 &0.99 \end{pmatrix} \begin{pmatrix} p_{T}(n) \\ p_{C}(n) \end{pmatrix} = \begin{pmatrix} p_{T}(n+1) \\ p_{C}(n+1) \end{pmatrix} </math> <li> This is the result from Octave. {{center/top}} <math>\begin{array}{c|ccccc} n=0 &1 &2 &3 &4 &5 \\ \hline \begin{array}{c} 0.30000 \\ 0.70000 \end{array} &\begin{array}{c} 0.27700 \\ 0.72300 \end{array} &\begin{array}{c} 0.25653 \\ 0.74347 \end{array} &\begin{array}{c} 0.23831 \\ 0.76169 \end{array} &\begin{array}{c} 0.22210 \\ 0.77790 \end{array} &\begin{array}{c} 0.20767 \\ 0.79233 \end{array} \end{array}</math> <math>\begin{array}{|ccccc} 6 &7 &8 &9 &10 \\ \hline \begin{array}{c} 0.19482 \\ 0.80518 \end{array} &\begin{array}{c} 0.18339 \\ 0.81661 \end{array} &\begin{array}{c} 0.17322 \\ 0.82678 \end{array} &\begin{array}{c} 0.16417 \\ 0.83583 \end{array} &\begin{array}{c} 0.15611 \\ 0.84389 \end{array} \end{array}</math> {{center/end}} <li> This is the <math>s_T=0.2</math> result. {{center/top}} <math>\begin{array}{c|ccccc} n=0 &1 &2 &3 &4 &5 \\ \hline \begin{array}{c} 0.20000 \\ 0.80000 \end{array} &\begin{array}{c} 0.18800 \\ 0.81200 \end{array} &\begin{array}{c} 0.17732 \\ 0.82268 \end{array} &\begin{array}{c} 0.16781 \\ 0.83219 \end{array} &\begin{array}{c} 0.15936 \\ 0.84064 \end{array} &\begin{array}{c} 0.15183 \\ 0.84817 \end{array} \end{array}</math> <math>\begin{array}{|ccccc} 6 &7 &8 &9 &10 \\ \hline \begin{array}{c} 0.14513 \\ 0.85487 \end{array} &\begin{array}{c} 0.13916 \\ 0.86084 \end{array} &\begin{array}{c} 0.13385 \\ 0.86615 \end{array} &\begin{array}{c} 0.12913 \\ 0.87087 \end{array} &\begin{array}{c} 0.12493 \\ 0.87507 \end{array} \end{array}</math> {{center/end}} <li> Although the probability vectors start <math>0.1</math> apart, they end only <math>0.032</math> apart. So they are alike. </ol> }} {{TextBox|1= ;Problem 6: For the World Series application, use a computer to generate the seven vectors for <math>p=0.55</math> and <math>p=0.6</math>. <ol type=1 start=1> <li> What is the chance of the National League team winning it all, even though they have only a probability of <math>0.45</math> or <math>0.40</math> of winning any one game? <li> Graph the probability <math>p</math> against the chance that the American League team wins it all. Is there a threshold value&mdash; a <math>p</math> above which the better team is essentially ensured of winning? </ol> (Some sample code is included below.) ;Answer: These are the <math>p=.55</math> vectors, <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:left"> <TR> <TD style="border-bottom:2px black solid;text-align:right"> <TD style="border-right:2px black solid;border-bottom:2px black solid;"><math>n=0</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=1</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=2</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=3</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=4</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=5</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=6</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=7</math> &nbsp;&nbsp; <TR> <TD> 0-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.55000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.45000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30250 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.49500 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20250 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 3-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16638 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40837 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.33412 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09112 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 4-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09151 <TR> <TD> 3-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.29948 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.36754 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20047 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.04101 <TR> <TD> 4-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16471 <TR> <TD> 3-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.33691 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27565 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09021 <TR> <TD> 4-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.18530 <TR> <TD> 3-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30322 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.30322 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12404 <TR> <TD> 4-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16677 <TR> <TD> 3-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.13645 </TABLE> </div> and these are the <math>p=.60</math> vectors. <div style="text-align: center;"> <TABLE border=0px cellspacing=0px cellpadding=0px style="text-align:left"> <TR> <TD style="border-bottom:2px black solid;text-align:right"> <TD style="border-right:2px black solid;border-bottom:2px black solid;"><math>n=0</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=1</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=2</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=3</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=4</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=5</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=6</math> &nbsp;&nbsp; <TD style="border-bottom:2px black solid;"> &nbsp;&nbsp; <math>n=7</math> &nbsp;&nbsp; <TR> <TD> 0-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 1 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.60000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.40000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.36000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.48000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16000 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 3-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.21600 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.43200 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.28800 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06400 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 4-0 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.12960 <TR> <TD> 3-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.15360 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 0-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.02560 <TR> <TD> 4-1 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 <TR> <TD> 3-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.34560 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.23040 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 1-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.06144 <TR> <TD> 4-2 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.20736 <TR> <TD> 3-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.27648 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 <TR> <TD> 2-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09216 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.09216 <TR> <TD> 4-3 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.16589 <TR> <TD> 3-4 &nbsp;&nbsp; <TD style="border-right:2px black solid;"> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0 &nbsp;&nbsp; <TD> &nbsp;&nbsp; 0.11059 </TABLE> </div> <ol type=1 start=1> <li> The script from the computer code section can be easily adapted. <br> <tt> &nbsp;&nbsp; # Octave script file to compute chance of World Series outcomes.<br> &nbsp;&nbsp; function w = markov(p,v)<br> &nbsp;&nbsp; q = 1-p;<br> &nbsp;&nbsp; A=[0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-0<br> &nbsp;&nbsp; p,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-0<br> &nbsp;&nbsp; q,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-1_<br> &nbsp;&nbsp; 0,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-0<br> &nbsp;&nbsp; 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-1<br> &nbsp;&nbsp; 0,0,q,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-2__<br> &nbsp;&nbsp; 0,0,0,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-0<br> &nbsp;&nbsp; 0,0,0,q,p,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-1<br> &nbsp;&nbsp; 0,0,0,0,q,p, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-2_<br> &nbsp;&nbsp; 0,0,0,0,0,q, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, p,0,0,0,1,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 4-0<br> &nbsp;&nbsp; 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-1__<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,q,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,q,0,0, 0,0,1,0,0,0, 0,0,0,0,0,0; # 0-4_<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,p, 0,0,0,1,0,0, 0,0,0,0,0,0; # 4-1<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,q, p,0,0,0,0,0, 0,0,0,0,0,0; # 3-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0; # 2-3__<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,q,0,0,0,0, 1,0,0,0,0,0; # 1-4<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,p,0, 0,1,0,0,0,0; # 4-2<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,q,p, 0,0,0,0,0,0; # 3-3_<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,q, 0,0,0,1,0,0; # 2-4<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,p,0,1,0; # 4-3<br> &nbsp;&nbsp; 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,q,0,0,1]; # 3-4<br> &nbsp;&nbsp; v7 = (A**7) * v;<br> &nbsp;&nbsp; w = v7(11)+v7(16)+v7(20)+v7(23)<br> &nbsp;&nbsp; endfunction<br></tt> <br> Using this script, we get that when the American League has a <math>p=0.55</math> probability of winning each game then their probability of winning the first-to-win-four series is <math>0.60829</math>. When their probability of winning any one game is <math>p=0.6</math> then their probability of winning the series is <math>0.71021</math>. <li> This Octave session <br><tt> &nbsp;&nbsp; octave:1> v0=[1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];<br> &nbsp;&nbsp; octave:2> x=(.01:.01:.99)';<br> &nbsp;&nbsp; octave:3> y=(.01:.01:.99)';<br> &nbsp;&nbsp; octave:4> for i=.01:.01:.99<br> &nbsp;&nbsp; > y(100*i)=markov(i,v0);<br> &nbsp;&nbsp; > endfor<br> &nbsp;&nbsp; octave:5> z=[x, y];<br> &nbsp;&nbsp; octave:6> gplot z<br></tt> <br> yields this graph. By eye we judge that if <math>p>0.7</math> then the team is close to assurred of the series. <div style="text-align: center;"> [[Image:Linalg_ws.png|x350px]] </div> </ol> }} {{TextBox|1= ;Problem 7{{anchor|Markov matrix}}: A '''Markov matrix''' has each entry positive and each column sums to <math>1</math>. <ol type=1 start=1> <li> Check that the three transistion matrices shown in this Topic meet these two conditions. Must any transition matrix do so? <li> Observe that if <math>A\vec{v}_0=\vec{v}_1</math> and <math>A\vec{v}_1=\vec{v}_2</math> then <math>A^2</math> is a transition matrix from <math>\vec{v}_0</math> to <math>\vec{v}_2</math>. Show that a power of a Markov matrix is also a Markov matrix. <li> Generalize the prior item by proving that the product of two appropriately-sized Markov matrices is a Markov matrix. </ol> ;Answer: <ol type=1 start=1> <li> They must satisfy this condition because the total probability of a state transition (including back to the same state) is 100%. <li> See the answer to the third item. <li> We will do the <math>2 \! \times \! 2</math> case; bigger-sized cases are just notational problems. This product :<math> \begin{pmatrix} a_{1,1} &a_{1,2} \\ a_{2,1} &a_{2,2} \end{pmatrix} \begin{pmatrix} b_{1,1} &b_{1,2} \\ b_{2,1} &b_{2,2} \end{pmatrix} =\begin{pmatrix} a_{1,1}b_{1,1}+a_{1,2}b_{2,1} &a_{1,1}b_{1,2}+a_{1,2}b_{2,2} \\ a_{2,1}b_{1,1}+a_{2,2}b_{2,1} &a_{2,1}b_{1,2}+a_{2,2}b_{2,2} \\ \end{pmatrix} </math> has these two column sums :<math> (a_{1,1}b_{1,1}+a_{1,2}b_{2,1}) +(a_{2,1}b_{1,1}+a_{2,2}b_{2,1}) =(a_{1,1}+a_{2,1})\cdot b_{1,1} +(a_{1,2}+a_{2,2})\cdot b_{2,1} =1\cdot b_{1,1}+1\cdot b_{2,1} =1 </math> and :<math> (a_{1,1}b_{1,2}+a_{1,2}b_{2,2}) +(a_{2,1}b_{1,2}+a_{2,2}b_{2,2}) =(a_{1,1}+a_{2,1})\cdot b_{1,2} +(a_{1,2}+a_{2,2})\cdot b_{2,2} =1\cdot b_{1,2}+1\cdot b_{2,2} =1 </math> as required. </ol> }} <b> Computer Code </b> This script ''markov.m'' for the computer algebra system Octave was used to generate the table of World Series outcomes. (The sharp character <code>#</code> marks the rest of a line as a comment.) # Octave script file to compute chance of World Series outcomes. function w = markov(p,v) q = 1-p; A=[0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-0 p,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-0 q,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-1_ 0,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-0 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-1 0,0,q,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-2__ 0,0,0,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-0 0,0,0,q,p,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-1 0,0,0,0,q,p, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-2_ 0,0,0,0,0,q, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 0-3 0,0,0,0,0,0, p,0,0,0,1,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 4-0 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 3-1__ 0,0,0,0,0,0, 0,q,p,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 2-2 0,0,0,0,0,0, 0,0,q,p,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0; # 1-3 0,0,0,0,0,0, 0,0,0,q,0,0, 0,0,1,0,0,0, 0,0,0,0,0,0; # 0-4_ 0,0,0,0,0,0, 0,0,0,0,0,p, 0,0,0,1,0,0, 0,0,0,0,0,0; # 4-1 0,0,0,0,0,0, 0,0,0,0,0,q, p,0,0,0,0,0, 0,0,0,0,0,0; # 3-2 0,0,0,0,0,0, 0,0,0,0,0,0, q,p,0,0,0,0, 0,0,0,0,0,0; # 2-3__ 0,0,0,0,0,0, 0,0,0,0,0,0, 0,q,0,0,0,0, 1,0,0,0,0,0; # 1-4 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,p,0, 0,1,0,0,0,0; # 4-2 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,q,p, 0,0,0,0,0,0; # 3-3_ 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,q, 0,0,0,1,0,0; # 2-4 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,p,0,1,0; # 4-3 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,q,0,0,1]; # 3-4 w = A * v; endfunction Then the Octave session was this. > v0=[1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0] > p=.5 > v1=markov(p,v0) > v2=markov(p,v1) ... Translating to another computer algebra system should be easy&mdash; all have commands similar to these. ==References== * {{citation|first=William|last=Feller|title=An Introduction to Probability Theory and Its Applications|volume=1|edition=3rd|publisher=Wiley|year=1968}}. * {{citation|first=Christina M.L.|last=Kelton|title=Trends on the Relocation of U.S. Manufacturing|publisher=Wiley|year=1983}}. * {{citation|first=Thomas D.|last=Wickens|title=Models for Behavior|publisher=W.H. Freeman|year=1982}}. {{BookCat}} 5ty2rrhvphzapv7lu1f9ibhqijy4y5v The Linux Kernel/Multitasking 0 226982 4657006 4655315 2026-08-10T09:42:50Z Conan 3188 split Synchronization into subpage 4657006 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Multitasking functionality}}</noinclude> {| style="width: 25%; float: right; text-align:center;border-spacing: 0; margin:auto;" cellpadding="5pc" ! bgcolor="#ffc" |multitasking |- | bgcolor="#eeb" |[[#Execution|execution]] |- | bgcolor="#dda" |[[#Threads_or_tasks|threads or tasks]] |- | bgcolor="#cc9" |[[#Synchronization|synchronization]] |- | bgcolor="#bb8" |[[#Scheduler|Scheduler]] |- | bgcolor="#aa8" |[[#Interrupts|interrupts core]] |- style="" | bgcolor="#997" |[[#CPU_specific|CPU specific]] |} Linux kernel is a preemptive {{w|Computer multitasking|multitasking}} operating system. As a multitasking OS, it allows multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. For that, the kernel can, at any time, temporarily interrupt a task being carried out by the processor, and replace it by another task that can be new or a previously suspended one. The operation involving the swapping of the running task is called ''{{w|context switch}}''. == Execution == ⚲ API ↪ ⚙️ implementations {{The Linux Kernel/man|2|execve}} ↪ {{The Linux Kernel/id|do_execveat_common}} runs an executable file in the context of current process, replacing the previous executable. This system call is used by family of functions of libc {{The Linux Kernel/man|3|exec}}. The {{w|Executable and Linkable Format|ELF}} binary format is loaded by {{The Linux Kernel/source|fs/binfmt_elf.c}}. {{The Linux Kernel/man|2|clone}}. Clone creates a child process that may share parts of its execution context with the parent. It is often used to implement threads (though programmers will typically use a higher-level interface such as {{The Linux Kernel/man|7|pthreads}}, implemented on top of clone). {{The Linux Kernel/man|2|wait}} ↪ {{The Linux Kernel/id|kernel_waitid}} suspends the execution of the calling process until one of its child processes terminates. Syscall {{The Linux Kernel/man|2|getpid}} ↪ {{The Linux Kernel/id|task_tgid_vnr}} returns PID of the current process which internally is called TGID - thread group id. A process can contain many threads. {{The Linux Kernel/man|2|gettid}} ↪ {{The Linux Kernel/id|task_pid_vnr}} returns thread id. Which internally is historically called PID. ⚠️ Warning: confusion. User space PID ≠ kernel space PID. {{The Linux Kernel/man|1|ps}} -AF lists current processes and thread as {{w|Light-weight process|LWP}}. For a single thread process all these IDs are equal. High-resolution delays: : {{The Linux Kernel/man|2|nanosleep}} ↪ {{The Linux Kernel/id|sys_nanosleep}} :: {{The Linux Kernel/id|hrtimer_nanosleep}} : {{The Linux Kernel/man|2|clock_nanosleep}} ↪ {{The Linux Kernel/id|sys_clock_nanosleep}} Wait for a signal: : {{The Linux Kernel/man|2|pause}} ↪ {{The Linux Kernel/id|sys_pause}} : {{The Linux Kernel/man|2|sigsuspend}} ↪ {{The Linux Kernel/id|sys_sigsuspend}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Swapcontext stress-ng --context], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Context --switch] See [[The Linux Kernel/Processes|Processes]] for process creation and termination. === Inter-process communication === Inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances. Linux inherited from Unix the following IPC mechanisms: Signals (⚲ API ↪ ⚙️ implementations): : {{The Linux Kernel/man|2|kill}} sends signal to a process : {{The Linux Kernel/man|2|tgkill}} ↪ {{The Linux Kernel/id|do_tkill}} sends a signal to a thread : {{The Linux Kernel/man|2|process_vm_readv}} ↪ {{The Linux Kernel/id|process_vm_rw}} - zero-copy data transfer between process address spaces : {{The Linux Kernel/man|2|sigaction}} ↪ {{The Linux Kernel/id|do_sigaction}} &ndash; examine and change a signal action : {{The Linux Kernel/man|2|sigprocmask}} &ndash; examine and change blocked signals : {{The Linux Kernel/man|2|sigpending}} ↪ {{The Linux Kernel/id|do_sigpending}} &ndash; examine pending signals : {{The Linux Kernel/man|2|sigsuspend}} &ndash; wait for a signal : {{The Linux Kernel/man|2|sigaltstack}} &ndash; set or get signal stack context : {{The Linux Kernel/man|2|sigtimedwait}} ↪ {{The Linux Kernel/id|do_sigtimedwait}} &ndash; synchronously wait for queued signals : {{The Linux Kernel/man|7|signal}} &ndash; overview of signals : {{The Linux Kernel/include|linux/sched/signal.h}} &ndash; signal-related task accessors : {{The Linux Kernel/source|kernel/signal.c}} &ndash; signal delivery and handling : 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Signal~2 stress-ng --sigq] : [[../Storage#Zero-copy|Anonymous pipes]] and named pipes (FIFOs) {{The Linux Kernel/man|2|mknod}} ↪ {{The Linux Kernel/id|do_mknodat}} {{The Linux Kernel/id|S_IFIFO}} : {{w|Express Data Path}} {{The Linux Kernel/id|PF_XDP}} : {{w|Unix domain socket}} {{The Linux Kernel/id|PF_UNIX}} : Memory-mapped files {{The Linux Kernel/man|2|mmap}} ⤑ {{The Linux Kernel/id|ksys_mmap_pgoff}} : {{The Linux Kernel/man|2|eventfd}} ↪ {{The Linux Kernel/id|do_eventfd}} &ndash; event notification via file descriptor : {{The Linux Kernel/man|2|signalfd}} ↪ {{The Linux Kernel/id|do_signalfd4}} &ndash; receive signals via file descriptor : {{The Linux Kernel/man|2|timerfd_create}} &ndash; timer notification via file descriptor : Sys V IPC: :: Message queues: {{The Linux Kernel/man|2|msgget}}, {{The Linux Kernel/man|2|msgsnd}}, {{The Linux Kernel/man|2|msgrcv}} ↪ {{The Linux Kernel/source|ipc/msg.c}} :: Semaphores :: Shared memory: {{The Linux Kernel/man|2|shmget}}, {{The Linux Kernel/man|2|shmctl}}, {{The Linux Kernel/man|2|shmat}}, {{The Linux Kernel/man|2|shmdt}} ↪ {{The Linux Kernel/source|ipc/shm.c}} : POSIX message queues: :: {{The Linux Kernel/man|7|mq_overview}}, {{The Linux Kernel/man|3|mq_open}}, {{The Linux Kernel/man|3|mq_send}}, {{The Linux Kernel/man|3|mq_receive}} ↪ {{The Linux Kernel/source|ipc/mqueue.c}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mq --mq] 📖 References : {{w|Inter-process communication}} : {{The Linux Kernel/man|7|sysvipc}} == Threads or tasks == In Linux kernel "thread" and "task" are almost synonyms. ⚲ API : {{The Linux Kernel/include|linux/sched.h}} - the main scheduler API :: {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/source|arch/x86/include/asm/current.h}} &ndash; x86 current task pointer ::{{Linux ident|current}} and {{The Linux Kernel/id|get_current}} () return current {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/include|uapi/linux/taskstats.h}} per-task statistics : {{The Linux Kernel/include|linux/thread_info.h}} :: {{The Linux Kernel/id|current_thread_info}}() returns {{The Linux Kernel/id|thread_info}} :{{The Linux Kernel/include|linux/sched/task.h}} - interface between the scheduler and various task lifetime (fork()/exit()) functionality : {{The Linux Kernel/include|linux/kthread.h}} - simple interface for creating and stopping kernel threads without mess. :: {{The Linux Kernel/id|kthread_run}} creates and wakes a thread ::: {{The Linux Kernel/id|kthread_create}} ⚙️ Internals : {{The Linux Kernel/id|kthread_run}} ↯ hierarchy: : {{The Linux Kernel/source|kernel/kthread.c}} &ndash; kernel thread creation and management :: {{The Linux Kernel/id|kthreadd}} &ndash; parent kernel thread and the creator of all other kernel threads. Dequeues {{The Linux Kernel/id|kthread_create_info}} from {{The Linux Kernel/id|kthread_create_list}}. ::: {{The Linux Kernel/id|create_kthread}} :::: {{The Linux Kernel/id|kernel_thread}} :::: {{The Linux Kernel/id|kthread}} &ndash; invokes {{The Linux Kernel/id|threadfn}} :: {{The Linux Kernel/id|__kthread_create_on_node}} &ndash; enqueues {{The Linux Kernel/id|kthread_create_info}} into {{The Linux Kernel/id|kthread_create_list}} : {{The Linux Kernel/source|kernel/fork.c}} &ndash; process creation and cloning :: {{The Linux Kernel/id|kernel_thread}} ::: {{The Linux Kernel/id|kernel_clone}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Clone stress-ng --clone], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#f --fork], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#pthread --pthread] ==Scheduler== The ''{{w|Scheduling_(computing)#Linux|scheduler}}'' is the part of the operating system that decides which process runs at a certain point in time. It usually has the ability to pause a running process, move it to the back of the running queue and start a new process. Active processes are placed in an array called a ''{{w|run queue}}'', or ''runqueue'' - {{The Linux Kernel/id|rq}}. The run queue may contain priority values for each process, which will be used by the scheduler to determine which process to run next. To ensure each program has a fair share of resources, each one is run for some time period (quantum) before it is paused and placed back into the run queue. When a program is stopped to let another run, the program with the highest priority in the run queue is then allowed to execute. Processes are also removed from the run queue when they ask to ''sleep'', are waiting on a resource to become available, or have been terminated. Since version 6.6 the Linux kernel uses the {{w|Earliest eligible virtual deadline first scheduling}} (EEVDF) algorithm, which replaced the {{w|Completely Fair Scheduler}} (CFS). While much of the CFS infrastructure remains: {{The Linux Kernel/id|sched_entity}}, {{The Linux Kernel/id|cfs_rq}}, the red-black tree, load balancing, and {{The Linux Kernel/source|kernel/sched/fair.c}} &mdash; the task selection logic is fundamentally different. EEVDF is based on a classic scheduling algorithm originally designed for packet networks. The scheduler has a scheduling complexity of O(log N), where N is the number of tasks in the runqueue. Both picking and reinserting a task require O(log N) operations, because the run queue is implemented as a {{w|red–black tree}}. The runqueue ({{The Linux Kernel/id|cfs_rq}}) is implemented as a red-black tree representing a "timeline" of future task execution. The scheduler uses nanosecond granularity accounting and requires no heuristics or interactivity estimators. EEVDF improves sleeper fairness over CFS by tracking ''lag'' ({{The Linux Kernel/id|vlag}}) &mdash; the difference between the service a task was entitled to and the service it actually received. When a sleeping task wakes up, its lag determines eligibility, ensuring interactive tasks get prompt service without starving long-running tasks. The data structure used for the scheduling algorithm is a red-black tree in which the nodes are {{The Linux Kernel/id|sched_entity}} structures, embedded in {{The Linux Kernel/id|task_struct}}. With EEVDF, each task has a time slice ({{The Linux Kernel/id|sysctl_sched_base_slice}}, default 0.7ms) that determines its request length. EEVDF computes a virtual deadline for each task: vd_i = ve_i + r_i/w_i, where ve_i is the eligible time, r_i is the request size, and w_i is the weight (determined by nice value). The scheduler picks the eligible task with the earliest virtual deadline via {{The Linux Kernel/id|__pick_eevdf}}. The Linux kernel contains different scheduler classes (or policies). The EEVDF scheduler handles {{The Linux Kernel/id|SCHED_NORMAL}} (aka SCHED_OTHER). The kernel also contains two additional classes {{The Linux Kernel/id|SCHED_BATCH}} and {{The Linux Kernel/id|SCHED_IDLE}}, and another two real-time scheduling classes named {{The Linux Kernel/id|SCHED_FIFO}} (realtime first-in-first-out) and {{The Linux Kernel/id|SCHED_RR}} (realtime round-robin), with a third realtime scheduling policy known as {{The Linux Kernel/id|SCHED_DEADLINE}} that implements the {{w|Earliest deadline first scheduling|earliest deadline first algorithm (EDF)}} added later. Any realtime scheduler class takes precedence over any of the "normal" &mdash;i.e. non realtime&mdash; classes. The scheduler class is selected and configured through the {{The Linux Kernel/man|2|sched_setscheduler}} ↪ {{The Linux Kernel/id|do_sched_setscheduler}} system call. Properly balancing latency, throughput, and fairness in schedulers is an open problem.<ref name="malte" > Malte Skarupke. [https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ "Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is"]. </ref> ⚲ API : {{The Linux Kernel/man|1|renice}} &ndash; priority of running processes : {{The Linux Kernel/man|1|nice}} &ndash; run a program with modified scheduling priority : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process :: {{The Linux Kernel/man|2|sched_getattr}} ↪ {{The Linux Kernel/id|sys_sched_getattr}} &ndash; get scheduling policy and attributes : {{The Linux Kernel/include|linux/sched.h}} &ndash; the main scheduler API :: {{The Linux Kernel/id|schedule}} : {{The Linux Kernel/man|2|getpriority}}, {{The Linux Kernel/man|2|setpriority}} : {{The Linux Kernel/man|2|sched_setscheduler}}, {{The Linux Kernel/man|2|sched_getscheduler}} : /sys/kernel/debug/sched/ &ndash; scheduler debugfs tuning directory :: features &ndash; toggle scheduler feature flags :: base_slice_ns &ndash; EEVDF base time slice (default 700000) :: migration_cost_ns &ndash; cost threshold for task migration between CPUs :: nr_migrate &ndash; max tasks to migrate per balancing pass :: debug &ndash; dump detailed scheduler state :: numa_balancing/ &ndash; NUMA balancing scan parameters ⚙️ Internals :{{The Linux Kernel/id|sched_init}} is called from {{The Linux Kernel/id|start_kernel}} : {{The Linux Kernel/id|__schedule}} is the main scheduler function. : {{The Linux Kernel/id|runqueues}}, {{The Linux Kernel/id|this_rq}} : {{The Linux Kernel/source|kernel/sched}} &ndash; scheduler subsystem : {{The Linux Kernel/source|kernel/sched/core.c}} &ndash; core scheduling logic : {{The Linux Kernel/source|kernel/sched/fair.c}} implements {{The Linux Kernel/id|SCHED_NORMAL}}, {{The Linux Kernel/id|SCHED_BATCH}}, {{The Linux Kernel/id|SCHED_IDLE}} :: {{The Linux Kernel/id|__pick_eevdf}} &ndash; core of EEVDF : {{The Linux Kernel/id|sched_setscheduler}}, {{The Linux Kernel/id|sched_getscheduler}} : {{The Linux Kernel/id|task_struct}}::{{The Linux Kernel/id|rt_priority}} and other members with less unique identifiers 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#schedpolicy stress-ng --schedpolicy] 🛠️ Utilities : {{The Linux Kernel/man|1|pidstat}} : {{The Linux Kernel/man|1|pcp-pidstat}} : {{The Linux Kernel/man|1|perf-sched}} : [https://opensource.googleblog.com/2019/10/understanding-scheduling-behavior-with.html Understanding Scheduling Behavior with SchedViz] 📖 References : {{The Linux Kernel/man|7|sched}} : {{The Linux Kernel/doc|Scheduling|scheduler}} :: {{The Linux Kernel/doc|EEVDF Scheduler|scheduler/sched-eevdf.html}} ::: [https://lwn.net/Kernel/Index/#Scheduler-EEVDF An EEVDF CPU scheduler for Linux LWN] : {{The Linux Kernel/doc|Delaying and scheduling routines|driver-api/basics.html#delaying-and-scheduling-routines}} : CFS :: {{The Linux Kernel/doc|Completely Fair Scheduler|scheduler/sched-design-CFS.html}} :: {{The Linux Kernel/doc|CFS Bandwidth Control|scheduler/sched-bwc.html}} :: [[The Linux Kernel/System/CGroup v2#CPU|CPU cgroup controller]] :: {{The Linux Kernel/doc|CPU cgroup interface files|admin-guide/cgroup-v2.html#cpu-interface-files}} :: [https://lwn.net/Kernel/Index/#Scheduler-Completely_fair_scheduler Completely fair scheduler LWN] :: [https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-tuning-taskscheduler.html Tuning the task scheduler] :: [https://home.robusta.dev/blog/stop-using-cpu-limits stop using CPU limits on Kubernetes] : {{The Linux Kernel/doc|Deadline Task Scheduler|scheduler/sched-deadline.html}} : {{The Linux Kernel/ltp|kernel|sched}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setparam}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_getscheduler}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setscheduler}} 📚 Further reading about the scheduler : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/latest/html/monitoring_and_managing_system_status_and_performance/tuning-scheduling-policy Tuning scheduling policy, RHEL] : [https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md#lesson-10-scheduler-tracing Scheduler tracing] : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] === Preemption === Preemption refers to the ability of the system to interrupt a running task to switch to another task. This is essential for ensuring that high-priority tasks receive the necessary CPU time and for improving the system's responsiveness. In Linux, preemption models define how and when the kernel can preempt tasks. Different models offer varying trade-offs between system responsiveness and throughput. 📖 References : {{The Linux Kernel/doc|Proper Locking Under a Preemptible Kernel|locking/preempt-locking.html}} :: {{The Linux Kernel/id|preempt_enable}} &ndash; decrement the preempt counter :: {{The Linux Kernel/id|preempt_disable}} &ndash; increment the preempt counter :: {{The Linux Kernel/id|preempt_enable_no_resched}} &ndash; decrement, but do not immediately preempt :: {{The Linux Kernel/id|preempt_check_resched}} &ndash; if needed, reschedule :: {{The Linux Kernel/id|preempt_count}} &ndash; return the preempt counter : {{The Linux Kernel/source|kernel/Kconfig.preempt}} &ndash; preemption model configuration :: {{The Linux Kernel/id|CONFIG_PREEMPT_NONE}} &ndash; no forced preemption for servers :: {{The Linux Kernel/id|CONFIG_PREEMPT_VOLUNTARY}} &ndash; voluntary preemption for desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT}} &ndash; preemptible except for critical sections for low-latency desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} &ndash; real-time preemption for [[Embedded_Systems/Linux#Real-time|highly responsive applications]] :: {{The Linux Kernel/id|CONFIG_PREEMPT_DYNAMIC}} &ndash; allows runtime switching of preemption model ::: /sys/kernel/debug/sched/preempt &ndash; shows and controls the active preemption model === sched_ext === Since version 6.12 the kernel supports {{The Linux Kernel/id|SCHED_EXT}} &mdash; an extensible scheduler class whose behavior is defined by a set of {{w|eBPF}} programs. Any scheduling algorithm can be implemented on top of sched_ext, loaded and unloaded dynamically at runtime. The system integrity is maintained no matter what the BPF scheduler does: the default scheduling behavior is restored on error or when a runnable task stalls. ⚙️ Internals : {{The Linux Kernel/id|CONFIG_SCHED_CLASS_EXT}} : {{The Linux Kernel/source|kernel/sched/ext.c}} &ndash; extensible BPF scheduler class : {{The Linux Kernel/id|sched_ext_ops}} &ndash; BPF scheduler operations : {{The Linux Kernel/id|sched_ext_entity}} &ndash; per-task sched_ext data, embedded in {{The Linux Kernel/id|task_struct}} 👁 Examples : {{The Linux Kernel/source|tools/sched_ext}} &ndash; in-tree example BPF schedulers 📖 References : {{The Linux Kernel/doc|Extensible Scheduler Class|scheduler/sched-ext.html}} : [https://github.com/sched-ext/scx sched-ext/scx] &ndash; production BPF schedulers : [https://lwn.net/Kernel/Index/#Scheduler-BPF Scheduler BPF LWN] === Energy Aware Scheduling === 🚀 advanced topic Since version 5.0, Energy Aware Scheduling (EAS) gives the scheduler the ability to predict the impact of its decisions on the energy consumed by CPUs. EAS relies on an Energy Model (EM) to select an energy efficient CPU for each task, with minimal impact on throughput. EAS operates only on heterogeneous CPU topologies (such as ARM {{w|big.LITTLE}}) where the potential for energy savings is highest. ⚲ API : /proc/sys/kernel/sched_energy_aware &ndash; enable or disable EAS : {{The Linux Kernel/include|linux/energy_model.h}} :: {{The Linux Kernel/id|em_perf_domain}} &ndash; performance domain descriptor :: {{The Linux Kernel/id|em_cpu_get}} &ndash; get the EM for a given CPU ⚙️ Internals : {{The Linux Kernel/id|CONFIG_ENERGY_MODEL}} : {{The Linux Kernel/id|find_energy_efficient_cpu}} &ndash; find most energy-efficient target CPU for a waking task : {{The Linux Kernel/source|kernel/power/energy_model.c}} &ndash; CPU energy model framework 📖 References : {{The Linux Kernel/doc|Energy Aware Scheduling|scheduler/sched-energy.html}} : {{The Linux Kernel/doc|Energy Model of devices|power/energy-model.html}} === Wait queues === A ''wait queue'' in the kernel is a data structure that allows one or more processes to wait (sleep) until something of interest happens. They are used throughout the kernel to wait for available memory, I/O completion, message arrival, and many other things. In the early days of Linux, a wait queue was a simple list of waiting processes, but various scalability problems (including the {{w|thundering herd problem}}) have led to the addition of a fair amount of complexity since then. ⚲ API {{The Linux Kernel/include|linux/wait.h}} {{The Linux Kernel/id|wait_queue_head}} consists of double linked list of {{The Linux Kernel/id|wait_queue_entry}} and a spinlock. Waiting for simple events: : Use one of two methods for {{The Linux Kernel/id|wait_queue_head}} initialization: :: {{The Linux Kernel/id|init_waitqueue_head}} initializes {{The Linux Kernel/id|wait_queue_head}} in function context :: {{The Linux Kernel/id|DECLARE_WAIT_QUEUE_HEAD}} - actually defines {{The Linux Kernel/id|wait_queue_head}} in global context : Wait alternatives: :: {{The Linux Kernel/id|wait_event_interruptible}} - preferable wait :: {{The Linux Kernel/id|wait_event_interruptible_timeout}} :: {{The Linux Kernel/id|wait_event}} - uninterruptible wait. Can cause deadlock ⚠ : {{The Linux Kernel/id|wake_up}} etc 👁 For example usage see references to unique {{The Linux Kernel/id|suspend_queue}}. Explicit use of add_wait_queue instead of simple wait_event for complex cases: : {{The Linux Kernel/id|DECLARE_WAITQUEUE}} actually defines wait_queue_entry with {{The Linux Kernel/id|default_wake_function}} : {{The Linux Kernel/id|add_wait_queue}} inserts process in the first position of a wait queue : {{The Linux Kernel/id|remove_wait_queue}} ⚙️ Internals : {{The Linux Kernel/id|___wait_event}} : {{The Linux Kernel/id|__add_wait_queue}} : {{The Linux Kernel/id|__wake_up_common}}, {{The Linux Kernel/id|try_to_wake_up}} : {{The Linux Kernel/source|kernel/sched/wait.c}} &ndash; wait queue implementation Simple wait queues &ndash; simplified version with raw spinlock, suitable for RT and restricted contexts: : {{The Linux Kernel/include|linux/swait.h}} :: {{The Linux Kernel/id|swait_queue_head}}, {{The Linux Kernel/id|swait_queue}} : {{The Linux Kernel/source|kernel/sched/swait.c}} &ndash; simple wait queue implementation 📖 References : {{The Linux Kernel/doc|Wait queues and Wake events|driver-api/basics.html#wait-queues-and-wake-events}} === Real-time === {{:The Linux Kernel/Multitasking/Real-time}} {{:The Linux Kernel/Multitasking/Synchronization}} === Time === ⚲ UAPI : {{The Linux Kernel/include|uapi/linux/time.h}} :: {{The Linux Kernel/id|timespec}} &ndash; nanosecond resolution :: {{The Linux Kernel/id|timeval}} &ndash; microsecond resolution :: {{The Linux Kernel/id|timezone}} :: ... : {{The Linux Kernel/include|uapi/linux/time_types.h}} :: {{The Linux Kernel/id|__kernel_timespec}} &ndash; nanosecond resolution, used in syscalls :: ... ⚲ API : {{The Linux Kernel/include|linux/delay.h}} &ndash; busy-wait delay functions for timing control : {{The Linux Kernel/include|linux/sched/clock.h}} :: {{The Linux Kernel/id|sched_clock}} :: ... : {{The Linux Kernel/include|linux/time.h}} :: {{The Linux Kernel/id|tm}} :: {{The Linux Kernel/id|get_timespec64}} :: ... : {{The Linux Kernel/include|linux/ktime.h}} :: {{The Linux Kernel/id|ktime_t}} &ndash; nanosecond scalar representation for kernel time values :: {{The Linux Kernel/id|ktime_sub}} :: ... : {{The Linux Kernel/include|linux/timekeeping.h}} :: {{The Linux Kernel/id|ktime_get}}, {{The Linux Kernel/id|ktime_get_ns}} :: {{The Linux Kernel/id|ktime_get_real}} :: ... : {{The Linux Kernel/include|linux/time64.h}} :: {{The Linux Kernel/id|timespec64}} :: {{The Linux Kernel/id|time64_t}} :: {{The Linux Kernel/id|ns_to_timespec64}} :: {{The Linux Kernel/id|timespec64_sub}} :: {{The Linux Kernel/id|ktime_to_timespec64}} :: ... : {{The Linux Kernel/include|uapi/linux/rtc.h}} : {{The Linux Kernel/include|linux/jiffies.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time}} &ndash; timekeeping, timers and clocks : {{The Linux Kernel/id|timekeeper}} &ndash; central timekeeping state :: {{The Linux Kernel/id|tkr_mono}} &ndash; monotonic clock, frequency corrected by NTP for accurate real-world seconds ::: {{The Linux Kernel/man|8|chronyd}} → {{The Linux Kernel/man|2|adjtimex}} ↪ {{The Linux Kernel/id|sys_adjtimex}} :: {{The Linux Kernel/id|tkr_raw}} &ndash; raw monotonic clock, no NTP correction, drifts with crystal error : {{The Linux Kernel/id|update_wall_time}} ← {{The Linux Kernel/id|tick_periodic}} → {{The Linux Kernel/id|timekeeping_advance}} (blocks readers with {{The Linux Kernel/id|write_seqcount_begin}}): :: {{The Linux Kernel/id|tk_clock_read}} &ndash; reads clocksource hardware :: {{The Linux Kernel/id|logarithmic_accumulation}} &ndash; accumulates ticks in doubling steps (efficient for NO_HZ) :: {{The Linux Kernel/id|timekeeping_adjust}} &ndash; corrects mult to steer toward NTP frequency :: {{The Linux Kernel/id|accumulate_nsecs_to_secs}} &ndash; rolls nanoseconds into seconds :: {{The Linux Kernel/id|timekeeping_update_from_shadow}} &ndash; publishes shadow timekeeper to live ::: {{The Linux Kernel/id|update_vsyscall}} &ndash; copies time data to [[../Memory#vDSO|vDSO]] page for userspace {{The Linux Kernel/man|2|clock_gettime}} without syscall ::: {{The Linux Kernel/id|update_fast_timekeeper}} &ndash; NMI-safe copy via {{The Linux Kernel/id|write_seqcount_latch_begin}} (two copies, {{The Linux Kernel/id|ktime_get_mono_fast_ns}} and other ktime_get*_fast readers spin on {{The Linux Kernel/id|read_seqcount_latch_retry}}) : {{The Linux Kernel/id|ktime_get}} and all ktime_get* readers spin on {{The Linux Kernel/id|read_seqcount_retry}} until consistent : {{The Linux Kernel/id|ktime_get}} = {{The Linux Kernel/id|tkr_mono}}.base + {{The Linux Kernel/id|timekeeping_get_ns}} :: {{The Linux Kernel/id|timekeeping_get_ns}} → {{The Linux Kernel/id|tk_clock_read}}, {{The Linux Kernel/id|timekeeping_cycles_to_ns}} &ndash; converts cycles to ns (delta only, added to base by caller) ::: {{The Linux Kernel/id|tk_clock_read}} → {{The Linux Kernel/id|arch_inlined_clocksource_read}} → {{The Linux Kernel/id|rdtsc_ordered}} &ndash; x86 {{w|Time_Stamp_Counter|TSC}} fast path via static key : {{The Linux Kernel/id|timekeeping_get_ns}} and {{The Linux Kernel/id|rdtsc_ordered}} are safe to trace timekeeping (no seqcount), unlike {{The Linux Kernel/id|ktime_get}} which would block on {{The Linux Kernel/id|read_seqcount_retry}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Timer stress-ng --timer], [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#High --hrtimers] ==== {{w|Precision Time Protocol}} ==== PTP provides sub-microsecond clock synchronization over a network using hardware timestamping. ⚲ API : /sys/class/ptp/ &ndash; PTP hardware clock devices : [https://man.archlinux.org/man/ptp4l.8 ptp4l] &ndash; PTP boundary/ordinary clock daemon : [https://man.archlinux.org/man/phc2sys.8 phc2sys] &ndash; synchronize system clock to PTP hardware clock : {{The Linux Kernel/include|uapi/linux/ptp_clock.h}} ⚙️ Internals : {{The Linux Kernel/source|drivers/ptp}} &ndash; PTP hardware clock drivers 📖 References : {{The Linux Kernel/doc|PTP hardware clock infrastructure for Linux|driver-api/ptp.html}} : {{The Linux Kernel/doc|ktime accessors|core-api/timekeeping.html}} : {{The Linux Kernel/doc|Clock sources, Clock events, sched_clock() and delay timers|timers/timekeeping.html}} : {{The Linux Kernel/doc|Time and timer routines|driver-api/basics.html#time-and-timer-routines}} : {{w|Year 2038 problem}} {{:The Linux Kernel/Multitasking/CPU}} {{:The Linux Kernel/Multitasking/Architectures}} {{BookCat}} rtuhc315d0mqzxw8l58mlsq1y59qm2j User:Arlen22/Ascom/Cover 2 234036 4656977 2449540 2026-08-10T08:21:43Z ShakespeareFan00 46022 4656977 wikitext text/x-wiki {{center/top}} <div style="border:3px solid #FF0000;width:250px; padding:25px; padding-top:25px;"> {| style="text-align:center; width:225px;" |- |style="padding-bottom:5px; font-weight:bold;"|<big style="font-size:12pt"><u>ASCOM</u></big> |- |style="padding-bottom:5px; font-weight:bold;"|<big style="font-size:9pt">Astronomy Software Communication</big> |- |style="padding-bottom:5px; font-weight:bold;"|<big style="font-size:9pt">Developer's Guide</big> |- |[[File:NMSkiesBigDome1.JPG|225px]]<!-- |- |[[File:Clark Telescope at Lowell Observatory.jpg|225px]] --> |} </div> {{center/end}} {{BookCat}} 10vxzjk1qqntgip5zyojkqu2vs86xwp Chemical Sciences: A Manual for CSIR-UGC National Eligibility Test for Lectureship and JRF/X-ray fluorescence 0 234255 4656942 4628093 2026-08-10T07:25:03Z ShakespeareFan00 46022 4656942 wikitext text/x-wiki [[Image:LDAutoXRFPic.jpg|thumb|350px|right|A Philips PW1606 X-ray fluorescence spectrometer with automated sample feed in a cement plant quality control laboratory]] '''X-ray fluorescence (XRF)''' is the emission of characteristic "secondary" (or fluorescent) X-rays from a material that has been excited by bombarding with high-energy X-rays or gamma rays. The phenomenon is widely used for elemental analysis and chemical analysis, particularly in the investigation of metals, glass, ceramics and building materials, and for research in geochemistry, forensic science and archaeology. ==The physics of XRF== [[File:X-ray fluorescence simple figure.svg|thumb|340px|Physics of X-ray fluorescence, in a schematic representation.]] When materials are exposed to short-wavelength X-rays or to gamma rays, ionisation of their component atoms may take place. Ionisation consists of the ejection of one or more electrons from the atom, and may take place if the atom is exposed to radiation with an energy greater than its ionisation potential. X-rays and gamma rays can be energetic enough to expel tightly held electrons from the inner orbitals of the atom. The removal of an electron in this way renders the electronic structure of the atom unstable, and electrons in higher orbitals "fall" into the lower orbital to fill the hole left behind. In falling, energy is released in the form of a photon, the energy of which is equal to the energy difference of the two orbitals involved. Thus, the material emits radiation, which has energy characteristic of the atoms present. The term ''fluorescence'' is applied to phenomena in which the absorption of radiation of a specific energy results in the re-emission of radiation of a different energy (generally lower). [[Image:CharacteristicRadiation.svg|thumb|300px|right|Figure 1: Electronic transitions in a calcium atom. Remember, when electrons are jumping down, one of the electrons in the lower orbital is missing.]] [[Image:XRFScan.jpg|thumb|300px|right|Figure 2: Typical energy dispersive XRF spectrum]] [[Image:TubeSpectrum.jpg|thumb|300px|right|Figure 3: Spectrum of a rhodium target tube operated at 60 kV, showing continuous spectrum and K lines]] ===Characteristic radiation=== Each element has electronic orbitals of characteristic energy. Following removal of an inner electron by an energetic photon provided by a primary radiation source, an electron from an outer shell drops into its place. There are a limited number of ways in which this can happen, as shown in figure 1. The main transitions are given names: an L→K transition is traditionally called Kα, an M→K transition is called Kβ, an M→L transition is called Lα, and so on. Each of these transitions yields a fluorescent photon with a characteristic energy equal to the difference in energy of the initial and final orbital. The wavelength of this fluorescent radiation can be calculated from Planck's Law: <math> \lambda = h \cdot c/E</math> The fluorescent radiation can be analysed either by sorting the energies of the photons (energy-dispersive analysis) or by separating the wavelengths of the radiation (wavelength-dispersive analysis). Once sorted, the intensity of each characteristic radiation is directly related to the amount of each element in the material. This is the basis of a powerful technique in analytical chemistry. Figure 2 shows the typical form of the sharp fluorescent spectral lines obtained in the wavelength-dispersive method (see Moseley's law). ===Primary radiation=== In order to excite the atoms, a source of radiation is required, with sufficient energy to expel tightly held inner electrons. Conventional X-ray generators are most commonly used, because their output can readily be "tuned" for the application, and because higher power can be deployed relative to other techniques. However, gamma ray sources can be used without the need for an elaborate power supply, allowing an easier use in small portable instruments. When the energy source is a synchrotron or the X-ray are focussed by an optic like a polycapillary, the X-ray beam can be very small and very intense. As a result, atomic information on the sub-micrometer scale can be obtained. X-ray generators in the range 20–60 kV in order to the K line, which allows excitation of a broad range of atoms. The continuous spectrum consists of "bremsstrahlung" radiation: radiation produced when high energy electrons passing through the tube are progressively decelerated by the material of the tube anode (the "target"). A typical tube output spectrum is shown in figure 3. ===Dispersion=== In energy dispersive analysis, the fluorescent X-rays emitted by the material sample are directed into a solid-state detector which produces a "continuous" distribution of pulses, the voltages of which are proportional to the incoming photon energies. This signal is processed by a multichannel analyser (MCA) which produces an accumulating digital spectrum that can be processed to obtain analytical data. In wavelength dispersive analysis, the fluorescent X-rays emitted by the material sample are directed into a diffraction grating monochromator. The diffraction grating used is usually a single crystal. By varying the angle of incidence and take-off on the crystal, a single X-ray wavelength can be selected. The wavelength obtained is given by the Bragg Equation: <math> n \cdot \lambda = 2 d \cdot \sin(\theta)</math> where ''d'' is the spacing of atomic layers parallel to the crystal surface. ===Detection=== In energy dispersive analysis, dispersion and detection are a single operation, as already mentioned above. Proportional counters or various types of solid state detectors (PIN diode, Si(Li), Ge(Li), Silicon Drift Detector SDD) are used. They all share the same detection principle: An incoming X-ray photon ionises a large number of detector atoms with the amount of charge produced being proportional to the energy of the incoming photon. The charge is then collected and the process repeats itself for the next photon. Detector speed is obviously critical, as all charge carriers measured have to come from the same photon to measure the photon energy correctly (peak length discrimination is used to eliminate events that seem to have been produced by two X-ray photons arriving almost simultaneously). The spectrum is then built up by dividing the energy spectrum into discreet bins and counting the number of pulses registered within each energy bin. EDXRF detector types vary in resolution, speed and the means of cooling (a low number of free charge carriers is critical in the solid state detectors): proportional counters with resolutions of several hundred eV cover the low end of the performance spectrum, followed by PIN diode detectors, while the Si(Li), Ge(Li) and Silicon Drift Detectors (SDD) occupy the high end of the performance scale. In wavelength dispersive analysis, the single-wavelength radiation produced by the monochromator is passed into a photomultiplier, a detector similar to a Geiger counter, which counts individual photons as they pass through. The counter is a chamber containing a gas that is ionised by X-ray photons. A central electrode is charged at (typically) +1700 V with respect to the conducting chamber walls, and each photon triggers a pulse-like cascade of current across this field. The signal is amplified and transformed into an accumulating digital count. These counts are then processed to obtain analytical data. ===X-ray intensity=== The fluorescence process is inefficient, and the secondary radiation is much weaker than the primary beam. Furthermore, the secondary radiation from lighter elements is of relatively low energy (long wavelength) and has low penetrating power, and is severely attenuated if the beam passes through air for any distance. Because of this, for high-performance analysis, the path from tube to sample to detector is maintained under high vacuum (around 10 Pa residual pressure). This means in practice that most of the working parts of the instrument have to be located in a large vacuum chamber. The problems of maintaining moving parts ''in vacuo'', and of rapidly introducing and withdrawing the sample without losing vacuum, pose major challenges for the design of the instrument. For less demanding applications, or when the sample is damaged by a vacuum (e.g. a volatile sample), a helium-swept X-ray chamber can be substituted, with some loss of low-Z (Z = atomic number) intensities. ==XRF in chemical analysis== The use of a primary X-ray beam to excite fluorescent radiation from the sample was first proposed by Glocker and Schreiber in 1928<ref>Glocker, R., and Schreiber, H., ''Ann. Physik.'', '''85''' (1928), p. 1089</ref>. Today, the method is used as a non-destructive analytical technique, and as a process control tool in many extractive and processing industries. In principle, the lightest element that can be analysed is beryllium (Z = 4), but due to instrumental limitations and low X-ray yields for the light elements, it is often difficult to quantify elements lighter than sodium (Z = 11), unless background corrections and very comprehensive interelement corrections are made. [[Image:dmedxrfschematic.jpg|thumb|600px|Figure 4: Schematic arrangement of EDX spectrometer]] ===Energy dispersive spectrometry=== In energy dispersive spectrometers (EDX or EDS), the detector allows the determination of the energy of the photon when it is detected. Detectors historically have been based on silicon semiconductors, in the form of lithium-drifted silicon crystals, or high-purity silicon wafers. [[Image:DmedxrfSiLiDetector.jpg|thumb|350px|Figure 5: Schematic form of a Si(Li) detector]] ====Si(Li) detectors==== These consist essentially of a 3–5&nbsp;mm thick silicon junction type p-i-n diode (same as PIN diode) with a bias of -1000 V across it. The lithium-drifted centre part forms the non-conducting i-layer, where Li compensates the residual acceptors which would otherwise make the layer p-type. When an X-ray photon passes through, it causes a swarm of electron-hole pairs to form, and this causes a voltage pulse. To obtain sufficiently low conductivity, the detector must be maintained at low temperature, and liquid-nitrogen must be used for the best resolution. With some loss of resolution, the much more convenient Peltier cooling can be employed.<ref>{{cite book|url=http://books.google.com/books?id=667SJf95AFAC&pg=PA559|page=559|title=Transmission electron microscopy: a textbook for materials science, Volume 2|author=David Bernard Williams, C. Barry Carter|publisher=Springer|year=1996|isbn=030645324X}}</ref> ====Wafer detectors==== More recently, high-purity silicon wafers with low conductivity have become routinely available. Cooled by the Peltier effect, this provides a cheap and convenient detector, although the liquid nitrogen cooled Si(Li) detector still has the best resolution (i.e. ability to distinguish different photon energies). ====Amplifiers==== The pulses generated by the detector are processed by pulse-shaping amplifiers. It takes time for the amplifier to shape the pulse for optimum resolution, and there is therefore a trade-off between resolution and count-rate: long processing time for good resolution results in "pulse pile-up" in which the pulses from successive photons overlap. Multi-photon events are, however, typically more drawn out in time (photons did not arrive exactly at the same time) than single photon events and pulse-length discrimination can thus be used to filter most of these out. Even so, a small number of pile-up peaks will remain and pile-up correction should be built into the software in applications that require trace analysis. To make the most efficient use of the detector, the tube current should be reduced to keep multi-photon events (before discrimination) at a reasonable level, e.g. 5–20%. ====Processing==== Considerable computer power is dedicated to correcting for pulse-pile up and for extraction of data from poorly resolved spectra. These elaborate correction processes tend to be based on empirical relationships that may change with time, so that continuous vigilance is required in order to obtain chemical data of adequate precision. ====Usage==== EDX spectrometers are superior to WDX spectrometers in that they are smaller, simpler in design and have fewer engineered parts. They can also use miniature X-ray tubes or gamma sources. This makes them cheaper and allows miniaturization and portability. This type of instrument is commonly used for portable quality control screening applications, such as testing toys for Lead (Pb) content, sorting scrap metals, and measuring the lead content of residential paint. On the other hand, the low resolution and problems with low count rate and long dead-time makes them inferior for high-precision analysis. They are, however, very effective for high-speed, multi-elemental analysis. Field Portable XRF analysers currently on the market weigh less than 2&nbsp;kg, and have limits of detection on the order of 2 parts per million of Lead (Pb) in pure sand. [[Image:dmwdxrfschematic.jpg|thumb|600px|right|Figure 6: Schematic arrangement of wavelength dispersive spectrometer]] [[File:XRFgoniometer manual.jpg|thumb|right|Chemist operates a goniometer used for X-ray fluorescence analysis of individual grains of mineral specimens, U.S. Geological Survey, 1958.]] ===Wavelength dispersive spectrometry=== In wavelength dispersive spectrometers (WDX or WDS), the photons are separated by diffraction on a single crystal before being detected. Although wavelength dispersive spectrometers are occasionally used to scan a wide range of wavelengths, producing a spectrum plot as in EDS, they are usually set up to make measurements only at the wavelength of the emission lines of the elements of interest. This is achieved in two different ways: *'''"Simultaneous" spectrometers''' have a number of "channels" dedicated to analysis of a single element, each consisting of a fixed-geometry crystal monochromator, a detector, and processing electronics. This allows a number of elements to be measured simultaneously, and in the case of high-powered instruments, complete high-precision analyses can be obtained in under 30 s. Another advantage of this arrangement is that the fixed-geometry monochromators have no continuously moving parts, and so are very reliable. Reliability is important in production environments where instruments are expected to work without interruption for months at a time. Disadvantages of simultaneous spectrometers include relatively high cost for complex analyses, since each channel used is expensive. The number of elements that can be measured is limited to 15–20, because of space limitations on the number of monochromators that can be crowded around the fluorescing sample. The need to accommodate multiple monochromators means that a rather open arrangement around the sample is required, leading to relatively long tube-sample-crystal distances, which leads to lower detected intensities and more scattering. The instrument is inflexible, because if a new element is to be measured, a new measurement channel has to be bought and installed. *'''"Sequential" spectrometers''' have a single variable-geometry monochromator (but usually with an arrangement for selecting from a choice of crystals), a single detector assembly (but usually with more than one detector arranged in tandem), and a single electronic pack. The instrument is programmed to move through a sequence of wavelengths, in each case selecting the appropriate X-ray tube power, the appropriate crystal, and the appropriate detector arrangement. The length of the measurement program is essentially unlimited, so this arrangement is very flexible. Because there is only one monochromator, the tube-sample-crystal distances can be kept very short, resulting in minimal loss of detected intensity. The obvious disadvantage is relatively long analysis time, particularly when many elements are being analysed, not only because the elements are measured in sequence, but also because a certain amount of time is taken in readjusting the monochromator geometry between measurements. Furthermore, the frenzied activity of the monochromator during an analysis program is a challenge for mechanical reliability. However, modern sequential instruments can achieve reliability almost as good as that of simultaneous instruments, even in continuous-usage applications. ====Sample presentation==== In order to keep the geometry of the tube-sample-detector assembly constant, the sample is normally prepared as a flat disc, typically of diameter 20–50&nbsp;mm. This is located at a standardized, small distance from the tube window. Because the X-ray intensity follows an inverse-square law, the tolerances for this placement and for the flatness of the surface must be very tight in order to maintain a repeatable X-ray flux. Ways of obtaining sample discs vary: metals may be machined to shape, minerals may be finely ground and pressed into a tablet, and glasses may be cast to the required shape. A further reason for obtaining a flat and representative sample surface is that the secondary X-rays from lighter elements often only emit from the top few micrometers of the sample. In order to further reduce the effect of surface irregularities, the sample is usually spun at 5–20 rpm. It is necessary to ensure that the sample is sufficiently thick to absorb the entire primary beam. For higher-Z materials, a few millimetres thickness is adequate, but for a light-element matrix such as coal, a thickness of 30–40&nbsp;mm is needed. [[Image:dmbraggreflection.jpg|thumb|400px|right|Figure 7: Bragg diffraction condition]] ====Monochromators==== The common feature of monochromators is the maintenance of a symmetrical geometry between the sample, the crystal and the detector. In this geometry the Bragg diffraction condition is obtained. The X-ray emission lines are very narrow (see figure 2), so the angles must be defined with considerable precision. This is achieved in two ways: *'''Flat crystal with Soller collimators''' The Soller collimator is a stack of parallel metal plates, spaced a few tenths of a millimetre apart. To improve angle resolution, one must lengthen the collimator, and/or reduce the plate spacing. This arrangement has the advantage of simplicity and relatively low cost, but the collimators reduce intensity and increase scattering, and reduce the area of sample and crystal that can be "seen". The simplicity of the geometry is especially useful for variable-geometry monochromators. <gallery widths="380px" heights="256px" perrow="2"> Image:dmwdxrfFlatXtalMonochrom.jpg|Figure 8: Flat crystal with Soller collimators Image:dmwdxrfCurvedXtalMonochrom.jpg|Figure 9: Curved crystal with slits </gallery> {{-}} *'''Curved crystal with slits''' The Rowland circle geometry ensures that the slits are both in focus, but in order for the Bragg condition to be met at all points, the crystal must first be bent to a radius of 2R (where R is the radius of the Rowland circle), then ground to a radius of R. This arrangement allows higher intensities (typically 8-fold) with higher resolution (typically 4-fold) and lower background. However, the mechanics of keeping Rowland circle geometry in a variable-angle monochromator is extremely difficult. In the case of fixed-angle monochromators (for use in simultaneous spectrometers), crystals bent to a logarithmic spiral shape give the best focusing performance. The manufacture of curved crystals to acceptable tolerances increases their price considerably. ====Analysis Lines==== The spectral lines used for chemical analysis are selected on the basis of intensity, accessibility by the instrument, and lack of line overlaps. Typical lines used, and their wavelengths, are as follows: {|align="center" border="0" cellspacing="5" !element!!line !!wavelength (nm) !! !!element !!line !!wavelength (nm) !! !!element !!line !!wavelength (nm) !! !!element !!line !!wavelength (nm) |- |Li||Kα||22.8|| ||Ni||Kα<sub>1</sub>||0.1658|| ||I||Lα<sub>1</sub>||0.3149|| ||Pt||Lα<sub>1</sub>||0.1313 |- |Be||Kα||11.4|| ||Cu||Kα<sub>1</sub>||0.1541|| ||Xe||Lα<sub>1</sub>||0.3016|| ||Au||Lα<sub>1</sub>||0.1276 |- |B||Kα||6.76|| ||Zn||Kα<sub>1</sub>||0.1435|| ||Cs||Lα<sub>1</sub>||0.2892|| ||Hg||Lα<sub>1</sub>||0.1241 |- |C||Kα||4.47|| ||Ga||Kα<sub>1</sub>||0.1340|| ||Ba||Lα<sub>1</sub>||0.2776|| ||Tl||Lα<sub>1</sub>||0.1207 |- |N||Kα||3.16|| ||Ge||Kα<sub>1</sub>||0.1254|| ||La||Lα<sub>1</sub>||0.2666|| ||Pb||Lα<sub>1</sub>||0.1175 |- |O||Kα||2.362|| ||As||Kα<sub>1</sub>||0.1176|| ||Ce||Lα<sub>1</sub>||0.2562|| ||Bi||Lα<sub>1</sub>||0.1144 |- |F||Kα<sub>1,2</sub>||1.832|| ||Se||Kα<sub>1</sub>||0.1105|| ||Pr||Lα<sub>1</sub>||0.2463|| ||Po||Lα<sub>1</sub>||0.1114 |- |Ne||Kα<sub>1,2</sub>||1.461|| ||Br||Kα<sub>1</sub>||0.1040|| ||Nd||Lα<sub>1</sub>||0.2370|| ||At||Lα<sub>1</sub>||0.1085 |- |Na||Kα<sub>1,2</sub>||1.191|| ||Kr||Kα<sub>1</sub>||0.09801|| ||Pm||Lα<sub>1</sub>||0.2282|| ||Rn||Lα<sub>1</sub>||0.1057 |- |Mg||Kα<sub>1,2</sub>||0.989|| ||Rb||Kα<sub>1</sub>||0.09256|| ||Sm||Lα<sub>1</sub>||0.2200|| ||Fr||Lα<sub>1</sub>||0.1031 |- |Al||Kα<sub>1,2</sub>||0.834|| ||Sr||Kα<sub>1</sub>||0.08753|| ||Eu||Lα<sub>1</sub>||0.2121|| ||Ra||Lα<sub>1</sub>||0.1005 |- |Si||Kα<sub>1,2</sub>||0.7126|| ||Y||Kα<sub>1</sub>||0.08288|| ||Gd||Lα<sub>1</sub>||0.2047|| ||Ac||Lα<sub>1</sub>||0.0980 |- |P||Kα<sub>1,2</sub>||0.6158|| ||Zr||Kα<sub>1</sub>||0.07859|| ||Tb||Lα<sub>1</sub>||0.1977|| ||Th||Lα<sub>1</sub>||0.0956 |- |S||Kα<sub>1,2</sub>||0.5373|| ||Nb||Kα<sub>1</sub>||0.07462|| ||Dy||Lα<sub>1</sub>||0.1909|| ||Pa||Lα<sub>1</sub>||0.0933 |- |Cl||Kα<sub>1,2</sub>||0.4729|| ||Mo||Kα<sub>1</sub>||0.07094|| ||Ho||Lα<sub>1</sub>||0.1845|| ||U||Lα<sub>1</sub>||0.0911 |- |Ar||Kα<sub>1,2</sub>||0.4193|| ||Tc||Kα<sub>1</sub>||0.06751|| ||Er||Lα<sub>1</sub>||0.1784|| ||Np||Lα<sub>1</sub>||0.0888 |- |K||Kα<sub>1,2</sub>||0.3742|| ||Ru||Kα<sub>1</sub>||0.06433|| ||Tm||Lα<sub>1</sub>||0.1727|| ||Pu||Lα<sub>1</sub>||0.0868 |- |Ca||Kα<sub>1,2</sub>||0.3359|| ||Rh||Kα<sub>1</sub>||0.06136|| ||Yb||Lα<sub>1</sub>||0.1672|| ||Am||Lα<sub>1</sub>||0.0847 |- |Sc||Kα<sub>1,2</sub>||0.3032|| ||Pd||Kα<sub>1</sub>||0.05859|| ||Lu||Lα<sub>1</sub>||0.1620|| ||Cm||Lα<sub>1</sub>||0.0828 |- |Ti||Kα<sub>1,2</sub>||0.2749|| ||Ag||Kα<sub>1</sub>||0.05599|| ||Hf||Lα<sub>1</sub>||0.1570|| ||Bk||Lα<sub>1</sub>||0.0809 |- |V||Kα<sub>1</sub>||0.2504|| ||Cd||Kα<sub>1</sub>||0.05357|| ||Ta||Lα<sub>1</sub>||0.1522|| ||Cf||Lα<sub>1</sub>||0.0791 |- |Cr||Kα<sub>1</sub>||0.2290|| ||In||Lα<sub>1</sub>||0.3772|| ||W||Lα<sub>1</sub>||0.1476|| ||Es||Lα<sub>1</sub>||0.0773 |- |Mn||Kα<sub>1</sub>||0.2102|| ||Sn||Lα<sub>1</sub>||0.3600|| ||Re||Lα<sub>1</sub>||0.1433|| ||Fm||Lα<sub>1</sub>||0.0756 |- |Fe||Kα<sub>1</sub>||0.1936|| ||Sb||Lα<sub>1</sub>||0.3439|| ||Os||Lα<sub>1</sub>||0.1391|| ||Md||Lα<sub>1</sub>||0.0740 |- |Co||Kα<sub>1</sub>||0.1789|| ||Te||Lα<sub>1</sub>||0.3289|| ||Ir||Lα<sub>1</sub>||0.1351|| ||No||Lα<sub>1</sub>||0.0724 |- |} <br style="clear:both;"> Other lines are often used, depending on the type of sample and equipment available. ====Crystals==== The desirable characteristics of a diffraction crystal are: *High diffraction intensity *High dispersion *Narrow diffracted peak width *High peak-to-background *Absence of interfering elements *Low thermal coefficient of expansion *Stability in air and on exposure to X-rays *Ready availability *Low cost Crystals with simple structure tend to give the best diffraction performance. Crystals containing heavy atoms can diffract well, but also fluoresce themselves, causing interference. Crystals that are water-soluble, volatile or organic tend to give poor stability. Commonly used crystal materials include LiF (lithium fluoride), ADP (ammonium dihydrogen phosphate), Ge (germanium), graphite, InSb (indium antimonide), PE (''tetrakis''-(hydroxymethyl)-methane: penta-erythritol), KAP (potassium hydrogen phthalate), RbAP (rubidium hydrogen phthalate) and TlAP (thallium(I) hydrogen phthalate). In addition, there is an increasing use of "layered synthetic microstructures", which are "sandwich" structured materials comprising successive thick layers of low atomic number matrix, and monoatomic layers of a heavy element. These can in principle be custom-manufactured to diffract any desired long wavelength, and are used extensively for elements in the range Li to Mg. '''Properties of commonly used crystals''' {{center/top}} {| border="1" cellpadding="2" align="left" !width="100"|material !width="80"|plane !width="80"|d (nm) !width="80"|min λ (nm) !width="80"|max λ (nm) !width="80"|intensity !width="80"|thermal expansion !width="80"|durability |- |LiF||200||0.2014||0.053||0.379||+++++||+++||+++ |- |LiF||220||0.1424||0.037||0.268||+++||++||+++ |- |LiF||420||0.0901||0.024||0.169||++||++||+++ |- |ADP||101||0.5320||0.139||1.000||+||++||++ |- |Ge||111||0.3266||0.085||0.614||+++||+||+++ |- |graphite||001||0.3354||0.088||0.630||++++||+||+++ |- |InSb||111||0.3740||0.098||0.703||++++||+||+++ |- |PE||002||0.4371||0.114||0.821||+++||+++++||+ |- |KAP||1010||1.325||0.346||2.490||++||++||++ |- |RbAP||1010||1.305||0.341||2.453||++||++||++ |- |Si||111||0.3135||0.082||0.589||++||+||+++ |- |TlAP||1010||1.295||0.338||2.434||+++||++||++ |- |6&nbsp;nm LSM||-||6.00||1.566||11.276||+++||+||++ |} <br style="clear:both;"> {{center/end}} ====Detectors==== Detectors used for wavelength dispersive spectrometry need to have high pulse processing speeds in order to cope with the very high photon count rates that can be obtained. In addition, they need sufficient energy resolution to allow filtering-out of background noise and spurious photons from the primary beam or from crystal fluorescence. There are four common types of detector: *gas flow proportional counters *sealed gas detectors *scintillation counters *semiconductor detectors [[Image:dmwdxrfFlowDetector.jpg|thumb|300px|right|Figure 10: Arrangement of gas flow proportional counter]] '''Gas flow proportional counters''' are used mainly for detection of longer wavelengths. Gas flows through it continuously. Where there are multiple detectors, the gas is passed through them in series, then led to waste. The gas is usually 90% argon, 10% methane ("P10"), although the argon may be replaced with neon or helium where very long wavelengths (over 5&nbsp;nm) are to be detected. The argon is ionised by incoming X-ray photons, and the electric field multiplies this charge into a measurable pulse. The methane suppresses the formation of fluorescent photons caused by recombination of the argon ions with stray electrons. The anode wire is typically tungsten or nichrome of 20–60 μm diameter. Since the pulse strength obtained is essentially proportional to the ratio of the detector chamber diameter to the wire diameter, a fine wire is needed, but it must also be strong enough to be maintained under tension so that it remains precisely straight and concentric with the detector. The window needs to be conductive, thin enough to transmit the X-rays effectively, but thick and strong enough to minimize diffusion of the detector gas into the high vacuum of the monochromator chamber. Materials often used are beryllium metal, aluminised PET film and aluminised polypropylene. Ultra-thin windows (down to 1 μm) for use with low-penetration long wavelengths are very expensive. The pulses are sorted electronically by "pulse height selection" in order to isolate those pulses deriving from the secondary X-ray photons being counted. '''Sealed gas detectors''' are similar to the gas flow proportional counter, except that the gas does not flow though it. The gas is usually krypton or xenon at a few atmospheres pressure. They are applied usually to wavelengths in the 0.15–0.6&nbsp;nm range. They are applicable in principle to longer wavelengths, but are limited by the problem of manufacturing a thin window capable of withstanding the high pressure difference. '''Scintillation counters''' consist of a scintillating crystal (typically of sodium iodide doped with thallium) attached to a photomultiplier. The crystal produces a group of scintillations for each photon absorbed, the number being proportional to the photon energy. This translates into a pulse from the photomultiplier of voltage proportional to the photon energy. The crystal must be protected with a relatively thick aluminium/beryllium foil window, which limits the use of the detector to wavelengths below 0.25&nbsp;nm. Scintillation counters are often connected in series with a gas flow proportional counter: the latter is provided with an outlet window opposite the inlet, to which the scintillation counter is attached. This arrangement is particularly used in sequential spectrometers. '''Semiconductor detectors''' can be used in theory, and their applications are increasing as their technology improves, but historically their use for WDX has been restricted by their slow response (see EDX). [[Image:LDHerzogBeadMaking.jpg|thumb|225px|right|A glass "bead" specimen for XRF analysis being cast at around 1100 °C in a Herzog automated fusion machine in a cement plant quality control laboratory. 1 (top): fusing, 2: preheating the mould, 3: pouring the melt, 4: cooling the "bead"]] ====Extracting analytical results==== At first sight, the translation of X-ray photon count-rates into elemental concentrations would appear to be straightforward: WDX separates the X-ray lines efficiently, and the rate of ''generation'' of secondary photons is proportional to the element concentration. However, the number of photons ''leaving the sample'' is also affected by the physical properties of the sample: so-called "matrix effects". These fall broadly into three categories: *X-ray absorption *X-ray enhancement *sample macroscopic effects All elements ''absorb'' X-rays to some extent. Each element has a characteristic absorption spectrum which consists of a "saw-tooth" succession of fringes, each step-change of which has wavelength close to an emission line of the element. Absorption attenuates the secondary X-rays leaving the sample. For example, the mass absorption coefficient of silicon at the wavelength of the aluminium Kα line is 50 m²/kg, whereas that of iron is 377 m²/kg. This means that a given concentration of aluminium in a matrix of iron gives only one seventh of the count rate compared with the same concentration of aluminium in a silicon matrix. Fortunately, mass absorption coefficients are well known and can be calculated. However, to calculate the absorption for a multi-element sample, the composition must be known. For analysis of an unknown sample, an iterative procedure is therefore used. It will be noted that, to derive the mass absorption accurately, data for the concentration of elements not measured by XRF may be needed, and various strategies are employed to estimate these. As an example, in cement analysis, the concentration of oxygen (which is not measured) is calculated by assuming that all other elements are present as standard oxides. '''Enhancement''' occurs where the secondary X-rays emitted by a heavier element are sufficiently energetic to stimulate additional secondary emission from a lighter element. This phenomenon can also be modelled, and corrections can be made provided that the full matrix composition can be deduced. '''Sample macroscopic effects''' consist of effects of inhomogeneities of the sample, and unrepresentative conditions at its surface. Samples are ideally homogeneous and isotropic, but they often deviate from this ideal. Mixtures of multiple crystalline components in mineral powders can result in absorption effects that deviate from those calculable from theory. When a powder is pressed into a tablet, the finer minerals concentrate at the surface. Spherical grains tend to migrate to the surface more than do angular grains. In machined metals, the softer components of an alloy tend to smear across the surface. Considerable care and ingenuity are required to minimize these effects. Because they are artefacts of the method of sample preparation, these effects can not be compensated by theoretical corrections, and must be "calibrated in". This means that the calibration materials and the unknowns must be compositionally and mechanically similar, and a given calibration is applicable only to a limited range of materials. Glasses most closely approach the ideal of homogeneity and isotropy, and for accurate work, minerals are usually prepared by dissolving them in a borate glass, and casting them into a flat disc or "bead". Prepared in this form, a virtually universal calibration is applicable. Further corrections that are often employed include background correction and line overlap correction. The background signal in an XRF spectrum derives primarily from scattering of primary beam photons by the sample surface. Scattering varies with the sample mass absorption, being greatest when mean atomic number is low. When measuring trace amounts of an element, or when measuring on a variable light matrix, background correction becomes necessary. This is really only feasible on a sequential spectrometer. Line overlap is a common problem, bearing in mind that the spectrum of a complex mineral can contain several hundred measurable lines. Sometimes it can be overcome by measuring a less-intense, but overlap-free line, but in certain instances a correction is inevitable. For instance, the Kα is the only usable line for measuring sodium, and it overlaps the zinc Lβ (L<sub>2</sub>-M<sub>4</sub>) line. Thus zinc, if present, must be analysed in order to properly correct the sodium value. ==Other spectroscopic methods using the same principle== It is also possible to create a characteristic secondary X-ray emission using other incident radiation to excite the sample: *electron beam: electron microprobe (or Castaing microprobe); *ion beam: particle induced X-ray emission (PIXE). When radiated by an X-ray beam, the sample also emits other radiations that can be used for analysis: *electrons ejected by the photoelectric effect: X-ray photoelectron spectroscopy (XPS), also called electron spectroscopy for chemical analysis (ESCA) The de-excitation also ejects Auger electrons, but Auger electron spectroscopy (AES) normally uses an electron beam as the probe. Confocal microscopy X-ray fluorescence imaging is a newer technique that allow control over depth, in addition to horizontal and vertical aiming, for example, when analyzing buried layers in a painting.<ref>{{cite journal|url=http://journals.cambridge.org/action/displayFulltext?type=1&fid=326128&jid=MAM&volumeId=11&issueId=S02&aid=326127|journal=Microscopy and Microanalysis|year=2005|volume=11|page=682|doi=10.1017/S1431927605503167|title=Confocal X-ray Fluorescence Imaging and XRF Tomography for Three-Dimensional Trace Element Microanalysis|author=L. Vincze}}</ref> ==Instrument qualification== A 2001 review,<ref name=fpxa>{{cite journal|last = Kalnickya|first = Dennis J.|coauthors = Raj Singhvi|title = Field portable XRF analysis of environmental samples|journal = Journal of Hazardous Materials|volume = 83|page = 93| year = 2001|doi = 10.1016/S0304-3894(00)00330-7}}</ref> addresses the application of portable instrumentation from QA/QC perspectives. It provides a guide to the development of a set of SOPs if regulatory compliance guidelines are not available. {{see|Verification and Validation}} ==See also== *Emission spectroscopy *List of materials analysis methods *Micro-X-ray fluorescence *X-ray fluorescence holography ==Notes== {{reflist|2}} ==References== *Beckhoff, B., Kanngießer, B., Langhoff, N., Wedell, R., Wolff, H., [http://books.google.com/books?id=c6d8EPYHn1EC&printsec=frontcover ''Handbook of Practical X-Ray Fluorescence Analysis''], Springer, 2006, {{ISBN|3-540-28603-9}} *Bertin, E. P., ''Principles and Practice of X-ray Spectrometric Analysis'', Kluwer Academic / Plenum Publishers, {{ISBN|0-3063-0809-6}} *Buhrke, V. E., Jenkins, R., Smith, D. K., ''A Practical Guide for the Preparation of Specimens for XRF and XRD Analysis'', Wiley, 1998, {{ISBN|0-471-19458-1}} *Jenkins, R., ''X-ray Fluorescence Spectrometry'', Wiley, {{ISBN|0-4712-9942-1}} *Jenkins, R., De Vries, J. L., ''Practical X-ray Spectrometry'', Springer-Verlag, 1973, {{ISBN|0387910298}} *Jenkins, R., R.W. Gould, R. W., Gedcke, D., [http://books.google.com/books?id=ZWQYy-4aQLQC&printsec=frontcover ''Quantitative X-ray Spectrometry''], Marcel Dekker, {{ISBN|0-8247-9554-7}} *Van Grieken, R. E., Markowicz, A. A., [http://books.google.com/books?id=i_iDRTp75AsC&printsec=frontcover ''Handbook of X-Ray Spectrometry''] 2nd ed.; Marcel Dekker Inc: New York, 2002; Vol. 29; {{ISBN|0-8247-0600-5}} {{BookCat}} hihefivj173wpd5q84l75b1r49alyrb Structured Query Language/Data Control Language 0 239957 4656821 4652496 2026-08-09T16:15:54Z ShakespeareFan00 46022 4656821 wikitext text/x-wiki <noinclude>{{TopNav|cat|prev=Data Definition Language|next=Performance}}</noinclude> Data Control Language is used to modify the user rights for the database. It describes two statements: GRANT and REVOKE. == GRANT statement == The exhaustive syntax of the GRANT statement is as follows: <syntaxhighlight lang=sql> GRANT { ALL PRIVILEGES ON[ TABLE] <table or view name> | {SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]} [, {SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]}]* ON[ TABLE] <table or view name> | USAGE ON {DOMAIN <domain name>|COLLATION <collation name>|CHARACTER SET <charset name>|TRANSLATION <translation name>} | REFERENCES <column name>[, <column name>]* ON <table name> } [, { ALL PRIVILEGES ON[ TABLE] <table or view name> | {SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]} [ ,{SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]}]* ON[ TABLE] <table or view name> | USAGE ON {DOMAIN <domain name>|COLLATION <collation name>|CHARACTER SET <charset name>|TRANSLATION <translation name>} | REFERENCES <column name>[, <column name>]* ON <table name> } ]* TO {PUBLIC|<user name>}[, {PUBLIC|<user name>}]*[ WITH GRANT OPTION]; </syntaxhighlight> The GRANT statement is used to give a privilege to someone. Any SQL operations are done using a user name. The user name are created by the ''database management system''. {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- |} The privileges apply on the tables (i.e. <code>employee</code>, <code>office</code>, etc...), the views, their columns, the domain, the collation, the charset and the translation. {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin:auto;" |- || employee |- |} | {| style="text-align: center; margin: auto;" |- || employee |- |} | {| style="text-align: center; margin: auto;" |- || employee |- |} | {| style="text-align: center; margin: auto;" |- || employee |- |} | {| style="text-align: center; margin: auto;" |- || employee |- |} | {| style="text-align: center; margin: auto;" |- || employee |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- || office |- |} | {| style="text-align: center; margin: auto;" |- || office |- |} | {| style="text-align: center; margin: auto;" |- || office |- |} | {| style="text-align: center; margin: auto;" |- || office |- |} | {| style="text-align: center; margin: auto;" |- || office |- |} | {| style="text-align: center; margin: auto;" |- || office |- |} |- ||...||...||...||...||...||... |- |} The privileges can allow to process SELECT ("s"), INSERT ("i"), UPDATE ("u") and DELETE ("d") statements (not CREATE, ALTER or DROP statements). Let's say that only the DataBase Administrator has the privileges. {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- |} |- ||...||...||...||...||...||... |- |} For each privilege ("s", "i", "u" and "d"), there is also a meta-privilege ("S", "I", "U" and "D") : a user can send a privilege to another user. Let's say that only the DataBase Administrator has the meta-privileges. {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} The DBA wants to allow DEVELOPER_1 to select columns on the table <code>employee</code>: {| style="border: solid 1px;" |- |[[File:Nuvola apps personal.svg]]<br/><div style="text-align: center;">DBA</div>||<syntaxhighlight lang="sql"> GRANT SELECT ON employee TO DEVELOPER_1; </syntaxhighlight> |} The rights for DEVELOPER_1 have changed: {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} SELECT indicates that we want to sent the SELECT privilege. The keyword ON followed by <code>employee</code> indicates that the privilege applies on the table <code>employee</code>. The keyword TO followed by <code>DEVELOPER_1</code> indicates that the privilege has been sent to DEVELOPER_1. The DBA wants to allow DEVELOPER_2 and DEVELOPER_3 to insert, update and delete rows on the table <code>office</code>: {| style="border: solid 1px;" |- |[[File:Nuvola apps personal.svg]]<br/><div style="text-align: center;">DBA</div>||<syntaxhighlight lang="sql"> GRANT INSERT, UPDATE, DELETE ON office TO DEVELOPER_2 DEVELOPER_3; </syntaxhighlight> |} The rights for DEVELOPER_2 and DEVELOPER_3 have changed: {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} Whereas you can send several privileges on a table to several users at once, you can't send privileges on several tables at once. If you want to send all the privileges (SELECT, INSERT, UPDATE and DELETE), you can replace the list of privileges by the keywords ALL PRIVILEGES. Now, the DBA wants to allow USER_1 to insert on the table <code>employee</code> and allow him to send this privilege to other users: {| style="border: solid 1px;" |- |[[File:Nuvola apps personal.svg]]<br/><div style="text-align: center;">DBA</div>||<syntaxhighlight lang="sql"> GRANT INSERT ON employee TO USER_1 WITH GRANT OPTION; </syntaxhighlight> |} The rights for USER_1 have changed: {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S|| || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- || || || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} The keyword WITH GRANT OPTION indicates that we want to send privileges with the meta-privileges to the user. Now, USER_1 can send the SELECT privilege on the table <code>employee</code> to the other users. Let's say that USER_1 wants to allow anyone to process SELECT on the table <code>employee</code>: {| style="border: solid 1px;" |- |[[File:User.svg]]<br/><div style="text-align: center;">User 1</div>||<syntaxhighlight lang="sql"> GRANT SELECT ON TABLE employee TO PUBLIC; </syntaxhighlight> |} The rights of all the users have changed: {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S|| || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} The keyword PUBLIC indicates that we want to send privileges to all the users and the new future ones. Let's say that DEVELOPER_3 tries to allow USER_2 to insert records into the table <code>office</code>: {| style="border: solid 1px;" |- |[[File:Nuvola apps personal unisex.svg]]<br/><div style="text-align: center;">Developer 3</div>||<syntaxhighlight lang="sql"> GRANT INSERT ON TABLE office TO USER_2; </syntaxhighlight> |} {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S|| || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || ||<s><span style="color:red; text-decoration:blink;">''' I '''</span></s>|| || |- || ||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} The operation has been refused because DEVELOPER_3 hasn't enough privileges. === Sending privileges on columns === You can send privileges on columns only (only for INSERT and UPDATE): <syntaxhighlight lang="sql"> GRANT INSERT (name, description) ON TABLE office TO USER_2; GRANT UPDATE (id_office, name) ON TABLE office TO USER_2; </syntaxhighlight> For INSERT, make all the columns that the user can't fill have default values, are automatically generated or are filled by a trigger before the insertion. Otherwise, the privilege is just useless. == REVOKE statement == The exhaustive syntax of the REVOKE statement is as follows: <syntaxhighlight lang=sql> REVOKE[ GRANT OPTION FOR] { ALL PRIVILEGES ON[ TABLE] <table or view name> | {SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]} [, {SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]}]* ON[ TABLE] <table or view name> | USAGE ON {DOMAIN <domain name>|COLLATION <collation name>|CHARACTER SET <charset name>|TRANSLATION <translation name>} | REFERENCES <column name>[, <column name>]* ON <table name> } [, { {SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]} [, {SELECT|DELETE|{INSERT|UPDATE}[ (<column name>[, <column name>]*)]}]* ON[ TABLE] <table or view name> | USAGE ON {DOMAIN <domain name>|COLLATION <collation name>|CHARACTER SET <charset name>|TRANSLATION <translation name>} | REFERENCES <column name>[, <column name>]* ON <table name> } ]* FROM {PUBLIC|<user name>}[, {PUBLIC|<user name>}]*[ RESTRICT| CASCADE] </syntaxhighlight> The REVOKE statement is used to take back privileges granted to someone. This revocation may be more complicated than you expect. To completely remove a privilege to a user, this privilege must be taken back by <u>all</u> the users that have sent the privilege. For instance, the DBA wants to remove the INSERT and DELETE privileges on the table <code>employee</code> to DEVELOPER_2 and DEVELOPER_3: {| style="border: solid 1px;" |- |[[File:Nuvola apps personal.svg]]<br/><div style="text-align: center;">DBA</div>||<syntaxhighlight lang="sql"> REVOKE INSERT, DELETE ON TABLE office FROM DEVELOPER_2, DEVELOPER_3; </syntaxhighlight> |} {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S|| || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || ||u|| |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || ||u|| |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} If you remove a privilege to a user who was also sent the related meta-privilege (for example, SELECT privilege to USER_1), the operation also removes the meta-privilege. To remove only meta-privileges, add the keywords GRANT OPTION FOR: {| style="border: solid 1px;" |- |[[File:Nuvola apps personal.svg]]<br/><div style="text-align: center;">DBA</div>||<syntaxhighlight lang="sql"> REVOKE GRANT OPTION FOR SELECT ON TABLE employee FROM USER_1; </syntaxhighlight> |} {| class="wikitable" style="text-align: center; width: 100%; margin: auto;" |- |[[File:Nuvola apps personal.svg]]<br/>DBA|| [[File:Nuvola apps personal unisex.svg]]<br/>Developer 1 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 2 || [[File:Nuvola apps personal unisex.svg]]<br/>Developer 3 || [[File:User.svg]]<br/>User 1 || [[File:User.svg]]<br/>User 2 |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| employee |- || || || || |- ||s|| || || |- |} |- style="border-bottom: hidden" || || || || || || |- style="border-bottom: hidden" | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- ||S||I||U||D |- ||s||i||u||d |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || ||u|| |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || ||u|| |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} | {| style="text-align: center; margin: auto;" |- |colspan="4"| office |- || || || || |- || || || || |- |} |- ||...||...||...||...||...||... |- |} Now you can administrate a database. {{Status|100%}} {{BookCat}} a78nn9vwsmv1x6svnbsjuw9bkvbpwpf Human Physiology/Homeostasis 0 241564 4656887 4612271 2026-08-10T04:05:56Z SHB2000 3332924 4656887 wikitext text/x-wiki {{Human Physiology||Cell physiology}} ==Overview== The human organism consists of trillions of cells all working together for the maintenance of the entire organism. While cells may perform very different functions, all the cells are quite similar in their metabolic requirements. Maintaining a constant internal environment with all that the cells need to survive (oxygen, glucose, mineral ions, waste removal, and so forth) is necessary for the well-being of individual cells and the well-being of the entire body. The varied processes by which the body regulates its internal environment are collectively referred to as homeostasis. === What is Homeostasis? === '''Homeostasis''' in a general sense refers to stability or balance in a system. It is the body's attempt to maintain a constant internal environment. Maintaining a stable internal environment requires constant monitoring and adjustments as conditions change. This adjusting of physiological systems within the body is called ''homeostatic regulation''. Homeostatic regulation involves three parts or mechanisms: 1) the '''''receptor''''', 2) the '''''control center''''' and 3) the '''''effector'''''. The '''''receptor''''' receives information that something in the environment is changing. The '''''control center''''' or '''''integration center''''' receives and processes information from the '''''receptor'''''. And lastly, the '''''effector''''' responds to the commands of the '''''control center''''' by either opposing or enhancing the stimulus. This is an ongoing process that continually works to restore and maintain homeostasis. For example, in regulating body temperature, there are temperature ''receptors'' in the skin, which communicate information to the brain, which is the ''control center,'' and the ''effector'' is our blood vessels and sweat glands in our skin. Because the internal and external environments of the body are constantly changing and adjustments must be made continuously to stay at or near the set point, homeostasis can be thought of as a ''synthetic equilibrium.'' Since homeostasis is an attempt to maintain the internal conditions of an environment by limiting fluctuations, it must involve a series of negative feedback loops. === Positive and Negative Feedback === When a change of variable occurs, there are two main types of feedback to which the system reacts: * '''''Negative feedback''''': a reaction in which the system responds in such a way as to reverse the direction of change. Since this tends to keep things constant, it allows the maintenance of homeostasis. For instance, when the concentration of carbon dioxide in the human body increases, the lungs are signaled to increase their activity and expel more carbon dioxide. Thermoregulation is another example of negative feedback. When body temperature rises, receptors in the skin and the hypothalamus sense a change, triggering a command from the brain. This command, in turn, effects the correct response, in this case a decrease in body temperature. :: '''Home Heating System Vs. Negative Feedback''' :: When you are at home, you set your thermostat to a desired temperature. Let's say today you set it at 70 degrees Fahrenheit (21,1 degrees Celsius). The thermometer in the thermostat waits to sense a temperature change either too high above or too far below the 70-degree set point. When this change happens, the thermometer will send a message to the "Control Center", or thermostat, which in turn will then send a message to the furnace to either shut off if the temperature is too high or kick back on if the temperature is too low. In the home-heating example the air temperature is the "NEGATIVE FEEDBACK." When the Control Center receives negative feedback it triggers a chain reaction in order to maintain room temperature. * '''''Positive feedback''''': a response is to amplify the change in the variable. This has a destabilizing effect, so does not result in homeostasis. Positive feedback is less common in naturally occurring systems than negative feedback, but it has its applications. For example, in nerves, a threshold electric potential triggers the generation of a much larger action potential. Blood clotting in which the platelets process mechanisms to transform blood liquid to solidify is an example of positive feedback loop. Another example is the secretion of oxytocin which provides a pathway for the uterus to contract, leading to child birth. :: '''Harmful Positive Feedback''' :: Although Positive Feedback is needed within Homeostasis it also can be harmful at times. When you have a high fever it causes a metabolic change that can push the fever higher and higher. In rare occurrences the body temperature reaches 113 degrees Fahrenheit / 45 degrees Celsius and the cellular proteins stop working and the metabolism stops, resulting in death. ''' Summary''': Sustainable systems require combinations of both kinds of feedback. Generally with the recognition of divergence from the homeostatic condition, positive feedbacks are called into play, whereas once the homeostatic condition is approached, negative feedback is used for "fine tuning" responses. This creates a situation of "metastability," in which homeostatic conditions are maintained within fixed limits, but once these limits are exceeded, the system can shift wildly to a wholly new (and possibly less desirable) situation of homeostasis. '''''Homeostatic systems have several properties''''' * They are ultra-stable, meaning the system is capable of testing which way its variables should be adjusted. * Their whole organization (internal, structural, and functional) contributes to the maintenance of balance. * Physiology is largely a study of processes related to homeostasis. Some of the functions you will learn about in this book are not specifically about homeostasis (e.g. how muscles contract), but in order for all bodily processes to function there must be a suitable internal environment. Homeostasis is, therefore, a fitting framework for the introductory study of physiology. '''''Where did the term "Homeostasis" come from? ''''' The concept of homeostasis was first articulated by the French scientist Claude Bernard (1813-1878) in his studies of the maintenance of stability in the "milieu interior." He said, "All the vital mechanisms, varied as they are, have only one object, that of preserving constant the conditions of life in the internal environment" (from ''Leçons sur les Phénonèmes de la Vie Commune aux Animaux et aux Végétaux'', 1879). The term itself was coined by American physiologist Walter Cannon, author of ''The Wisdom of the Body'' (1932). The word comes from the Greek ''homoios'' (same, like, resembling) and ''stasis'' (to stand, posture). ===Cruise Control on a car as a simple metaphor for homeostasis === When a car is put on cruise control it has a set speed limit that it will travel. At times this speed may vary by a few miles per hour but in general the system will maintain the set speed. If the car starts to go up a hill, the systems will automatically increase the amount of fuel given to maintain the set speed. If the car starts to come down a hill, the car will automatically decrease the amount of fuel given in order to maintain the set speed. It is the same with homeostasis- the body has a set limit on each environment. If one of these limits increases or decreases, the body will sense and automatically try to fix the problem in order to maintain the pre-set limits. This is a simple metaphor of how the body operates&mdash;constant monitoring of levels, and automatic small adjustments when those levels fall below (or rise above) a set point. == Pathways That Alter Homeostasis == A variety of homeostatic mechanisms maintain the internal environment within tolerable limits. Either homeostasis is maintained through a series of control mechanisms, or the body suffers various illnesses or disease. When the cells in the body begin to malfunction, the homeostatic balance becomes disrupted. Eventually this leads to disease or cell malfunction. Disease and cellular malfunction can be caused in two basic ways: either, ''deficiency'' (cells not getting all they need) or ''toxicity'' (cells being poisoned by too much of the things they need, or by things they do not need). When homeostasis is interrupted in your cells, there are ''pathways'' to correct or worsen the problem. In addition to the internal control mechanisms, there are external influences based primarily on lifestyle choices and environmental exposures that influence our body's ability to maintain cellular health. * '''Nutrition:''' If your diet is lacking in a specific vitamin or mineral your cells will function poorly, possibly resulting in a disease condition. For example, a menstruating woman with inadequate dietary intake of iron will become anemic. Lack of hemoglobin, a molecule that requires iron, will result in reduced oxygen-carrying capacity. In mild cases symptoms may be vague (e.g. fatigue), but if the anemia (British English: ''anaemia'') is severe the body will try to compensate by increasing cardiac output, leading to palpitations and sweatiness, and possibly to heart failure. * '''Toxins:''' Any substance that interferes with cellular function, causing cellular malfunction. This is done through a variety of ways; chemical, plant, insecticides, and/or bites. A commonly seen example of this is drug overdoses. When a person takes too much of a drug their vital signs begin to waver; either increasing or decreasing, these vital signs can cause problems including coma, brain damage and even death. * '''Psychological:''' Your physical health and mental health are inseparable. Our thoughts and emotions cause chemical changes to take place either for better as with meditation, or worse as with stress. * '''Physical:''' Physical maintenance is essential for our cells and bodies. Adequate rest, sunlight, and exercise are examples of physical mechanisms for influencing homeostasis. Lack of sleep is related to a number of ailments such as irregular cardiac rhythms, fatigue, anxiety and headaches. * '''Genetic/Reproductive:''' Inheriting strengths and weaknesses is part of our genetic makeup. Genes are sometimes turned off or on due to external factors which we can have some control over, but at other times little can be done to correct or improve genetic diseases. Beginning at the cellular level a variety of diseases come from mutated genes. For example, cancer can be genetically inherited or can be caused due to a mutation from an external source such as radiation or genes altered in a fetus when the mother uses drugs. * '''Medical:''' Because of genetic differences some bodies need help in gaining or maintaining homeostasis. Through modern medicine our bodies can be given different aids, from anti-bodies to help fight infections, or chemotherapy to kill harmful cancer cells. Traditional and alternative medical practices have many benefits, but like any medical practice the potential for harmful effects is present. Whether by nosocomial infections, or wrong dosage of medication, homeostasis can be altered by that which is trying to fix it. Trial and error with medications can cause potential harmful reactions and possibly death if not caught soon enough. The factors listed above all have their effects at the cellular level, whether harmful or beneficial. Inadequate beneficial pathways (deficiency) will almost always result in a harmful waver in homeostasis. Too much toxicity also causes homeostatic imbalance, resulting in cellular malfunction. By removing negative health influences, and providing adequate positive health influences, your body is better able to self-regulate and self-repair, thus maintaining homeostasis. ==Homeostasis Throughout the Body== Each body system contributes to the homeostasis of other systems and of the entire organism. No system of the body works in isolation, and the well-being of the person depends upon the well-being of all the interacting body systems. A disruption within one system generally has consequences for several additional body systems. Here are some brief explanations of how various body systems contribute to the maintenance of homeostasis: ===Nervous System=== Since the nervous system does not store nutrients, it must receive a continuous supply from blood. Any interruption to the flow of blood may bring brain damage or death. The nervous system maintains homeostasis by controlling and regulating the other parts of the body. A deviation from a normal set point acts as a stimulus to a receptor, which sends nerve impulses to a regulating center in the brain. The brain directs an effector to act in such a way that an adaptive response takes place. If, for example, the deviation was a lowering of body temperature, the effector acts to increase body temperature. The adaptive response returns the body to a state of normalcy and the receptor, the regulating center, and the effector temporarily cease their activities. Since the effector is regulated by the very conditions it produced, this process is called control by negative feedback. This manner of regulating normalcy results in a fluctuation between two extreme levels. Not until body temperature drops below normal do receptors stimulate the regulating center and effectors act to raise body temperature. Regulating centers are located in the central nervous system, consisting of the brain and spinal cord. The hypothalamus is a portion of the brain particularly concerned with homeostasis; it influences the action of the medulla oblongata, a lower part of the brain, the autonomic nervous system, and the pituitary gland. The nervous system has two major portions: the central nervous system and the peripheral nervous system. The central nervous system consists of the cranial and spinal nerves. The autonomic nervous system is a part of peripheral nervous system and contains motor neurons that control internal organs. It operates at the subconscious level and has two divisions, the sympathetic and parasympathetic systems. In general, the sympathetic system brings about those results we associate with emergency situations, often called fight or flight reactions, and the parasympathetic system produces those effects necessary to our everyday existence. ===Endocrine System=== The endocrine system consists of glands which secrete hormones into the bloodstream. Each hormone has an effect on one or more target tissues. In this way the endocrine system regulates the metabolism and development of most body cells and body systems. To be more specific, the Endocrine system has sex hormones that can activate sebaceous glands, development of mammary glands, alter dermal blood flow and release lipids from adipocytes. MSH can stimulate melanocytes on our skin. Our bone growth is regulated by several hormones, and the endocrine system helps with the mobilization of calcitonin and calcium. In the muscular system, hormones adjust muscle metabolism, energy production, and growth. In the nervous system, hormones affect neural metabolism, regulate fluid/electrolyte balance and help with reproductive hormones that influence CNS development and behaviours. In the Cardiovascular system, we need hormones that regulate the production of RBC's (red blood cells), which elevate and lower blood pressure. Hormones also have anti-inflammatory effects and stimulate the lymphatic system. In summary, the endocrine system has a regulatory effect on basically every other body system. ===Integumentary System=== The integumentary system (the skin) is involved in protecting the body from invading microbes (mainly by forming a thick impenetrable layer), regulating body temperature through sweating and vasodilation/vasoconstriction, or shivering and piloerection (goose bumps), and regulating ion balances in the blood. Stimulation of mast cells also produce changes in blood flow and capillary permeability which can affect the blood flow in the body and how it is regulated. It also helps synthesize vitamin D which interacts with calcium and phosphorus absorption needed for bone growth, maintenance, and repair. Hair on the skin guards' entrance into the nasal cavity or other orifices, preventing invaders from getting further into our bodies. Our skin also helps maintain balance by excretion of water and other solutes (i.e. the keratinized epidermis limits fluid loss through skin). It also provides mechanical protection against environmental hazards. We need to remember that our skin is integumentary; it is our first line of defence. ===Skeletal System=== As the structural framework for the human body, the skeletal system consists mainly of the 206 or so bones of the skeletal system but also includes cartilages, ligaments, and other connective tissues that stabilize and interconnect them. Bones work in conjunction with the muscular system to aid in posture and locomotion. Many bones of the skeleton function as levers, which change the magnitude and direction of forces generated by skeletal muscle. Protection is a pivotal role occupied by the skeletal system, as many vital organs are encased within the skeletal cavities (e.g. cranial and spinal), and bones form much of the structural basis for other body cavities (ex: thoracic and pelvic cavities). The skeletal system also serves as an important mineral reserve. For example, if blood levels of calcium or magnesium are low and the minerals are not available in the diet, they will be taken from the bones. Also, the skeletal system provides calcium needed for all muscular contraction. Finally, red blood cells, lymphocytes and other cells relating to the immune response are produced and stored in the bone marrow. ===Muscular System=== The muscular system is one of the most versatile systems in the body. The muscular system contains the heart, which constantly pumps blood through the body. The muscular system is also responsible for actions both involuntary (e.g. goose bumps, digestion, breathing) and voluntary (e.g. walking, picking up objects). Muscles also help protect organs in the body's cavities. The muscles in your body use energy, which increases your body heat when you're cold. The act of shivering occurs when the internal temperature drops. Muscles around vital organs move, breaking down ATP and thereby releasing heat, which is then distributed to the rest of the body. ===Cardiovascular System=== The cardiovascular system, in addition to needing to maintain itself within certain levels, plays a role in maintenance of other body systems by transporting hormones (heart secretes Atrial Natriuretic Peptide and Brain Natriuretic Peptide, or ANP and BNP, respectively) and nutrients (oxygen, EPO to bones, etc.), taking away waste products, and providing all living body cells with a fresh supply of oxygen and removing carbon dioxide. Homeostasis is disturbed if the cardiovascular or lymphatic systems are not functioning correctly. Our skin, bones, muscles, lungs, digestive tract, and nervous, endocrine, lymphatic, urinary and reproductive systems use the cardiovascular system as its "road" or "highway" as far as distribution of things such as nutrients, oxygen, waste products, hormones, drugs, etc. There are many risk factors for an unhealthy cardiovascular system. Some diseases associated are typically labeled "uncontrollable" or "controllable." The main uncontrollable risk factors are age, gender, and a family history of heart disease, especially at an early age. The cardiovascular system also contains sensors to monitor blood pressure, called baroreceptors, that work by detecting how stretched a blood vessel is. This information is relayed to the Medulla Oblongata in the brain where action is taken to raise or lower blood pressure via the autonomic nervous system. ===Lymphatic System=== The lymphatic system has three principal roles. First is the maintenance of blood and tissue volume. Excess fluid that leaves the capillaries when under pressure would build up and cause edema. Secondly, the lymphatic system absorbs fatty acids and triglycerides from fat digestion so that these components of digestion do not enter directly into the blood stream. Third, the lymphatic system is involved in defending the body against invading microbes, and the immune response. This system assists in maintenance, such as bone and muscle repair after injuries. Another defense is maintaining the acidic pH of urine to fight infections in the urinary system. The tonsils are our bodies "helpers" to defend us against infections and toxins absorbed from the digestive tract. The tonsils also protect against infections entering into our lungs. ===Respiratory System=== The respiratory system works in conjunction with the cardiovascular system to provide oxygen to cells within every body system for cellular metabolism. The respiratory system also removes carbon dioxide. Since CO2 is mainly transported in the plasma as bicarbonate ions, which act as a chemical buffer, the respiratory system also helps maintain proper blood pH levels, a fact that is very important for homeostasis. In hyperventilation, CO2 is decreased in blood levels. This causes the pH of body fluids to increase. If pH levels rise above 7.45, the result is respiratory alkalosis and passing out. On the other hand, hypoventilation may causes pH to fall below 7.35 which results in respiratory acidosis. This is the mechanism for death by opioid overdose. The respiratory system also helps the lymphatic system by trapping pathogens and protecting deeper tissues within. Note that when you have increased thoracic space it can provide abdominal pressure through the contraction of respiratory muscles. This can assist in defecation. The organs of the respiratory system include the nose, pharynx, larynx, trachea, bronchi and lungs. Together these organs permit the movement of air into the tiny, thin walled sacs of the lungs called alveoli. It is in the alveoli that oxygen from the air is exchanged for the waste product carbon dioxide, which is carried to lungs by the blood so that it can be eliminated from the body. ===Digestive System=== Without a regular supply of energy and nutrients from the digestive system, all body systems would soon suffer. The digestive system absorbs organic substances, vitamins, ions, and water that are needed all over the body. In the skin, the digestive tract provides lipids for storage in the subcutaneous layer. Note that food undergoes three types of processes in the body: digestion, absorption, and elimination. If one of these is not working, you will have problems that will be extremely noticeable. Mechanics of digestion can include chemical digestion, movements, ingestion absorption, and elimination. In order to maintain a healthy and efficient digestive system, we have to remember the components involved. If these are disturbed, digestive health may be compromised. ===Urinary System=== Toxic nitrogenous wastes accumulate as proteins and nucleic acids are broken down and used for other purposes. The urinary system rids the body of these wastes. The urinary system is also directly involved in maintaining proper blood volume (and indirectly blood pressure) and ion concentration within the blood. One other contribution is that the kidneys produce a hormone (erythropoietin) that stimulates red blood cell production. The kidneys also play an important role in maintaining the correct water content of the body and the correct salt composition of extracellular fluid. External changes that lead to excess fluid loss trigger feedback mechanisms that act to inhibit fluid loss. ===Reproductive System=== The Reproductive System is unique in that it does little to contribute to the homeostasis of the organism. Rather than being tied to the maintenance of the organism, the reproductive system relates to the maintenance of the species. Having said that, the sex hormones do have an effect on other body systems, and an imbalance can lead to various disorders (e.g. a woman whose ovaries are removed early in life is at much higher risk of osteoporosis). ===Excretory System=== Excretory System is responsible for removing wastes, excess water and salt in the urine. Regulates the volume and pH of the internal environment. The human excretory system maintains homeostasis by removing metabolic waste such as water, salt and metabolite concentrations in the blood. The kidneys, which are the primary excretory organs, are major organs of homeostasis because they excrete nitrogenous wastes, and regulate water-salt balance and acid base balance. This section will examine the kidney in details. ==Thermoregulation== The living bodies have been characterized with a number of automated processes, which make them self-sustainable in the natural environment. Among these many processes are that of reproduction, adjustment with external environment, and instinct to live, which are gifted by nature to living beings. The survival of living beings greatly depends on their capability to maintain a stable body temperature irrespective of temperature of surrounding environment. This capability of maintaining body temperature is called thermoregulation. Cold blooded animals, such as reptiles, have somewhat different means of temperature regulation than warm blooded (or homeothermic) animals, such as humans and other mammals. This section is most relevant when considering warm blooded organisms. Body temperature depends on the heat produced minus the heat lost. Heat is lost by radiation, convection, and conduction, but the net loss by all three processes depends on a gradient between the body and the outside. Thus, when the external temperature is low, radiation is the most important form of heat loss. When there is a high external temperature, evaporation is the most important form of heat loss. The balance of heat produced and heat lost maintains a constant body temperature. However, temperature does vary during the day, and this set point is controlled by the hypothalamus. Body temperature is usually about 37.4°C, but does vary during the day by about 0.8°C. The lowest daily temperature is when the person is asleep. Temperature receptors are found in the skin, the great veins, the abdominal organs and the hypothalamus. While the ones in the skin provide the sensation of coldness, the hypothalamic (central core) temperature receptors are the most important. The core body temperature is usually about 0.7-1.0°C higher than axillary or oral temperature. When body temperature drops due to external cold, an important component of protection is vaso-constriction of skin and limb blood vessels. This drops the surface temperature, providing an insulating layer (such as the fat cell layer) between the core temperature and the external environment. Likewise, if the temperature rises, blood flow to the skin increases, maximizing the potential for loss by radiation and evaporation. Thus, if you dilated the skin blood vessels by alcohol ingestion this might give a nice warm glow, but it would increase heat loss (if the external temperature was still low). The major adjustments in cold are to shiver to increase heat production, and constrict blood vessels in the periphery and skin. This helps to minimize heat loss through the skin, and directs blood to the vital internal organs. Besides the daily variation in body temperature, there are other cyclic variations. In women, body temperature falls prior to ovulation and rises by about 1°C at ovulation, largely due to progesterone increasing the set point. Thyroid hormone and pyrogens also increase the set point. The basal metabolic rate (BMR) is about 30 calories/sq m/h. It is higher in children than in adults, partly as a result of different surface area to body mass ratio. Due to this relationship, young children are more likely to drop their temperature rapidly; there is greater temperature variation in children than in adults. It is increased by thyroid hormone and decreased by thyroid hormone lack. Different foods can affect BMR and the Respiratory Quotient of foods differ. Carbohydrate 1.0; Protein = 1.0; Fats = 0.7 ==Body Composition== {| border="1" cellspacing="0" cellpadding="5" align="center" width=100% ! width=33% | ! width=33% | Extracellular Fluid ! width=33% | Cellular Fluid |- | Volume | plasma – 3 litres interstitial – 10 litres | 30 litres |- | Osmolality (mOsm) | 290 | 290 |- | Na <sup>+</sup> (mmol/l) | 140 | 15 |- | Ca <sup>2+</sup> (mmol/l) | 2.2 | &lt; 10 <sup>-6</sup> |- | <p>Cl <sup>-</sup> (mmol/l)</p> | 110 | 10 |- | HCO<sub>3</sub><sup>-</sup> (mmol/l) | 30 | 10 |- | K <sup>+</sup> (mmol/l) | 4 | 150 |- | Mg <sup>2+</sup> (mmol/l) | 1.5 | 15 |- | PO<sub>4 </sub><sup>3+</sup> (mmol/l) | 2 | 40 |- | pH | 7.4 | 7.1 |- | Potential Difference (mV) | {{nbsp}} | -70 |} Blood pressure is expressed as two different numbers. The first number is called the "systolic" blood pressure, and the second is the "diastolic" blood pressure. Systolic blood pressure is the pressure at the time of the cardiac cycle when the heart contracts, forcing blood out(called systole). This is the time of greatest pressure. The Diastolic number comes from the time in the cardiac cycle when pressure is at its lowest, while the heart is refilling with blood. This phase is called Diastole. The blood pressure in large arteries is about 120/80 mmHg. By the time this comes to the capillaries it has partly lost its pulsatile nature and has a pressure of about 35 mmHg. The pressure falls rapidly along the capillary to 15 mmHg at the venous end. This hydrostatic pressure tends to force fluid out of the capillary into the interstitium (the fluid between cells) but balance is maintained by the colloid osmotic pressure (due to protein, principally albumin) of 26 mmHg. Net water movement is small (about 2%) and thus colloid osmotic pressure is the same at the arterial and venous end of the capillary. At the arterial end of the capillary there is a net outward force of about 11 mmHg while at the venous end the net inward force is about 9 mmHg (ie. -9). There is an imbalance between water movement out and movement back in which leads to an imbalance of about 3 litres/day, which is removed as lymph. There is some albumin in the interstitial tissue and it varies in different organs but the concentration may be up to 10 or 20% of plasma. This gives an interstitial oncotic pressure which causes movement of fluid into the interstitium. However the bulk movement of water is not the way nutrients get to cells. Nutrients diffuse down their concentration gradient as the capillary is very permeable to all small molecules. The extracellular volume is approximately thirteen litres in a seventy kg person. Ten litres are in the interstitial space and three litres in plasma. The capillaries are the interface between the two compartments and are permeable to most substances with a molecular weight less than 20,000. Thus nutrients can readily diffuse across the wall and go from blood to cell. Despite the high permeability of the capillary water is maintained inside due to the oncotic pressure and only about 2% of the plasma flowing through the capillary moves across the wall. The blood volume is about 5 litres of which about 3 litres are plasma and about 2 litres red blood cells. The red blood cell volume (haematocrit) is about 43% and the relationship between plasma and blood volume and haematocrit is Blood Volume = Plasma Volume 100/(100 - Ht). Most of the blood is usually in the veins (70%). Capillaries differ in their permeability throughout the body. Brain capillaries are relatively impermeable due to tight junctions between endothelial cells lining the blood vessels. This is known as the blood brain barrier, or BBB, and helps prevent toxins from entering the brain. In order of less permeability: Brain < Muscle < Glomerulus < Liver sinusoids. The capillaries, while having a large surface area, only contain about 7% of the blood volume. The arteries and arterioles contain about 15%. Most of the blood is in the veins. ==Body Fluid Distribution== The cell membrane is a bilipid layer that is permeable to water and lipid soluble particles. However, it is impermeable to charged particles. It is the osmolality controlling factor. Osmolality in the cell and interstitial fluid are the same but the anionic and cationic compositions differ. Made of albumin, the capillary membrane is permeable to everything except proteins. The membranes in different tissues differ. There are fenestrae (or pores) to promote better flow of fluids. Particles weighing over 40,000 Daltons have low permeability. It is the oncotic pressure controlling factor. Capillaries in the brain are relatively impermeable while capillaries in liver sinusoids and glomeruli are extremely permeable. <table border="1" width="100%"> <tr valign="top"> <th width="25%"> <p><br> </p> </th> <th width="25%"> <p>Water (litres)</p> </th> <th width="25%"> <p>Sodium (mmol)</p> </th> <th width="25%"> <p>Potassium (mmol)</p> </th> </tr> <tr valign="top"> <td width="25%"> <p>Total</p> </td> <td width="25%"> <p>43</p> </td> <td width="25%"> <p>3700</p> </td> <td width="25%"> <p>4000</p> </td> </tr> <tr valign="top"> <td width="25%"> <p>Intracellular</p> </td> <td width="25%"> <p>30</p> </td> <td width="25%"> <p>400</p> </td> <td width="25%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="25%"> <p>Bone</p> </td> <td width="25%"> <p>-</p> </td> <td width="25%"> <p>1500</p> </td> <td width="25%"> <p>300</p> </td> </tr> <tr valign="top"> <td width="25%"> <p>Extracellular</p> </td> <td width="25%"> <p>13</p> </td> <td width="25%"> <p>1820</p> </td> <td width="25%"> <p>52</p> </td> </tr> <tr valign="top"> <td width="25%"> <p style="margin-left: 2cm;">Plasma</p> </td> <td width="25%"> <p>3</p> </td> <td width="25%"> <p>420</p> </td> <td width="25%"> <p>12</p> </td> </tr> <tr valign="top"> <td width="25%"> <p style="margin-left: 2cm;">Interstitial</p> </td> <td width="25%"> <p>10</p> </td> <td width="25%"> <p>1400</p> </td> <td width="25%"> <p>40</p> </td> </tr> <tr valign="top"> <td width="25%"> <p>Usual Intake</p> </td> <td width="25%"> <p>1.5</p> </td> <td width="25%"> <p>180</p> </td> <td width="25%"> <p>70</p> </td> </tr> <tr valign="top"> <td width="25%"> <p style="margin-left: 2cm;">Range</p> </td> <td width="25%"> <p>0.7-5</p> </td> <td width="25%"> <p>5-400</p> </td> <td width="25%"> <p>50-400</p> </td> </tr> </table> ==Dehydration and Volume Depletion== [[wikipedia:plasma|Plasma]] [[wikipedia:osmolality|osmolality]] is about 290 mosmol/l contributed mainly by sodium (140 mmol/l) and it's accompanying anions. In dehydration water is lost from the body. The rise in osmolality that occurs in the plasma (also sodium rises) causes water to initially move out of the cells along the osmotic gradient. Thus cell volume is initially reduced but [[wikipedia:homeostatis|cell homeostatic]]<nowiki/>processes subsequently return it towards normal by taking up solute. In dehydration water is removed from the plasma and thus haematocrit and [[wikipedia:albumin|albumin]] which have not been lost will have a higher concentration. In volume depletion water and [[wikipedia:electrolytes|electrolytes]] are both lost and thus there will be little effect on either sodium concentration or osmolality. As osmolality is not altered there will be no force to pull water out of the cells and cell volume is not affected. In volume depletion due to blood loss the haematocrit acutely is the same but the resultant fall in blood pressure causes fluid to come out of the interstitium into the vascular compartment and albumin and haematocrit both decrease. When there is volume depletion due to electrolyte and water loss by vomiting or diarrhoea there will be little or no effect on plasma osmolality or sodium concentration. However there will be a small increase in haematocrit and plasma albumin because the volume is lost from the extracellular space and as blood cells and albumin are not lost this increases the concentration. In volume depletion forces are activated that retain sodium and water in the body. The sodium retention works to a major extent by the [[wikipedia:renin-angiotensin|renin-angiotensin-aldosterone]] system which is activated by a fall in blood pressure caused by volume depletion. In dehydration, the high osmolality activates [[wikipedia:ADH|ADH]] secretion which causes water retention. As there is also volume depletion, this activates the renin-angiotensin-aldosterone system which causes sodium to be retained. This retention would tend to cause a rise in sodium concentration which is already high but the water retention would correct this. There is no effective receptor that monitors and controls Na concentration by altering sodium excretion. Sodium retaining hormones are predominantly regulated by the volume and blood pressure. Initially in blood loss the haematocrit is not altered but falls as fluid comes in from the interstitial space. ==Water Balance== Vasopressin, also called Antidiuretic Hormone (ADH), is the principal compound controlling water balance by decreasing water output by the kidney, and thus decreased urination. It perceives the need by monitoring plasma osmolality and if this is high, vasopressin is secreted. Vasopressin is formed in the hypothalamus and travels down axons to the posterior pituitary where it is stored. Plasma osmolality is the usual factor regulating vasopressin release but other factors alter the release. Pain and emotion release vasopressin together with the other posterior pituitary hormone oxytocin. Alcohol inhibits the release of vasopressin and thus causes a diuresis. A low plasma volume also releases vasopressin which in high concentration can cause vasoconstriction. These different factors can overcome the usual physiological control of osmolality. Osmoreceptors in the hypothalamus monitor the plasma osmolality and send a signal down the axon that releases vasopressin from the posterior pituitary gland. Vasopressin travels by the blood to the kidney and binds to a receptor on the basolateral membrane and by a series of cellular events alters the permeability of the luminal membrane to water, thereby increasing the water permeability of the collecting duct and due to osmotic gradients created in the kidney causes water to be retained by the body (ie. an antidiuresis) which provides the other name for vasopressin of antidiuretic hormone. Vasopressin released by the pituitary binds to a receptor on the basolateral membrane and activates adenyl cyclase which increases cyclic AMP levels in the kidney. This by a series of reactions, some of which involve calcium, cause microfilaments to contract and insert preformed water channels (aquaporins) into the luminal membrane increasing water permeability. A high plasma osmolality is the important physiological stimulus causing vasopressin release. Urea in plasma in a normal person only has a concentration of 6 mmol/l and thus contributes to only a small part of plasma osmolality. Even if plasma urea is elevated to 30 mmol/l it would not have a significant effect on vasopressin release as membranes (including those of the osmoreceptor cells) are permeable to urea. If there is excessive ADH water is retained and the osmolality and sodium concentration would fall (hyponatraemia). If there is no ADH water is lost and osmolality and sodium concentration would rise (hypernatraemia). While ADH is released if the plasma volume falls the most important factor to restore volume is retention of sodium by the renin-angiotensin-aldosterone and other salt retaining systems. ==Sodium Balance== <table border="1" width="100%"> <tr valign="top"> <th width="34%"> <p><br> </p> </th> <th width="33%"> <p>Amount</p> </th> <th width="33%"> <p>Concentration</p> </th> </tr> <tr valign="top"> <td width="34%"> <p>Amount in body</p> </td> <td width="33%"> <p>3700 mmol</p> </td> <td width="33%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Intracellular</p> </td> <td width="33%"> <p>400 mmol</p> </td> <td width="33%"> <p>15 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Extracellular</p> </td> <td width="33%"> <p>1800 mmol</p> </td> <td width="33%"> <p>140 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Plasma</p> </td> <td width="33%"> <p>420 mmol</p> </td> <td width="33%"> <p>140 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Interstitial</p> </td> <td width="33%"> <p>1400 mmol</p> </td> <td width="33%"> <p>140 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Bone</p> </td> <td width="33%"> <p>1500 mmol</p> </td> <td width="33%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p> Amount in diet</p> </td> <td width="33%"> <p><br> </p> </td> <td width="33%"> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Hunter Gatherer</p> </td> <td width="33%"> <p>20 mmol/day</p> </td> <td width="33%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Western</p> </td> <td width="33%"> <p>180 mmol/day</p> </td> <td width="33%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Japanese</p> </td> <td width="33%"> <p>300 mmol/day</p> </td> <td width="33%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Obligatory Need</p> </td> <td width="33%"> <p>&lt; 5 mmol/day</p> </td> <td width="33%"> <p><br> </p> </td> </tr> </table> Sodium is an important cation distributed primarily outside the cell. The cell sodium concentration is about 15 mmol/l but varies in different organs and with an intracellular volume of 30 litres about 400 mmol are inside the cell. The plasma and interstitial sodium is about 140 mmol/l with an extracellular volume of about 13 litres, 1800 mmol are in the extracellular space. The total body sodium, however, is about 3700 mmol as there is about 1500 mmol stored in bones. The usual sodium intake of an Australian diet is about 180 mmol/d but varies widely (50-400 mmol/day) depending on habit and cultural influences. The body has potent sodium retaining mechanisms and even if a person is on 5 mmol Na+/day they can maintain sodium balance. Extra sodium is lost from the body by reducing the activity of the renin angiotensin aldosterone system which leads to increased sodium loss from the body. Sodium is lost through the kidney, sweat and faeces. In states of sodium depletion aldosterone levels increase and in states of sodium excess aldosterone levels decrease. The major physiological controller of aldosterone secretion is the plasma angiotensin II level which increases aldosterone secretion. A high plasma potassium also increases aldosterone secretion because besides retaining Na+ high plasma aldosterone causes K+ loss by the kidney. Plasma Na+ levels have little effect on aldosterone secretion. A low renal perfusion pressure stimulates the release of renin, which forms angiotensin I which is converted to angiotensin II. Angiotensin II will correct the low perfusion pressure by causing constriction of blood vessels and by increasing sodium retention by a direct effect on the proximal renal tubule and by an effect operated through aldosterone. The perfusion pressure to the adrenal gland has little direct effect on aldosterone secretion and the low blood pressure operates to control aldosterone via the renin angiotensin system. In addition to aldosterone and angiotensin II other factors influence sodium excretion. Thus in high sodium states due either to excess intake or cardiac disease (+ others) atrial peptide is secreted from the heart and by a series of actions causes loss of sodium by the kidney. Elevated blood pressure will also tend to cause Na+ loss and a low blood pressure usually leads to sodium retention. Aldosterone also acts on the sweat ducts and colonic epithelium to conserve sodium. When aldosterone has been activated to retain sodium the plasma sodium tends to rise. This immediately causes release of ADH which causes water to be retained, thus retaining Na+ and H2O in the right proportion to restore plasma volume. ==Potassium Balance== <table border="1" width="100%"> <tr valign="top"> <th width="34%"> <p><br> </p> </th> <th width="33%"> <p>Amount</p> </th> <th width="34%"> <p>Concentration</p> </th> </tr> <tr valign="top"> <td width="34%"> <p>Amount in body</p> </td> <td width="33%"> <p>4000 mmol</p> </td> <td width="34%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p> Intracellular</p> </td> <td width="33%"> <p>3000 + mmol</p> </td> <td width="34%"> <p>110 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p> Extracellular</p> </td> <td width="33%"> <p>53 mmol</p> </td> <td width="34%"> <p>4 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p style="margin-left: 2cm;">Plasma</p> </td> <td width="33%"> <p>12 mmol</p> </td> <td width="34%"> <p>4 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p style="margin-left: 2cm;">Interstitial</p> </td> <td width="33%"> <p>40 mmol</p> </td> <td width="34%"> <p>4 mmol/l</p> </td> </tr> <tr valign="top"> <td width="34%"> <p> Bone</p> </td> <td width="33%"> <p>300 mmol</p> </td> <td width="34%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Amount in diet</p> </td> <td width="33%"> <p><br> </p> </td> <td width="34%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p> Hunter Gatherer</p> </td> <td width="33%"> <p>200 &ndash; 400 mmol/day</p> </td> <td width="34%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p> Western</p> </td> <td width="33%"> <p>50 &ndash; 100 mmol/day</p> </td> <td width="34%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="34%"> <p>Obligatory Need</p> </td> <td width="33%"> <p>30 &ndash; 50 mmol/day</p> </td> <td width="34%"> <p><br> </p> </td> </tr> </table> Potassium is predominantly an intracellular ion and most of the total body potassium of about 4000 mmol is inside the cells and the next largest proportion (300-500 mmol) is in the bones. Cell K+ concentration is about 150 mmol/l but varies in different organs. Extracellular potassium is about 4.0 mmol/l and with an extracellular value of about 13 litres, 52 mmol (ie. less than 1.5%) is present here and only 12 mmol in the plasma. In an unprocessed diet potassium is much more plentiful than sodium and is present as an organic salt while sodium is added as NaCl. In a hunter gatherer K+ intake may be as much as 400 mmol/d while in the Western diet it is 70 mmol/d or less if a person has a minimal amount of fresh fruit and vegetables. Processing of foods replaces K+ with NaCl. While the body can excrete a large K+ load it is unable to conserve K+. On a zero K+ intake or in a person with K+ depletion there will still be a loss of K+ of 30-50 mmol/d in the urine and faeces. If there is a high potassium intake, e.g. 100 mmol, this would potentially increase the extracellular K+ level 2 times before the kidney could excrete the extra potassium. The body buffers the extra potassium by equilibrating it within the cells. The acid base status controls the distribution between plasma and cells. A high pH (ie. alkalosis >7.4) favours movement of K+ into the cells whilst a low pH (ie. acidosis) causes movement out of the cell. A high plasma potassium increases aldosterone secretion and this increases the potassium loss from the body, restoring balance. This change of distribution with the acid base status means that the plasma K+ may not reflect the total body content. Thus a person with an acidosis (pH 7.1) and a plasma K+ of 6.5 mmol/l could be depleted of total body potassium. This occurs in diabetic acidosis. Conversely a person who is alkalotic with a plasma K+ of 3.4 mmol/l may have normal total body potassium. ==Calcium and Phosphate Balance== <table border="1" width="100%"> <tr valign="top"> <th width="33%"> <p><br> </p> </th> <th width="33%"> <p>Amount</p> </th> <th width="33%"> <p>Concentration</p> </th> </tr> <tr valign="top"> <td width="33%"> <p>Amount in body</p> </td> <td width="33%"> <p><br> </p> </td> <td width="33%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="33%"> <p> Interstitial (0.9%)</p> </td> <td width="33%"> <p>270 mmol</p> </td> <td width="33%"> <p>9 mmol/l</p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Cytoplasm</p> </td> <td width="33%"> <p>&lt;1 mmol</p> </td> <td width="33%"> <p>10<sup>-6</sup> mmol/l</p> </td> </tr> <tr valign="top"> <td width="33%"> <p style="margin-left: 2cm;">Cell organelles</p> </td> <td width="33%"> <p>270 mmol</p> </td> <td width="33%"> <p>9 mmol/l</p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Extracellular (0.1%)</p> </td> <td width="33%"> <p>30 mmol</p> </td> <td width="33%"> <p>2.2 mmol/l</p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Plasma</p> </td> <td width="33%"> <p>7 mmol</p> </td> <td width="33%"> <p>2.2 mmol/l</p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Interstitial</p> </td> <td width="33%"> <p>23 mmol</p> </td> <td width="33%"> <p>2.2 mmol/l</p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Bone (99%)</p> </td> <td width="33%"> <p>27.5 mol (1.1 kg)</p> </td> <td width="33%"> <p><br> </p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Amount in diet</p> </td> <td width="33%"> <p>1200 mg/day</p> </td> <td width="33%"> <p>40 mmol/day</p> </td> </tr> <tr valign="top"> <td width="33%"> <p> Amount absorbed</p> </td> <td width="33%"> <p>300 mg/day</p> </td> <td width="33%"> <p>10 mmol/day</p> </td> </tr> <tr valign="top"> <td width="33%"> <p> Amount excreted</p> </td> <td width="33%"> <p>300 mg/day</p> </td> <td width="33%"> <p>10 mmol/day</p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Obligatory Need</p> </td> <td width="33%"> <p>100 mg/day</p> </td> <td width="33%"> <p>3 mmol/day</p> </td> </tr> <tr valign="top"> <td width="33%"> <p>Bone =&gt; Plasma</p> </td> <td width="33%"> <p>500 mmol/day</p> </td> <td width="33%"> <p><br> </p> </td> </tr> </table> Calcium is a very important electrolyte. 99% or more is deposited in bone but the remainder is importantly associated with nerve conduction, muscle contraction, hormone release and cell signalling. The plasma concentration of Ca++ is 2.2 mmol/l and phosphate 1.0 mmol/l. The solubility product of Ca and P is close to saturation in plasma. The concentration of Ca++ in the cytoplasm is < 10-6 mmol/l but the concentration of Ca++ in the cell is much higher as calcium is taken up (and is able to be released from) cell organelles. In the Australian diet there is about 1200 mg/d of calcium. Even if it was all soluble it is not all absorbed as it combines with phosphates in the intestinal secretions. In addition absorption is regulated by active Vitamin D and increased amounts increase Ca++ absorption. Absorption is controlled by Vitamin D while excretion is controlled by parathyroid hormones. However, the distribution from bone to plasma is controlled by both the parathyroid hormones and vitamin D. There is a constant loss of calcium by the kidney even if there was none in the diet. The excretion of calcium by the kidney and its distribution between bone and the rest of the body is primarily controlled by parathyroid hormone. Calcium in plasma exists in 3 forms. Ionized, non ionized and protein bound. It is the ionized calcium concentration that is monitored by the parathyroid gland and if low, parathyroid hormone secretion is increased. This acts to increase ionized calcium levels by increasing bone re-absorption, decreasing renal excretion and acting on the kidney to increase the rate of formation of active Vitamin D, and thereby increase gut absorption of calcium. The usual amount of phosphate in the diet is about 1 g/d but not all is absorbed. Any excess is excreted by the kidney and this excretion is increased by parathyroid hormone. Parathyroid hormone also causes phosphate to come out of bone. Plasma phosphate has no direct effect on parathyroid hormone secretion. However if it is elevated it combines with Ca++ decreasing the ionized Ca++ in plasma, thereby increasing parathyroid hormone secretion. ==Case Study== '''Heat stroke and Heat exhaustion''' If you have ever performed heavy manual labor or competed in an athletic event on a very hot day, you may have experienced symptoms of heat exhaustion. Typically these include an elevated core body temperature (above 104F or 40C), profuse sweating, pale color, muscle cramps, dizziness, and in some extreme circumstances, fainting or loss of consciousness. Heat exhaustion occurs as a consequence of disruption of the body's own system of thermoregulation, the means by which it adjusts temperature. Sweating is the principal means through which the body cools itself down, but diverting blood from other regions toward the skin also serves this purpose. Although sweat allows excess heat to dissipate as the moisture reaches the skin surface, it can also have dangerous implications for blood pressure and volume. As sweating increases, blood volume can drop precipitously, meaning that the brain and other body systems are at risk for insufficient oxygen and nutrient supplies. Furthermore, diverting blood away from other systems and towards the skin compounds the changes in blood volume and blood pressure induced through sweating. Heat stroke is a far more serious condition. This happens when the body's temperature rises out of control due to the failure of the thermoregulating system. If the body is unable to reduce its temperature due to outside or physical influences, the brain will start to malfunction. Delirium and loss of consciousness set in. The center of the brain controlling the sweat glands will stop functioning, halting the production of sweat. This causes the body's temperature to rise even faster. Furthermore, with the increase of the body's temperature, the metabolic process will speed up causing even more heat in the body. If left untreated this will result in death. One of the easiest ways to spot heat stroke is the skin. If it is flushed due to the increase of blood flow but dry because the sweat glands have stopped secreting, the individual will need prompt medical attention. ==Other Examples== * Thermoregulation ** The skeletal muscles can shiver to produce heat if the body temperature is too low. ** Non-shivering thermogenesis involves the decomposition of fat to produce heat. ** Sweating cools the body with the use of evaporation. * Chemical regulation ** The pancreas produces insulin and glucagon to control blood-sugar concentration. ** The lungs take in oxygen and give off carbon dioxide, which regulates pH in the blood. ** The kidneys remove urea, and adjust the concentrations of water and a wide variety of ions. Main examples of homeostasis in mammals are as follows: * The regulation of the amounts of water and minerals in the body. This is known as osmoregulation. This happens primarily in the kidneys. * The removal of metabolic waste. This is known as excretion. This is done by the excretory organs such as the kidneys and lungs. * The regulation of body temperature. This is mainly done by the skin. * The regulation of blood glucose level. This is mainly done by the liver and the insulin and glucagon secreted by the pancreas in the body. Most of these organs are controlled by hormones secreted from the pituitary gland, which in turn is directed by the hypothalamus. {{Human_Physiology/ReviewQuestions}} ==Glossary== * '''Control Center or Integration Center:''' receives and processes information from the receptor * '''Effector:''' responds to the commands of the control center by either opposing or enhancing the stimulus * '''Homeostasis:''' refers to stability, balance or equilibrium * '''Negative Feedback:''' a reaction in which the system responds in such a way as to reverse the direction of change * '''Positive Feedback:''' a response is to amplify the change in the variable * '''Receptor:''' receives information that something in the environment is changing [[fr:Cours de physiologie/Contrôle, régulation et homéostasie]] 9ezwlbjjz4lcd21o4474kadjbk4hnqs Engineering Acoustics/Clarinet Acoustics 0 242095 4656922 4651929 2026-08-10T07:07:25Z ShakespeareFan00 46022 4656922 wikitext text/x-wiki The clarinet is a member of the woodwind instruments family that is widely played in orchestra bands or jazz bands. There are different types of clarinets that differ in sizes and pitches: B flat, E flat, bass, contrabass, etc. A clarinet typically provides a flow of air of about 3 kPa acoustic pressure or 3% of one atmosphere. A clarinet consists several acoustical components: * a mouthpiece-reed system: like an energy source, it produces air flow and pressure oscillating components that fill into the instrument. * a cylindrical bore: a resonator that forms the air column and produces the standing wave. * a bell (at the open end of the cylindrical bore) and open tone hole(s): act as radiators. [[File:Clarinet_sy.png|center|650px]] From the energy's point of view, most of the energy injected by the player compensates the thermal and viscous losses to the wall inside the cylindrical bore, while only a fractional part of energy is radiated via bell and open holes and heard by listeners. === Mouthpiece-Reed System === The reed serves as a spring-like oscillator. It converts steady input air flow (DC) into acoustically vibrated air flow (AC). However, it is more than a single-way converter because it also interacts with the resonance of the air column in the instrument, i.e.: * initially, increasing the blowing pressure results in more air flowing into the clarinet bore. * but too much difference of the blowing pressure and the mouthpiece pressure will close the aperture between the reed and the mouthpiece and finally result in zero air flow. This behavior is roughly depicted in Figure 2: [[Image:mouthpiece.png|left|thumb|450px|<div style="text-align: center;">Figure 2: Mouthpiece-Reed system diagram </div>]] The lumped reed model is described by:<ref name="Chatz2009">{{Citation|title=Inverting the Clarinet|publisher=Proc. of the 12th Int. Conference on Digital Audio Effects (DAFx-09), Como, Italy|author=V.Chatziioannou, M.v.Walstijn|date=2009}}</ref> <div style="text-align: center;"><math> m\frac{d^2 y}{dt^2}+ \mu \frac{dy}{dt}+k(\Delta p)y = \Delta p ,</math></div> where <math>y</math> is the reed displacement, <math>m</math> is the mass, <math>\mu</math> is the damping coefficient, <math>k</math> is the stiffness and is treated as a function of <math>\Delta p</math>. Let's go to a bit more details of the relation between the input air flow, the air pressure in the player's mouth as well as that in the mouthpiece chamber. [[Image:ReedResistance.png|right|thumb|550px|<div style="text-align: center;">Figure 3: Input air flow vs. pressure difference (<math>\Delta p = p_{mouth} - p_{chamber}</math>) </div>]] Figure 3 is roughly divided by two parts. The left part shows a resistance-like feature, i.e., the air flow increases with increasing difference between the mouth pressure and the mouthpiece pressure. The right part shows a negative resistance, i.e., the air flow decreases with increasing pressure difference. The AC oscillating only occurs within the right part, so the player must play with a mouth pressure that fall into a certain range. Specifically, the pressure difference must be larger than the minimum pressure corresponding to the beginning of the right part, while no more than the maximum pressure that will shut the reed off. The relation between the volume flow <math> U </math> and the pressure difference <math> \Delta p </math> that across the reed channel is mathematically described by Bernoulli's Equation: {{center|1=<math> U = hw \sqrt{\frac{2|\Delta p|}{\rho}}sgn(\Delta p) ,</math>}} where <math> h </math> is the reed opening, <math> w </math> is the channel's width and <math> \rho </math> is the fluid density. The reed opening <math> h </math> is related to pressure difference <math> \Delta p</math>. Approximately, increasing <math> \Delta p</math> results in decreasing <math> h </math> until the mouthpiece channel be closed and no air flow filled in. The non-linear behavior of the mouthpiece-reed system is complicated and is beyond the scope of linear acoustics. Andrey da Silva (2008) in McGill University simulated the fully coupled fluid-structure interaction in single reed mouthpieces by using a 2-D lattice Boltzmann model, where the velocity fields for different instants are visualized in his [http://www.music.mcgill.ca/~dasilva/lib/exe/fetch.php?media=dasilvahesis.pdf PhD thesis].<ref name="andrey2008">{{Citation|title=Numerical Studies of Aeroacoustic Aspects of Wind Instruments|publisher=McGill University|author=Andrey da Silva|date=2008}}</ref> === Cylindrical Bore === If all tone holes are closed, the main bore of a clarinet is approximately cylindrical and the mouthpiece end can be looked as a closed end. Therefore, the prime acoustical behavior of the main bore is similar to a cylindrical closed-open pipe (a pipe with one closed end and one open end). Also, to further simplify the problem, here we assume the walls of the pipe are rigid, perfectly smooth and thermally insulated. Sound propagation in the bore can be expressed as a sum of numerous normal modes. These modes are produced by wave motion along all three axis in a circular cylindrical coordinate system, namely the wave motion along transverse concentric circles, the wave motion along the transverse radial plane and the plane wave motions along the principal axis of the pipe. However, since transverse modes are only weakly excited in real instruments, we will not discuss them here but only focus on the longitudinal plane wave. ==== Fundamental frequency ==== The natural vibrations of the air column confined by the main bore are supported by a series of standing waves. Even without any mathematical analysis, by inspecting boundary conditions, we can intuitively learn some important physical features of these standing waves. There must be pressure nodes at the open end because the total pressure near the open end is almost the same as the ambient pressure, that means zero acoustical pressure at the open end. Then as we look at the closed end (actually, the end connecting with the mouthpiece chamber is not completely closed, there is always an opening to let the air fill in, but we "pretend" the end is completely closed to simplify the analysis at this moment), since the volume velocity of the air flow is almost zero, the pressure is at its maximum value. The lowest frequency of these standing waves can then be found from the wave with the longest wavelength, which is four times of the length of the instrument bore. Why? Because if we plot one quarter circle of this sinusoid wave and fit it into a closed-open pipe, that the peak amplitude is located at the closed end and the zero amplitude is located at the open end, this is a perfect representation of a pressure standing wave inside a closed-open pipe. Figure 4 depicts the pressure wave and the velocity wave corresponding to the lowest pitch (the 1st resonance frequency) in an ideal closed-open cylindrical pipe. [[Image:c_o_pipe.png|left|thumb|350px|<div style="text-align: center;">Figure 4: Pressure and velocity distribution of f0 in a lossless cylindrical closed-open pipe </div>]] Figure 5 is the normalized pressure and velocity distribution of the 1st, 3rd and 5th resonance frequency of a closed-open pipe of length 148&nbsp;cm. To simplify the question, the reflectance of the open end is simplified to -1 and the viscous losses are not accounted. [[Image:c_o_pipe_pu_f135.png|right|thumb|650px|<div style="text-align: center;">Figure 5: Pressure and velocity distribution of f1, f3 and f5 in a lossless cylindrical closed-open pipe </div>]] ==== Harmonic series ==== In the main bore, standing waves of other higher frequencies are also possible, but their frequencies must be the odd harmonics of the fundamental frequency due to the closed-open restriction. This is also an important factor that shapes the unique timbre of clarinets. Specifically, the series resonance frequencies of the closed-open pipe with length L are given by:<ref name="gary">{{Citation|title=An acoustic analysis of single-reed woodwind instruments with an emphasis on design and performance issues and digital waveguide modeling techniques|publisher=Stanford University|author=Gary Paul Scavone|date=1997}}</ref> :<math> f_n = \frac{(2n-1)c}{4L} </math>, where <math>n=1,2,...</math> For example, for a bore of length of 14.8&nbsp;cm, the first 5 harmonics are: 0.581, 1.7432, 2.9054, 4.0676, 5.2297&nbsp;kHz, respectively. The calculation is based on an ideal cylindrical pipe. For a real clarinet, however, the resonance frequencies are determined not only by the length of the bore, but also by the shape of the bore (which is not a perfect cylinder) and by the fingering of tone holes. Also, due to the [http://en.wikipedia.org/wiki/End_correction end correction] effects caused by radiation impedance at the open end, the effective length of an unflanged open pipe is <math>L_{eff}=L+0.6a</math>,.<ref name="kf">{{Citation|title=Fundamentals of Acoustics, 4th ed.|publisher=John Wiley & Sons, Inc.|author=L.E.Kinsler,A.R.Frey,A.B.Coppens,J.V.Sanders|page=274|date=2000}}</ref> hence the fundamental frequency and the harmonic series are lowered a bit. === Tone Holes === The role of tone holes of clarinets can be viewed from two aspects. Firstly, the open tone holes change the effective length of the main bore and hence the resonance frequencies of the enclosed air column. Each discrete note produced by a clarinet is determined by a specific fingering, i.e., a particular configuration of open and closed tone holes. By using advance playing techniques, a player can play pitch bending (a continuous variation of pitch from one note to the next). These techniques include partially covering a tone hole (for limited pitch bending of notes from G3/175&nbsp;Hz to G4/349&nbsp;Hz and above D5/523&nbsp;Hz) and using vocal tract (for substantial pitch bending above D5/523&nbsp;Hz).<ref name="Chen2009">{{Citation|title=Pitch bending and glissandi on clarinet: Roles of the vocal tract and partial tone hole closure|publisher=J. Acoust. Soc. Am|volume=126(3)|author=J.Chen, J.Smith,J.Wolfe|date=2009}}</ref> The beginning bars of Gershwin's ''Rhapsody in Blue''<ref name="gershwin">[http://www.youtube.com/watch?v=jK_ShoOL2ao], George Gershwin: Rhapsody in Blue - Fantasia 2000</ref> demonstrates a famous example of a large pitch bending over the range up to 2.5 octave. Secondly, the sound radiates from both open holes and the bell end, this makes the clarinets (and other woodwind instruments) have different directivity patterns comparing to another family of wind instruments, the brass instruments, which have a similar open bell end but don't have side holes. We will see how to calculate the acoustic impedance that changed by tone holes later. === Bell === The flaring bell of a clarinet is less important than that of a brass instrument, because open tone holes contribute to sound radiation in addition to the bell end. The main function of bell is ''to form a smooth impedance transition from the interior of the bore to the surrounding air''.<ref name="gary" /> A clarinet is still functional for most notes even without a bell. === Register Holes === The main purpose of a register hole is to disrupt the fundamental but keep higher harmonics as much as possible, such that the frequency of the note will be tripled by opening the register hole. == Wave Propagation in the Bore == === Wave Equation === The sound waves propagation inside the main bore of a clarinet are described by the one-dimensional wave equation: <div style="text-align: center;"><math> \frac{1}{c^2}\frac{\partial^2 P(x,t)}{\partial t^2}=\frac{\partial^2 P(x,t)}{\partial x^2},</math></div> where <math>x</math> is the axis along the propagation direction. The complex solution for the sound pressure wave <math>P(y,t)</math> is: <div style="text-align: center;"><math> P(x,t)=(Ae^{-jkx}+Be^{jkx})e^{j\omega t},</math></div> where <math>k=\omega /c</math> is the wave number, <math>\omega=2\pi f</math>, A and B are the complex amplitudes of the left-,right-going traveling pressure waves, respectively. Another interesting physical parameter is the volume velocity <math>U(x,t)</math>, defined as particle velocity <math>V(x,t)</math> times cross-sectional area <math>s</math>. The complex solution for the volume velocity <math>U(x,t)</math> is given by: <div style="text-align: center;"><math> U(x,t)=\frac{s}{\rho c}(Ae^{-jkx}-Be^{jkx})e^{j\omega t},</math></div> === Acoustic Impedance === [[Image:InputImpedanceLoseless.png|right|thumb|550px|<div style="text-align: center;">Figure 6: The input impedance of an ideal losses cylindrical pipe</div>]] The acoustic input impedance <math>Z_{in}(j\omega)</math> provides very useful information about the acoustic behavior of a clarinet in the frequency domain. The intonation and response can be inferred from the input impedance, e.g., sharper and stronger peaks indicate frequencies that are easiest to play. The input impedance (in the frequency domain) is defined as the ratio of pressure to volume flow at the input end (x=0) of the pipe:<ref name="gary" /> <div style="text-align: center;"><math> Z_{in}(j\omega) = \frac{P(j\omega)|_{x=0}}{U(j\omega)|_{x=0}} = Z_c\frac{Z_L cos(kL) + jZ_c sin(kL)}{jZ_L sin(kL) + Z_c cos(kL)},</math></div> where <math>Z_L</math> is the load impedance at the open end of the clarinet's bore, and <math>Z_c=\rho c/s</math> is the characteristic impedance. At this point, if we want to have a "quick glance" of the input impedance of a clarinet bore, we may neglect the radiation losses and assume zero load impedance at the open end of the main bore to simplify the problem. We may also neglect the sound absorption due to wall losses. With these simplifications, we can calculate the theoretical input impedance of a cylindrical pipe of length <math> L=0.148 </math> meters and radius <math> r = 0.00775 </math> meters by Matlab, which is shown in Figure 6. === Radiation Impedance === [[Image:Reflectance.png|left|thumb|550px|<div style="text-align: center;">Figure 7a: Reflectance magnitude and length correction for open end pipes </div>]] [[Image:Radiation impedance chart.png|left|thumb|550px|<div style="text-align: center;">Figure 7b: Normalized amplitude of radiation impedance for open end pipes </div>]] The load impedance at the open end of the cylindrical bore are represented by radiation impedance <math>Z_r</math>. We assumed <math>Z_r=0</math> previously when we discussed the input impedance of an ideal cylindrical pipe. Although it is very small, the radiation impedance of a real clarinet is obviously not zero. And not only for the open end of the main bore, each open tone hole features its own radiation impedance as well. It is not easy to measure the radiation impedance directly. However, we can obtain the radiation impedance of a pipe from its input impedance <math>Z_{in}</math> by:<ref name="Dalmont2001">{{Citation|title=Radiation impedance of tubes with different flanges: Numerical and experimental investigations|publisher=Journal of Sound and Vibration|author=Jean-Pierre Dalmont|date=2001}}</ref> <math> Z_r = jZ_c tan[atan(Z_{in}/jZ_c)-kL] </math>, where <math>L</math> is the length of the pipe and <math>a</math> is the radius. Alternatively, we can also calculate the radiation impedance from reflection coefficient <math>R</math> at the open end by this relation: <div style="text-align: center;"><math> Z_r = \frac{\rho c}{S} \frac{1+R}{1-R} </math></div> where <math>\rho</math> is the air density, <math>c</math> is the sound speed and <math>S</math>is the cross-section area of the pipe. Levine and Schwinger <ref>{{Citation|title=On the radiation of sound from an unflanged circular pipe|publisher=Physical Review|author=Harold Levine, Julian Schwinger|pages=383–406|volume=73(4)|date=1948}}</ref> gives the theoretical value of <math>R</math> of a tube with a finite wall thickness, where <math>R</math> is calculated by its modulus <math>|R|</math> and the length correction <math>l(\omega)</math> as <math> R = -|R|e^{-2jkl}</math>. The original equation proposed by Levine and Schwinger is rather complicated. To make life easier, as shown in Figure 7a, <math>R</math> and the length correction can be approximated by the rational equation given by Norris and Sheng (1989).<ref>{{Citation|title=Acoustic radiation from a circular pipe with an infinite flange|publisher=Journal of Sound and Vibration|author=A. N. Norris, I. C. Sheng|pages=85–93|volume=135(1)|date=1989}}</ref> The radiation impedance is followed in Figure 7b. <div style="text-align: center;"><math> |R|=\frac{1+0.2ka-0.084(ka)^2}{1+0.2ka+0.416(ka)^2} </math></div> <div style="text-align: center;"><math>l/a=\frac{0.6133+0.027(ka)^2}{1+0.19(ka)^2} </math></div> === Transmission Matrices === ==== Bore section ==== Since the acoustic impedance is so important for the quality and feature of a clarinet, we somehow are interested in knowing the acoustic impedance at any place along the main bore. This problem can be solved by transmission matrices method. We will see the effects of tone holes can also be incorporated into the acoustic impedance network of the instrument by introducing extra series and shunt impedances. The entire bore can be seen as a series cascade cylindrical sections, each section with an input end and a output end, as shown in Figure below: [[Image:BoreTM.svg|center|thumb|450px|<div style="text-align: center;">Figure 8: A bore section </div>]] The pressure and volume velocity at the input end and that at the output end are related by the associated transmission matrix: <div style="text-align: center;"> <math> \begin{bmatrix} P_1 \\ U_1 \end{bmatrix}</math>=<math>\begin{bmatrix} a & b \\ c & d \end{bmatrix}</math><math>\begin{bmatrix} P_2 \\ U_2 \end{bmatrix}</math> where <math>\begin{bmatrix} a & b \\ c & d \end{bmatrix}</math>=<math>\begin{bmatrix} cos (k L) & j Z_c sin (k L) \\ \frac{j}{Z_c} sin(kL) & cos(kL) \end{bmatrix} </math> </div> Thus, <math>Z_1</math> is related to <math>Z_2</math> by: <math>Z_1=\frac{b+aZ_2}{d+cZ_2}</math>. Given the input impedance or the load impedance of a cylindrical pipe, we can calculate the acoustic impedance at any position of the pipe along the propagation axis. ==== Tonehole section ==== Now we deal with the tone holes. The influence of an open or closed tone hole can be represented by a network of shunt and series impedances, as shown in Figure 9. [[Image:Toneholenetwork.svg|right|thumb|550px|<div style="text-align: center;">Figure 9: Shunt and series impedances of the tone hole </div>]] [[Image:Tonehole2.svg|right|thumb|550px|<div style="text-align: center;">Figure 10: Combine the tone hole network with the bore network </div>]] The shunt impedance <math> Z_s</math> and series impedance <math>Z_a</math> of a tone hole of ridius <math>b</math> in a main bore of ridius <math>a</math> are given by:<ref name="fletcher1991">{{Citation|title=The physics of musical instrument|publisher=Springer-Verlag|author=N.H.Fletcher, T.D.Rossing|date=1991}}</ref> <div style="text-align: center;"><math>Z_{sc}=(\rho c/\pi a^2) (a/b)^2 (-jcotkt),</math></div> <div style="text-align: center;"><math>Z_{so}=(\rho c/\pi a^2) (a/b)^2 (jkt_e),</math></div> <div style="text-align: center;"><math>Z_{a}=(\rho c/\pi a^2) (a/b)^2 (-jkt_a),</math></div> where <math>Z_{sc}</math> is the shunt impedance of closed tone hole, <math>Z_{so}</math> is the shunt impedance of open tone hole, <math>Z_{a}</math> is the series impedance of either closed or open tone hole, the value of <math>t_e</math> and <math>t_a</math> are related to the geometrical chimney height. The network of a tone hole can be inserted into the bore section as a zero-length section, as shown in Figure 10, where <math>Z_{r}</math> and <math>Z_{rt}</math> are radiation impedance of the bore and the open tone hole, respectively. In the low frequency approximation, a tone hole can be viewed as a short cylindrical bore, and its radiation impedance can be calculated in a similar way. The input acoustic impedance of the combination <math>Z_{in}=P_{in}/U_{in}</math> can be calculated from the entire network. ==== Wall losses ==== We assumed a perfect rigid and smooth and thermally insulated wall in the previous discussions. The bore of a clarinet is of course not that ideal in the real case, so the losses due to viscous drag and thermal exchange must be taken into account. The full physical detail of thermal-viscous losses is complex and tedious and is beyond the scope of this article. Fortunately, we don't have to go to that detail if we only concerns the final effects, i.e., we just simply replacing the wave number (<math>k=\omega /c</math>) of the transmission matrix coefficients with its complex brother and bingo, our new transmission matrices take care of the wall losses effects automatically. This complex version of wave number is given by:<ref name="fletcher1991"/> <div style="text-align: center;"><math>K=\omega /\nu - j\alpha.</math></div> We notice two interesting differences here. For one, the sound speed <math>c</math> is replaced by "phase velocity" <math>\nu</math>, which is not a constant but rather a function of frequency and geometric radius of the pipe. For two, there is an imaginary term <math> j\alpha</math>, where <math>\alpha</math> is the attenuation coefficient per unit length of path, which is also a function of frequency and geometric radius of the pipe. Both the phase velocity and the attenuation coefficient are subject to environmental parameters such as temperature, air viscosity, specific heat and thermal conductivity of air. The fact that the phase velocity and the attenuation coefficient are frequency related suggests that not only the amplitude, but also the phase of the acoustic impedance is affected by wall losses. In other words, not only the loudness but also the tonality of the instrument is affected by the wall losses. That implies when we design a clarinet, if we calculate the input impedance based on the assumption of an ideal cylindrical pipe with a perfect rigid and smooth wall, the tone of this instrument will be problematic! Using a complex wave number that related to the physics properties of the materials will improve our design, at least will shorten the gap between the theoretical prediction and the real results. The fact that the complex wave number are also influenced by environmental parameters suggests that the tonality of a woodwind instrument may change by environmental factors, say, the room temperature. It would be interesting to compare the dissipated power due to the thermal-viscous losses with the radiated power over the clarinet bore. The comparison over the range from 0&nbsp;Hz to 2000&nbsp;Hz is simulated in Matlab, where the length of the pipe is 0.148 m and the radius is 0.00775 m, the properties of air is chosen at the temperature of 20 degree. We found the dissipated power is much larger than the radiated power for most frequencies excepts small areas around the resonance frequencies. [[Image:Prad.png|center|thumb|550px|<div style="text-align: center;">Figure 10: Dissipated power vs. radiated power</div>]] == Other Useful Links == * [http://www.phys.unsw.edu.au/jw/clarinetacoustics.html Clarinet Acoustics by UNSW]: almost everything about clarinet acoustics and general musical acoustics. This excellent online knowledge base is maintained by The University of New South Wales. * [http://www.phys.unsw.edu.au/jw/clarinetrobot.html NICTA-UNSW Clarinet Robot:] online video shows a robot that can play clarinet and help people to better understand clarinet playing. * [http://kb.mygear.com/index.php/woodwind/clarinet/218-clarinet-acoustics-an-introduction Clarinet Acoustics: An Introduction]. * [http://www.sfoxclarinets.com/baclac_art.htm Basic Clarinet Acoustics:] Yet another online article about basic clarinet acoustics. * [http://co-bw.com/Audio_Impedance_Importance.htm What is Acoustic Impedance and why is it important?] Explain the acoustic impedance in an intuitive way. * [https://ccrma.stanford.edu/~jos/pasp/Digital_Waveguide_Single_Reed_Implementation.html Physical modeling of woodwind instruments.] The physical behavior of a clarinet can be modeled by digital waveguide - a highly efficient time-domain modeling technique. Digital waveguide is used in Yamaha's virtual instruments, such as [http://www.yamahasynth.com/products/tone_generators_samplers/vl70_m/ VL70m]. See J.O.Smith's online book [https://ccrma.stanford.edu/~jos/pasp/ Physical Audio Signal Processing] for more detail about physical modeling technique based on digital waveguide. * [http://web.archive.org/20081010160659/home.comcast.net/~ijfritz/pm_over.htm Physical modeling clarinet:], Electronic implementation of another physical modeling clarinet. == References == {{Reflist}} {{BookCat}} ahnjpdi5tzdcqly6f1twwhei4dgtqtg User:Yggmcgill 2 242180 4656991 4652455 2026-08-10T08:28:05Z ShakespeareFan00 46022 4656991 wikitext text/x-wiki {{Engineering Acoustics}} [[Engineering_Acoustics | Back to main page]] =Outdoor Sound Propagation= ==Introduction== Outdoor sound propagation or atmospheric sound propagation is of special interest in environmental acoustics which is concerned with the control of sound and vibrations in an outdoor environment. Outdoor sound propagation is affected by spreading, absorption, ground configuration, terrain profile, obstacles, pressure, wind, turbulence, temperature, humidity, etc. The subjects covered in this page are speed of sound in air, decibel scales, spreading losses, attenuation by atmospheric absorption, attenuation over the ground, refraction, diffraction and sound reduction examples. ==Speed of sound in air{{ref|FundamentalsofAcoustics2000}}== Sound speed in air varies with pressure, density, temperature, humidity, wind speed, etc. The expression for the speed of sound <math> c </math> in a fluid is given in terms of its thermodynamic properties. The equation is given by <div style="text-align: center;"> <math> c^2 =\ \left( \frac{ \partial P}{ \partial \rho} \right) _{adiabat} </math> </div> where <math> \rho </math> is the fluid density and <math> P </math> is the fluid pressure. This equation can be simplified for an ideal gas leading to <div style="text-align: center;"> <math> c^2 = \gamma \frac{P_0}{\rho_0} </math> </div> where <math> \gamma </math> is the ratio of heat capacities For air at 0°C and 1 atm, the speed of sound is <div style="text-align: center;"> <math> c_0 = 331.5 \ \mbox{m/s} </math> </div> For air at 20°C and 1 atm, the speed of sound is <div style="text-align: center;"> <math> c_0 = 343 \ \mbox{m/s} </math> </div> An equivalent expression for the speed of sound in terms of the temperature in Kelvin <math> T_K </math> is <div style="text-align: center;"> <math> c^2 = \ \gamma r T_{K} </math> </div> where <math> r </math> is the specific gas constant. ==Decibel scale{{ref|FundamentalsofAcoustics2000}}== The decibel dB or dB SPL (Sound pressure level) in acoustics is used to quantify sound pressure levels and intensities relative to a reference on a logarithmic scale. The intensity level <math> IL </math> of a sound intensity <math> I </math> is defined by <div style="text-align: center;"> <math> IL = 10 \log_{10} \bigg(\frac{I}{I_{ref}}\bigg) \mbox{ dB} \, </math> </div> where <math> I_{ref} </math> is a reference intensity. For air, the pressure reference is taken to be <div style="text-align: center;"> <math> P_{ref} = 20 \cdot 10^{-5} \mbox{ Pa} \ </math>, </div> the lowest sound pressure a human can hear, also called the threshold of hearing. Since the intensity carried by a traveling wave is proportional to the square of the pressure amplitude, the intensity level can be expressed as the sound pressure level <div style="text-align: center;"> <math> SPL = 10 \log_{10} \bigg(\frac{{P_e}^2}{{P_{ref}}^2}\bigg) = 20 \log_{10} \bigg(\frac{P_e}{P_{ref}}\bigg) \mbox{ dB} \, </math> </div> where <math> P_e </math> is the measured effective pressure amplitude of the sound wave and <math> P_{ref} </math> is the reference effective pressure amplitude. The effective sound pressure is the root mean square of the instantaneous sound pressure over a given interval of time. <math> SPL </math> is also called sound level <math> L_p </math> [[File:Plot_of_decibel_and_inverse.png|center]] <div style="text-align: center;"> '''Figure 2 - Plot of decibel and inverse''' </div> ==Sound attenuation{{ref|HandbookofAcoustics1998}}== Study of outdoor sound activity requires the definition of a source and a receiver in order to explain the different phenomenon involved in the process. The sound attenuation due to its propagation in the atmosphere can be described in terms of its total attenuation <math> A_{T} </math> in dB between the source and the receiver. The total attenuation <math> A_{T} </math> can be expressed as <div style="text-align: center;"> <math> A_{T} = 20 \log_{10} \bigg( \frac{P_{s}}{P_{r}} \bigg) \mbox{ dB} \, </math> </div> where <math> L_{ps} </math> is the sound pressure level of the root-mean-square (rms) sound pressure <math> P_s </math> at a distance <math> s </math> near the source and <math> L_{pr} </math> is the corresponding sound pressure level with an rms sound pressure <math> P_r </math> measured at a distance r from the source. The total attenuation is defined as the sum of the attenuation due to geometric spreading <math> A_s </math>, the attenuation due to atmospheric absorption <math> A_a </math>, and the excess attenuation due to all other effects <math> A_e </math>, namelly <div style="text-align: center;"> <math> A_{T} = A_s + A_a + A_e \mbox{ dB} \, </math> </div> The excess attenuation can include attenuation from the ground in a homogeneous atmosphere <math> A_g </math>, refraction by a non-homogeneous atmosphere, attenuation by diffraction and reflection by a barrier or obstacle, and scattering or diffraction effects due to turbulence. The values of attenuation are normally positive. ==Spreading losses{{ref|HandbookofAcoustics1998}}== The geometric spreading loss <math> A_s </math>, in dB, between two points at a distance <math> r_1 </math> and <math> r_2 </math> from a source can be expressed as <div style="text-align: center;"> <math> A_{s} = 20 g \log_{10} \bigg( \frac{r_{2}}{r_{1}} \bigg) \quad \mbox{dB} </math> </div> where <math> g </math> is a constant given by the geometry of the problem. <math> g = 0 </math> for plane wave propagation (uniform pipe, <math> g = 0.5 </math> for cylindrical propagation from a line source, and <math> g = 1 </math> for spherical wave propagation from a point source. It is noticed that for spherical wave propagation from a point source, doubling the distance from the source (<math> r_2 = 2 r_1 </math>) corresponds to a loss of <math> 6 \mbox{dB} </math>. ==Attenuation by atmospheric absorption{{ref|HandbookofAcoustics1998}} {{ref|AtmosphericabsorptionofsoundFurtherdevelopments1995}} {{ref|AtmosphericabsorptionofsoundUpdate1990}}== Absorption of sound through the atmosphere is due to shear viscosity, thermal conductivity or heat dissipation, and molecular relaxation due to oxygen, nitrogen, and water vapor vibrational, rotational, and translational energy. The attenuation <math> A_a </math>, in dB due to atmospheric absorption can be expressed as <div style="text-align: center;"> <math> A_{a} = -20 \log_{10} \left[ \frac{P(r)}{P(0)} \right] = -20 \log_{10} [ \exp (- \alpha r) ] = a r \quad \mbox{dB} </math> </div> where <math> r </math>, in meters, is the path length of the traveling wave, <math> P(r) </math> is the sound pressure after traveling the distance <math> r </math>, <math> P(0) </math> is the initial sound pressure at <math> r = 0 </math>, <math> \alpha </math> is the attenuation coefficient in Nepers per meter, and <math> a </math> is the attenuation coefficient in dB per meter. Spreading losses are dependent on the pressure, relative humidity and frequency for air in still atmosphere. The attenuation coefficient <math> \alpha </math> for pure tone frequencies can be expressed as <div style="text-align: center;"> <math> \frac{a}{p_s} = \frac{20}{\ln 10}\ \frac{F^2}{p_{s0}} \left \{ 1.84 \times 10^{-11} \left( \frac{T}{T_0} \right)^{1/2} + \left( \frac{T}{T_0} \right)^{-5/2} \left[ 0.01278 \frac{e^{-2239.1/T}}{F_{r,O}+F^2/F_{r,O}} + 0.1068\frac{e^{-3352/T}}{F_{r,N}+F^2/F_{r,N}} \right] \right \} \quad \frac{\mathrm{dB}}{\mathrm{m} \cdot \mathrm{atm}} \, </math> </div> with <math> F = f/p_s </math>, <math> F_{r,O} = f_{r,O}/p_s </math>, and <math> F_{r,N} = f_{r,N}/p_s </math>, and where <math> f </math> is the acoustic frequency in Hz, <math> p_s </math> is the atmospheric pressure, <math> p_{s0} </math> is the reference atmospheric pressure (1 atm), <math> T </math> is the atmospheric temperature in K, <math> T_0 </math> is the reference temperature (293.15 K), <math> f_{r,O} </math> is the relaxation frequency of molecular oxygen and <math> f_{r,N} </math> is the relaxation frequency of molecular nitrogen. Scaled relaxation frequencies for oxygen and nitrogen formulas from experimental measurements are given by <div style="text-align: center;"> <math> F_{r,O} = \frac{1}{p_{s0}} \left( 24 + 4.04 \times 10^4 h \frac{0.02 + h}{0.391 + h} \right) \quad \frac{\mathrm{Hz}}{\mathrm{atm}} </math> </div> and <div style="text-align: center;"> <math> F_{r,N} = \frac{1}{p_{s0}} \left( \frac{T_0}{T} \right)^{1/2} \left( 9 + 280 h \times exp \left\{ -4.17 \left[ \left( \frac{T_0}{T} \right)^{1/3} - 1 \right] \right\} \right) \quad \frac{\mathrm{Hz}}{\mathrm{atm}} </math> </div> where <math> h </math> is the molar concentration of water vapor (absolute humidity) in percent. <math> h </math> is calculated from the relative humidity <math> h_r </math> as follows <div style="text-align: center;"> <math> h = p_{s0} \left( \frac{h_r}{p_s} \right) \left( \frac{p_{sat}}{p_{s0}} \right) \quad \% </math> </div> where the saturated vapor pressure <math> p_{sat} </math> is given by <div style="text-align: center;"> <math> p_{sat} = p_{s0} \times 10^{ -6.8346 (T_{01}/T)^{1.261} + 4.6151 } \quad \mbox{atm} </math> </div> with <math> T_{01} = 273.16 \mbox{K} </math>. The formulas, are valid for a pressure under 2 atm, a temperature under 330 K and up to an altitude of 3 km. One can see from the graph and formulas that the absorption coefficient is higher for a higher frequency and/or a higher pressure. The attenuation coefficient <math> \alpha </math> for pure tone frequencies is shown in Figure 1 for air at 20°C as a function of frequency per atmosphere and relative humidity per atmosphere. <div style="text-align: center;"> [[File:Atmospheric sound absorption coefficient 2.svg|center|600px]] </div> <div style="text-align: center;"> '''Figure 1 - Attenuation coefficient for atmospheric absorption per atmosphere as a function of frequency and relative humidity, for air at 20°C.{{ref|AtmosphericabsorptionofsoundFurtherdevelopments1995}} {{ref|AtmosphericabsorptionofsoundUpdate1990}}''' </div> Values of attenuation can also be obtained from Table 1 for different temperatures, relative humidities and pure tone frequencies at 1 atmosphere. {{center/top}} '''Table 1 - Atmospheric attenuation coefficient <math> a </math> (dB/km) at selected frequencies at 1 atm{{ref|HandbookofAcoustics1998}}''' {| class="wikitable" ! Temperature ! Relative humidity (%) ! 62.5 Hz ! 125 Hz ! 250 Hz ! 500 Hz ! 1000 Hz ! 2000 Hz ! 4000 Hz ! 8000 Hz |- |rowspan="6"|30°C | 10 || 0.362 || 0.958 || 1.82 || 3.40 || 8.67 || 28.5 || 96.0 || 260 |- | 20 || 0.212 || 0.725 || 1.87 || 3.41 || 6.00 || 14.5 || 47.1 || 165 |- | 30 || 0.147 || 0.543 || 1.68 || 3.67 || 6.15 || 11.8 || 32.7 || 113 |- | 50 || 0.091 || 0.351 || 1.25 || 3.57 || 7.03 || 11.7 || 24.5 || 73.1 |- | 70 || 0.065 || 0.256 || 0.963 || 3.14 || 7.41 || 12.7 || 23.1 || 59.3 |- | 90 || 0.051 || 0.202 || 0.775 || 2.71 || 7.32 || 13.8 || 23.5 || 53.5 |- |rowspan="6"|20°C | 10 || 0.370 || 0.775 || 1.58 || 4.25 || 14.1 || 45.3 || 109 || 175 |- | 20 || 0.260 || 0.712 || 1.39 || 2.60 || 6.53 || 21.5 || 74.1 || 215 |- | 30 || 0.192 || 0.615 || 1.42 || 2.52 || 5.01 || 14.1 || 48.5 || 166 |- | 50 || 0.123 || 0.445 || 1.32 || 2.73 || 4.66 || 9.86 || 29.4 || 104 |- | 70 || 0.090 || 0.339 || 1.13 || 2.80 || 4.98 || 9.02 || 22.9 || 76.6 |- | 90 || 0.071 || 0.272 || 0.966 || 2.71 || 5.30 || 9.06 || 20.2 || 62.6 |- |rowspan="6"|10°C | 10 || 0.342 || 0.788 || 2.29 || 7.52 || 21.6 || 42.3 || 57.3 || 69.4 |- | 20 || 0.271 || 0.579 || 1.20 || 3.27 || 11.0 || 36.2 || 91.5 || 154 |- | 30 || 0.225 || 0.551 || 1.05 || 2.28 || 6.77 || 23.5 || 76.6 || 187 |- | 50 || 0.160 || 0.486 || 1.05 || 1.90 || 4.26 || 13.2 || 46.7 || 155 |- | 70 || 0.122 || 0.411 || 1.04 || 1.93 || 3.66 || 9.66 || 32.8 || 117 |- | 90 || 0.097 || 0.348 || 0.996 || 2.00 || 3.54 || 8.14 || 25.7 || 92.4 |- |rowspan="6"|0°C | 10 || 0.424 || 1.30 || 4.00 || 9.25 || 14.0 || 16.6 || 19.0 || 26.4 |- | 20 || 0.256 || 0.614 || 1.85 || 6.16 || 17.7 || 34.6 || 47.0 || 58.1 |- | 30 || 0.219 || 0.469 || 1.17 || 3.73 || 12.7 || 36.0 || 69.0 || 95.2 |- | 50 || 0.181 || 0.411 || 0.821 || 2.08 || 6.83 || 23.8 || 71.0 || 147 |- | 70 || 0.151 || 0.390 || 0.763 || 1.61 || 4.64 || 16.1 || 55.5 || 153 |- | 90 || 0.127 || 0.367 || 0.760 || 1.45 || 3.66 || 12.1 || 43.2 || 138 |} {{center/end}} The effective atmospheric attenuation of a constant-percentage band of a broadband noise is normally less than for pure-tone sound due to the finite bandwidth and slope of the filter skirts.{{ref|HandbookofAcoustics1998}} Some atmospheric attenuation also occurs in fog and precipitation,{{ref|SoundpropagationintheatmosphereAhistoricalreview1977}} in dust in air,{{ref|Attenuationanddispersionofacousticenergybyatmosphericdust1973}} and at frequencies below 10 Hz due to electromagnetic radiation of moist air molecules.{{ref|RadiativeAbsorptionofSoundbyWaterVaporintheAtmosphere1966}} ==Reflection from the surface of a solid{{ref|HyperPhysics}}== When a wavefront comes in to contact with a solid surface, it is reflected away from the surface. The angle of reflection of the sound wave is equal to the angle of incidence of the wave. Reflected waves can interfere with incident waves causing constructive and destructive interference. This can cause a standing wave pattern and resonance because the incident and reflected waves travel in opposite directions. Near the surface of the solid, sound pressure intensity is enhanced because the pressure of the reflected wave adds up to the pressure of the incident wave. ==Attenuation over the ground{{ref|HandbookofAcoustics1998}}== Sound propagation near the ground is affected by absorption and reflection of the sound waves by the ground. Sound can either leave a source and follow a straight path to a receiver or be reflected and/or absorbed by the ground. How the sound wave reacts with the ground is influenced by the ground impedance which relates pressure and speed. ==Refraction{{ref|HyperPhysics}}{{ref|HandbookofAcoustics1998}}== Refraction of sound is normally defined as the deviation of a sound wave leaving a fluid and entering another one with different speed of sound. For outdoor sound propagation refraction of sound waves causes the waves to bend due to a change in the speed of sound. This change in the speed of sound is caused by strong wind speeds and temperature gradients. An upward refraction reduces sound levels near the ground, while a downward refraction helps sound travel over obstacle such as noise barriers. A downward refraction will occur if air above the earth is warmer than the air at the surface. The warmer air above earth will have a faster speed of sound causing the wave to bend back towards the earth. The same phenomena will occur for hot air over a cold ground. ==Diffraction{{ref|HyperPhysics}}{{ref|HandbookofAcoustics1998}}== Diffraction is the mechanism by which sound can propagate and spread out beyond an opening and around obstacles. The traveling waves tend to bend around obstacles. Diffraction is related to the wavelength of the sound produced by the source. It is stronger for lower frequencies. High frequencies propagate in a more directional manner. This is why low frequencies can be heard better from behind obstacles and in shadows zones. If a wavefront travels towards a small opening, diffraction will cause the waves to spread out past the opening in a spherical manner. When a wavefront that passes through a small obstacle, compared to the wavelength, diffraction will cause the sound waves to bend and the wavefront will reconstruct past the obstacle. This means that one could not identify the presence of that small obstacle from sound measurement far from the obstacle and the source. ==Sound reduction== Several mechanisms can be used in order to reduce noise in outdoor environment. Different noise barriers used to reduce highway noise are shown in Figure 2. Another way of reducing noise is to use vegetation. Figure 3 shows pictures of vertical vegetation walls. {| class="wikitable" style="margin: auto;" ! [[File:Geluidswal_123.jpg|center|250px]] ! [[File:TullamarineFwy.jpg|center|250px]] ! [[File:Slunečný_vršek,_K_Horkám_-_Bratislavská.jpg|center|250px]] |} <div style="text-align: center;"> '''Figure 2 - Different types of noise barriers''' </div> {| class="wikitable" style="margin: auto;" ! [[File:Jardin_vertical_de_Plaza_del_Pericón,_Málaga..JPG|center|250px]] ! [[File:Mur_vegetal_avignon_nuit1.jpg|center|250px]] ! [[File:CaixaForumMadridyJardinVertical.jpg|center|250px]] |} <div style="text-align: center;"> '''Figure 3 - Vertical vegetation walls''' </div> ==Useful Websites== * {{note|HyperPhysics}} [http://hyperphysics.phy-astr.gsu.edu/hbase/hframe.html HyperPhysics], Section on the basics of sound propagation * [http://apmr.matelys.com Acoustical Porous Material Recipes] ==References and further reading== References are presented in order of date of publication. '''General''' # J. E. Piercy, T. F. W. Embleton, L. C. Sutherland, [http://dx.doi.org/10.1121/1.381455 ''Review of noise propagation in the atmosphere''], J. Acoust. Soc. Am. Volume 61, Issue 6, pp. 1403-1418, June 1977 # Delany, {{note|SoundpropagationintheatmosphereAhistoricalreview1977}} [http://md1.csa.com/partners/viewrecord.php?requester=gs&collection=TRD&recid=A7812369AH&q=&uid=790070113&setcookie=yes ''Sound propagation in the atmosphere - A historical review''], Acustica. Vol. 38, pp. 201-223, October 1977 # J. E. Piercy, T. F. W. Embleton, [http://dx.doi.org/10.1121/1.386007 ''Review of sound propagation in the atmosphere (A)''], J. Acoust. Soc. Am. Volume 69, Issue S1, pp. S99-S99, May 1981 # Malcolm J. Crocker, {{note|HandbookofAcoustics1998}} [http://ca.wiley.com/WileyCDA/WileyTitle/productCd-047125293X.html ''Handbook of Acoustics''], John Wiley & Sons, February 1998 # E. Kinsler, R. Frey, B. Coppens, V. Sanders, {{note|FundamentalsofAcoustics2000}} [http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0471847895.html ''Fundamentals of Acoustics''], 4th Ed., John Wiley & Sons, New York, 2000 '''Speed of sound''' # George S. K. Wong, [http://dx.doi.org/10.1121/1.393664 ''Speed of sound in standard air''], J. Acoust. Soc. Am. Volume 79, Issue 5, pp. 1359-1366, May 1986 '''Absorption of sound in the atmosphere''' # James B. Calvert, J. W. Coffman and C. W. Querfeld, {{note|RadiativeAbsorptionofSoundbyWaterVaporintheAtmosphere1966}}[http://dx.doi.org/10.1121/1.1909924 ''Radiative Absorption of Sound by Water Vapor in the Atmosphere''], J. Acoust. Soc. Am. Volume 39, Issue 3, pp. 532-536, March 1966 # Henley and Hoidale, {{note|Attenuationanddispersionofacousticenergybyatmosphericdust1973}} [http://dx.doi.org/10.1121/1.1913597 ''Attenuation and dispersion of acoustic energy by atmospheric dust''], J. Acoust. Soc. Am. Volume 54, Issue 2, pp. 437-445, August 1973 # L. C. Sutherland, J. E. Piercy, H. E. Bass, L. B. Evans, [http://dx.doi.org/10.1121/1.1914056 ''Method for calculating the absorption of sound by the atmosphere''], J. Acoust. Soc. Am. Volume 56, Issue S1, pp. S1-S1, November 1974 # Bass, Sutherland, Piercy, Evans, [http://adsabs.harvard.edu/abs/1984papm...17..145B ''Absorption of sound by the atmosphere''], Physical acoustics: Principles and methods. Volume 17 (A85-28596 12-71). Orlando, FL, Academic Press, Inc., p. 145-232, 1984 # Bass, Sutherland, Zuckerwar, {{note|AtmosphericabsorptionofsoundUpdate1990}} [http://dx.doi.org/10.1121/1.400176 ''Atmospheric absorption of sound: Update''], J. Acoust. Soc. Am. Volume 88, Issue 4, pp. 2019-2021, October 1990 # Bass, Sutherland, Zuckerwar, Blackstock, Hester, {{note|AtmosphericabsorptionofsoundFurtherdevelopments1995}} [http://dx.doi.org/10.1121/1.412989 ''Atmospheric absorption of sound: Further developments''], J. Acoust. Soc. Am. Volume 97, Issue 1, pp. 680-683, January 1995 '''Attenuation over the ground''' # T. F. W. Embleton, J. E. Piercy, and N. Olson, [http://dx.doi.org/10.1121/1.380882 ''Outdoor sound propagation over ground of finite impedance''], J. Acoust. Soc. Am. Volume 59, Issue 2, pp. 267-277, February 1976 # L. N. Bolen and H. E. Bass, [http://dx.doi.org/10.1121/1.385618 ''Effects of ground cover on the propagation of sound through the atmosphere''], J. Acoust. Soc. Am. Volume 69, Issue 4, pp. 950-954, April 1981 # T. F. W. Embleton, J. E. Piercy, and G. A. Daigle, [http://dx.doi.org/10.1121/1.390029 ''Effective flow resistivity of ground surfaces determined by acoustical measurements''], J. Acoust. Soc. Am. Volume 74, Issue 4, pp. 1239-1244, October 1983 # K.B. Rasmussen, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-4951FTN-34&_user=458507&_coverDate=01/08/1985&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=f2690d76941095d094044037b16d2cac&searchtype=a ''On the effect of terrain profile on sound propagation outdoors''], Journal of Sound and Vibration, Volume 98, Issue 1, Pages 35-44, January 1985 # Keith Attenborougha, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1S-480TYH1-4&_user=458507&_coverDate=12/31/1988&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=9a9af1c469e7332d451849b6e503f888&searchtype=a ''Review of ground effects on outdoor sound propagation from continuous broadband sources''], Applied Acoustics, Volume 24, Issue 4, Pages 289-319, 1988 # H. M. Hess, K. Attenborough, and N. W. Heap, [http://dx.doi.org/10.1121/1.399325 ''Ground characterization by short-range propagation measurements''], J. Acoust. Soc. Am. Volume 87, Issue 5, pp. 1975-1986, May 1990 # K. Attenborough and S. Taherzadeh, H. E. Bass, X. Di, and R. Raspet, G. R. Becker and A. Güdesen, A. Chrestman, G. A. Daigle and A. L'Espérance, Y. Gabillet, K. E. Gilbert, Y. L. Li and M. J. White, P. Naz, J. M. Noble, H. A. J. M. van Hoof, [http://dx.doi.org/10.1121/1.412302 ''Benchmark cases for outdoor sound propagation models''], J. Acoust. Soc. Am. Volume 97, Issue 1, pp. 173-191, January 1995 '''Vegetation''' # Donald Aylor, [http://dx.doi.org/10.1121/1.1912830 ''Noise Reduction by Vegetation and Ground''], J. Acoust. Soc. Am. Volume 51, Issue 1B, pp. 197-205, January 1972 # R. Bullen, F. Fricke, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-494TCKB-RR&_user=10&_coverDate=01/08/1982&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=5ef28112ff85daae1eef4d2012eb596d&searchtype=a ''Sound propagation through vegetation''], Journal of Sound and Vibration, Volume 80, Issue 1, 8 January 1982, Pages 11-23, may 1981 # Margaret A. Price, Keith Attenborough, Nicholas W. Heap, [http://dx.doi.org/10.1121/1.397150 ''Sound attenuation through trees: Measurements and models''], J. Acoust. Soc. Am. Volume 84, Issue 5, pp. 1836-1844, November 1988 '''Barriers and screens''' # Maekawa, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1S-47YVS5B-3B&_user=10&_coverDate=07/31/1968&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=b5c28c27a563aab4bd2a9b11b1df7dfe&searchtype=a ''Noise reduction by screens''], Applied Acoustics, Volume 1, Issue 3, Pages 157-173, July 1968 # Jonasson, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-494TFKS-JF&_user=10&_coverDate=05/08/1972&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=0b12506daf94fff64cf4b7cadfd6341b&searchtype=a ''Sound reduction by barriers on the ground''], Journal of Sound and Vibration, Volume 22, Issue 1, Pages 113-126, May 1972 # Kurze, [http://dx.doi.org/10.1121/1.1914528 ''Noise reduction by barriers''], J. Acoust. Soc. Am. Volume 55, Issue 3, pp. 504-518, March 1974 # Isei, Embleton, Piercy, [http://dx.doi.org/10.1121/1.383788 ''Noise reduction by barriers on finite impedance ground''], J. Acoust. Soc. Am. Volume 67, Issue 1, pp. 46-58, January 1980 # Li, Law, Kwok, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-4S9R886-1&_user=458507&_coverDate=08/05/2008&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_rerunOrigin=scholar.google&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=206b0e53ab7d82d56d4036bb3e206c03&searchtype=a ''Absorbent parallel noise barriers in urban environments''], Journal of Sound and Vibration Volume 315, Issues 1-2, Pages 239-257, August 2008 '''Absorbent materials''' # M.E. Delany and E.N. Bazley, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1S-47YVRXD-Y&_user=10&_coverDate=04/30/1970&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=5ec98ba630e81366b81f0f9a4569c742&searchtype=a ''Acoustical properties of fibrous absorbent materials''], Applied Acoustics, Volume 3, Issue 2, April 1970, Pages 105-116 # Attenborough, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TVP-46T4HKP-18&_user=458507&_coverDate=02/28/1982&_alid=1545485037&_rdoc=2&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=5540&_sort=r&_st=13&_docanchor=&view=c&_ct=737&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=6dfd423c96deec00892ac5c058a44b45&searchtype=a ''Acoustical characteristics of porous materials''], Physics Reports Volume 82, Issue 3, Pages 179-227, February 1982 # Lauriksa, Copsa, Verhaegena, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-4951DFK-DH&_user=458507&_coverDate=05/22/1989&_alid=1545485037&_rdoc=5&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=6923&_sort=r&_st=13&_docanchor=&view=c&_ct=737&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=620146f8c9ca2cec53f5d40490a4da31&searchtype=a ''Acoustical properties of elastic porous materials''], Journal of Sound and Vibration Volume 131, Issue 1, Pages 143-156, 22 May 1989 ixbfwp76zj7k3iwl91wefsxzi9t71ai Engineering Acoustics/Outdoor Sound Propagation 0 243572 4656940 4652486 2026-08-10T07:23:00Z ShakespeareFan00 46022 4656940 wikitext text/x-wiki {{Engineering Acoustics}} [[Engineering Acoustics|Back to main page]] ==Introduction== Outdoor sound propagation or atmospheric sound propagation is of special interest in environmental acoustics which is concerned with the control of sound and vibrations in an outdoor environment. Outdoor sound propagation is affected by spreading, absorption, ground configuration, terrain profile, obstacles, pressure, wind, turbulence, temperature, humidity, etc. The subjects covered in this page are speed of sound in air, decibel scales, spreading losses, attenuation by atmospheric absorption, attenuation over the ground, refraction, diffraction and sound reduction examples. ==Speed of sound in air{{ref|FundamentalsofAcoustics2000}}== Sound speed in air varies with pressure, density, temperature, humidity, wind speed, etc. The expression for the speed of sound <math> c </math> in a fluid is given in terms of its thermodynamic properties. The equation is given by <div style="text-align: center;"> <math> c^2 =\ \left( \frac{ \partial P}{ \partial \rho} \right) _{adiabat} </math> </div> where <math> \rho </math> is the fluid density and <math> P </math> is the fluid pressure. This equation can be simplified for an ideal gas leading to <div style="text-align: center;"> <math> c^2 = \gamma \frac{P_0}{\rho_0} </math> </div> where <math> \gamma </math> is the ratio of heat capacities For air at 0&nbsp;°C and 1 atm, the speed of sound is <div style="text-align: center;"> <math> c_0 = 331.5 \ \mbox{m/s} </math> </div> For air at 20&nbsp;°C and 1 atm, the speed of sound is <div style="text-align: center;"> <math> c_0 = 343 \ \mbox{m/s} </math> </div> An equivalent expression for the speed of sound in terms of the temperature in Kelvin <math> T_K </math> is <div style="text-align: center;"> <math> c^2 = \ \gamma r T_{K} </math> </div> where <math> r </math> is the specific gas constant. ==Decibel scale{{ref|FundamentalsofAcoustics2000}}== The decibel dB or dB SPL (Sound pressure level) in acoustics is used to quantify sound pressure levels and intensities relative to a reference on a logarithmic scale. The intensity level <math> IL </math> of a sound intensity <math> I </math> is defined by <div style="text-align: center;"> <math> IL = 10 \log_{10} \bigg(\frac{I}{I_{ref}}\bigg) \mbox{ dB} \, </math> </div> where <math> I_{ref} </math> is a reference intensity. Since the intensity carried by a traveling wave is proportional to the square of the pressure amplitude, the intensity level can be expressed as the sound pressure level <div style="text-align: center;"> <math> SPL = 10 \log_{10} \bigg(\frac{{P_e}^2}{{P_{ref}}^2}\bigg) = 20 \log_{10} \bigg(\frac{P_e}{P_{ref}}\bigg) \mbox{ dB} \, </math> </div> where <math> P_e </math> is the measured effective pressure amplitude of the sound wave and <math> P_{ref} </math> is the reference effective pressure amplitude. The effective sound pressure is the root mean square of the instantaneous sound pressure over a given interval of time. <math> SPL </math> is also called sound level <math> L_p </math>. For air, the pressure reference is taken to be <div style="text-align: center;"> <math> P_{ref} = 20 \cdot 10^{-6} \mbox{ Pa} \ </math>, </div> the lowest sound pressure a human can hear, also called the threshold of hearing. [[File:Plot_of_decibel_and_inverse.png|center]] <div style="text-align: center;"> '''Figure 1 - Plot of decibel and inverse''' </div> ==Sound attenuation{{ref|HandbookofAcoustics1998}}== Study of outdoor sound activity requires the definition of a source and a receiver in order to explain the different phenomenon involved in the process. The sound attenuation due to its propagation in the atmosphere can be described in terms of its total attenuation <math> A_{T} </math> in dB between the source and the receiver. The total attenuation <math> A_{T} </math> can be expressed as <div style="text-align: center;"> <math> A_{T} = L_{ps} - L_{pr} = 10 \log_{10} \bigg(\frac{I_{ps}}{I_{pr}}\bigg) = 20 \log_{10} \bigg( \frac{P_{s}}{P_{r}} \bigg) \mbox{ dB} \, </math> </div> where <math> L_{ps} </math> is the sound pressure level of the root-mean-square (rms) sound pressure <math> P_s </math> at a distance <math> s </math> near the source and <math> L_{pr} </math> is the corresponding sound pressure level with an rms sound pressure <math> P_r </math> measured at a distance r from the source. The total attenuation is defined as the sum of the attenuation due to geometric spreading <math> A_s </math>, the attenuation due to atmospheric absorption <math> A_a </math>, and the excess attenuation due to all other effects <math> A_e </math>, namely <div style="text-align: center;"> <math> A_{T} = A_s + A_a + A_e \mbox{ dB} \, </math> </div> The excess attenuation <math> A_e </math> can include attenuation from the ground in a homogeneous atmosphere <math> A_g </math>, refraction by a non-homogeneous atmosphere, attenuation by diffraction and reflection by a barrier or obstacle, and scattering or diffraction effects due to turbulence. The values of attenuation are normally positive. ==Spreading losses{{ref|HandbookofAcoustics1998}}== The geometric spreading loss <math> A_s </math>, in dB, between two points at a distance <math> r_1 </math> and <math> r_2 </math> from a source can be expressed as <div style="text-align: center;"> <math> A_{s} = 20 g \log_{10} \bigg( \frac{r_{2}}{r_{1}} \bigg) \quad \mbox{dB} </math> </div> where <math> g </math> is a constant given by the geometry of the problem. <math> g = 0 </math> for plane wave propagation (uniform pipe), <math> g = 0.5 </math> for cylindrical propagation from a line source, and <math> g = 1 </math> for spherical wave propagation from a point source. It is noticed that for spherical wave propagation from a point source, doubling the distance from the source (<math> r_2 = 2 r_1 </math>) corresponds to a loss of <math> 6 \mbox{dB} </math>. ==Attenuation by atmospheric absorption{{ref|HandbookofAcoustics1998}} {{ref|AtmosphericabsorptionofsoundFurtherdevelopments1995}} {{ref|AtmosphericabsorptionofsoundUpdate1990}}== Absorption of sound through the atmosphere is due to shear viscosity, thermal conductivity or heat dissipation, and molecular relaxation due to oxygen, nitrogen, and water vapor vibrational, rotational, and translational energy. The attenuation <math> A_a </math>, in dB due to atmospheric absorption can be expressed as <div style="text-align: center;"> <math> A_{a} = -20 \log_{10} \left[ \frac{P(r)}{P(0)} \right] = -20 \log_{10} [ \exp (- \alpha r) ] = a r \quad \mbox{dB} </math> </div> where <math> r </math>, in meters, is the path length of the traveling wave, <math> P(r) </math> is the sound pressure after traveling the distance <math> r </math>, <math> P(0) </math> is the initial sound pressure at <math> r = 0 </math>, <math> \alpha </math> is the attenuation coefficient in Nepers per meter, and <math> a </math> is the attenuation coefficient in dB per meter. Spreading losses are dependent on the pressure, relative humidity and frequency for air in still atmosphere. The attenuation coefficient <math> a </math> for pure tone frequencies can be expressed as <div style="text-align: center;"> <math> \frac{a}{p_s} = \frac{20}{\ln 10}\ \frac{F^2}{p_{s0}} \left \{ 1.84 \times 10^{-11} \left( \frac{T}{T_0} \right)^{1/2} + \left( \frac{T}{T_0} \right)^{-5/2} \left[ 0.01275 \frac{e^{-2239.1/T}}{F_{r,O}+F^2/F_{r,O}} + 0.1068\frac{e^{-3352/T}}{F_{r,N}+F^2/F_{r,N}} \right] \right \} \quad \frac{\mathrm{dB}}{\mathrm{m} \cdot \mathrm{atm}} \, </math> </div> with <math> F = f/p_s </math>, <math> F_{r,O} = f_{r,O}/p_s </math>, and <math> F_{r,N} = f_{r,N}/p_s </math>, and where <math> f </math> is the acoustic frequency in Hz, <math> p_s </math> is the atmospheric pressure, <math> p_{s0} </math> is the reference atmospheric pressure (1 atm), <math> T </math> is the atmospheric temperature in K, <math> T_0 </math> is the reference temperature (293.15 K), <math> f_{r,O} </math> is the relaxation frequency of molecular oxygen and <math> f_{r,N} </math> is the relaxation frequency of molecular nitrogen. Scaled relaxation frequencies for oxygen and nitrogen formulas from experimental measurements are given by <div style="text-align: center;"> <math> F_{r,O} = \frac{1}{p_{s0}} \left( 24 + 4.04 \times 10^4 h \frac{0.02 + h}{0.391 + h} \right) \quad \frac{\mathrm{Hz}}{\mathrm{atm}} </math> </div> and <div style="text-align: center;"> <math> F_{r,N} = \frac{1}{p_{s0}} \left( \frac{T_0}{T} \right)^{1/2} \left( 9 + 280 h \times \exp \left\{ -4.17 \left[ \left( \frac{T_0}{T} \right)^{1/3} - 1 \right] \right\} \right) \quad \frac{\mathrm{Hz}}{\mathrm{atm}} </math> </div> where <math> h </math> is the molar concentration of water vapor (absolute humidity) in percent. <math> h </math> is calculated from the relative humidity <math> h_r </math> as follows <div style="text-align: center;"> <math> h = p_{s0} \left( \frac{h_r}{p_s} \right) \left( \frac{p_{sat}}{p_{s0}} \right) \quad \% </math> </div> where the saturated vapor pressure <math> p_{sat} </math> is given by <div style="text-align: center;"> <math> p_{sat} = p_{s0} \times 10^{ -6.8346 (T_{01}/T)^{1.261} + 4.6151 } \quad \mbox{atm} </math> </div> with <math> T_{01} = 273.16 \mbox{K} </math>. The formulas, are valid for a pressure under 2 atm, a temperature under 330 K (57 C, or 134 F) and up to an altitude of 3&nbsp;km. One can see from the graph and formulas that the absorption coefficient is higher for a higher frequency and/or a higher pressure. The attenuation coefficient <math> \alpha </math> for pure tone frequencies is shown in Figure 2 for air at 20&nbsp;°C as a function of frequency per atmosphere and relative humidity per atmosphere. The matlab script used to produce the graph is shown in Appendix A. <div style="text-align: center;"> [[File:Atmospheric sound absorption coefficient 2.svg|center|650px]] </div> <div style="text-align: center;"> '''Figure 2 - Attenuation coefficient for atmospheric absorption per atmosphere as a function of frequency and relative humidity, for air at 20&nbsp;°C.{{ref|AtmosphericabsorptionofsoundFurtherdevelopments1995}} {{ref|AtmosphericabsorptionofsoundUpdate1990}}''' </div> Values of attenuation can also be obtained from Table 1 for different temperatures, relative humidities and pure tone frequencies at 1 atmosphere. {{center/top}} '''Table 1 - Atmospheric attenuation coefficient <math> a </math> (dB/km) at selected frequencies at 1 atm{{ref|HandbookofAcoustics1998}}''' {| class="wikitable" ! Temperature ! Relative humidity (%) ! 62.5&nbsp;Hz ! 125&nbsp;Hz ! 250&nbsp;Hz ! 500&nbsp;Hz ! 1000&nbsp;Hz ! 2000&nbsp;Hz ! 4000&nbsp;Hz ! 8000&nbsp;Hz |- |rowspan="6"|30&nbsp;°C | 10 || 0.362 || 0.958 || 1.82 || 3.40 || 8.67 || 28.5 || 96.0 || 260 |- | 20 || 0.212 || 0.725 || 1.87 || 3.41 || 6.00 || 14.5 || 47.1 || 165 |- | 30 || 0.147 || 0.543 || 1.68 || 3.67 || 6.15 || 11.8 || 32.7 || 113 |- | 50 || 0.091 || 0.351 || 1.25 || 3.57 || 7.03 || 11.7 || 24.5 || 73.1 |- | 70 || 0.065 || 0.256 || 0.963 || 3.14 || 7.41 || 12.7 || 23.1 || 59.3 |- | 90 || 0.051 || 0.202 || 0.775 || 2.71 || 7.32 || 13.8 || 23.5 || 53.5 |- |rowspan="6"|20&nbsp;°C | 10 || 0.370 || 0.775 || 1.58 || 4.25 || 14.1 || 45.3 || 109 || 175 |- | 20 || 0.260 || 0.712 || 1.39 || 2.60 || 6.53 || 21.5 || 74.1 || 215 |- | 30 || 0.192 || 0.615 || 1.42 || 2.52 || 5.01 || 14.1 || 48.5 || 166 |- | 50 || 0.123 || 0.445 || 1.32 || 2.73 || 4.66 || 9.86 || 29.4 || 104 |- | 70 || 0.090 || 0.339 || 1.13 || 2.80 || 4.98 || 9.02 || 22.9 || 76.6 |- | 90 || 0.071 || 0.272 || 0.966 || 2.71 || 5.30 || 9.06 || 20.2 || 62.6 |- |rowspan="6"|10&nbsp;°C | 10 || 0.342 || 0.788 || 2.29 || 7.52 || 21.6 || 42.3 || 57.3 || 69.4 |- | 20 || 0.271 || 0.579 || 1.20 || 3.27 || 11.0 || 36.2 || 91.5 || 154 |- | 30 || 0.225 || 0.551 || 1.05 || 2.28 || 6.77 || 23.5 || 76.6 || 187 |- | 50 || 0.160 || 0.486 || 1.05 || 1.90 || 4.26 || 13.2 || 46.7 || 155 |- | 70 || 0.122 || 0.411 || 1.04 || 1.93 || 3.66 || 9.66 || 32.8 || 117 |- | 90 || 0.097 || 0.348 || 0.996 || 2.00 || 3.54 || 8.14 || 25.7 || 92.4 |- |rowspan="6"|0&nbsp;°C | 10 || 0.424 || 1.30 || 4.00 || 9.25 || 14.0 || 16.6 || 19.0 || 26.4 |- | 20 || 0.256 || 0.614 || 1.85 || 6.16 || 17.7 || 34.6 || 47.0 || 58.1 |- | 30 || 0.219 || 0.469 || 1.17 || 3.73 || 12.7 || 36.0 || 69.0 || 95.2 |- | 50 || 0.181 || 0.411 || 0.821 || 2.08 || 6.83 || 23.8 || 71.0 || 147 |- | 70 || 0.151 || 0.390 || 0.763 || 1.61 || 4.64 || 16.1 || 55.5 || 153 |- | 90 || 0.127 || 0.367 || 0.760 || 1.45 || 3.66 || 12.1 || 43.2 || 138 |} {{center/end}} {{dubious|reason=the attenuation figures for low temperatures are disputed - see talk page.}} The effective atmospheric attenuation of a constant-percentage band of a broadband noise is normally less than for pure-tone sound due to the finite bandwidth and slope of the filter skirts.{{ref|HandbookofAcoustics1998}} Some atmospheric attenuation also occurs in fog and precipitation,{{ref|SoundpropagationintheatmosphereAhistoricalreview1977}} in dust in air,{{ref|Attenuationanddispersionofacousticenergybyatmosphericdust1973}} and at frequencies below 10&nbsp;Hz due to electromagnetic radiation of moist air molecules.{{ref|RadiativeAbsorptionofSoundbyWaterVaporintheAtmosphere1966}} ==Reflection from the surface of a solid{{ref|HyperPhysics}}== When a wavefront comes in to contact with a solid surface, it is reflected away from that surface. The angle of reflection of the sound wave is equal to the angle of incidence of the wave. Reflected waves can interfere with incident waves causing constructive and destructive interference. This can cause a standing wave pattern and resonance because the incident and reflected waves travel in opposite directions. Near the surface of the solid, sound pressure intensity is enhanced because the pressure of the reflected wave adds up to the pressure of the incident wave. [[File:Sound_Angle_of_Incidence.png|center]] <div style="text-align: center;"> '''Figure 3 - Angle of incidence for a reflected sound wave''' </div> ==Attenuation over the ground{{ref|HandbookofAcoustics1998}}== Sound propagation near the ground is affected by absorption and reflection of the sound waves by the ground. Sound can either leave a source and follow a straight path to a receiver or be reflected and/or absorbed by the ground. How the sound wave reacts with the ground is influenced by the ground impedance which relates pressure and speed. ==Refraction{{ref|HyperPhysics}}{{ref|HandbookofAcoustics1998}}== Refraction of sound is normally defined as the deviation of a sound wave leaving a fluid and entering another one with different speed of sound. For outdoor sound propagation refraction of sound waves causes the waves to bend due to a change in the speed of sound. This change in the speed of sound is caused by strong wind speeds and temperature gradients. An upward refraction reduces sound levels near the ground, while a downward refraction helps sound travel over obstacle such as noise barriers. A downward refraction will occur if air above the earth is warmer than the air at the surface. The warmer air above earth will have a faster speed of sound causing the wave to bend back towards the earth. The same phenomena will occur for hot air over a cold ground. [[File:Outdoor_Sound_Refraction.png|center]] <div style="text-align: center;"> '''Figure 4 - Outdoor sound refraction caused by temperature gradients''' </div> ==Diffraction{{ref|HyperPhysics}}{{ref|HandbookofAcoustics1998}}== Diffraction is the mechanism by which sound can propagate and spread out beyond an opening and around obstacles. The traveling waves tend to bend around obstacles. Diffraction is related to the wavelength of the sound produced by the source. It is stronger for lower frequencies. High frequencies propagate in a more directional manner. This is why low frequencies can be heard better from behind obstacles and in shadows zones. If a wavefront travels towards a small opening, diffraction will cause the waves to spread out past the opening in a spherical manner. When a wavefront that passes through a small obstacle, compared to the wavelength, diffraction will cause the sound waves to bend and the wavefront will reconstruct past the obstacle. This means that one could not identify the presence of that small obstacle from sound measurement far from the obstacle and the source. [[File:Sound_diffraction_paths.png|center]] <div style="text-align: center;"> '''Figure 5 - Different paths of sound propagation behind a barrier''' </div> [[File:Sound_Diffraction_from_a_Hole.png|center]] <div style="text-align: center;"> '''Figure 6 - Outdoor sound diffraction behind a small opening''' </div> ==Sound reduction== Several mechanisms can be used in order to reduce noise in outdoor environment. Different noise barriers used to reduce highway noise are shown in Figure 7. Another way of reducing noise is to use vegetation. Figure 8 shows pictures of vertical vegetation walls. {| class="wikitable" style="margin: auto;" ! [[File:Geluidswal_123.jpg|center|300px]] ! [[File:TullamarineFwy.jpg|center|300px]] ! [[File:Slunečný_vršek,_K_Horkám_-_Bratislavská.jpg|center|300px]] |} <div style="text-align: center;"> '''Figure 7 - Different types of noise barriers''' </div> {| class="wikitable" style="margin: auto;" ! [[File:Jardin_vertical_de_Plaza_del_Pericón,_Málaga..JPG|center|300px]] ! [[File:Mur_vegetal_avignon_nuit1.jpg|center|300px]] ! [[File:CaixaForumMadridyJardinVertical.jpg|center|300px]] |} <div style="text-align: center;"> '''Figure 8 - Vertical vegetation walls''' </div> ==Useful Websites== * {{note|HyperPhysics}} [http://hyperphysics.phy-astr.gsu.edu/hbase/hframe.html HyperPhysics], Section on the basics of sound propagation * [http://apmr.matelys.com Acoustical Porous Material Recipes] ==References and further reading== References are presented in order of date of publication. '''General''' # Piercy, Embleton, Sutherland, [http://dx.doi.org/10.1121/1.381455 ''Review of noise propagation in the atmosphere''], J. Acoust. Soc. Am. Volume 61, Issue 6, pp.&nbsp;1403–1418, June 1977 # Delany, {{note|SoundpropagationintheatmosphereAhistoricalreview1977}} [http://md1.csa.com/partners/viewrecord.php?requester=gs&collection=TRD&recid=A7812369AH&q=&uid=790070113&setcookie=yes ''Sound propagation in the atmosphere - A historical review''], Acustica. Vol. 38, pp.&nbsp;201–223, October 1977 # Piercy, Embleton, [http://dx.doi.org/10.1121/1.386007 ''Review of sound propagation in the atmosphere (A)''], J. Acoust. Soc. Am. Volume 69, Issue S1, pp. S99-S99, May 1981 # Crocker, {{note|HandbookofAcoustics1998}} [http://ca.wiley.com/WileyCDA/WileyTitle/productCd-047125293X.html ''Handbook of Acoustics''], John Wiley & Sons, February 1998 # Kinsler, Frey, Coppens, Sanders, {{note|FundamentalsofAcoustics2000}} [http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0471847895.html ''Fundamentals of Acoustics''], 4th Ed., John Wiley & Sons, New York, 2000 '''Speed of sound''' # Wong, [http://dx.doi.org/10.1121/1.393664 ''Speed of sound in standard air''], J. Acoust. Soc. Am. Volume 79, Issue 5, pp.&nbsp;1359–1366, May 1986 '''Absorption of sound in the atmosphere''' # Calvert, Coffman, Querfeld, {{note|RadiativeAbsorptionofSoundbyWaterVaporintheAtmosphere1966}}[http://dx.doi.org/10.1121/1.1909924 ''Radiative Absorption of Sound by Water Vapor in the Atmosphere''], J. Acoust. Soc. Am. Volume 39, Issue 3, pp.&nbsp;532–536, March 1966 # Henley and Hoidale, {{note|Attenuationanddispersionofacousticenergybyatmosphericdust1973}} [http://dx.doi.org/10.1121/1.1913597 ''Attenuation and dispersion of acoustic energy by atmospheric dust''], J. Acoust. Soc. Am. Volume 54, Issue 2, pp.&nbsp;437–445, August 1973 # Sutherland, Piercy, Bass, Evans, [http://dx.doi.org/10.1121/1.1914056 ''Method for calculating the absorption of sound by the atmosphere''], J. Acoust. Soc. Am. Volume 56, Issue S1, pp. S1-S1, November 1974 # Bass, Sutherland, Piercy, Evans, [http://adsabs.harvard.edu/abs/1984papm...17..145B ''Absorption of sound by the atmosphere''], Physical acoustics: Principles and methods. Volume 17 (A85-28596 12-71). Orlando, FL, Academic Press, Inc., p.&nbsp;145-232, 1984 # Bass, Sutherland, Zuckerwar, {{note|AtmosphericabsorptionofsoundUpdate1990}} [http://dx.doi.org/10.1121/1.400176 ''Atmospheric absorption of sound: Update''], J. Acoust. Soc. Am. Volume 88, Issue 4, pp.&nbsp;2019–2021, October 1990 # Bass, Sutherland, Zuckerwar, Blackstock, Hester, {{note|AtmosphericabsorptionofsoundFurtherdevelopments1995}} [http://dx.doi.org/10.1121/1.412989 ''Atmospheric absorption of sound: Further developments''], J. Acoust. Soc. Am. Volume 97, Issue 1, pp.&nbsp;680–683, January 1995 '''Attenuation over the ground''' # Embleton, Piercy, and Olson, [http://dx.doi.org/10.1121/1.380882 ''Outdoor sound propagation over ground of finite impedance''], J. Acoust. Soc. Am. Volume 59, Issue 2, pp.&nbsp;267–277, February 1976 # Bolen and Bass, [http://dx.doi.org/10.1121/1.385618 ''Effects of ground cover on the propagation of sound through the atmosphere''], J. Acoust. Soc. Am. Volume 69, Issue 4, pp.&nbsp;950–954, April 1981 # Embleton, Piercy, and Daigle, [http://dx.doi.org/10.1121/1.390029 ''Effective flow resistivity of ground surfaces determined by acoustical measurements''], J. Acoust. Soc. Am. Volume 74, Issue 4, pp.&nbsp;1239–1244, October 1983 # Rasmussen, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-4951FTN-34&_user=458507&_coverDate=01/08/1985&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=f2690d76941095d094044037b16d2cac&searchtype=a ''On the effect of terrain profile on sound propagation outdoors''], Journal of Sound and Vibration, Volume 98, Issue 1, Pages 35–44, January 1985 # Attenborougha, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1S-480TYH1-4&_user=458507&_coverDate=12/31/1988&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=9a9af1c469e7332d451849b6e503f888&searchtype=a ''Review of ground effects on outdoor sound propagation from continuous broadband sources''], Applied Acoustics, Volume 24, Issue 4, Pages 289-319, 1988 # Hess, Attenborough, and Heap, [http://dx.doi.org/10.1121/1.399325 ''Ground characterization by short-range propagation measurements''], J. Acoust. Soc. Am. Volume 87, Issue 5, pp.&nbsp;1975–1986, May 1990 # Attenborough, Taherzadeh, Bass, Di, and others [http://dx.doi.org/10.1121/1.412302 ''Benchmark cases for outdoor sound propagation models''], J. Acoust. Soc. Am. Volume 97, Issue 1, pp.&nbsp;173–191, January 1995 '''Vegetation''' # Aylor, [http://dx.doi.org/10.1121/1.1912830 ''Noise Reduction by Vegetation and Ground''], J. Acoust. Soc. Am. Volume 51, Issue 1B, pp.&nbsp;197–205, January 1972 # Bullen, Fricke, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-494TCKB-RR&_user=10&_coverDate=01/08/1982&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=5ef28112ff85daae1eef4d2012eb596d&searchtype=a ''Sound propagation through vegetation''], Journal of Sound and Vibration, Volume 80, Issue 1, 8 January 1982, Pages 11–23, May 1981 # Price, Attenborough, Heap, [http://dx.doi.org/10.1121/1.397150 ''Sound attenuation through trees: Measurements and models''], J. Acoust. Soc. Am. Volume 84, Issue 5, pp.&nbsp;1836–1844, November 1988 '''Barriers and screens''' # Maekawa, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1S-47YVS5B-3B&_user=10&_coverDate=07/31/1968&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=b5c28c27a563aab4bd2a9b11b1df7dfe&searchtype=a ''Noise reduction by screens''], Applied Acoustics, Volume 1, Issue 3, Pages 157-173, July 1968 # Jonasson, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-494TFKS-JF&_user=10&_coverDate=05/08/1972&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=0b12506daf94fff64cf4b7cadfd6341b&searchtype=a ''Sound reduction by barriers on the ground''], Journal of Sound and Vibration, Volume 22, Issue 1, Pages 113-126, May 1972 # Kurze, [http://dx.doi.org/10.1121/1.1914528 ''Noise reduction by barriers''], J. Acoust. Soc. Am. Volume 55, Issue 3, pp.&nbsp;504–518, March 1974 # Isei, Embleton, Piercy, [http://dx.doi.org/10.1121/1.383788 ''Noise reduction by barriers on finite impedance ground''], J. Acoust. Soc. Am. Volume 67, Issue 1, pp.&nbsp;46–58, January 1980 # Li, Law, Kwok, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-4S9R886-1&_user=458507&_coverDate=08/05/2008&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_rerunOrigin=scholar.google&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=206b0e53ab7d82d56d4036bb3e206c03&searchtype=a ''Absorbent parallel noise barriers in urban environments''], Journal of Sound and Vibration Volume 315, Issues 1-2, Pages 239-257, August 2008 '''Absorbent materials''' # Delany and Bazley, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1S-47YVRXD-Y&_user=10&_coverDate=04/30/1970&_rdoc=1&_fmt=high&_orig=search&_origin=search&_sort=d&_docanchor=&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=5ec98ba630e81366b81f0f9a4569c742&searchtype=a ''Acoustical properties of fibrous absorbent materials''], Applied Acoustics, Volume 3, Issue 2, April 1970, Pages 105-116 # Attenborough, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TVP-46T4HKP-18&_user=458507&_coverDate=02/28/1982&_alid=1545485037&_rdoc=2&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=5540&_sort=r&_st=13&_docanchor=&view=c&_ct=737&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=6dfd423c96deec00892ac5c058a44b45&searchtype=a ''Acoustical characteristics of porous materials''], Physics Reports Volume 82, Issue 3, Pages 179-227, February 1982 # Lauriksa, Copsa, Verhaegena, [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WM3-4951DFK-DH&_user=458507&_coverDate=05/22/1989&_alid=1545485037&_rdoc=5&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=6923&_sort=r&_st=13&_docanchor=&view=c&_ct=737&_acct=C000022002&_version=1&_urlVersion=0&_userid=458507&md5=620146f8c9ca2cec53f5d40490a4da31&searchtype=a ''Acoustical properties of elastic porous materials''], Journal of Sound and Vibration Volume 131, Issue 1, Pages 143-156, 22 May 1989 ==Appendices== === Appendix A - Matlab program for the plot of the attenuation coefficient === <syntaxhighlight lang="matlab"> clear all; clc ; close all; T_0 = 293.15; T_01 = 273.16 ; T = 20 + 273.15; p_s0 = 1; F = logspace(1,6); ler=length(F); hrar=[0 10 20 40 60 80 100]; a_ps_ar=zeros(7,ler); for k=1:7 hr=hrar(k); psat = p_s0*10^(-6.8346*(T_01/T)^1.261 + 4.6151); h = p_s0*(hr)*(psat/p_s0); F_rO = 1/p_s0*(24 + 4.04*10^4*h*(0.02+h)/(0.391+h)); F_rN = 1/p_s0*(T_0/T)^(1/2)*( 9 + 280*h*exp(-4.17*((T_0/T)^(1/3)-1)) ); alpha_ps= 100*F.^2./p_s0.*( 1.84*10^(-11)*(T/T_0)^(1/2)... + (T/T_0)^(-5/2)*(0.01275*exp(-2239.1/T)./(F_rO + F.^2/F_rO)... + 0.1068*exp(-3352/T)./(F_rN + F.^2/F_rN) ) ); a_ps_ar(k,:) = alpha_ps*20/log(10); end psvg = figure (1); loglog(F,a_ps_ar(1,:), F,a_ps_ar(2,:), F,a_ps_ar(3,:), F,a_ps_ar(4,:),... F,a_ps_ar(5,:), F,a_ps_ar(6,:), F,a_ps_ar(7,:),'LineWidth',1); xlabel({'f / p_s [Hz/atm]';'Frequency/pressure'},'FontSize',10,... 'FontWeight','normal','FontName','Times New Roman'); ylabel('Absorption coefficient/pressure a / p_s [dB/100 m atm]',... 'FontSize',10,'FontWeight','normal','FontName','Times New Roman'); title({'Sound absorption coefficient per atmosphere for air at 20°C ';... 'according to relative humidity per atmosphere'},... 'FontSize',10,'FontWeight','bold','FontName','Times New Roman') hleg = legend(' 0',' 10',... ' 20',' 40',' 60',... ' 80',' 100'); v = get(hleg,'title'); set(v,'string',{'h_r / p_s [%/atm]'},'FontName','Times New Roman','FontSize',10,... 'BackgroundColor', 'white','EdgeColor','white','HorizontalAlignment','center'); set(hleg,'Location','SouthEast','EdgeColor','black') axis([1e1 1e6 1e-3 1e4]); grid on; set(gca,'gridlinestyle','-'); set(gca,'MinorGridLineStyle','-') %plot2svg('Absorption_coefficient.svg',psvg); </syntaxhighlight> === Appendix B - Python program for the plot of the attenuation coefficient === <syntaxhighlight lang="python"> #!/usr/bin/python3 import math import numpy as np import matplotlib.pyplot as plt ## 1 atm in Pa ps0 = 1.01325e5 def absorption(f, t=20, rh=60, ps=ps0): """ In dB/m f: frequency in Hz t: temperature in °C rh: relative humidity in % ps: atmospheric pressure in Pa From http://en.wikibooks.org/wiki/Engineering_Acoustics/Outdoor_Sound_Propagation See __main__ for actual curves. """ T = t + 273.15 T0 = 293.15 T01 = 273.16 Csat = -6.8346 * math.pow(T01 / T, 1.261) + 4.6151 rhosat = math.pow(10, Csat) H = rhosat * rh * ps0 / ps frn = (ps / ps0) * math.pow(T0 / T, 0.5) * ( 9 + 280 * H * math.exp(-4.17 * (math.pow(T0 / T, 1/3.) - 1))) fro = (ps / ps0) * (24.0 + 4.04e4 * H * (0.02 + H) / (0.391 + H)) alpha = f * f * ( 1.84e-11 / ( math.pow(T0 / T, 0.5) * ps / ps0 ) + math.pow(T / T0, -2.5) * ( 0.10680 * math.exp(-3352 / T) * frn / (f * f + frn * frn) + 0.01278 * math.exp(-2239.1 / T) * fro / (f * f + fro * fro) ) ) return 20 * alpha / math.log(10) def plot(): ## Figure in http://en.wikibooks.org/wiki/Engineering_Acoustics/Outdoor_Sound_Propagation ax = plt.subplot(111) fs = np.logspace(1, 6, num=100, endpoint=True, base=10) ys = np.zeros(fs.shape) rh = (0, 10, 20, 40, 60, 80, 100) for r in rh: for i in np.arange(fs.shape[0]): ys[i] = absorption(fs[i], rh=r) ax.loglog(fs, 100 * ys, label='rh:%d'%r) ax.grid(True) ax.set_xlabel('Frequency/pressure [Hz/atm]') ax.set_ylabel('Absorption coefficient/pressure [dB/100m.atm]') ax.legend(loc='lower right') plt.show() def table(): p = ps0 for t in [30, 20, 10, 0]: for rh in [10, 20, 30, 50, 70, 90]: print("T=%2d RH=%2d " % (t, rh), end='') for f in [62.5, 125, 250, 500, 1000, 2000, 4000, 8000]: a = absorption(f, t, rh, p) print("%7.3f " % (a*1000), end='') print() if __name__ == '__main__': table() plot() </syntaxhighlight> [[Engineering Acoustics|Back to main page]] 3yaf4jo5svsywfrogrjhhs5adouskre Chess Opening Theory/1. e4/1...b6/2. d4 0 247051 4657021 3825141 2026-08-10T11:06:15Z JCrue 2226064 4657021 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Owen's defence |eco=[[Chess/ECOB|B00]] |parent=<br /> * [[Chess Opening Theory/1. e4|King's pawn opening]] → [[Chess Opening Theory/1. e4/1...b6|Owen's defence]] → '''2. d4''' * [[Chess Opening Theory/1. d4|Queen's pawn opening]] → [[Chess Opening Theory/1. d4/1...b6|English defence]] → '''2. e4''' }} ==2. d4 == A principled move, White takes space with both centre pawns. Both of their bishops are ready to enter the game. This position may arise out of either 1. e4 b6 or 1. d4 b6. [[/2. Bb7|'''2. Bb7''']] completes the fianchetto and puts pressure on e4. The alternative [[/2...Ba6|'''2...Ba6''']], known as the '''Guatemala defence''', is considered weak as White emerges with an advantage after 3. Bxa6 Nxa6. ==Theory table== {{ChessTable}} '''1.e4 b6 2. d4''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">2</th> <th align="left">3</th> <th align="left">4</th> </tr> <tr> <th align="right"></th> <td>...<br>[[/2...Bb7|Bb7]]</td> <td>Bd3<br>Nf6</td> <td>Qe2<br>e6</td> <td>+/=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} === See also === {{Wikipedia|Owen's Defence}} {{Chess Opening Theory/Footer}} 4n8tmjlgl5u3jm3qoay9qlhb4bqm855 4657025 4657021 2026-08-10T11:15:15Z JCrue 2226064 /* 2. d4 */ 4657025 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Owen's defence |eco=[[Chess/ECOB|B00]] |parent=<br /> * [[Chess Opening Theory/1. e4|King's pawn opening]] → [[Chess Opening Theory/1. e4/1...b6|Owen's defence]] → '''2. d4''' * [[Chess Opening Theory/1. d4|Queen's pawn opening]] → [[Chess Opening Theory/1. d4/1...b6|English defence]] → '''2. e4''' }} ==2. d4 == A principled move, White takes space with both centre pawns. Both of their bishops are ready to enter the game. This position may arise out of either 1. e4 b6 or 1. d4 b6. [[/2...Bb7|'''2...Bb7''']] completes the fianchetto and puts pressure on e4. The alternative [[/2...Ba6|'''2...Ba6''']], known as the '''Guatemala defence''', is considered weak as White emerges with an advantage after 3. Bxa6 Nxa6. ==Theory table== {{ChessTable}} '''1.e4 b6 2. d4''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">2</th> <th align="left">3</th> <th align="left">4</th> </tr> <tr> <th align="right"></th> <td>...<br>[[/2...Bb7|Bb7]]</td> <td>Bd3<br>Nf6</td> <td>Qe2<br>e6</td> <td>+/=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} === See also === {{Wikipedia|Owen's Defence}} {{Chess Opening Theory/Footer}} lhb6cdhtww1rza8m65pnv21xct147hs 4657028 4657025 2026-08-10T11:42:26Z JCrue 2226064 /* 2. d4 */ 4657028 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Owen's defence |eco=[[Chess/ECOB|B00]] |parent=<br /> * [[Chess Opening Theory/1. e4|King's pawn opening]] → [[Chess Opening Theory/1. e4/1...b6|Owen's defence]] → '''2. d4''' * [[Chess Opening Theory/1. d4|Queen's pawn opening]] → [[Chess Opening Theory/1. d4/1...b6|English defence]] → '''2. e4''' }} ==2. d4 == A principled move, White takes space with both centre pawns. Both of their bishops are ready to enter the game. This position may arise out of either 1. e4 b6 or 1. d4 b6. [[/2...Bb7|'''2...Bb7''']] completes the fianchetto and puts pressure on e4. The alternative [[/2...Ba6|'''2...Ba6?!''']], known as the '''Guatemala defence''', is considered weak as White emerges with an advantage after 3. Bxa6 Nxa6. ==Theory table== {{ChessTable}} '''1.e4 b6 2. d4''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">2</th> <th align="left">3</th> <th align="left">4</th> </tr> <tr> <th align="right"></th> <td>...<br>[[/2...Bb7|Bb7]]</td> <td>Bd3<br>Nf6</td> <td>Qe2<br>e6</td> <td>+/=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} === See also === {{Wikipedia|Owen's Defence}} {{Chess Opening Theory/Footer}} eng3qbosrqiwt9l47q84we8odjzwlz2 OpenSSH/Utilities 0 248410 4656823 4079329 2026-08-09T17:37:16Z Schweikhardt 1008853 /* ssh-keyscan */ Typo corrected 4656823 wikitext text/x-wiki : [http://man.openbsd.org/ssh-agent.1 ssh-agent(1)] - An authentication agent that can store private keys. : [http://man.openbsd.org/ssh-add.1 ssh-add(1)] - A tool which adds or removes keys to or from the above agent. : [http://man.openbsd.org/ssh-keygen.1 ssh-keygen(1)] - A key generation tool. : [http://man.openbsd.org/ssh-keyscan.1 ssh-keyscan(1)] - A utility for gathering public host keys from a number of hosts. : [http://linux.die.net/man/1/ssh-copy-id ssh-copy-id(1)] - Install a public key in a remote machine's '''authorized_keys''' register. : ssh-vulnkey(1) - Check a key against blacklist of compromised keys ==ssh-agent== [http://man.openbsd.org/ssh-agent.1 ssh-agent(1)] is a tool to hold private keys in memory for re-use during a session. Usually it is started at the beginning of a session and subsequent windows or programs run as clients to the agent. The environment variable '''SSH_AUTH_SOCK''' points applications to the socket used to communicate with the agent. ==ssh-add== [http://man.openbsd.org/ssh-add.1 ssh-add(1)] is a tool to load key identities into an agent for re-use. It can also be used to remove identities from the agent. The agent holds the private keys used for authentication. ==ssh-keyscan== [http://man.openbsd.org/ssh-keyscan.1 ssh-keyscan(1)] has been part of the OpenSSH suite since OpenSSH version 2.5.1 and is used to retrieve public keys. Keys retrieved using [http://man.openbsd.org/ssh-keyscan.1 ssh-keyscan(1)], or any other method, must be verified by checking the key fingerprint to ensure the authenticity of the key and reduce the possibility of a man-in-the-middle attack. The default is to request an ECDSA key using SSH protocol 2. David Mazieres wrote the initial version of [http://man.openbsd.org/ssh-keyscan.1 ssh-keyscan(1)] and Wayne Davison added support for SSH protocol version 2. ==ssh-keygen== [http://man.openbsd.org/ssh-keygen.1 ssh-keygen(1)] is for generating key pairs or certificates for use in authentication, update and manage keys, or to verify key fingerprints. It works with SSH keys and can do the following activities: * generate new key pairs, either ECDSA, Ed25519, RSA, ECDSA-SK or Ed25519-SK. * remove keys from known hosts * regenerate a public key from a private key * change the passphrase of a private key * change the comment text of a private key * show the fingerprint of a specific public key * show ASCII art fingerprint of a specific public key * load or read a key to or from a smartcard, if the reader is available If the legacy protocol, SSH1, is used, then [http://man.openbsd.org/ssh-keygen.1 ssh-keygen(1)] can only generate RSA keys. However, SSH1 is long since deprecated and the systems should be re-tooled if found in use. Also, although DSA keys can be generated, they are deprecated and should be replaced if found. One important use for key fingerprints is when connecting to a machine for the first time. A fingerprint is a hash or digest of the public key. Fingerprints can be transferred out of band and loaded into either the '''~/.ssh/known_hosts''' or '''/etc/ssh/ssh_known_hosts''' files in advance of the first connection. The verification data for the key should be sent out of band. It can be sent ahead of time by post, fax, SMS or a phone call instead or otherwise communicated in some way such that you can be sure it is authentic and unchanged. <syntaxhighlight lang="shell-session"> $ ssh -l fred zaxxon.example.org The authenticity of host 'zaxxon.example.org (203.0.113.114)' can't be established. RSA key fingerprint is SHA256:DnCHntWa4jeadiUWLUPGg9FDTAopFPR0c5TgjU/iXfw. Are you sure you want to continue connecting (yes/no)? </syntaxhighlight> If you see that message and the key's fingerprint matches the one you were given in advance, then the connection is probably good. If you see that and the key's fingerprint is different than what you were given in advance, then stop and disconnect and get on the phone or VoIP to work out the mistake. Once the SSH client has accepted the key from the server, it is saved in '''known_hosts'''. <syntaxhighlight lang="shell-session"> $ ssh -l fred galaga.example.org @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:QIWi4La8svQSf5ZYow8wBHN4tF0jtRlkIaLCUQRlxRI. Please contact your system administrator. Add correct host key in /home/fred/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/fred/.ssh/known_hosts:1 ECDSA host key for galaga.example.org has changed and you have requested strict checking. Host key verification failed. </syntaxhighlight> If you start to connect to a known host and you get an error like the one above, then either the first connection was to an impostor or the current connection is to an impostor, or something very foolish was done to the machine. Regardless, disconnect and don't try to log in. Contact the system administrator out of band to find out what is going on.<ref name="SecurityFocus2004">{{cite web |author=Brian Hatch |url=http://www.securityfocus.com/infocus/1806 |title=SSH Host Key Protection |publisher=SecurityFocus |year=2004 |accessdate=2013-04-14}}</ref> It is possible that the server was reinstalled, either the whole operating system or just the OpenSSH server, without saving the old keys. That would result in new keys being generated and explain their presence. Either way, check with the system administrator before connecting to be sure. Hashed host names and addresses can be looked up in '''known_hosts''' using '''-F'''. Or else '''-R''' can be used to delete them. <syntaxhighlight lang="shell-session"> $ ssh-keygen -F sftp.example.org -f ~/.ssh/known_hosts # Host sftp.example.org found: line 7 type RSA |1|slYCk3msDPyGQ8l0lq82IbUTzBU=|KN7HPqVnJHOFX5LFmTXS6skjK4o= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA3cqqA6fZtgexZ7+4wxoLN1+YDvPfBtt4/m+N/RI8o95CXqvqZMIQjuVarVKjwRwt9pTJIVzf6bwjcNkrUx9dQqZNpNBkcvBRdmd775opWCAfkHEueKxkNx3Kb1yitz0dUaFkRwfTsXAjh+NleBq2ofAfjowu/zzCnnbAKy2R2OE= </syntaxhighlight> ==ssh-copy-id== '''ssh-copy-id''' is included in some distros to install a public key into a remote machine's '''authorized_keys''' file. It is a simple shell script and the '''authorized_keys''' file should still be checked manually after first login to verify that everything went ok and that the key was copied as it should be. ==ssh-vulnkey== '''ssh-vulnkey''' was included in some versions of some GNU/Linux distros to check a key against a blacklist of compromised keys. The blacklist was made necessary when a broken version of OpenSSL was distributed by some distros<ref name="Debian_OpenSSL_vuln">{{cite web |author=Jake Edge |url=https://lwn.net/Articles/282230/ |title=Debian vulnerability has widespread effects |publisher=LWN |year=2008|accessdate=2013-04-14}}</ref>, resulting in bad keys that were easily predicted and compromised. Keys made while that broken version was in use that are found to have been compromised cannot be repaired and must be replaced. The problem has since been fixed and new keys should be all right. <noinclude> == References == {{reflist}} {{OpenSSH/TOC|mini}} </noinclude> {{BookCat}} {{status|100%}} cox2k91xumoe54xifscqkmheiz70mg3 OpenSSH/Cookbook/Remote Processes 0 248416 4656833 4440406 2026-08-09T20:34:14Z Schweikhardt 1008853 Trim some whitespace. 4656833 wikitext text/x-wiki <noinclude>{{simple chapter navigation|previous=|next=The Client Configuration File}}</noinclude> &nbsp; One of the main functions of OpenSSH is that of accessing and running programs on other systems. That is, after all, one of the main purposes of the program. There are several ways to expand upon that, either interactively or as part of unattended scripts. So in addition to an interactive login, [http://man.openbsd.org/ssh.1 ssh(1)] can be used to simply execute a program or script. Logout is automatic when the program or script has run its course. Some combinations are readily obvious. Others require more careful planning. Sometimes it is enough of a clue just to know that something can be done, at other times more detail is required. A number of examples of useful combinations of using OpenSSH to run remote tasks follow. <noinclude>__TOC__</noinclude> ==Run a Remote Process== An obvious use of [http://man.openbsd.org/ssh.1 ssh(1)] is to run a program on the remote system and then exit. Often this is a shell, but it can be any program available to the account. For feedback, [http://man.openbsd.org/ssh.1 ssh(1)] passes whatever exit value was returned by the remote process. When a remote process is completed, [http://man.openbsd.org/ssh.1 ssh(1)] will terminate and pass on the exit value of the last remote process to complete. So in this way it can be used in scripts and the outcome of the remote processes can be used by the client system. The following will run [http://man.openbsd.org/true.1 true(1)] on the remote system and return success, exit code 0, to the local system where [http://man.openbsd.org/ssh.1 ssh(1)] was run. <syntaxhighlight lang="shell-session"> $ ssh -l fred server.example.org /bin/true $ echo $? 0 </syntaxhighlight> The following will run [http://man.openbsd.org/false.1 false(1)] on the remote system and return failure, exit code 1, to the local system where [http://man.openbsd.org/ssh.1 ssh(1)] was run. <syntaxhighlight lang="shell-session"> $ ssh -l fred server.example.org /bin/false $ echo $? 1 </syntaxhighlight> If any other values, from 0 to 255, were returned, [http://man.openbsd.org/ssh.1 ssh(1)] will pass them back to the local host from the remote host. ===Run a Remote Process and Capture Output Locally=== Output from programs run on the remote machine can be saved locally using a normal redirect. Here we run [http://man.openbsd.org/dmesg.8 dmesg(8)] on the remote machine: <syntaxhighlight lang="shell-session"> $ ssh -l fred server.example.org dmesg > dmesg.from.server.log </syntaxhighlight> Interactive processes will be difficult or impossible to operate in that manner because no output will be seen. For interactive processes requiring any user input, output can be piped through [http://man.openbsd.org/tee.1 tee(1)] instead to send the output both to the file and to '''stdout'''. This example runs an anonymous FTP session remotely and logs the output locally. <syntaxhighlight lang="shell-session"> $ ssh -l fred server.example.org "ftp -a anotherserver" | tee ftp.log </syntaxhighlight> It may be necessary to force pseudo-TTY allocation to get both input and output to be properly visible. <syntaxhighlight lang="shell-session"> $ ssh -t -l fred server.example.org "ftp -a anotherserver" | tee /home/fred/ftp.log </syntaxhighlight> The simplest way to read data on one machine and process it on another is to use pipes. <syntaxhighlight lang="shell-session"> $ ssh fred@server.example.org 'cat /etc/ntpd.conf' | diff /etc/ntpd.conf - </syntaxhighlight> ===Run a Local Process and Capture Remote Data=== Data can be produced on one system and used on another. This is different than tunneling X, where both the program and the data reside on the other machine and only the graphical interface is displayed locally. Again, the simplest way to read data on one machine and use it on another is to use pipes. <syntaxhighlight lang="shell-session"> $ cat /etc/ntpd.conf | ssh fred@server.example.org 'diff /etc/ntpd.conf -' </syntaxhighlight> In the case where the local program expects to read a file from the remote machine, a named pipe can be used in conjunction with a redirect to transfer the data. In the following example, a named pipe is created as a transfer point for the data. Then [http://man.openbsd.org/ssh.1 ssh(1)] is used to launch a remote process which sends output to '''stdout''' which is captured by a redirection on the local machine and sent to the named pipe so a local program can access the data via the named pipe. In this particular example, it is important to add a filter rule to [http://man.openbsd.org/tcpdump.8 tcpdump(8)] itself to prevent an infinite feedback loop if [http://man.openbsd.org/ssh.1 ssh(1)] is connecting over the same interface as the data being collected. This loop is prevented by excluding either the SSH port, the host used by the SSH connection, or the corresponding network interface. <syntaxhighlight lang="shell-session"> $ mkfifo -m 600 netdata $ ssh -fq -i /home/fred/.ssh/key_rsa \ 'sudo tcpdump -lqi eth0 -w - "not port 22"' > netdata $ wireshark -k -i netdata & </syntaxhighlight> Any '''sudo(8)''' privileges for [http://man.openbsd.org/tcpdump.8 tcpdump(8)] also need to operate without an interactive password, so great care and precision must be exercised to spell out in '''/etc/sudoers''' exactly which program and parameters are to be permitted and nothing more. The authentication for [http://man.openbsd.org/ssh.1 ssh(1)] must also occur non-interactively, such as with a key and key agent. Once the configurations are set, [http://man.openbsd.org/ssh.1 ssh(1)] is run and sent to the background after connecting. With [http://man.openbsd.org/ssh.1 ssh(1)] in the background the local application is launched, in this case [http://linux.die.net/man/1/wireshark wireshark(1)], a graphical network analyzer, which is set to read the named pipe as input. On some systems, process substitution can be used to simplify the transfer of data between the two machines. Doing process substitution requires only a single line. <syntaxhighlight lang="shell-session"> $ wireshark -k -i <( ssh -fq -i /home/fred/.ssh/key_rsa \ 'sudo tcpdump -lqi eth0 -w - "not port 22"' ) </syntaxhighlight> However, process substitution is not POSIX compliant and thus not portable across platforms. It is limited to [http://linux.die.net/man/1/bash bash(1)] only and not present in other shells. So, for portability, use a named pipe. ==Run a Remote Process While Either Connected or Disconnected== There are several different ways to leave a process running on the remote machine. If the intent is to come back to the process and check on it periodically then a terminal multiplexer is probably the best choice. For simpler needs there are other approaches. ===Run a Remote Process in the Background While Disconnected=== Many routine tasks can be set in motion and then left to complete on their own without needing to stay logged in. When running remote process in background it is useful to spawn a shell just for that task. <syntaxhighlight lang="shell-session"> $ ssh -t -l fred server.example.org 'sh -c "tar zcf /backup/usr.tgz /usr/" &' </syntaxhighlight> Another way is to use a terminal multiplexer. An advantage with them is being able to reconnect and follow the progress from time to time, or simply to resume work in progress when a connection is interrupted such as when traveling. Here [http://man.openbsd.org/tmux.1 tmux(1)] reattaches to an existing session or else, if there is none, then creates a new one. <syntaxhighlight lang="shell-session"> $ ssh -t -l fred server.example.org "tmux a -d || tmux" </syntaxhighlight> On older systems, [http://linux.die.net/man/1/screen screen(1)] is often available. Here it is launched remotely to create a new session if one does not exists, or re-attach to a session if one is already running. So if no [http://linux.die.net/man/1/screen screen(1)] session is running, one will be created. <syntaxhighlight lang="shell-session"> $ ssh -t -l fred server.example.org "screen -d -R" </syntaxhighlight> Once a [http://linux.die.net/man/1/screen screen(1)] session is running, it is possible to detach it and close the SSH connection without disturbing the background processes it may be running. That can be particularly useful when hosting certain game servers on a remote machine. Then the terminal session can then be reattached in progress with the same two options. <syntaxhighlight lang="shell-session"> $ ssh -t -l fred server.example.org "screen -d -R" </syntaxhighlight> There is more on using terminal multiplexers [http://man.openbsd.org/tmux.1 tmux(1)] or on below. In some environments it might be necessary to also use [http://linux.die.net/man/1/pagsh pagsh(1)], especially with Kerberos, see below. Or [http://man.openbsd.org/nohup.1 nohup(1)] might be of use. ====Keeping Authentication Tickets for a Remote Process After Disconnecting==== Authentication credentials are often deleted upon logout and thus any remaining processes no longer have access to whatever the authentication tokens were used for. In such cases, it is necessary to first create a new credential cache sandbox to run an independent process in before disconnecting. <syntaxhighlight lang="shell-session"> $ pagsh $ /usr/local/bin/a-slow-script.sh </syntaxhighlight> Kerberos and AFS are two examples of services that require valid, active tickets. Using [http://linux.die.net/man/1/pagsh pagsh(1)] is one solution for those environments. ===Automatically Reconnect and Restore an SSH Session Using tmux(1) or screen(1)=== Active, running sessions can be restored after either an intentional or accidental break by using a terminal multiplexer. Here [http://man.openbsd.org/ssh.1 ssh(1)] is to assume that the connection is broken after 15 seconds (three tries of five seconds each) of not being able to reach the server and to exit. Then the [http://man.openbsd.org/tmux.1 tmux(1)] session is reattached or, if absent, created. <syntaxhighlight lang="shell-session">$ while ! ssh -t fred@example.org -o 'ServerAliveInterval 5' \ 'tmux attach -d || tmux new-session'; \ do true; \ done</syntaxhighlight> Then each time [http://man.openbsd.org/ssh.1 ssh(1)] exits, the shell tries to connect with it again and when that happens to look for a [http://man.openbsd.org/tmux.1 tmux(1)] session to attach to. That way if the TCP or SSH connections are broken, none of the applications or sessions stop running inside the terminal multiplexer. Here is an example for [http://linux.die.net/man/1/screen screen(1)] on older systems. <syntaxhighlight lang="shell-session"> $ while ! ssh -t fred@example.org -o 'ServerAliveInterval 5' \ 'screen -d -R'; \ do true; \ done </syntaxhighlight> The above examples give only an overly simplistic demonstration where at their most basic they are useful to resume a shell where it was after the TCP connection was broken. Both [http://man.openbsd.org/tmux.1 tmux(1)] and [http://linux.die.net/man/1/screen screen(1)] are quite capable of much more and worth exploring especially for travelers and telecommuters. See also the section on "[[OpenSSH/Cookbook/Public_Key_Authentication|Public Key Authentication]]" to integrate keys into the process of automatically reconnecting. ===Sharing a Remote Shell=== Teaching, team programming, supervision, and creating documentation are some examples of when it can be useful for two people to share a shell. There are several options for read-only viewing as well as for multiple parties being able to read and write. ====Read-only Monitoring or Logging==== Pipes and redirects are a quick way to save output from an SSH session or to allow additional users to follow along read-only. One sample use-case is when a router needs to be reconfigured and is available via serial console. Say the router is down and a consultant must log in via another user's laptop's connection to access the router's serial console and it is necessary to supervise what is done or help at certain stages. It is also very useful in documenting various activities, including configuration or installation. ====Read-only Using tee(1)==== Capture shell activity to a log file and optionally use tail to watch it real time. The utility [http://man.openbsd.org/tee.1 tee(1)], like a t-joint in plumbing, is used here to send output to two destinations, both '''stdout''' and a file. <syntaxhighlight lang="shell-session"> $ ssh fred@server.example.org | tee /tmp/session.log </syntaxhighlight> The resulting file can be monitored live in another terminal using [http://man.openbsd.org/tail.1 tail(1)] or after the fact with a pager like [http://man.openbsd.org/less.1 less(1)]. =====Force Serial Session with Remote Logging Using tee(1)===== The [http://man.openbsd.org/tee.1 tee(1)] utility can capture output from any program that can write to '''stdout'''. It is very useful for walking someone at a remote site through a process, supervising, or building documentation. This example uses [http://man.openbsd.org/chroot.8 chroot(8)] to keep the choice of actions as limited as possible. Actually building the chroot jail is a separate task. Once built, the guest user is made a member of the group 'consult'. The serial connection for the test is on device ttyUSB0, which is a USB to serial converter and [http://man.openbsd.org/cu.1 cu(1)] is used for the connection. [http://man.openbsd.org/tee.1 tee(1)] takes the output from [http://man.openbsd.org/cu.1 cu(1)] and saves a copy to a file for logging while the program is used. The following is would go in [http://man.openbsd.org/sshd_config.5 sshd_config(5)] <syntaxhighlight lang="apache" line="1"> Match Group consult ChrootDirectory /var/chroot-test AllowTCPForwarding no X11Forwarding no ForceCommand cu -s 19200 -l /dev/ttyUSB0 | tee /var/tmp/cu.log </syntaxhighlight> With that one or more people can follow the activity in [http://man.openbsd.org/cu.1 cu(1)] as it happens using [http://man.openbsd.org/tail.1 tail(1)] by pointing it at the log file on the remote server. <syntaxhighlight lang="shell-session"> $ tail -f /var/tmp/cu.log </syntaxhighlight> Or the log can be edited and used for documentation. It is also possible for advanced users of [http://man.openbsd.org/tmux.1 tmux(1)] or [http://linux.die.net/man/1/screen screen(1)] to allow read-only observers. =====Scripting===== It is possible to automate some of the connection. Make a script, such as '''/usr/local/bin/screeners''', then use that script with the '''ForceCommand''' directive. Here is an example of a script that tries to reconnect to an existing session. If no sessions already exist, then a new one is created and automatically establishes a connection to a serial device. <syntaxhighlight lang="bash"> #!/bin/sh # try attaching to an existing screen session, # or if none exist, make a new screen session /usr/bin/screen -d -R || \ /usr/bin/screen \ /bin/sh -c "/usr/bin/cu -s 19200 -l /dev/ttyUSB0 | \ /usr/bin/tee /tmp/consultant.log" </syntaxhighlight> ====Interactive Sharing Using a Terminal Multiplexer==== The terminal multiplexers [http://man.openbsd.org/tmux.1 tmux(1)] or [http://linux.die.net/man/1/screen screen(1)] can attach two or more people to the same session.<ref name="Sharing Terminal Sessions With Tmux And Screen">{{cite web |url=http://www.howtoforge.com/sharing-terminal-sessions-with-tmux-and-screen |title=Sharing Terminal Sessions With Tmux And Screen |publisher=HowToForge |year=2012}}</ref> The session can either be read-only for some or read-write for all participants. =====tmux(1)===== If the same account is going to be sharing the session, then it's rather easy. In the first terminal, start [http://man.openbsd.org/tmux.1 tmux(1)] where 'sessionname' is the session name: <syntaxhighlight lang="shell-session"> $ tmux new-session -s sessionname </syntaxhighlight> Then in the second terminal: <syntaxhighlight lang="shell-session"> $ tmux attach-session -t sessionname </syntaxhighlight> That's all that's needed if the same account is logged in from different locations and will share a session. For different users, you have to set the permissions on the [http://man.openbsd.org/tmux.1 tmux(1)] socket so that both users can read and write it. That will first require a group which has both users as members. Then after both accounts are in the shared group, in the first terminal, the one with the main account, start [http://man.openbsd.org/tmux.1 tmux(1)] as before but also assign a name for the session's socket. Here 'sessionname' is the session name and 'sharedsocket' is the name of the socket: <syntaxhighlight lang="shell-session"> $ tmux -S /tmp/shareddir/sharedsocket new-session -s sessionname </syntaxhighlight> Then change the group of the socket and the socket's directory to a group that both users share in common. Make sure that the socket permissions allow the group to write the socket. In this example the shared group is 'foo' and the socket is '''/tmp/shareddir/sharedsocket'''. <syntaxhighlight lang="shell-session"> $ chgrp foo /tmp/shareddir/ $ chgrp foo /tmp/shareddir/sharedsocket $ chmod u=rwx,g=rx,o= /tmp/shareddir/ $ chmod u=rw,g=rw,o= /tmp/shareddir/sharedsocket </syntaxhighlight> Finally, have the second account log in attach to the designated session using the shared socket. <syntaxhighlight lang="shell-session"> $ tmux -S /tmp/shareddir/sharedsocket attach-session -t sessionname </syntaxhighlight> At that point, either account will be able to both read and write to the same session. =====screen(1)===== If the same account is going to share a [http://linux.die.net/man/1/screen screen(1)] session, then it's an easy procedure. In the one terminal, start a new session and assign a name to it. In this example, 'sessionname' is the name of the session: <syntaxhighlight lang="shell-session"> $ screen -S sessionname </syntaxhighlight> In the other terminal, attach to that session: <syntaxhighlight lang="shell-session"> $ screen -x sessionname </syntaxhighlight> If two different accounts are going to share the same [http://linux.die.net/man/1/screen screen(1)] session, then the following extra steps are necessary. The first user does this when initiating the session: <syntaxhighlight lang="shell-session"> $ screen -S sessionname ^A :multiuser on ^A :acladd user2 </syntaxhighlight> Then the second user does this: <syntaxhighlight lang="shell-session"> $ screen -x user1/sessionname </syntaxhighlight> In [http://linux.die.net/man/1/screen screen(1)], if more than one user account is used the <code>aclchg</code> command can remove write access for the other user: <code>^A :aclchg user -w "#"</code>. Note that [http://linux.die.net/man/1/screen screen(1)] must run as SUID for multiuser support. If it is not set, you will get an error message reminding you when trying to connect the second user. You might also have to set permissions for '''/var/run/screen''' to 755. ==Display Remote Graphical Programs Locally Using X11 Forwarding== It is possible to run graphical programs on the remote machine and have them displayed locally by forwarding X11, the current implementation of the X Window system. X11 is used to provide the graphical interface on many systems. See the website [http://www.x.org/ www.X.org] for its history and technical details. It is built into most desktop operating systems. It is even distributed as part of Macintosh OS X, though there it is not the default method of graphical display. X11 forwarding is off by default and must be enabled on both the SSH client and server if it is to be used. X11 also uses a client server architecture and the X server is the part that does the actual display for the end user while the various programs act as the clients and to the server. Thus by putting the client and server on different machines and forwarding the X11 connections, it is possible to run programs on other computers but have them displayed and available as if they were on the user's computer. A note of caution is warranted. Allowing the remote machine to forward X11 connections will allow it and its applications to access many devices and resources on the machine hosting the X server. Regardless of the intent of the users, these are the devices and other resources accessible to the user account. So forwarding should only be done when the other machine, that user account, and its applications are reliable. On the server side, to enable X11 forwarding by default, put the line below in [http://man.openbsd.org/sshd_config.5 sshd_config(5)], either in the main block or a '''Match''' block: <syntaxhighlight lang="apache" line="1"> X11Forwarding yes </syntaxhighlight> On the client side, forwarding of X11 is also off by default, but can be enabled using three different ways. It can be enabled in [http://man.openbsd.org/ssh_config.5 ssh_config(5)] or else using either the '''-X''' or '''-Y''' run-time arguments. <syntaxhighlight lang="shell-session"> $ ssh -l fred -X desk.example.org </syntaxhighlight> The connection will be slow, however. If responsiveness is a factor, it may be relevant to consider a SOCKS proxy instead or some other technology all together like FreeNX. ===Using '''ssh_config(5)''' to Specify X11 Forwarding=== X11 forwarding can be enabled in '''/etc/ssh_config''' for all accounts for all outgoing SSH connections or for just specific hosts by configuring [http://man.openbsd.org/ssh_config.5 ssh_config(5)]. <syntaxhighlight lang="apache" line="1"> X11Forwarding yes </syntaxhighlight> It is possible to apply [http://man.openbsd.org/ssh_config.5 ssh_config(5)] settings to just one account in '''~/.ssh/config''' to limit forwarding by default to an individual host by hostname or IP number. <syntaxhighlight lang="apache" line="1"> Host desk.example.org X11Forwarding yes </syntaxhighlight> And here it is enabled for a specific machine by IP number <syntaxhighlight lang="apache" line="1"> Host 192.168.111.25 X11Forwarding yes </syntaxhighlight> Likewise, use limited pattern matching to allow forwarding for a subdomain or a range of IP addresses. Here it is enabled for any host in the ''pool.example.org'' domain, any host from 192.168.100.100 to 192.168.100.109, and any host from 192.168.123.1 through 192.168.123.254: <syntaxhighlight lang="apache" line="1"> Host *.pool.example.org X11Forwarding yes Host 192.168.100.10? X11Forwarding yes Host 192.168.123.* X11Forwarding yes </syntaxhighlight> Again, X11 is built-in to most desktop systems. There is an optional add-on for OS X which has its roots in NextStep. X11 support may be missing from some particularly outdated, legacy platforms, however. But even there it is often possible to retrofit them using the right tools, one example being the tool [http://www.straightrunning.com/XmingNotes/ Xming]. ==Unprivileged sshd(8) Service== It is possible to run [http://man.openbsd.org/sshd.8 sshd(8)] on a high port using an unprivileged account. It will not be able to fork to other accounts, so login will be only possible on the same account which is running the unprivileged service. There are three general steps to running an unprivileged SSH service on a normal, unprivileged account. 1) Prior to launching the SSH daemon under an unprivileged account, some unprivileged host keys must be created. These keys will be used to identify this service to connecting clients, especially on return visits. Their creation only needs to be done once per account and the passphrase must be left empty. <syntaxhighlight lang="shell-session"> $ ssh-keygen -q -t ed25519 -N '' \ -f /home/fred/.ssh/ssh_host_key_ed25519 \ -C 'unprivileged SSH host key for fred' </syntaxhighlight> If needed, do likewise for ECDSA and RSA keys. Be sure that that the permissions are correct. The directory which the keys are in and its parents should not be writable by other accounts and the private SSH host key itself must not be readable by any other accounts. 2) When the keys are in place, test them by starting the SSH server manually. One ways is by using the '''-h''' option to point to these alternative host key files. Note that because the account is unprivileged only the ports from 1024 on up are available, in this example port 2222 is set using the '''-p''' option. <syntaxhighlight lang="shell-session"> $ /usr/sbin/sshd -D \ -h /home/fred/.ssh/ssh_host_key_ed25519 \ -h /home/fred/.ssh/ssh_host_key_ecdsa -p 2222 </syntaxhighlight> Verify that the new service is accessible from another system. Especially make sure that any packet filters, if they are any along the way, are set to pass the right port. Incoming connections, and any packet filters, are going to have to take the alternative port into consideration in normal uses. Another approach would be to add the unprivileged SSH service as an onion service. See the [[OpenSSH/Cookbook/Proxies_and_Jump_Hosts#Providing_SSH_as_an_Onion_Service | chapter on Proxies and Jump Hosts]] about that. Note that the above examples use the default configuration file for the daemon. If a different configuration file is needed for special settings, then add the '''-f''' option to the formula. <syntaxhighlight lang="shell-session"> $ /usr/sbin/sshd -D -f /home/fred/.ssh/sshd_config </syntaxhighlight> Specific configuration directives can be set for the unprivileged account by using an alternative configuration file. Unprivileged host keys can be identified in that file along with a designated alternative listening port and many other customizations. It might also be helpful to log the unprivileged service separately from any other SSH services already on the same system by changing the '''SyslogFacility''' directive to something other than AUTH which is the default. 3) Automate the startup, if that is a goal. The '''-D''' option keeps the process from detaching and becoming a daemon. During a test that might be useful, but later in actual use it might not be, it depends on how the process is launched. ===What Unprivileged sshd(8) Processes Look Like=== Because an unprivileged account is being used, privilege separation will not occur and all the child process will run in the same account as the original [http://man.openbsd.org/sshd.8 sshd(8)] process. Here's how that can look while listening on port 2222 for an incoming connection using an unprivileged account, using the default configuration file with a few overrides: <syntaxhighlight lang="shell-session"> $ pgrep -d , sshd | COLUMNS=200 xargs ps -w -o user,pid,args -p USER PID COMMAND fred 1997992 sshd: /usr/sbin/sshd -h /home/fred/.ssh/ssh_host_key_ed25519 -h /home/fred/.ssh/ssh_host_key_ecdsa -p 2222 [listener] 0 of 10-100 startups </syntaxhighlight> Then once someone has connected but not finished logging in yet, it can look like this. A monitor is forked but even though it is labeled [priv] it is not privileged, and instead still running in the same unprivileged account as the parent process. It in turn forks a child, here process 1998150, to manage the authentication: <syntaxhighlight lang="shell-session"> $ pgrep -d , sshd | COLUMNS=200 xargs ps -w -o user,pid,args -p USER PID COMMAND fred 1997992 sshd: /usr/sbin/sshd -h /home/fred/.ssh/ssh_host_key_ed25519 -h /home/fred/.ssh/ssh_host_key_ecdsa -p 2222 [listener] 1 of 10-100 startups fred 1998149 sshd: fred [priv] fred 1998150 sshd: fred [net] </syntaxhighlight> Finally, once login has been successful, that unprivileged process is dropped and a new unprivileged process spun up to manage the interactive session. <syntaxhighlight lang="shell-session"> $ pgrep -d , sshd | COLUMNS=200 xargs ps -w -o user,pid,args -p USER PID COMMAND fred 1997992 sshd: /usr/sbin/sshd -h /home/fred/.ssh/ssh_host_key_ed25519 -h /home/fred/.ssh/ssh_host_key_ecdsa -p 2222 [listener] 0 of 10-100 startups fred 1998149 sshd: fred [priv] fred 1998410 sshd: fred@pts/20 </syntaxhighlight> Above, process 1998410 is managing the interactive session. ==Locking Down a Restricted Shell== A restricted shell sets up a more controlled environment than what is normally provided by a standard interactive shell. Though it behaves almost identically to a standard shell, it has many exceptions regarding capabilities that are whitelisted, leaving the others disabled. The restrictions include, but are not limited to, the following: * The SHELL, ENV, and PATH variables cannot be changed. * Programs can't be run with absolute or relative paths. * Redirections that create files can't be used (specifically >, >|, >>, <>). Common high-end shells like [https://linux.die.net/man/1/bash bash(1)], [http://man.openbsd.org/man1/ksh.1 ksh(1)], and [https://linux.die.net/man/1/zsh zsh(1)] all can be launched in restricted mode. See the manual pages for the individual shells for the specifics of how to invoke restrictions. Even with said restrictions, there are several ways by which it is trivial to escape from a restricted shell: If normal shells are available anywhere in the path, they can be launched instead. If regular programs in the available path provide shell escapes to full shells, they too can be used. Finally, if [http://man.openbsd.org/man8/sshd.8 sshd(8)] is configured to allow arbitrary programs to be run independently of the shell, a full shell can be launched instead. So there's more to safely using restricted shells than just setting the account's shell to <code>/bin/rbash</code> and calling it a day. Several steps are needed to make that as difficult as possible to escape the restrictions, especially over SSH. (The following steps assume familiarity with the appropriate system administration tools and their use. Their selection and use are not covered here.) First, create a directory containing a handful of symbolic links that point to white-listed programs. The links point to the programs that the account should be able to run when the directory is added to the PATH environment variable. These programs should have no shell escape capabilities and, obviously, they should not themselves be unrestricted shells. If you want to prevent exploration of the system at large, remember to also lock the user into a chroot or jail. Even without programs like ls(1) and cat(1), exploration is still possible (see below: "ways to explore without ls(1) and cat(1)"). Symbolic links are used because the originals are, hopefully, maintained by package management software and should not be moved. Hard links cannot be used if the original and whitelisted directories are in separate filesystems. Hard links are necessary if you set up a chroot or jail that excludes the originals. <syntaxhighlight lang="shell-session"> $ ls -l /usr/local/rbin/ total 8 lrwxr-xr-x 1 root wheel 22 Jan 17 23:08 angband -> /usr/local/bin/angband lrwxr-xr-x 1 root wheel 9 Jan 17 23:08 date -> /bin/date -rwxr-xr-x 1 root wheel 2370 Jan 17 23:18 help lrwxr-xr-x 1 root wheel 12 Jan 17 23:07 man -> /usr/bin/man lrwxr-xr-x 1 root wheel 13 Jan 17 23:09 more -> /usr/bin/more lrwxr-xr-x 1 root wheel 28 Jan 17 23:09 nethack -> /usr/local/bin/nethack-3.4.3 ... </syntaxhighlight> Next, create a minimal '''.profile''' for that account. Set its owner to 'root'. Do this for its parent directory too (which is the user's home directory). Then, allow the account's own group to read both the file and the directory. <syntaxhighlight lang="shell-session"> $ cd /home/fred $ cat .profile PATH=/usr/games:/usr/local/rbin export PATH HOME TERM $ ls -ld . .profile drwxr-xr-x 3 root fred 512 Jan 17 23:20 . -rw-r--r-- 1 root fred 48 Jan 17 23:20 .profile </syntaxhighlight> Next, create a group for the locked down account(s) and populate it. Here the account is in the group ''games'' and will be restricted through its membership in that group. <syntaxhighlight lang="shell-session"> $ groups fred fred games </syntaxhighlight> Next, lock down SSH access for that group or account through use of a '''ForceCommand''' directive in the server configuration and apply it to the selected group. This is necessary to prevent trivial circumvention through the SSH client by calling a shell directly, such as with <code>ssh -t fred@server.example.org /bin/sh</code> or similar. Remember to disable forwarding if it is not needed. For example, the following can be appended to [http://man.openbsd.org/man5/sshd_config.5 sshd_config(5)] so that any account in the group 'games' gets a restricted shell no matter what they try with the SSH client. <syntaxhighlight lang="apache" line="1"> Match Group games X11Forwarding no AllowTcpForwarding no ForceCommand rksh -l </syntaxhighlight> Note that the restricted shell is invoked with the '''-l''' option by the '''ForceCommand''' so that it will be a login shell that reads and executes the contents of '''/etc/profile''' and '''$HOME/.profile''' if they exist and are readable. This is necessary to set the custom PATH environment variable. Again, be sure that '''$HOME/.profile''' is not in any way editable or overwritable by the restricted account. Also note that this disables SFTP access by that account, which prevents quite a bit of additional mischief. Last but not least, set the account's login shell to the restricted shell. Include the full path to the restricted shell. It might also be necessary to add it to the list of approved shells found in '''/etc/shells''' first. ==Beware: ways to explore without ls(1) and cat(1)== <syntaxhighlight lang="shell-session"> # To see a list of files in the current working directory: $ echo * # To see the contents of a text file: $ while IFS= read -r j; do echo "$j"; done < .profile </syntaxhighlight> <noinclude> == References == {{reflist}} {{OpenSSH/TOC|mini}} </noinclude> {{BookCat}} {{status|100%}} rnqhb9p6j2p2mf791pp1dkuqj9m79b3 OpenSSH/Third Party Utilities 0 248567 4656826 4392856 2026-08-09T19:08:49Z Schweikhardt 1008853 Typos corrected 4656826 wikitext text/x-wiki : [https://www.harding.motd.ca/autossh/ autossh] - Automatically restart SSH sessions and tunnels : [http://manpages.debian.net/cgi-bin/man.cgi?query=scanssh scanssh] - a scanner for SSH hosts and some kinds of proxies : [http://linux.die.net/man/1/sshfs sshfs] - a user-space file system client based on SFTP : [http://linux.die.net/man/1/sshfp sshfp] - generates SSHFP DNS records from '''known_hosts''' files or ssh-keyscan(1) : [http://linux.die.net/man/1/keychain keychain] - re-use ssh-agent and/or gpg-agent between logins : [http://linux.die.net/man/1/rsync rsync] - synchronizes files and directories using delta encoding : [http://gstm.sourceforge.net/ gstm] - a graphical front-end for managing SSH-tunneled port redirects : [https://www.rutschle.net/tech/sslh/README.html sslh] - a protocol demultiplexer : [http://www.sshguard.net/ sshguard] - an intrusion detection system with packet filtering : [https://github.com/arthepsy/ssh-audit ssh-audit] - identifies the server's banner, key exchange, encryption, MAC, compression, compatibility, and other information. : [https://git.sr.ht/~rumpelsepp/webcat webcat] - can use websockets<ref name="websockets">{{cite web| url=https://rumpelsepp.org/blog/ssh-through-websocket/ |title=SSH (Reverse) Tunnel Through Websocket |author=Stefan Tatschner |date=2020-10-15 | accessdate=2020-10-20}}</ref> for tunneling, is otherwise very similar to [http://man.openbsd.org/nc.1 netcat] and [https://linux.die.net/man/1/curl curl]. ==scanssh== '''scanssh''' scans hosts and networks for running services<ref name="Provos_ScanSSH">{{cite web |url=http://www.citi.umich.edu/u/provos/papers/scanssh.pdf |title=ScanSSH - Scanning the Internet for SSH Servers|author=Niels Provos| author2=Peter Honeyman |publisher=Center for Information Technology Integration (CITI), University of Michigan|year=2001|accessdate=2016-03-05}}</ref>. It checks the version number of the server and displays the results in a list. It detects ssh, sftp and several kinds of SOCKS, HTTP, and telnet proxies. Scan a small subnet for ssh servers: <syntaxhighlight lang="shell-session"> $ sudo scanssh -n 22 -s ssh 192.168.100.32/26 </syntaxhighlight> Scan the same small network for SOCKS proxies: <syntaxhighlight lang="shell-session"> $ sudo scanssh -s socks5,socks4 192.168.100.32/26 </syntaxhighlight> Variable scanning speeds can be set as well as random sampling. Open proxy detection scans to detect open proxies on common ports. Scan 1000 hosts randomly selected from 172.16.1.1 through 172.31.254.254, at a rate of 200 per second: <syntaxhighlight lang="shell-session"> $ sudo scanssh -r 200 -p random(1000)/172.16.0.0/12 </syntaxhighlight> The hosts and networks to be scanned can be either specified as an IPv4 address or a CIDR-like IP prefix with IP address and network mask. Ports can be appended by adding a colon at the end of address specification. The sequence of hosts scanned is random, but that can be modified by the following two parameters, '''random''' and '''split''': '''random(n[,seed])/''' selects a sample of ''n'' random addresses from the range specified as targets for scanning. ''n'' is the number of address to randomly create in the given network and ''seed'' is an optional seed for the pseudo random number generator. For example, it is possible to sample 10000 random IPv4 hosts from the Internet by specifying 'random(10000)/0.0.0.0/0' as the address. '''split(s,e)/''' selects a specific segment of the address range for use. ''e'' specifies the number of segments in parallel and ''s'' is the segment number used by this particular scan. This can be used to scan from several hosts in parallel by scanning a different segment from each host. '''-n''' Specifies the port numbers to scan. Ports are separated by commas. Each specified scanner is run for each port in this list. The default port is 22. Scan for SSH servers on both port 22 and 2022: <syntaxhighlight lang="shell-session"> $ sudo scanssh -s ssh -n 22,2022 192.168.0.0/24 </syntaxhighlight> ==sshfs== '''sshfs''' builds on the Filesystem in Userspace (FUSE) interface to allow non-privileged users to create a secure, reliable file system framework. It allows a remote file system to be mounted as a local folder by taking advantage of the SFTP subsystem. It uses SFTP to mount a directory from a remote server as a local directory. In that way, all use applications can interact with that directory and its contents as if it were local.As the name implies, this is done in user space and not the kernel as is usually required for file systems. FUSE has a stable API library and bindings to C, C++, and Java. In this case it is specifically the SFTP client that is run over [http://man.openbsd.org/ssh.1 ssh(1)] and is then mounted as a file system. See the Cookbook section on [[OpenSSH/Cookbook/SFTP|SFTP]] for more regarding '''sshfs'''. ==sshfp== '''sshfp''' generates SSHFP NS records using the public keys stored in a '''known_hosts''' file or provided by [http://man.openbsd.org/ssh-keyscan.1 ssh-keyscan(1)] as a means to use DNS to publish SSH key fingerprints. That in turn allows DNSSEC lookups to verify SSH keys before use. SSHFP resource records in DNS are used to store fingerprint of SSH public host keys that are associated with the host names. A record itself consists of an algorithm number, fingerprint type, and the fingerprint of the public host key. See RFC 4255 for details on SSHFP. ==keychain== '''keychain''' is another manager for [http://man.openbsd.org/ssh-agent.1 ssh-agent(1)] to allow multiple shells and processes, including [http://man.openbsd.org/cron.8 cron(8)] jobs, to use the keys held by the agent. It is often integrated into desktop-specific tools like Apple Keychain on OS X or kdewallet for KDE. http://www.funtoo.org/en/security/keychain/intro/ ==rsync== '''rsync''' is a file transfer utility to transfer files between computers very efficiently. It can run on top of SSH or use its own protocol. SSH is the default. http://rsync.samba.org/ See the Cookbook section on [[OpenSSH/Cookbook/Automated_Backup|Automated Backup]] for examples on using '''rsync''' live or in scripts. ==gstm (Gnome SSH Tunnel Manager)== '''gstm''' is a graphical front-end for managing SSH connections and especially port forwarding. http://sourceforge.net/projects/gstm/ ==sslh== '''sslh''' is a protocol demultiplexer. It accepts connections on specified ports and forwards them based on the first packet sent by the client. It can be used to share a single port between SSH, SSL, HTTP, OpenVPN, tinc, and XMPP. https://www.rutschle.net/tech/sslh/README.html See also the section on [[OpenSSH/Cookbook/Multiplexing#Multiplexing_HTTPS_and_SSH_Using_sslh|Multiplexing]] for a discussion with examples. ==sshguard== '''sshguard''' is an intrusion prevention system. It monitors logs to detect undesirable patterns of activities and triggers corresponding packet filter rules for increasing periods of time. It can be used with a few other services besides SSH. http://www.sshguard.net/ ==ssh-audit== '''ssh-audit''' is a python script to gather information about SSH servers. It can identify banners used, key exchange, encryption, Message Authentication Code (MAC) algorithms, compression, compatibility settings, and several other security-related aspects. https://github.com/arthepsy/ssh-audit ==Additional Third Party Utilities== The following are useful in working with OpenSSH, but outside the scope of this book to go into detail. They are nevertheless worth mentioning enough to warrant a list: : '''netstat''' – Show network connections, routing tables, interface statistics, masquerade connections, and multicast memberships : '''nc''' or '''netcat''' – Netcat, the TCP/IP swiss army knife. : '''socat''' – SOcket CAT, a multipurpose relay similar to netcat. : '''nmap''' – Network exploration tool and security scanner. : '''tcpdump''' – Display network traffic real time. : '''telnet''' – Unencrypted interaction with another host. : '''pagsh''' – Creates a new credential cache sandbox and process authentication group (PAG). : '''nohup''' – Invoke a process that ignores HANGUP signals : '''sudo''' – Execute programs as another user : '''lftp''' – A handy interactive multi-protocol file transfer text-based client supporting SFTP. : '''curl''' – A multi-protocol file transfer text-based client supporting SCP and SFTP. : '''tmux''' – A terminal multiplexer. <noinclude> == References == {{reflist}} {{OpenSSH/TOC|mini}} </noinclude> {{BookCat}} {{status|100%}} qknk2v7iylej0ll32j8eyz4e58qs53v Introductory Chemistry Online/Acids, Bases and pH 0 251160 4656910 4643755 2026-08-10T06:50:57Z ShakespeareFan00 46022 4656910 wikitext text/x-wiki == &#160;&#160;<big>'''Chapter 8.Acids, Bases and ''p''H'''</big>== '''We have all heard of '''acids'''… ''acid indigestion'', the acid content of ''vinegars'' and ''cheap wines'', vats of ''sulfuric acid'' and arch villains. In the last chapter we learned about the molecular dipole in water and how water molecules form hydrogen bonds among themselves, and to other polar molecules. In this chapter we will see that this hydrogen bonding can be strong enough to actually break the O—H bonds in water and in other hydrogen bonded molecules, transferring the proton to water to form the '''hydronium ion''', H<sub>3</sub>O<sup>+</sup>. In its simplest sense, the formation of the hydronium ion is the “acidity” that we are all familiar with. We will see how we measure this acidity (the '''pH scale'''). We will get an introduction to the concept of '''equilibrium''' and you will finally come to appreciate the utility of the ''log'' and ''anti-log'' buttons on your scientific calculator!''' == &#160;&#160;'''8.1 Hydrogen Bonding'''== In Chapter 7, we explored the unique properties of water that allow it to serve as a powerful solvent with the ability to dissolve both ionic compounds, as well as polar molecular compounds. We attributed this to the ability of water molecules to align themselves so that the polarized hydrogen-oxygen bonds could stabilize cations, anions, and virtually any compound that also contained a significantly polarized covalent bond. By this logic, it is not at all surprising that water can also react strongly with itself, and indeed water exists as a vast network of molecules aligned so that their positive and negative dipoles interact with each other. This is shown in the drawing in [http://askthenerd.com/COL/images/8.1.html Figure 8.1], and the dotted lines indicate interactions between hydrogens (the ''positive'' end of the molecular dipole) and oxygens (the ''negative'' end of the dipole). A bond that is formed from a hydrogen atom, which is part of a polar covalent bond (such as the O—H bond) to another, more electronegative atom (that has at least one unshared pair of electrons in its valence shell) is called a '''hydrogen bond'''. Recall that oxygen has two unshared pairs in its valence shell, and the hydrogen-oxygen interaction in water is the classic example of a hydrogen bond. Hydrogen bonds are weak, relative to covalent bonds. The energy required to break the O—H covalent bond (the '''bond dissociation energy''') is about 111 kcal/mole, or in more proper ''SI'' units, 464 kJ/mole. The energy required to break an O—H••••O hydrogen bond is about 5 kcal/mole (21 kJ/mole), or less than 5% of the energy of a “real” covalent bond. Even though hydrogen bonds are relatively weak, if you consider that every water molecule is participating in a least four hydrogen bonds, the total energy of hydrogen bonding interactions can rapidly become significant. Hydrogen bonding is generally used to explain the high boiling point of water (100 ˚C). For many compounds which do not possess highly polarized bonds, boiling points parallel the molar mass of the compound. Methane, CH<sub>4</sub>, has a molar mass of 16 and a boiling point of –164 ˚C. Water, with a molar mass of 18, has a boiling point of +100 ˚C. Although these two compounds have similar molar masses, a significant amount of energy must be put into the polar molecule, water, in order to move into the gas phase, relative to the non-polar methane. The extra energy that is required is necessary to break down the hydrogen bonding network. Hydrogen bonding is also important is DNA. According to the Watson-Crick model, the double helix of DNA is assembled and stabilized by hydrogen pairing between matching “bases”. In [http://askthenerd.com/COL/images/8.2.html Figure 8.2], the hydrogen bonds between adenine and thymidine are shown as the faint dotted lines. The hydrogen bonds are formed between the oxygen atoms (red) and the adjacent N—H bonds, and between the central nitrogen (blue) and the adjacent N—H bond. It is suggested that the precise alignment of these hydrogen bonds contributes to stability of the double helix and ensures the proper alignment of the corresponding base pairs. == &#160;&#160;'''8.2 Ionization of Acids in Solution'''== In general, acids can be thought of as molecular compounds containing at least one hydrogen which is covalently bonded to a more electronegative atom. As an example, consider the compound hydrogen fluoride (HF). As we discussed in Chapter 7, the electronegativities of hydrogen and fluorine are 2.1 and 4.0, respectively, and the hydrogen-fluoride covalent bond is very highly polarized, as shown in the electrostatic potential map shown in [http://askthenerd.com/COL/images/8.3.html Figure 8.3]. Because of this, when hydrogen fluoride is dissolved in water, water molecules orient themselves around HF so that the water dipoles interact with, and stabilize, the highly polarized H—F bond. Important to this stabilization is the hydrogen bond that is formed between the hydrogen of HF and the oxygen of an adjacent water. This hydrogen bond not only stabilizes the HF molecular dipole, but it also ''weakens ''the H—F covalent bond. As a result of this weakening, the H—F bond stretches (the bond length increases) and then fully breaks. The hydrogen that was hydrogen-bonded to the water molecule now becomes ''fully'' bonded to the oxygen, forming the species H<sub>3</sub>O<sup>+</sup> (the '''hydronium ion''') and the fluorine now exists as a fluoride anion. This is known as the process of '''acid dissociation''' and the steps in this process are shown using “ball and stick” molecular models in [http://askthenerd.com/COL/images/8.4.html Figure 8.4]. The chemical equation describing the acid dissociation reaction of HF is given in Equation 8.1'''a'''. The products of the reaction, fluoride anion and the hydronium ion, are oppositely charged ions, and it is reasonable to assume that they will be attracted to each other. If they ''do'' come in contact, it is also reasonable to suggest that the process of hydrogen transfer that we described above can also happen ''in reverse.'' That is, H<sub>3</sub>O<sup>+</sup> can hydrogen bond to the fluoride ion and the hydrogen can be transferred back, to form HF and water. The chemical equation describing this process is shown in Equation 8.1'''b'''. In fact, these two reaction do occur simultaneously (and very rapidly) in solution. When we speak of a set of forward- and back-reactions that occur together on a ''very fast'' time-scale, we describe the set of reactions as an '''equilibrium''' and we use a special double arrow in the chemical reaction to show this (Equation 8.1'''c'''). Equation 8.1'''c''' can be said to represent the ''equilibrium dissociation of HF in water.'' HF ''(aq)'' + H<sub>2</sub>O &rarr; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + F<sup>–</sup> ''(aq)''Eq. 8.1a HF ''(aq)'' + H<sub>2</sub>O&larr;H<sub>3</sub>O<sup>+</sup> ''(aq)'' + F<sup>–</sup> ''(aq)''Eq. 8.1b HF ''(aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + F<sup>–</sup> ''(aq) ''Eq. 8.1c For any equilibrium, an '''equilibrium constant''' can be written that describes whether the ''products'' or the ''reactants'' will be the predominant species in solution. We will address this fully in Chapter 10, but according to the ''Law of Mass Action'', the equilibrium constant, ''K'' for this reaction, is simply given by the ratio of the concentrations of the products and the reactants (concentrations from each side are multiplied together if there is more than one). Note that '''any solid or liquid reactants or products''' (such as water) are not included in the expression. Thus for the ionization of HF; <div style="text-align: center;"> <math>K_{a}=\frac{\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{F}^{-} \right]}{\left[ \text{HF} \right]}</math> .</div> When you are dealing with acids, the equilibrium constant is generally called an '''acid''' '''dissociation constant''', and is written as ''K''<sub>a</sub>. The larger the value of ''K''<sub>a</sub>, the greater the extent of ionization and the higher the resulting concentration of the hydronium ion. Because the concentration of the hydronium ion is directly correlated with acidity, acids with a large value of ''K''<sub>a</sub> are termed '''strong acids'''. We will introduce “weak acids” in Chapter 10, but for now the important thing to remember is that strong acids are virtually 100% ionized in solution. That doesn’t mean that the back-reaction does not occur, is simply means that much more favorable and that 99.9999999999% of the acid is present in its ionized form. Because this exceeds the number of significant figures that we typically work with, strong acids are generally described as 100% ionized in solution. Table 8.1 lists the common strong acids that we will study in this text. {{center/top}} '''Table 8.1. Common Strong Acids''' {| style="border-spacing:0;" | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| HCl | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| hydrochloric acid |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| HNO<sub>3</sub> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| nitric acid |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| H<sub>2</sub>SO<sub>4</sub> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| sulfuric acid |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| HBr | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| hydrobromic acid |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| HI | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| hydroiodic acid |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| HClO<sub>4</sub> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| perchloric acid |} {{center/end}} == &#160;&#160;'''8.3 Conjugate Acid-Base Pairs'''== Acid dissociation reactions are often described in terms of the concepts of conjugate acids and their corresponding conjugate bases. The description of “acids and bases” that we will deal with in this text will be limited to simple dissociation reactions, like those shown above, where a hydronium ion is produced. This description is referred to as the '''Brønsted-Lowery Acid-Base Theory''', and in the Brønsted theory, the '''conjugate acid''' is defined as the species that ''donates'' a hydrogen in the forward reaction, and the '''conjugate base''' is the species that ''accepts'' a hydrogen the reverse reaction. Thus for the ionization of HCl, HCl is the conjugate acid and Cl<sup>–</sup> is the conjugate base. HCl ''(aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + Cl<sup>–</sup> ''(aq) '' In the discussion of Brønsted acid-base behavior, the hydrogen atom that is transferred is generally referred to as a '''proton''', because it is transferred as a hydrogen atom without its electron. Thus for the ionization of HCl, HCl (the conjugate acid) is a ''proton donor'' and Cl<sup>–</sup> (the conjugate base) is a ''proton acceptor.'' In General Chemistry you will learn that acid-base behavior can also be described in terms of electron donors and electron acceptors (the '''Lewis Acid-Base Theory''' in which an ''acid'' is an electron acceptor and a ''base'' is an electron donor), but here we will limit our discussion to simple, strong, Brønsted acids and bases. [http://askthenerd.com/COL/images/Examp8.1.html ''' Example 8.1 Identifying Conjugate Acids and Conjugate Bases '''] For each of the reactions given below, identify the conjugate acid and the conjugate base. For example (d), also identify the conjugate acid and the conjugate base in the reverse reaction. a.HClO<sub>4</sub> ''(aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + ClO<sub>4</sub><sup>–</sup> ''(aq) '' b.H<sub>2</sub>SO<sub>4</sub> ''(aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + HSO<sub>4</sub><sup>–</sup> ''(aq) '' c.HSO<sub>4</sub><sup>–</sup>'' (aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + SO<sub>2</sub><sup>2-</sup> ''(aq) '' d.HNO<sub>3</sub> ''(aq)'' + NH<sub>3</sub> &#8644; NH<sub>4</sub><sup>+</sup> ''(aq)'' + NO<sub>3</sub><sup>–</sup> ''(aq) '' [http://askthenerd.com/COL/images/Ex8.1.html ''' Exercise 8.1 Identifying Conjugate Acids and Conjugate Bases '''] For each of the reactions given below, identify the conjugate acid and the conjugate base. a) H<sub>2</sub>PO<sub>4</sub><sup>- </sup>+ H<sub>3</sub>O<sup>+</sup> &#8644; H<sub>2</sub>O + H<sub>3</sub>PO<sub>4</sub> b) NH<sub>3</sub>''(g)'' +''''' '''''H<sub>2</sub>O &#8644; ''''' '''''NH<sub>4</sub><sup>+</sup>''(aq)'' +''''' '''''OH<sup>-</sup>''(aq)'' c) H<sub>2</sub>O''(l)'' '''+ '''HNO<sub>2</sub>''(aq)'' &#8644; H<sub>3</sub>O<sup>+</sup>''(aq)'' '''+ '''NO<sub>2</sub><sup>-</sup>''(aq)'' == &#160;&#160;'''8.4 Acids-Bases Reactions: Neutralization'''== In Chapter 5, we examined a special case of a double replacement reaction in which an acid reacted with a base to give water and a pair of ions in solution. In the context of the Brønsted Theory, a base can be thought of as an ionic compound that produces the hydroxide anion in solution. Thus, sodium hydroxide, NaOH, ionizes to form the sodium cation and the hydroxide anion (HO<sup>–</sup>). NaOH ''(aq)'' &rarr; Na<sup>+</sup> ''(aq)'' + HO<sup>–</sup> ''(aq) '' We have written this equation using a single arrow because sodium hydroxide is a ''strong base'' and is essentially 100% ionized in solution. The hydroxide anion (HO<sup>–</sup>) reacts with the hydronium ion (H<sub>3</sub>O<sup>+</sup>) to form ''two'' moles of water, as shown in the equation given below. H<sub>3</sub>O<sup>+</sup> + HO<sup>–</sup> &rarr; 2 H<sub>2</sub>O Thus, if you have aqueous solutions of HCl and NaOH, the following process occur: *HCl ionizes to form the hydronium ion: HCl ''(aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + Cl<sup>–</sup> ''(aq)'' *NaOH ionizes to form the hydroxide anion: NaOH ''(aq)'' &rarr; Na<sup>+</sup> ''(aq)'' + HO<sup>–</sup> ''(aq)'' *HO<sup>–</sup> reacts with H<sub>3</sub>O<sup>+</sup> to form ''two'' moles of water: H<sub>3</sub>O<sup>+</sup>'' ''+ HO<sup>–</sup> &rarr; 2 H<sub>2</sub>O If we add up the set of three equations, we see that hydronium and hydroxide ions appear on both sides of the arrow and cancel, leaving: HCl ''(aq)'' + NaOH ''(aq)'' &rarr; H<sub>2</sub>O + NaCl ''(aq)'' In this equation, we have not shown the additional water from the hydronium ion and we have grouped the sodium and chloride ions as NaCl ''(aq)'', with the understanding that it will be fully ionized in aqueous solution. This is an example of a ''neutralization'' reaction; an ''acid'' and a ''base'' have reacted to form ''water''. When we write neutralization equations we generally do not show hydronium or hydroxide ions and we generally show ionic species as distinct compounds. Neutralization equations therefore look very much like the other double replacements that we studied in Chapter 5. [http://askthenerd.com/COL/images/Examp8.2.html ''' Example 8.2 Writing and Balancing Neutralization Equations '''] For each of the following, write a balanced neutralization equation: a.The reaction of calcium hydroxide with hydrochloric acid.'' '' b.The reaction of sodium hydroxide with sulfuric acid (both ionizations). c.The reaction of barium hydroxide with nitric acid. [http://askthenerd.com/COL/images/Ex8.2.html ''' Exercise 8.2 Writing and Balancing Neutralization Equations '''] Write a balanced neutralization equation for the reaction of calcium hydroxide<br> with sulfuric acid. == &#160;&#160;'''8.5 The Meaning of ''Neutrality'': The Autoprotolysis of Water'''== In the previous section, we described the reaction of an acid and a base to form water. When all of the acid and base have been consumed, we are left with water and an aqueous solution containing an ionic compound. Another way to think of this would be to say that, the acid we began with had a high concentration of hydronium cations (H<sub>3</sub>O<sup>+</sup>), the base had a high concentration of hydroxide anions (HO<sup>–</sup>) and the neutral solution contains only water. This, however, is a little too simplistic. Just like water can promote the ionization of acids, water can also promote the ionization of ''itself''. Picture two water molecules sharing a hydrogen bond. Just like we saw in Figure 8.4 for HF , the partially bonded hydrogen can transfer ''along'' the hydrogen bond to form a hydronium cation and a hydroxide anion ([http://askthenerd.com/COL/images/8.5.html Figure 8.5]). This process occurs very rapidly in pure water, thus, any sample of pure water will ''always ''contain a small concentration of hydronium and hydroxide ions. How small is “small”? Very small! In pure water at 25 <sup>o</sup>C, the concentration of hydronium ions ([H<sub>3</sub>O<sup>+</sup>]) and hydroxide ions ([HO<sup>–</sup>]) will both be equal to exactly 1 &times; 10<sup>-7</sup> M. Based on this, we can expand upon our definitions of acidic, basic and neutral solutions: * A solution is '''acidic''' if [H<sub>3</sub>O<sup>+</sup>] > 1 &times; 10<sup>-7</sup> M. * A solution is '''basic''' if [H<sub>3</sub>O<sup>+</sup>] < 1 &times; 10<sup>-7</sup> M. * A solution is '''neutral''' if [H<sub>3</sub>O<sup>+</sup>] = 1 &times; 10<sup>-7</sup> M. Working with these definitions, if you have a solution with [H<sub>3</sub>O<sup>+</sup>] = 4.5 &times; 10<sup>-4</sup> M, it will be ''acidic'' (4.5 &times; 10<sup>-4</sup> > 1 &times; 10<sup>-7</sup>)''.'' If you have a solution with [H<sub>3</sub>O<sup>+</sup>] = 1 &times; 10<sup>-4</sup> M, it will be ''basic'' (1 &times; 10<sup>-4</sup> < 1 &times; 10<sup>-7</sup>). Finally, a ''neutral'' solution is one in which [H<sub>3</sub>O<sup>+</sup>] and [HO<sup>–</sup>] are ''both'' 1 &times; 10<sup>-7</sup> M. Recalling our discussion of acid dissociation constants from Section 8.2, we can write the ionization equilibrium for water and the expression for the dissociation constant, ''K''<sub>a</sub>, as shown below: <div style="text-align: center;">2 H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> + HO<sup>–</sup> ''and'' [ <math>K_{a}=\frac{\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{HO}^{-} \right]}{\left[ \text{H}_{\text{2}}\text{O} \right]^{2}}</math> </div> Because the molar concentration of water (in pure water) is 55.5 M, the term for [H<sub>2</sub>O] is essentially a constant and can be neglected (recall the law of mass action). When we do this, we call the dissociation constant ''K''<sub>W</sub>, where ''K''<sub>W</sub> is defined as <math>K_{W}=\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{HO}^{-} \right]</math>. At neutrality and 25 <sup>o</sup>C, [H<sub>3</sub>O<sup>+</sup>] and [HO<sup>–</sup>] are ''both'' 1 &times; 10<sup>-7</sup> M, therefore: <div style="text-align: center;"> <math>K_{W}=\left[ 1\times 10^{-7} \right]\left[ 1\times 10^{-7} \right]=1\times 10^{-14}</math> .</div> This simple relationship is actually quite powerful. Because ''K''<sub>W</sub> is a constant, if we know ''either'' a hydronium ion or a hydroxide ion concentration, we can directly calculate the concentration of the other species. For example, if you are ''given'' that [H<sub>3</sub>O<sup>+</sup>] is 1 &times; 10<sup>-4</sup> M, [HO<sup>–</sup>] can be calculated as: <div style="text-align: center;"> <math>K_{W}=\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{HO}^{-} \right]</math> </div> <div style="text-align: center;"> <math>K_{W}=1\times 10^{-14}=\left[ 1\times 10^{-4} \right]\left[ \text{HO}^{-} \right]</math> </div> <div style="text-align: center;"> <math>\left[ \text{HO}^{-} \right]=\frac{\text{1}\times \text{10}^{-\text{14}}}{\text{1}\times \text{10}^{-\text{4}}}=1\times 10^{-10}\text{M}</math> </div> '''[http://askthenerd.com/COL/images/Examp8.3.html Example 8.3] Calculating [H<sub>3</sub>O<sup>+</sup>] and [HO<sup>-</sup>] using K<sub>W</sub> ''' a. A solution at 25 <sup>o</sup>C, is known to have a hydronium ion concentration of 4.5 &times; 10<sup>-5</sup> M; <br>what is the concentration of hydroxide ion in this solution? b. A solution at 25 <sup>o</sup>C, is known to have a hydroxide ion concentration of 7.5 &times; <br>10<sup>-2</sup> M; what is the concentration of hydronium ion in this solution? '''[http://askthenerd.com/COL/images/Ex8.3.html Exercise 8.3] Calculating [H<sub>3</sub>O<sup>+</sup>] and [HO<sup>-</sup>] using K<sub>W</sub> ''' A solution is known to have a hydronium ion concentration of 9.5 &times; 10<sup>-8</sup> M; <br>what is the concentration of hydroxide ion in this solution? == &#160;&#160;'''8.6 ''p''H Calculations'''== One thing that you should notice about the numbers in the previous examples is that they are ''very small''. In general, chemists find that working with large negative exponents like these (very small numbers) is cumbersome. To simplify the process, calculations involving hydronium ion concentrations are generally done using ''logarithms''. Recall that a '''logarithm''' is simply the exponent that some base number needs to be raised to in order to generate a given number. In these calculations, we will use a base of 10. A number such as 10,000 can be written as 10<sup>4</sup>, so by the definition, the logarithm of 10<sup>4</sup> is simply 4. For a small number such as 10<sup>-7</sup>, the logarithm is again simply the exponent, or -7. Before calculators became readily available, taking the logarithm of a number that was ''not'' an integral power of 10 meant a trip to “log tables” (or even worse, using a slide rule). Now, pushing the LOG button on an a scientific calculator makes the process trivial. For example, the logarithm of 14,283 (with the push of a button) is 4.15482. If you are paying attention, you should have noticed that the logarithm contains ''six'' digits, while the original number (14,283) only contains ''five'' significant figures. This is because a logarithm consists of two sets of numbers; the digits to the left of the decimal point (called the '''characteristic''') simply reflect the integral power of 10, and are ''not included'' when you count significant figures. The numbers ''after'' the decimal (the '''mantissa''') should have the same significance as your experimental number, thus a logarithm of 4.15482 actually represents ''five'' significant figures. There is one other convention that chemists apply when they are dealing with logarithms of hydronium ion concentrations, that is, the logarithm is multiplied by (-1) to change its sign. Why would we do this? In most aqueous solutions, [H<sub>3</sub>O<sup>+</sup>] will vary between 10<sup>-1</sup> and 10<sup>-13</sup> M, giving logarithms of –1 to –13. To make these numbers easier to work with, we take the ''negative'' of the logarithm (-log[H<sub>3</sub>O<sup>+</sup>]) and call it a '''''p''H''' value. The use of the lower-case “''p''” reminds us that we have taken the ''negative'' of the logarithm, and the upper-case “H” tells us that we are referring to the ''hydronium ion concentration.'' Converting a hydronium ion concentration to a ''p''H value is simple. Suppose you have a solution where [H<sub>3</sub>O<sup>+</sup>] = 3.46 &times; 10<sup>-4</sup> M and you want to know the corresponding ''p''H value. You would enter 3.46 &times; 10<sup>-4 </sup>into your calculator and press the LOG button. The display should read “-3.460923901”. First, we multiply this by (-1) and get 3.460923901. Next, we examine the number of significant figures. Our experimental number, 3.46 &times; 10<sup>-4</sup> has three significant figures, so our mantissa must have three digits. We round our answer and express our result as, ''p''H = 3.461. The reverse process is equally simple. If you are given a ''p''H value of 7.04 and are asked to calculate a hydronium ion concentration, you would first multiply the ''p''H value by (-1) to give –7.04. Enter this in your calculator and then press the key (or key combination) to calculate “10<sup>x</sup>”; your display should read “9.120108 &times; 10<sup>–8</sup>”. There are only two digits in our original mantissa (7.'''04''') so we must round this to ''two'' significant figures, or [H<sub>3</sub>O<sup>+</sup>] = 9.1 &times; 10<sup>-8</sup>. '''[http://askthenerd.com/COL/images/Examp8.4.html Example 8.4] Calculating [H<sub>3</sub>O<sup>+</sup>] and pH Values ''' a. A solution is known to have a hydronium ion concentration of 4.5 &times;<br> 10<sup>-5</sup> M; what is the ''p''H this solution? b. A solution is known to have a ''p''H of 9.553; what is the concentration of<br> hydronium ion in this solution? '''[http://askthenerd.com/COL/images/Ex8.4.html Exercise 8.4] Calculating [H<sub>3</sub>O<sup>+</sup>] and pH Values ''' a. A solution is known to have a hydronium ion concentration of 9.5 &times;<br> 10<sup>-8</sup> M; what is the ''p''H this solution? b. A solution is known to have a pH of 4.57; what is the hydronium ion<br> concentration of this solution? There is another useful calculation that we can do by combining what we know about ''p''H and expression <math>K_{W}=\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{HO}^{-} \right]</math>. We know that ''K''<sub>W</sub> = 10<sup>-14</sup> and we know that (-log [H<sub>3</sub>O<sup>+</sup>]) is ''p''H. If we define (-log [HO<sup>–</sup>]) as ''p''OH, we can take our expression for ''K''<sub>W</sub> and take the (-log) of both sides (remember, algebraically you can perform the same operation on both sides of an equation) we get: <div style="text-align: center;"> <math>K_{W}=10^{-14}=\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{HO}^{-} \right]</math> </div> <div style="text-align: center;"> <math>-\log \left( 10^{-14} \right)=\left( -\log \left[ \text{H}_{\text{3}}\text{O}^{+} \right] \right)+\left( -\log \left[ \text{HO}^{-} \right] \right)</math> </div> <div style="text-align: center;"> <math>14=p\text{H}+p\text{OH}</math> </div> Which tells us that the values of ''p''H and ''p''OH must always add up to give 14! Thus, if the ''p''H is 3.5, the ''p''OH must be 14 – 3.5 = 11.5. This relationship is quite useful as it allows you to quickly convert between ''p''H and ''p''OH, and therefore between [H<sub>3</sub>O<sup>+</sup>] and [HO<sup>–</sup>]. We can now re-address ''neutrality'' in terms of the ''p''H scale: * A solution is '''acidic''' if ''p''H < 7. * A solution is '''basic''' if ''p''H > 7. * A solution is '''neutral''' if ''p''H = 7. The simplest way to determine the ''p''H of a solution is to use an electronic ''p''H meter ([http://askthenerd.com/COL/images/8.6.html Figure 8.6]). A ''p''H meter is actually a sensitive millivolt meter that measures the potential across a thin, sensitive glass electrode that is immersed in the solution. The voltage that develops is a direct function of the ''p''H of the solution and the circuitry is calibrated so that the voltage is directly converted into the equivalent of a ''p''H value. You will most likely use a simple ''p''H meter in the laboratory. The thing to remember is that the sensing electrode has a very thin, fragile, glass membrane and is somewhat expensive to replace. Be careful! A simple way to estimate the ''p''H of a solution is by using an ''indicator.'' A''' ''p''H'' ''indicator''' is a compound that undergoes a change in color at a certain ''p''H value''.'' For example, phenolphthalein ([http://askthenerd.com/COL/images/8.7.html Figure 8.7]) is a commonly used indicator that is ''colorless'' at ''p''H values below 9, but is ''pink'' at ''p''H 10 and above (at very high ''p''H it becomes colorless again). In the laboratory, a small amount of phenolphthalein is added to a solution at low ''p''H and then a base is slowly added to achieve neutrality. When the phenolphthalein changes from colorless to pink, you know that enough base has been added to neutralize all of the acid that is present. In reality, the transition occurs at ''p''H 9.2, not ''p''H 7, so the resulting solution is actually slightly alkaline, but the additional hydroxide ion concentration at pH 9 (10<sup>-5</sup> M) is generally insignificant relative to the concentrations of the solutions being tested. A convenient way to estimate the ''p''H of a solution is to use ''p''H paper. This is simply a strip of paper that has a mixture of indicators embedded in it. The indicators are chosen so that the paper takes on a slightly different color over a range of ''p''H values. The simplest ''p''H paper is ''litmus paper'' that changes from pink to blue as a solution goes from acid to base. Other ''p''H papers are more exotic. [http://askthenerd.com/COL/images/8.8.html Figure 8.8] shows a common commercial ''p''H paper that changes colors gradually over a ''p''H range of 1 to 12. In the laboratory, you will use both indicators, like phenolphthalein, and ''p''H papers in neutralization experiments called ''titrations'', as described in the following section. == &#160;&#160;'''8.7 Titrations: Neutralization and Stoichiometry'''== One of the standard laboratory exercises in General Chemistry is an '''acid-base''' '''titration'''. In order to perform an acid-base titration, you must have a solution of acid or base with a known concentration. You then slowly add a known volume of this solution, using a volumetric '''burette''', to an acid or base solution with an ''unknown'' concentration until neutrality has been achieved. At that point, you know the volume and concentration of the reactant you have added, which means that you can calculate the number of ''moles'' that you added. Based on the stoichiometry of your neutralization reaction, you then know how many moles of acid or base were in the unknown sample. How do you know when you have reached neutrality? Generally an indicator or a ''p''H meter is used (as described in Section 8.5). For example, if we had a solution of NaOH that was exactly 0.100 M and we had a beaker containing an ''unknown'' concentration of HCl. To perform the titration we would add a few drops of a stock phenolphthalein solution to our HCl, and then slowly add a measured amount of the NaOH solution until all of the acid had been consumed and the indicator changed from colorless to pink [http://askthenerd.com/COL/images/8.9.html (Figure 8.9)]. <div style="text-align: center;">HCl ''(aq)'' + NaOH ''(aq)'' &rarr; NaCl ''(aq)'' + H<sub>2</sub>O</div> Working with the above example, if the volume of base that we added (as measured on the buret) was 12.6 mL, we could calculate the number of moles present in the unknown acid solution. This is equal to the known concentration of our NaOH (0.100 M) multiplied by the volume required for neutrality (0.0126 L), or: <div style="text-align: center;"> <math>\left( 0.100\text{ }{}^{\text{moles}}\!\!\diagup\!\!{}_{\text{L}}\; \right)\left( 0.0126\text{ L} \right)=\text{1}\text{.26}\times \text{10}^{\text{-3}}\text{ moles}</math> </div> If we had used exactly 100.0 mL of our unknown acid in our titration, the concentration of our acid would be: <div style="text-align: center;"> <math>{}^{\left( \text{1}\text{.26}\times \text{10}^{\text{-3}}\text{ moles} \right)}\!\!\diagup\!\!{}_{\left( 0.1000\text{ L} \right)}\;=\text{1}\text{.26}\times \text{10}^{\text{-2}}\text{ M}</math> .</div> [http://askthenerd.com/COL/images/Examp8.5.html ''' Example 8.5 Acid-Base Titrations '''] a. You are given a solution containing an unknown concentration of HCl. You<br> carefully measure 50.0 mL of this solution into a flask and then add a few drops of<br> phenolphthalein solution. You prepare a buret containing 0.055 M NaOH and<br> note that the initial level of the solution in the buret is 12.6 mL. You<br> slowly add the NaOH solution to the acid until the color change ''just''<br> occurs (as evidence of the color change becomes visible, you carefully<br> stir the solution after each drop has been added). When the acid<br> solution turns (and remains) pink, you note that the volume in the buret is now<br> 28.9 mL. What is the concentration of the unknown acid solution? [http://askthenerd.com/COL/images/Ex8.5.html ''' Exercise 8.5 Acid-Base Titrations '''] If 25.00 mL of HCl solution with a concentration of 0.1234 M is neutralized by<br> 23.45 mL of NaOH, what is the concentration of the base? == &#160;&#160;'''Study Points'''== * A bond that is formed from a hydrogen atom, which is part of a polar covalent bond (such as the O—H bond) to another, more electronegative atom (that has at least one unshared pair of electrons in its valence shell) is called a '''hydrogen bond'''. Hydrogen bonds are ''weak'', partially covalent bonds. The '''bond dissociation energy''' of the O—H covalent bond 464 kJ/mole; the bond dissociation energy an O—H••••O hydrogen bond is about 21 kJ/mole. * Even though hydrogen bonds are relatively weak, the ''vast network'' of hydrogen bonds in water makes the energy significant, and hydrogen bonding is generally used to explain the high boiling point of water (100 ˚C), relative to molecules of similar mass that ''cannot'' hydrogen bond. The extra energy represents the energy required to break down the hydrogen bonding network. * Polar molecules, such as '''acids''', strongly hydrogen bond to water. This hydrogen bonding not only ''stabilizes'' the molecular dipoles, but also ''weakens ''the H—'''A''' covalent bond ('''A''' represents the acid molecule). As a result of this weakening, the H—'''A''' bond in these acids stretches (the bond length increases) and then fully breaks. The hydrogen that was hydrogen-bonded to the water molecule now becomes ''fully'' bonded to the oxygen, forming the species H<sub>3</sub>O<sup>+</sup> (the '''hydronium ion''') and the acid now exists as an anion ('''A<sup>–</sup>'''); this is the process of '''acid dissociation'''. * The hydronium ion and the acid anion that are formed in an acid dissociation can react to re-form the original acid. This represents a set of forward- and back-reactions that occur together on a ''very fast'' time-scale; this type of a set of reactions is called an '''equilibrium''' and a double arrow is used in the chemical reaction to show this. This type of reaction is referred to as an '''acid dissociation equilibrium'''. <div style="text-align: center;">HA ''(aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + A<sup>–</sup> ''(aq)''</div> * For any equilibrium, an '''equilibrium constant''' can be written that describes whether the ''products'' or the ''reactants'' will be the predominant species in solution. For the dissociation of the simple acid, HA, the equilibrium constant, ''K''<sub>a</sub>, is simply given by the ratio of the concentrations of the products and the reactants, '''excluding any solid or liquid reactants or products''' (such as water). Thus for the ionization of HA; <div style="text-align: center;"> <math>K_{a}=\frac{\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{A}^{-} \right]}{\left[ \text{HA} \right]}</math> .</div> * According to the '''Brønsted Acid-Base Theory''', any substance that ionizes in water to form hydronium ions (a '''proton donor''') is called an '''acid'''; any substance that ''accepts'' a proton from a hydronium ion is a '''base'''. In an acid-base equilibrium, the '''conjugate acid''' is defined as the species that ''donates'' a hydrogen (a proton) in the ''forward'' reaction, and the '''conjugate base''' is the species that ''accepts'' a hydrogen (a proton) the ''reverse'' reaction. Thus for the ionization of HCl, HCl is the conjugate acid and Cl<sup>–</sup> is the conjugate base. <div style="text-align: center;">HCl ''(aq)'' + H<sub>2</sub>O &#8644; H<sub>3</sub>O<sup>+</sup> ''(aq)'' + Cl<sup>–</sup> ''(aq)''</div> * Metal hydroxides, such as NaOH, dissolve in water to form metal cations and hydroxide anion. Hydroxide anion is a strong '''Brønsted base''' and, therefore, hydroxide anion accepts a proton from the hydronium ion to form ''two moles of water''. The reaction of a Brønsted acid with a Brønsted base to form water is the process of '''neutralization'''. * Just like water can promote the ionization of acids, water can also promote the ionization of ''itself''. This equilibrium process occurs very rapidly in pure water and any sample of pure water will ''always ''contain a small concentration of hydronium and hydroxide ions. In pure water, at 25 <sup>o</sup>C, the concentration of hydronium ions ([H<sub>3</sub>O<sup>+</sup>]) and hydroxide ions ([HO<sup>–</sup>]) will both be equal to exactly '''1 &times; 10<sup>-7</sup> M'''. This is referred to as the '''autoprotolysis''' of water. * The equilibrium for the autoprotolysis of water is defined as''' ''K''<sub>w'</sub>'', according to the equation shown below: <div style="text-align: center;"> <math>K_{W}=\left[ \text{H}_{\text{3}}\text{O}^{+} \right]\left[ \text{HO}^{-} \right]</math> , and at neutrality, [H<sub>3</sub>O<sup>+</sup>] and [HO<sup>–</sup>] are ''both'' 1 &times; 10<sup>-7</sup> M, making the value of ''K''<sub>w</sub>:</div> <div style="text-align: center;"> <math>K_{W}=\left[ 1\times 10^{-7} \right]\left[ 1\times 10^{-7} \right]=1\times 10^{-14}</math> .</div> * Based on the autoprotolysis equilibrium, acidic, basic and neutral solutions can be defined as: *# A solution is '''acidic''' if [H<sub>3</sub>O<sup>+</sup>] > 1 &times; 10<sup>-7</sup> M. *# A solution is '''basic''' if [H<sub>3</sub>O<sup>+</sup>] < 1 &times; 10<sup>-7</sup> M. *# A solution is '''neutral''' if [H<sub>3</sub>O<sup>+</sup>] = 1 &times; 10<sup>-7</sup> M. * A '''''p''H''' value is simply the ''negative'' of the logarithm of the hydronium ion concentration (-log[H<sub>3</sub>O<sup>+</sup>]). * Remember that a logarithm consists of two sets of numbers; the digits to the left of the decimal point (the '''characteristic''') reflect the integral power of 10, and are ''not included'' when you count significant figures. The numbers ''after'' the decimal (the '''mantissa''') have the same significance as your experimental number, thus a logarithm of 4.15482 represents ''five'' significant figures. * In an '''acid-base''' '''titration''' a solution of acid or base with a known concentration is slowly add to an acid or base solution with an ''unknown'' concentration, using a volumetric '''burette''', to until neutrality has been achieved. Typically an indicator or a pH meter is used to signify neutrality. * At neutrality, the ''volume'' and ''concentration'' of the reactant you have added is known, which means that you can calculate the number of ''moles'' that you added (remember, '''concentration &times; volume = moles'''). Based on the stoichiometry of your neutralization reaction, you then know how many moles of acid or base were in the unknown sample. == &#160;&#160;'''Supplementary Problems'''== [http://askthenerd.com/COL/images/Ch8.html ''' Please follow this link... '''] {{BookCat}} rd9e8dm6mpp17l8ltyhl94wvcsfrvpa Introductory Chemistry Online/Gaseous State 0 251161 4656911 4647994 2026-08-10T06:51:33Z ShakespeareFan00 46022 4656911 wikitext text/x-wiki == &#160;&#160;<big>'''Chapter 9. The Gaseous State '''</big>== '''Some of the first real breakthroughs in the study of chemistry happened in the study of the gaseous state. In gases, the volume of the actual gas particles is but a tiny fraction of the total volume that the gas occupies. This allowed early chemists to relate parameters such as volume and the number of gas particles, leading to the development of the mole concept. As we have seen in previous chapters, the notion of a chemical mole allows us to do quantitative chemistry and lead us to the point where we can routinely address reaction stoichiometry, etc. In this chapter, we will visit some of the early observations that lead to our current understand of gasses and how they behave. We will see how the relationships between pressure and volume; volume and temperature and volume and moles lead to the ideal gas laws and how these simple rules can allow us to do quantitative calculations in the gas phase.''' == &#160;&#160;'''9.1 Gasses and Atmospheric Pressure'''== In Chapter 2, we learned about the three principle states of matter; solids, liquids and gasses. We explained the properties of the states of matter using the ''kinetic molecular theory'' (KMT). Substances in the gaseous state, according to the KMT, have enough kinetic energy to break ''all'' of the attractive forces between the individual gas particles and are therefore free to separate and rapidly move throughout the entire volume of their container. Because there is so much space between the particles in a gas, a gas is ''highly compressible.'' High compressibility and the ability of gases to take on the shape and volume of its container are two of the important physical properties of gasses. The gas that we are all most familiar with is the mixture of elements and compounds that we call the “atmosphere”. The air that we breath is mostly nitrogen and oxygen, with much smaller amounts of water vapor, carbon dioxide, noble gasses and the organic compound, methane (Table 9.1). {{center/top}} '''Table 9.1. Approximate Composition of the Atmosphere''' {| style="border-spacing:0;" | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">'''Gas'''</div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| '''Concentration, Parts per Billion''' | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| '''Percentage''' |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">N<sub>2</sub></div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">7.8 &times; 10<sup>8</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">78%</div> |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">O<sub>2</sub></div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">2.0 &times; 10<sup>8</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">20%</div> |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">H<sub>2</sub>O</div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">About 10<sup>6</sup> – 10<sup>7</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;"><nowiki>< 1%</nowiki></div> |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">Ar</div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">9.3 &times; 10<sup>6</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;"><nowiki>< 1%</nowiki></div> |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">CO<sub>2</sub></div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">3.5 &times; 10<sup>5</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;"><nowiki>< 0.05%</nowiki></div> |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">Ne</div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">1.8 &times; 10<sup>4</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">''trace''</div> |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">He</div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">5.2 &times; 10<sup>3</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">''trace''</div> |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">CH<sub>4</sub></div> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">1.6 &times; 10<sup>3</sup></div> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;"| <div style="text-align: center;">''trace''</div> |} {{center/end}} A gas that is enclosed in a container exerts a ''pressure'' on the inner walls of that container. This pressure is the result of the countless collisions of the gas particles with the container wall [http://askthenerd.com/COL/images/9.1.html (Figure 9.1)](. As each collision occurs, a small amount of energy is transferred, generating a net pressure. Although we are generally unaware of it, the gasses in the atmosphere generate a tremendous pressure on all of us. At sea level, atmospheric pressure is equal to 14.7 pounds per square inch. Putting this in perspective, for a person of average height and build, the total pressure from the atmosphere pressing on their body is about 45,000 pounds! Why aren’t we squashed? Remember, we also have air ''inside'' our bodies and the pressure from the inside balances the pressure outside, keeping us nice and firm, not squishy! The proper SI unit for pressure is the Pascal (Pa), where 1 Pa = 1 kg m<sup>-1</sup> s<sup>-2</sup>. In chemistry, however, it is more common to measure pressure in terms of atmospheres (atm) where 1 atm is atmospheric pressure at sea level, or 1 atm = 14.7 pounds per square inch (1 atm = 101,325 Pa). Atmospheric pressure is typically measured using a device called a ''barometer''. A simple mercury barometer (also called a ''Torricelli barometer, ''after its inventor) consists of a glass column, about 30 inches high, closed at one end and filled with mercury. The column is inverted and placed in an open, mercury-filled reservoir. The weight of the mercury in the tube causes the column to drop to the point that the mass of the mercury column matches the atmospheric pressure exerted on the mercury in the reservoir. The atmospheric pressure is then read as the ''height'' of the mercury column. Again, working at sea level, 1 atmosphere is ''exactly'' equal to a column height of 760 mm of mercury. The units for the conversion are 1 atm = 760 mm Hg, and this is an ''exact'' relationship with regard to significant figures. The unit ''torr'' (after Torricelli) is sometimes used in place of mm Hg. A schematic of a mercury barometer is shown in [http://askthenerd.com/COL/images/9.2.html Figure 9.2]. == &#160;&#160;'''9.2 The Pressure-Volume Relationship: Boyle’s Law'''== The kinetic molecular theory is useful when we are trying to understand the properties and behaviors of gases. The KMT (and related theories) tell us that: * There is a tremendous amount of distance between individual particles in the gas phase. * Gas particles move randomly at various speeds and in every possible direction. * Attractive forces between individual gas particles are negligible. * Collisions between gas particles are fully elastic. * The average kinetic energy of particles in the gas phase is proportional to the temperature of the gas. In reality, these predictions only apply to “ideal gases”. An ideal gas has perfectly elastic collisions and has no interactions with its neighbors or with the container. Real gases deviate from these predictions, but at common temperatures and pressures, the deviations are generally small and in this text we will treat all gases as if they were “ideal”. Because there is so much empty space between gas molecules, it is easy to see why a gas is so compressible. If you have a container filled with a gas, you can ''squeeze ''it down to a smaller volume by applying pressure. The harder you squeeze (the more pressure you apply) the smaller the resulting volume will be. Imagine a bicycle pump compressing air into a tire [http://askthenerd.com/COL/images/9.3.html (Figure 9.3)]. As pressure is applied to the pump, the same number of gas molecules are squeezed into a smaller volume. The dependence of volume on pressure is not linear. In 1661, Robert Boyle systematically studied the compressibility of gasses in response to increasing pressure. Boyle found that the dependence of volume on pressure was ''non-linear'' [http://askthenerd.com/COL/images/9.4.html (Figure 9.4)] but that a linear plot could be obtained if the volume was plotted against the ''reciprocal'' of the pressure, 1/''P''. This is stated as '''''Boyle’s law:''''' '''The volume (''V'') of an ideal gas varies ''inversely'' with the applied pressure (''P'') when the temperature (''T'') and the number of moles (''n'') of the gas are constant.''' Mathematically, Boyle’s law can be stated as: <div style="text-align: center;"> <math>V\propto \frac{1}{P}\text{ }\left( \text{at constant }T\text{ and }n \right)</math> , and</div> <div style="text-align: center;"> <math>V=\text{ }constant\text{ }\left( \frac{1}{P} \right)\text{, or, }PV\text{=}constant</math> </div> We can use Boyle’s law to predict what will happen to the volume of a sample of gas as we change the pressure. Because ''PV'' is a constant for any given sample of gas (at constant ''T''), we can imagine two states; an initial state with a certain pressure and volume (''P''<sub>1</sub>''V''<sub>1</sub>), and a final state with different values for pressure and volume (''P''<sub>2</sub>''V''<sub>2</sub>). Because ''PV'' is always a constant, we can equate the two states and write: <div style="text-align: center;"> <math>P_{1}V_{1}=P_{2}V_{2}</math> </div> Now imagine that we have a container with a piston that we can use to compress the gas inside (for example, [http://askthenerd.com/COL/images/9.5.html Figure 9.5]). You are told that, initially, the pressure in the container is 765 mm Hg and the volume is 1.00 L. The piston is then adjusted so that the volume is now 0.500 L; what is the final pressure? We substitute into our Boyle’s law equation: <div style="text-align: center;"> <math>P_{1}V_{1}=P_{2}V_{2}</math> , or, <math>\left( 765\text{ mm Hg} \right)\left( \text{1}\text{.00 L} \right)=P_{2}\left( 0.500\text{ L} \right)</math> </div> <div style="text-align: center;"> <math>P_{2}=\left( \frac{\left( 765\text{ mm Hg} \right)\left( \text{1}\text{.00 L} \right)}{0.500\text{ L}} \right)=1530\text{ mm Hg}</math> </div> [http://askthenerd.com/COL/images/Examp9.1.html ''' Example 9.1 Pressure-Volume Relationships'''] A container with a piston contains a sample of gas. Initially, the pressure in <br>the container is exactly 1 atm, but the volume is unknown. The piston is <br>adjusted so that the volume is 0.155 L and the pressure is 956 mm Hg; what was <br>the initial volume? [http://askthenerd.com/COL/images/Ex9.1.html ''' Exercise 9.1 Pressure-Volume Relationships '''] The pressure of 12.5 L of a gas is 0.82 atm. If the pressure changes to 1.32 atm, <br>what will the final volume be? A sample of helium gas has a pressure of 860.0 mm Hg. This gas is transferred to a <br>different container having a volume of 25.0 L; in this new container, the <br>pressure is determined to be 770.0 mm Hg. What was the initial volume of the gas? == &#160;&#160;'''9.3 The Temperature-Volume Relationship: Charles’s Law'''== [http://askthenerd.com/COL/images/9.6.html Figure 9.6] shows a fun laboratory demonstration in which a fully inflated balloon is placed in liquid nitrogen (at a temperature of –196 ˚C) and it shrinks to about 1/1000<sup>th</sup> of its former size. If the balloon is carefully removed and allowed to warm to room temperature, it will again be fully inflated. This is a simple demonstration of the effect of temperature on the volume of a gas. In 1787, Jacques Charles performed a systematic study of the effect of temperature on gases. Charles took samples of gases at various temperatures, but at the same pressure, and measured their volumes. A plot showing representative results is shown in [http://askthenerd.com/COL/images/9.7.html Figure 9.7]. The first thing to note is that the plot is ''linear''. When the pressure is constant, volume is a direct linear function of temperature. This is stated as '''''Charles’s law:''''' '''The volume (''V'') of an ideal gas varies ''directly'' with the temperature of the gas (''T'') when the pressure (''P'') and the number of moles (''n'') of the gas are constant.''' We can express this mathematically as: <div style="text-align: center;"> <math>V\propto T\text{ }\left( \text{at constant }P\text{ and }n \right)</math> , and</div> <div style="text-align: center;"> <math>V=\text{ }constant\text{ }\left( T \right)\text{, or, }\frac{V}{T}\text{=}constant</math> </div> [http://askthenerd.com/COL/images/9.7.html Figure 9.7] shows data for three different samples of the same gas; 0.25 moles, 0.50 moles and 0.75 moles. All of these samples behave as predicted by Charles’s law (the plots are all linear), but , if you extrapolate each of the lines back to the ''y''-axis (the temperature axis), all three lines intersect at the same point! This point, with a temperature of –273.15 ˚C, is the theoretical point where the samples would have “zero volume”. This temperature, -273.15 ˚C, is called '''absolute zero'''. An even more intriguing thing is that the value of absolute zero is independent of the nature of the gas that is used. Hydrogen, oxygen, helium, argon, (or whatever), all gases show the same behavior and ''all'' intersect at the same point. The temperature of this intersection point is taken as “zero” on the Kelvin temperature scale. The abbreviation used in the Kelvin scale is '''K''' (no degree sign) and there are ''never'' negative values in degrees Kelvin. The size of the degree increment in Kelvin is identical to that in Centigrade and Kelvin and centigrade scales are related by the simple conversion: <div style="text-align: center;"> <math>\text{Kelvin=centigrade+273}\text{.15}</math> </div> Please note that whenever you work gas law problems where temperature is one variable, you MUST use the Kelvin scale. Just like we did for pressure-volume problems, we can use Charles’s law to predict what will happen to the volume of a sample of gas as we change the temperature. Because <math>{}^{V}\!\!\diagup\!\!{}_{T}\;</math> is a constant for any given sample of gas (at constant ''P''), we can again imagine two states; an initial state with a certain temperature and volume ( <math>{}^{V_{1}}\!\!\diagup\!\!{}_{T_{1}}\;</math> ), and a final state with different values for pressure and volume ([ <math>{}^{V_{2}}\!\!\diagup\!\!{}_{T_{2}}\;</math>). Because <math>{}^{V}\!\!\diagup\!\!{}_{T}\;</math> is always a constant, we can equate the two states and write: <div style="text-align: center;"> <math>\frac{V_{1}}{T_{1}}=\frac{V_{2}}{T_{2}}</math> </div> Again, we have a container with a piston that we can use to adjust the pressure on the gas inside. You are told that, initially, the temperature of the gas in the container is 175 K and the volume is 1.50 L. The temperature is changed to 76 K and the piston is then adjusted so that the pressure is identical to the pressure in the initial state; what is the final volume? We substitute into our Charles’s law equation: <div style="text-align: center;"> <math>\frac{V_{1}}{T_{1}}=\frac{V_{2}}{T_{2}}</math>, or, <math>\frac{\left( \text{1}\text{.50 L} \right)}{175\text{ K}}=\frac{V_{2}}{76\text{ K}}</math> </div> <div style="text-align: center;"> <math>V_{2}=\left( \frac{\left( 76\text{ K} \right)\left( \text{1}\text{.50 L} \right)}{\text{175 K}} \right)=0.65\text{ L}</math> </div> [http://askthenerd.com/COL/images/Examp9.2.html ''' Example 9.2 Temperature-Volume Relationships'''] A container with a piston contains a sample of gas. Initially, the pressure in the <br>container is exactly 1 atm, the temperature is 14.0 ˚C and the volume is 997 mL. <br>The temperature is raised to 100.0 ˚C and the piston is adjusted so that <br>the pressure is again exactly 1 atm What is the final volume? [http://askthenerd.com/COL/images/Ex9.2.html ''' Exercise 9.2 Temperature-Volume Relationships'''] A 50.0 mL sample of gas at 26.4˚ C, is heated at constant pressure until its <br>volume is 62.4 mL . What is the final temperature of the gas? A sample container of carbon monoxide occupies a volume of 435 mL at a temperature <br>of 298 K. What would its temperature be if the pressure remained constant and <br>the volume was changed to 265 mL? (182 K) == &#160;&#160;'''9.4 The Mole-Volume Relationship: Avogadro’s Law'''== In [http://askthenerd.com/COL/images/9.7.html Figure 9.7], we made a plot of the effect of temperature on the volume of a gas at constant pressure. The plot shows three lines, one for 0.025 moles of gas, one for 0.50 moles and one for 0.75 moles. If you take these data and combine them with data for other molar quantities, and plot them as a function of the volume at constant temperature and constant pressure, you can obtain a plot similar to that shown in [http://askthenerd.com/COL/images/9.8.html Figure 9.8]. The data in this plot form a linear series, passing through the origin. What this simply says is that the volume of a gas is directly proportional to the number of moles of that gas. This is stated as '''''Avogadro’s law:''''' '''The volume (''V'') of an ideal gas varies ''directly'' with the number of moles of the gas (''n'') when the pressure (''P'') and the number of temperature (''T'') are constant.''' We can express this mathematically as: <div style="text-align: center;"> <math>V\propto n\text{ }\left( \text{at constant }P\text{ and }T \right)</math> , and</div> <div style="text-align: center;"> <math>V= constant\times \left( n \right), or, \frac{V}{n}=constant</math> </div> As before, we can use Avogadro’s law to predict what will happen to the volume of a sample of gas as we change the number of moles. Because <math>{}^{V}\!\!\diagup\!\!{}_{n}\;</math> is a constant for any given sample of gas (at constant ''P'' and ''T''), we can again imagine two states; an initial state with a certain number of moles and volume ( <math>{}^{V_{1}}\!\!\diagup\!\!{}_{n_{1}}\;</math>), and a final state with values for a different number of moles and volume (<math>{}^{V_{2}}\!\!\diagup\!\!{}_{n_{2}}\;</math> ). Because <math>{}^{V}\!\!\diagup\!\!{}_{n}\;</math> is always a constant, we can equate the two states and write: <div style="text-align: center;"> <math>\frac{V_{1}}{n_{1}}=\frac{V_{2}}{n_{2}}</math> </div> As an example of this type of problem, we have a container with a piston that we can use to adjust the pressure on the gas inside, and we can control the temperature. You are told that, initially, the container contains 0.20 moles of hydrogen gas and 0.10 mole of oxygen in a volume is 2.40 L. The two gases are allowed to react (a spark ignites the mixture) and the piston is then adjusted so that the pressure is identical to the pressure in the initial state and the container is cooled to the initial temperature; what is the final volume of the product of the reaction? First, we need to look at the reaction involved. Hydrogen and oxygen react to form water. Two moles of hydrogen react with one mole of oxygen to give two moles of water, as shown below: <div style="text-align: center;">2H<sub>2</sub> ''(g)'' + O<sub>2</sub> ''(g)'' &rarr; 2 H<sub>2</sub>O ''(g)''</div> Initially we have three moles of gas and, after reaction, we have two moles. We can now substitute into Avogadro’s law: <div style="text-align: center;"> <math>\frac{V_{1}}{n_{1}}=\frac{V_{2}}{n_{2}}</math>, or, <math>\frac{\text{2}\text{.40 L}}{\text{3 moles}}=\frac{V_{2}}{2\text{ moles}}</math> </div> <div style="text-align: center;"> <math>V_{2}=\left( \frac{\left( 2.\text{40 L} \right)\left( \text{2 moles} \right)}{\text{3 moles}} \right)=1.60\text{ L}</math> </div> Thus we have described the dependence of the volume of a gas on the pressure (Boyle’s law), the temperature (Charles’s law) and the number of moles of the gas (Avogadro’s law). In the following section, we will combine these to generate the Ideal Gas Law, in which all three variables (pressure, temperature and number of moles) can vary independently. == &#160;&#160;'''9.5 The Ideal Gas Law'''== The three gas laws that we covered in Section 9.2 – 9.5 describe the effect of pressure, temperature and the number of moles of a gas on volume. The three independent gas laws are: * '''''Boyle’s law:''''' <math>V\propto {}^{1}\!\!\diagup\!\!{}_{P}\;</math> * '''''Charles’s law:''''' <math>V\propto T\text{ }</math> * '''''Avogadro’s law:''''' <math>V\propto n\text{ }</math> If volume (''V'') is proportion to each of these variables, it must also be proportional to their product: <div style="text-align: center;"> <math>V\propto \left( {}^{Tn}\!\!\diagup\!\!{}_{P}\; \right)</math> </div> If we replace the proportionality symbol with a constant (let’s just choose '''''R''''' to represent our constant), we can re-write the equation as: <div style="text-align: center;"><math>\mathsf{V=R}\left( {}^{\mathsf{nT}}\!\!\diagup\!\!{}_{\mathsf{P}}\; \right)</math>, or rearranging, <math>PV=nRT</math>.</div> The value of the proportionality constant ''R'', can be calculated from the fact that exactly one mole of a gas at exactly 1 atm and at 0 ˚C (273 K) has a volume of 22.414 L ([http://askthenerd.com/COL/images/9.9.html Figure 9.9)]. Substituting in the equation: <div style="text-align: center;"> <math>PV=nRT</math>, or, <math>R=\frac{PV}{nT}</math> and <math>R=\frac{\left( \text{1 atm} \right)\left( 22.414\text{ L} \right)}{\left( \text{1 mole} \right)\left( 273\text{ K} \right)}=0.082057\text{ L atm mol}^{\text{-1}}\text{ K}^{\text{-1}}</math> </div> The uncomfortable and somewhat obnoxious constant is called the '''universal gas constant''', and you will need to know it (or look it up) whenever you solve problems using the combined ideal gas law. [http://askthenerd.com/COL/images/Examp9.3.html ''' Example 9.3 Ideal Gas Law Calculations'''] What volume will 17.5 grams of N<sub>2</sub> occupy at a pressure of 876 mm Hg and <br>at 123 ˚C? Many of the problems that you will encounter when dealing with the gas laws can be solved by simply using the “two-state” approach. Because '''''R''''' is a constant, we can equate an initial and a final state as: <div style="text-align: center;"> <math>R=\frac{P_{1}V_{1}}{n_{1}T_{1}}</math> for the initial state, and <math>R=\frac{P_{2}V_{2}}{n_{2}T_{2}}</math> for the final state, or, <math>\frac{P_{1}V_{1}}{n_{1}T_{1}}=\frac{P_{2}V_{2}}{n_{2}T_{2}}</math>.</div> Using this equation, you can solve for multiple variables within a single problem. [http://askthenerd.com/COL/images/Examp9.4.html ''' Example 9.4 Ideal Gas Law Calculation; Determining Volume '''] A sample of oxygen occupies 17.5 L at 0.75 atm and 298 K. The temperature is raised to 303 K and the pressure <br>is increased to 0.987 atm. What is the final volume of the sample? If you noticed, we calculated the value of the proportionality constant ''R'' based on the fact that ''exactly'' one mole of a gas at ''exactly'' 1 atm and at 0 ˚C (273 K) has a volume of 22.414 L. This is one of the “magic numbers in chemistry; ''exactly'' one mole of ''any'' gas under these conditions will occupy a volume of 22.414 L. The conditions, 1 atm and 0 ˚C, are called '''standard temperature and pressure''', or '''STP'''. The fact that all gases occupy this same molar volume can be rationalized by realizing that 99.999% of a gas is empty space, so it really doesn’t matter what’s in there, it all occupies the same volume. This realization is attributed to Amedeo Avogadro and '''Avogadro’s hypothesis''', published in 1811, suggested that ''equal volumes of all gases at the same temperature and pressure contained the same number of molecules.'' This is the observation that led to the measurement of Avogadro’s number (6.0221415 &times; 10<sup>23</sup>), the number of ''things'' in a mole. The importance of the “magic number” of 22.414 L per mole (at STP) is that, when combined with the ideal gas laws, any volume of a gas can be easily converted into the number of moles of that gas. This is shown in the following example: [http://askthenerd.com/COL/images/Examp9.5.html ''' Example 9.5 Ideal Gas Law Calculation; Determining Moles'''] A sample of methane has a volume of 17.5 L at 100.0 ˚C and 1.72 atm. How many <br>moles of methane are in the sample? [http://askthenerd.com/COL/images/Ex9.3.html ''' Exercise 9.3 Ideal Gas Law Calculations'''] A 0.0500 L sample of a gas has a pressure of 745 mm Hg at 26.4˚ C. The temperature <br>is now raised to 404.4 K and the volume is allowed to expand until a final <br>pressure of 1.06 atm is reached. What is the final volume of the gas? When 128.9 grams of cyclopropane (C<sub>3</sub>H<sub>6</sub>) are placed into an <br>8.00 L cylinder at 298 K, the pressure is observed to be 1.24 atm. A piston in <br>the cylinder is now adjusted so that the volume is now 12.00 L and the pressure <br>is 0.88 atm. What is the final temperature of the gas? == &#160;&#160;'''9.6 Combining Stoichiometry and the Ideal Gas Laws'''== With an understanding of the ideal gas laws, it is now possible to apply these principles to chemical stoichiometry problems. For example, zinc metal and hydrochloric acid (hydrogen chloride dissolved in water) react to form zinc (II) chloride and hydrogen gas according to the equation shown below: <div style="text-align: center;">2 HCl ''(aq)'' + Zn ''(s)'' &rarr; ZnCl<sub>2</sub> ''(aq)'' + H<sub>2</sub> ''(g)''</div> A sample of pure zinc with a mass of 5.98 g is reacted with excess hydrochloric acid and the (dry) hydrogen gas is collected at 25.0 ˚C and 742 mm Hg. What ''volume'' of hydrogen gas would be produced? This is a “single state” problem, so we can solve it using the ideal gas law, ''PV = nRT''. In order to find the volume of hydrogen gas (''V''), we need to know the number of ''moles'' of hydrogen that will be produced by the reaction. Our stoichiometry is simply ''one mole of hydrogen per mole of zinc'', so we need to know the number of moles of zinc that are present in 5.98 grams of zinc metal. The temperature is given in centigrade, so we need to convert into Kelvin, and we also need to convert mm Hg into atm. Conversions: <div style="text-align: center;"> <math>\text{25}\text{.0 C+273=298 K}</math>; <math>\left( 742\text{ mm Hg} \right)\times \left( \frac{\text{1 atm}}{\text{760 mm Hg}} \right)\text{=0}\text{.976 atm}</math> ;</div> <div style="text-align: center;"> <math>\left( 5.\text{98 g Zn} \right)\times \left( \frac{\text{1}\text{.00 mol}}{\text{65}\text{.39 g Zn}} \right)\text{=0}\text{.0915 mol}</math> </div> Substituting: <div style="text-align: center;"> <math>PV=nRT</math>, or, <math>\left( \text{0}\text{.976 atm} \right)\times V=\left( 0.0915\text{ mol} \right)\left( 0.0821\text{ L atm mol}^{\text{-1}}\text{ K}^{\text{-1}} \right)\left( 2\text{98 K} \right)</math> </div> <div style="text-align: center;"> <math>V=\frac{\left( 0.0915\text{ mol} \right)\left( 0.0821\text{ L atm mol}^{\text{-1}}\text{ K}^{\text{-1}} \right)\left( 2\text{98 K} \right)}{\left( \text{0}\text{.976 atm} \right)}=2.29\text{ L}</math> </div> We can also use the fact that one mole of a gas occupies 22.414 L at STP in order to calculate the number of moles of a gas that is produced in a reaction. For example, the organic molecule ethane (CH<sub>3</sub>CH<sub>3</sub>) reacts with oxygen to give carbon dioxide and water according to the equation shown below: <div style="text-align: center;">2 CH<sub>3</sub>CH<sub>3</sub> ''(g)'' + 7 O<sub>2</sub> ''(g)'' &rarr; 4 CO<sub>2</sub> ''(g)'' + 6 H<sub>2</sub>O ''(g)''</div> A sample problem might read like this; an unknown mass of ethane is allowed to react with excess oxygen and the carbon dioxide produced is separated and collected. The carbon dioxide collected is found to occupy 11.23 L at STP; what mass of ethane was in the original sample? Because the volume of carbon dioxide is measured at STP, the observed value can be converted directly into ''moles of carbon dioxide'' by dividing by 22.414 L mol<sup>–1</sup>. Once moles of carbon dioxide are known, the stoichiometry of the problem can be used to directly give moles of ethane (molar mass 30.07 g mol<sup>-1</sup>), which leads directly to the ''mass'' of ethane in the sample. <div style="text-align: center;"> <math>\left( 1\text{1}\text{.23 L CO}_{\text{2}} \right)\times \left( \frac{\text{1 mol}}{\text{22}\text{.414 L}} \right)\text{=0}\text{.501 mol CO}_{\text{2}}</math> </div> Reaction stoichiometry: <div style="text-align: center;"> <math>\left( \text{0}\text{.501 mol CO}_{\text{2}} \right)\times \left( \frac{\text{2 mol CH}_{\text{3}}\text{CH}_{\text{3}}}{\text{4 mol CO}_{\text{2}}} \right)\text{=0}\text{.250 mol CH}_{\text{3}}\text{CH}_{\text{3}}</math> </div> The ideal gas laws allow a quantitative analysis of whole spectrum of chemical reactions. When you are approaching these problems, remember to ''first'' decide on the ''class'' of the problem: * If it is a “single state” problem (a gas is produced at a single, given, set of conditions), then you want to use ''PV = nRT.'' * If it is a “two state” problem (a gas is changed from one set of conditions to another) you want to use <math>\frac{P_{1}V_{1}}{n_{1}T_{1}}=\frac{P_{2}V_{2}}{n_{2}T_{2}}</math> . * If the volume of gas is quoted at STP, you can quickly convert this volume into moles with by dividing by 22.414 L mol<sup>-1</sup>. Once you have isolated your approach ideal gas law problems are no more complex that the stoichiometry problems we have addressed in earlier chapters. [http://askthenerd.com/COL/images/Examp9.6.html ''' Example 9.6 Ideal Gas Law Calculation: Reaction Stoichiometry '''] An automobile air bag requires about 62 L of nitrogen gas in order to inflate. The nitrogen gas is produced by <br>the decomposition of sodium azide, according to the equation shown below ([http://askthenerd.com/COL/images/9.10.html Figure 9.10]): <div style="text-align: center;">2 NaN<sub>3</sub> ''(s)'' &rarr; 2 Na ''(s)'' + 3 N<sub>2</sub> ''(g)''</div> What mass of sodium azide is necessary to produce the required volume of nitrogen <br>at 25 ˚C and 1 atm? [http://askthenerd.com/COL/images/Ex9.4.html ''' Exercise 9.4 Ideal Gas Law Calculations: Reaction Stoichiometry'''] When Fe<sub>2</sub>O<sub>3</sub> is heated in the presence of carbon, <br>CO<sub>2</sub> gas is produced, according to the equation shown below. A sample <br>of 96.9 grams of Fe<sub>2</sub>O<sub>3</sub> is heated in the presence of <br>excess carbon and the CO<sub>2</sub> produced is collected and measured at 1 atm <br>and 453 K. What volume of CO<sub>2</sub> will be observed? <div style="text-align: center;">2 Fe<sub>2</sub>O<sub>3</sub>''(s)'' + 3 C ''(s)'' &rarr; 4 Fe ''(s)'' + 3 CO<sub>2</sub> ''(g)''</div> The reaction of zinc and hydrochloric acid generates hydrogen gas, according to <br>the equation shown below. An unknown quantity of zinc in a sample is observed <br>to produce 7.50 L of hydrogen gas at a temperature of 404 K and a pressure of <br>1.75 atm. How many moles of zinc were in the sample? <div style="text-align: center;">Zn ''(s)'' + 2 HCl ''(aq)'' &rarr; ZnCl<sub>2</sub> ''(aq)'' + H<sub>2</sub> ''(g)''</div> == &#160;&#160;'''Study Points '''== * Gasses are ''compressible'' because there is so much space between individual gas particles. Energy transferred from the collision of gas particles with their container exerts a ''gas pressure''. In chemistry, we typically measure gas pressure using units of ''atmospheres'' (atm) or in ''mm Hg'' (also referred to as torr). One atmosphere of pressure equals exactly 760 mm Hg. * The volume of a gas varies ''inversely'' with the applied pressure; the greater the pressure, the smaller the volume. This is relationship is referred to as ''Boyles’s Law''. For a two-state system where the number of moles of gas and the temperature remain constant, Boyle’s Law can be expressed as <math>P_{1}V_{1}=P_{2}V_{2}</math> . * The volume of a gas varies ''directly'' with the absolute temperature; the higher the temperature, the larger the volume. This is relationship is referred to as ''Charles’s Law''. For a two-state system where the number of moles of gas and the pressure remain constant, Charles’s Law can be expressed as: <div style="text-align: center;"> <math>\frac{V_{1}}{T_{1}}=\frac{V_{2}}{T_{2}}</math> </div> * In this equation, the ''absolute temperature'' in Kelvin (K) must be used. Kelvin is defined as (degrees centigrade + 273.15). Zero degrees Kelvin is referred to as “absolute zero” and it is the temperature at which (theoretically) all molecular motion would cease. * The volume of a gas varies ''directly'' with the number of moles of the gas that are present; the greater the number of moles, the larger the volume. This is relationship is referred to as ''Avogadro’s Law''. For a two-state system where the temperature and the pressure of a gas remain constant, Avogadro’s Law can be expressed as: <div style="text-align: center;"> <math>\frac{V_{1}}{n_{1}}=\frac{V_{2}}{n_{2}}</math> </div> * Because the volume of a gas varies directly with the number of moles of the gas that are present and with the absolute temperature (in Kelvin), and inversely with the pressure, the gas laws can be combined into a single proportionality; <div style="text-align: center;"> <math>V\propto \left( {}^{Tn}\!\!\diagup\!\!{}_{P}\; \right)</math> .</div> This proportionality can be converted to an equality by inserting the proportionality constant ''R'' (the universal gas constant), where ''R'' = 0.082057 L atm mol<sup>-1</sup> K<sup>-1</sup>, and can be re-written as: <div style="text-align: center;"> <math>\mathsf{V=R}\left( {}^{\mathsf{nT}}\!\!\diagup\!\!{}_{\mathsf{P}}\; \right)</math> , or rearranging, <math>PV=nRT</math> .</div> This is referred to as the Ideal'' Gas Law'' and is valid for most gasses at low concentrations. For a two-state system where the identity of the gas does not change, the Ideal Gas Law can be expressed as: <div style="text-align: center;"> <math>\frac{P_{1}V_{1}}{n_{1}T_{1}}=\frac{P_{2}V_{2}}{n_{2}T_{2}}</math> .</div> The gas constant ''R,'' is calculated based on the experimental observation that ''exactly'' one mole of any gas at ''exactly'' 1 atm and at 0 ˚C (273 K) has a volume of '''22.414 L'''. The conditions, 1 atm and 0 ˚C, are called standard temperature and pressure, or ''STP''. * The ideal gas laws allow a quantitative analysis of whole spectrum of chemical reactions involving gasses. When you are approaching these problems, remember to ''first'' decide on the ''class'' of the problem: *# If it is a “single state” problem (a gas is produced at a single, given, set of conditions), then you want to use ''PV = nRT.'' *# If it is a “two state” problem (a gas is changed from one set of conditions to another) you want to use <math>\frac{P_{1}V_{1}}{n_{1}T_{1}}=\frac{P_{2}V_{2}}{n_{2}T_{2}}</math> . *# If the volume of gas is quoted at STP, you can quickly convert this volume into moles with by dividing by 22.414 L mol<sup>-1</sup>. {{BookCat}} tol48bdwz19ejtqw881lxof0k1ls93k A-level Computing 2009/AQA/Computer Components, The Stored Program Concept and the Internet/Fundamental Hardware Elements of Computers/Logic Gates 0 256424 4656858 4652074 2026-08-09T22:16:56Z ShakespeareFan00 46022 4656858 wikitext text/x-wiki <NOINCLUDE> {{CPTPageNavigationU2| | Next = Boolean gate combinations}} {{DISPLAYTITLE:Fundamental Hardware Elements of Computers: Logic Gates}} </NOINCLUDE> In 1854, British mathematician [[w:George Boole|George Boole]] developed Boolean algebra. Instead of using numbers, boolean algebra uses truth values, '''true''' (1) and '''false''' (0). By defining sentences using truth values and performing operations on these truth values, you can work out the overall conclusion of complex statements. Boolean algebra has had a substantial impact on computer science, with low-level hardware heavily relying on it. Boolean algebra equations are often expressed using truth tables, which are tables that show every possible output of an equation. <div> {| border="0" style="border:4px; margin:0 auto;" |- valign="top" | | colspan="5" | {| border="1" cellspacing="0" cellpadding="0" style="text-align:center;border:2px" |- ! style="width:2em" | <math>x</math> ! style="width:2em" | <math>y</math> | style="width:1px" | | style="width:2em" | <math>x.y</math> | style="width:2em" | <math>x+y</math> |- | 0 || 0 || || 0 || 0 |- | 1 || 0 || || 0 || 1 |- | 0 || 1 || || 0 || 1 |- | 1 || 1 || || 1 || 1 |} | | | {| border="1" cellspacing="0" cellpadding="0" style="text-align:center;border:2px" |- ! style="width:2em" | <math>x</math> | style="width:1px" | | style="width:2em" | <math>\overline{x}</math> |- | 0 || || 1 |- | 1 || || 0 |} |+ '''Examples of Boolean Algebra shown in a truth table''' |} </div> Logic gates are small pieces of hardware that perform operations on boolean inputs. They are one of the fundamental building blocks of computers, with computers typically requiring billions of them. A logic gate will usually have only one or two inputs, which will be referred to as A and B in the passages below. There are six main types of logic gates: <gallery widths="40px" widths="40px"> File:NOT_gate.svg|NOT File:AND_gate.svg|AND File:OR_gate.svg|OR File:XOR_gate.svg|XOR File:NAND_gate.svg|NAND File:NOR_gate.svg|NOR </gallery> == NOT == [[File:NOT_gate.svg|thumb|center|A NOT gate takes only one input and gives one output]] The ''NOT'' gate, also known as the disjunction operation, will output the opposite of its input. (i.e. if the input is 1, the ''NOT'' gate will output 0; if the input is 0, the ''NOT'' gate will output 1) In Boolean algebra, the ''NOT'' operation is expressed by placing a bar on top of a truth value(<math>\overline{A}</math>) or multiple truth values (<math>\overline{C+B}</math>). {{CPTExample|title=Examples of a NOT gate at work are as follows:}} * '''NOT(It is not raining.) = It is raining.''' * <math>\overline{TRUE} = FALSE</math> * <math>\overline{0} = 1</math> {{Robox/Close}} To summarize, here is the truth table showing the relationship between A and <math>\overline{A}</math>. {| class="wikitable" |- ! A ! <math>\overline{A}</math> |- | 0 | 1 |- | 1 | 0 |} == AND (.) == [[File:AND_gate.svg|thumb|center|An AND gate takes two inputs and gives one output.]] The ''AND'' gate, also known as the conjunction operation, will output true if all of its inputs are true; otherwise, it will output false. In Boolean algebra, the ''AND'' operation is expressed by placing a bullet point between two (<math>{A}.{B}</math>) or more (<math>{A}.{B}.C</math>) truth values. {{CPTExample|title=Examples of an AND gate at work are as follows:}} * Six is bigger than four AND Cats are bigger than gerbils = TRUE * <math>TRUE . FALSE = FALSE</math> * <math>(7 < 8) . (2 > 1) = TRUE</math> * <math>(8 > 0) . \overline{(20 = 19)} = TRUE</math> {{Robox/Close}} An easy way to remember how an AND gate works is thinking about a circuit to turn a light bulb on. If both switches are on then the bulb will light up, if any switch is off then the bulb won't light. [[File:CPT-Logic-AND-Switch.svg|thumb|300px|center|a circuit diagram equivalent to an AND gate]] To summarise here is a truth table showing all the different values for two inputs A and B and the result of ANDing those values together {| class="wikitable" |- ! A ! B ! A.B |- | 0 | 0 | <div style="text-align: center;">0</div> |- | 0 | 1 | <div style="text-align: center;">0</div> |- | 1 | 0 | <div style="text-align: center;">0</div> |- | 1 | 1 | <div style="text-align: center;">1</div> |} == OR (+) == [[File:OR_gate.svg|thumb|center|An OR gate takes two inputs and combines them to form one output]] An ''OR'' gate will combine the boolean values of two inputs. If '''one or more''' inputs are true then the output will be true. If both the inputs are false then the output will be false. In Boolean Algebra we write an ''OR'' symbol by placing a plus symbol between two (<math>{A}+{B}</math>) or more (<math>{A}+{B}+C</math>) values. {{CPTExample|title=Examples of an OR gate at work are as follows:}} * humans have two legs OR Elephants have 8 legs = TRUE * <math>TRUE + FALSE = TRUE</math> * <math>(9 > 3) + (2 > 1) = TRUE</math> * <math>\overline{(20 = 20)} + (5 > 6) = FALSE</math> {{Robox/Close}} An easy way to remember how an OR gate works is thinking about a circuit to turn a light bulb on. If one or more switches are on then the bulb will light up, if both switch are off then the bulb won't light. [[File:CPT-Logic-OR-Switch.svg|thumb|300px|center|a circuit diagram equivalent to an OR gate]] To summarise here is a truth table showing all the different values for two inputs A and B and the result of ORing those values together {| class="wikitable" |- ! A ! B ! A+B |- | 0 | 0 | <div style="text-align: center;">0</div> |- | 0 | 1 | <div style="text-align: center;">1</div> |- |1 |0 |<div style="text-align: center;">1</div> |- |1 |1 |<div style="text-align: center;">1</div> |} == XOR (<math>\oplus</math>) == [[File:XOR_gate.svg|thumb|center|A XOR gate takes two inputs and combines them to form one output]] An exclusive- OR, ''XOR'', gate will combine the boolean values of two inputs. If '''exactly one''' input is true then the output will be true. If both the inputs are false or both the inputs are true then the output will be false. In Boolean Algebra we write an ''XOR'' symbol by placing a plus symbol surrounded by a circle between two (<math>{A}\oplus{B}</math>) or more (<math>{A}\oplus{B}\oplus{C}</math>) values. {{CPTExample|title=Examples of an XOR gate at work are as follows:}} * it is raining XOR it is not raining = TRUE * <math>TRUE \oplus TRUE = FALSE</math> * <math>(9 < 3) \oplus (2 < 1) = FALSE</math> * <math>\overline{(20 = 20)} \oplus (8 > 2) = TRUE</math> {{Robox/Close}} To summarise here is a truth table showing all the different values for two inputs A and B and the result of XORing those values together {| class="wikitable" |- ! A ! B ! <math>~A \oplus B</math> |- | 0 | 0 | <div style="text-align: center;">0</div> |- | 0 | 1 | <div style="text-align: center;">1</div> |- | 1 | 0 | <div style="text-align: center;">1</div> |- | 1 | 1 | <div style="text-align: center;">0</div> |} == NAND == [[File:NAND_gate.svg|thumb|center|A NAND gate takes two inputs and combines them to form one output]] A ''NAND'' gate will combine the boolean values of two inputs, AND them together, and NOT the result. If '''one or less''' input is true then the output will be true. If both the inputs are true then the output will be false. To draw a NAND gate you draw an AND gate and add a circle to the front, as you can see above. In Boolean Algebra we write an ''NAND'' symbol by taking an AND equation and NOTing the result (<math>\overline{{A} . {B}}</math>). {{CPTExample|title=Examples of an NAND gate at work are as follows:}} * (A=A) NAND (A<>B) = TRUE * <math>\overline{TRUE . TRUE} = FALSE</math> * <math>\overline{(9 < 3) . (2 < 1)} = TRUE</math> * <math>\overline{(20 > 20) . (8 > 2)} = TRUE</math> {{Robox/Close}} To summarise here is a truth table showing all the different values for two inputs A and B and the result of NANDing those values together {| class="wikitable" |- ! A ! B ! <math>A . B</math> ! <math>\overline{A . B}</math> |- | 0 | 0 | 0 | <div style="text-align: center;">1</div> |- | 0 | 1 | 0 | <div style="text-align: center;">1</div> |- | 1 | 0 | 0 | <div style="text-align: center;">1</div> |- | 1 | 1 | 1 | <div style="text-align: center;">0</div> |} == NOR == [[File:NOR_gate.svg|thumb|center|A NOR gate takes two inputs and combines them to form one output]] A ''NOR'' gate will combine the boolean values of two inputs, OR them together, and NOT the result. If '''no''' input is true then the output will be true. If either or both inputs are true then the result will be false. To draw a NOR gate you draw an OR gate and add a circle to the front, as you can see above. In Boolean Algebra we write an ''NOR'' symbol by taking an OR equation and NOTing the result (<math>\overline{{A} + {B}}</math>). {{CPTExample|title=Examples of an NOR gate at work are as follows:}} * (A=A) NOR (A<>B) = FALSE * <math>\overline{FALSE + TRUE} = FALSE</math> * <math>\overline{(9 < 3) + (2 < 1)} = TRUE</math> * <math>\overline{(20 > 20) + (8 > 2)} = FALSE</math> {{Robox/Close}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A + B</math> ! <math>\overline{A + B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{CPTExercise|title=Exercise: Logic Gates}} {{CPTQuestion|Give the symbol and gate diagram for an OR statement}} {{CPTAnswer|+ [[File:OR_gate.svg]]}} {{CPTQuestion|Give the symbol and gate diagram for an AND statement}} {{CPTAnswer|. [[File:AND_gate.svg]]}} {{CPTQuestion|Give the symbol and gate diagram for a XOR statement}} {{CPTAnswer|<math>\oplus</math> [[File:XOR_gate.svg]]}} {{CPTQuestion|Give answers to the following equations: TRUE AND TRUE}} {{CPTAnswer|TRUE}} {{CPTQuestion|TRUE + FALSE}} {{CPTAnswer|TRUE}} {{CPTQuestion|TRUE + TRUE}} {{CPTAnswer|TRUE}} {{CPTQuestion|TRUE <math>\oplus</math> TRUE}} {{CPTAnswer|FALSE}} {{CPTQuestion|NOT(TRUE) . TRUE}} {{CPTAnswer|FALSE}} {{CPTQuestion|<math>\overline{\overline{TRUE}} + FALSE</math>}} {{CPTAnswer|TRUE}} {{CPTQuestion|Draw a NAND gate and truth table}} {{CPTAnswer|1= [[File:NAND_gate.svg]] {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A . B</math> ! <math>\overline{A . B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} }} {{CPTQuestion|1=Complete the following table: {{{!}} class="wikitable" {{!}}- ! Name !! NAND !! NOR !! AND !! NOT !! OR !! XOR {{!}}- {{!}} Gate {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}- {{!}} Symbol {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}- {{!}} Truth Table {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}} }} {{CPTAnswer|1={{{!}} class="wikitable" {{!}}- ! Name !! NAND !! NOR !! AND !! NOT !! OR !! XOR {{!}}- {{!}} Gate {{!}}{{!}} [[File:NAND_gate.svg]] {{!}}{{!}} [[File:NOR_gate.svg]] {{!}}{{!}} [[File:AND_gate.svg]] {{!}}{{!}} [[File:NOT_gate.svg]] {{!}}{{!}} [[File:OR_gate.svg]] {{!}}{{!}} [[File:XOR_gate.svg]] {{!}}- {{!}} Symbol {{!}}{{!}} <math>\overline{A . B}</math> {{!}}{{!}} <math>\overline{A + B}</math> {{!}}{{!}} <math>.</math> {{!}}{{!}} <math>\overline{A}</math> {{!}}{{!}} <math>+</math> {{!}}{{!}} <math>\oplus</math> {{!}}- {{!}} Truth Table {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A . B</math> ! <math>\overline{A . B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A + B</math> ! <math>\overline{A + B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! A.B {{!}}- {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">1</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! <math>\overline{A}</math> {{!}}- {{!}} 0 {{!}} 1 {{!}}- {{!}} 1 {{!}} 0 {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! A+B {{!}}- {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}}1 {{!}}0 {{!}}<div style="text-align: center;">1</div> {{!}}- {{!}}1 {{!}}1 {{!}}<div style="text-align: center;">1</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>~A \oplus B</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{!}}} }} {{Robox/Close}} {{BookCat}} nkg12p7dg05clwid62c3xce9jk699fi User:Danielravennest 2 266233 4656960 4651253 2026-08-10T07:55:12Z Danielravennest 13526 /* The Seed Factory Project */ 4656960 wikitext text/x-wiki __NOTOC__ {{DISPLAYTITLE:<span style="display:block;text-align:center;font-size:125%;background:#d0f0f0;line-height:2em;"><span style="face=Times New Roman">Biography and Writings</span></span>}} <div style="font-size:110%;font-family:'Georgia', serif;"> '''Dani Eder''' ''The Seed Factory Project,'' ''6485 Rivertown Rd, Fairburn, GA 30213'' danielravennest@gmail.com =='''Biography'''== &emsp; &emsp;I'm an advanced space systems engineer (''i.e.'', a rocket scientist). That means mostly working on next generation ideas and projects, rather than today's hardware. I attended Columbia University, where I studied astrophysics and engineering, and first started working on space concepts. I then worked for the Boeing Company for 24 years, from 1981-2005, all of it in their Space Systems division. The last major project I worked on was the Space Station, where I variously was a lead systems engineer, wrote operating procedures, and tested software. &emsp;Since leaving Boeing, I have continued with my own design and engineering work. Currently I am working on the Seed Factory Project, whose goal is to develop sustainable self-improving production systems. Such systems have the potential to end material scarcity and expand civilization throughout the Solar System and beyond. &emsp;I was supported by the public much of my life, in the form of scholarships and working on government contracts. Now that I work for myself I want to give back to society in the form of open-sourced works like the books and articles below, and through community projects like the [https://www.meetup.com/South-Atlanta-Area-Makers-Club/ South Atlanta Maker Network]. &emsp;If you want to contact me directly, the best way is the email above. I tend to have the same user name (danielravennest) for most of my public accounts online (including Wikibooks and reddit). Other methods like posting to my discussion page here might work, but I am on too many forums and sites to track them all. My personal email is the one I check the most often. =='''[[/SFP|The Seed Factory Project]]'''== &emsp; &emsp;My current work is on systems designed for self-improvement. Space projects have been limited by the cost and difficulty of lifting everything from Earth. One way to get around that is to send a starter set of equipment (a seed factory) to space, and use local materials and energy to build more equipment for the factory itself, plus finished products like any other factory. The instructions for the added equipment weigh much less than the equipment itself. Since you are not launching all of it, you can also spend less time and money trying to save weight on, for example, an entire human outpost and everything they need to live and work. &emsp;By early 2013 I realized that starter sets and self-improving production will work just as well here on Earth, because the laws of Nature are the same everywhere. A single starter set can grow to produce an increasing range of products, including more starter sets. This kind of exponential growth has the potential to solve several of the problems facing civilization. So I shifted my focus to demonstrating the first such starter sets here on Earth. I still have a strong interest in space projects, but seed factories in space can wait until there is experience with them here. &emsp;I call them "seed factories" because a larger factory grows from them in the same way a tree grows from a seed. In fact, an automated and self-expanding system like this meets many of the definitions of artificial life. Such systems can even include living things like plants for the products they provide. So the name aptly merges the ideas of living and industrial systems. &emsp;A set of tools and machines by themselves are inert. A complete functioning system also includes resources like human labor and raw materials, and energy to run things. The final element is knowledge. That includes the skills and experience to use the equipment, plans and instructions for what to build, and supporting information like reference books. The necessary combination of Tools, Resources, Energy and Knowledge is called the "TREK Principle". &emsp;There is only so much one person can do. So I started the Seed Factory Project as an open-source collaboration to develop and demonstrate actual working versions of this idea. The approach we are taking is for the designs and technology to be open for anyone to use. The physical hardware would be privately owned by individuals or groups. The hope is that will lead to the widest use and the greatest benefit for the most people. &emsp;The project is nowhere near finished. Anyone who is interested is welcome to contribute. Most of the documents are here on the Wikibooks site and listed below. Other file types like spreadsheets and pdfs are either online elsewhere or available on request. ==<span style="font-size: large; face=Georgia">'''Documents on Wikibooks'''</span>== &emsp; ====<u>Finished</u>==== &emsp; * '''[[/papers/Mars21|Building Better Worlds in the 21st Century]]''' - (May 2023) - Applying the Seed Factory approach to upgrading civilization on Earth first, expanding throughout the Solar System, and eventually beyond it. ====<u>Books in Work</u>==== &emsp; &emsp;I am in the process of integrating what started as separate books on space systems and seed factories. Space systems were most of my previous career, and I noted a lack of a modern, future-oriented text for the next generation of students. The seed factory idea had first been investigated for use on the Moon by NASA in 1980. It was set aside because the technology of the time wasn't up to the task. When I came across it again, technology was much better, and Earth applications seemed more important, so a separate book seemed the right approach. As I developed the ideas more, it became evident that the technologies and methods for Earth and space are not so different. So the books will be treated as a pair of volumes covering different applications of the underlying technology: * '''[[Seed_Factories|Better Worlds vol. I: Seed Factories and Self-Improving Systems]]''' - This volume presents the basic concepts and their history, technologies and design methods for them, and applications at various scale and types of locations on Earth. * '''[[Space_Transport_and_Engineering_Methods|Better Worlds vol. II: Space Systems Engineering]]''' - The principles of engineering apply everywhere, but the environments of space are different and everything is in motion relative to the ground. This volume starts with subjects like orbital mechanics, then covers space transport, because to do anything in space you first have to get there, and generally move around once there. General types of space projects are discussed next, followed by specific locations and projects located there. The ideas from volume I are incorporated as appropriate. It is a future-oriented book, and includes ideas and methods not typically covered in aerospace engineering courses. &emsp;No pair of volumes can cover the entire scope of these subjects. We plan to include extensive references to other sources, but online ones tend to be ephemeral. I have accumulated a personal library in the course of my work. If you are unable to find it elsewhere, I will be happy to lend out items on request for personal use. * '''[[/template|Editing Template]]''' - This page contains templates so the book formatting will be consistent. ====<u>Articles in Work</u>==== &emsp;These are notes and articles in various stages of completion. Some of them will get merged into the above books. ::'''First Draft''' * '''[[/papers/Building_Our_Future|Bootstrapping the Future: Smart Tools & Self-Expanding Systems]]''' - Overcoming job insecurity by the bootstrapping approach. ::'''Mostly Done:''' * '''[[/papers/Space_Elevators|Space Elevator Design - an Overview]]''' - Class notes for an online class I taught in July, 2015. There is also a [http://imgur.com/a/cCTY5 Slide Set at Imgur]. ::'''Partly Done:''' * '''[https://en.wikibooks.org/wiki/User:Danielravennest/papers/Illusion_of_Scarcity The Illusion of Scarcity]''' * '''[[/Future|Engineering the Future]]''' - A program to upgrade civilization using systems design methods. * '''[[/papers/Human_Expansion|Towards a Sustainable Expanding Civilization]]''' - Progress and status on the program to upgrade civilization. * '''[[/papers/Universe_on_a_Budget|Seed Factory Development]]''' ::'''Just Started:''' ====<u>New Material</u>==== * '''[[/seed|Ideas and Notes]]''' - This page is for saving thoughts which are not developed enough to start a separate article or book section. * '''[[/papers/Life_Improvement|Life Improvement]]''' - Goals and introduction to more detailed books and papers * '''[[/papers/Air_Mining|Air Mining]]''' - The concept of mining the upper atmosphere from orbit for fuel and air. * '''[[/papers/Gravity_Lens_Beam|Gravity Lens Beamed Interstellar]]''' - Concept for interstellar propulsion. * '''[[/papers/Community_Scale_Automation|Community Scale Automation]]''' - Using automation at the local scale * '''[[/papers/Living_Factories|Living Factories]]''' ==<span style="font-size: large; face=Georgia">'''My Writings Elsewhere'''</span>== &emsp; * '''[http://www.fastcolabs.com/3029843/what-is-up-with-googles-space-elevator-project Space Elevator]''' article for Fast Company website. '''[To Merge]''' - A '''[[/SFP/Notebook|more complete description]]''' and '''[[/SFP/Report|quarterly status reports]]''' and a start at an '''[[/SFP/Series|article series]]''' to find out more. It covers the concept, history, design, and operation of self-expanding automated production systems. It's on Wikibooks in the spirit of open-source collaboration. I started writing it, but We've taken stab at setting up a '''[http://www.seed-factory.org/ web page]''' and '''[https://github.com/seed-factory-project GitHub repository]''', but I'll be the first to admit they need more work. :* '''[https://sites.google.com/site/seedfactoryproject/ Project Home Page]''' created 20 Feb 2013. </div> laj0i6h0zjhxw4p48con75z7xjo9mm0 User:Aladdin Ali Baba 2 279586 4656978 2517152 2026-08-10T08:22:25Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656978 wikitext text/x-wiki {{center/top}} My Inputbox: {| width="60%" style="border:1px solid black " | <inputbox> type=search width=42 buttonlabel=Go! searchbuttonlabel=Search break=no </inputbox> |} {{center/end}} == Box types == {| class="wikitable" !Type !Example !Description |- | type=search | <inputbox> type=search </inputbox> | Creates a search box which has a default width of 50 characters. Information added in the text box is searched for. |- | type=create | <inputbox> type=create </inputbox> | Creates a new page. Information added in the text box is the name of the page which is edited. |- | type=comment | <inputbox> type=comment </inputbox> | Adds a new section to the bottom of the page specified in the text box. |- | type=commenttitle | <inputbox> type=commenttitle page={{TALKPAGENAME}} </inputbox> | Adds a new section with the section header typed into the text box. The page has to be specified with <code>page=</code> parameter. <small>Added in [[rev:42703]].</small> |- | type=fulltext | <inputbox> type=fulltext </inputbox> | Search only the fulltext search button, without the 'Go' button. <small>Added in [[rev:45269]].</small> |- | type=search2 | <inputbox> type=search2 </inputbox> | |} <div style="clear:both;"></div> c08nml2bbr6dh6bfock9x6ouxykrszq Lithuanian/Cover 0 283335 4656905 3824957 2026-08-10T06:47:07Z ShakespeareFan00 46022 4656905 wikitext text/x-wiki {{center/top}} <div style="text-align: center;"> <big><big>Lietuvių kalba ~ English</big></big><br /> <big>Learning the Lithuanian Language</big> [[Image:Flag of Lithuania.svg|500px]] {| cellspacing="15" style="margin: auto;" |[[Image:Coat of Arms of Lithuania.svg|54px|The Lithuanian coat of arms]] |[[Image:Flag of Lithuania.svg|border|130px|The national flag of Lithuania]] |[[Image:Coat of Arms of Lithuania.svg|54px|The Lithuanian coat of arms]] |} </div> {{center/end}} {{BookCat}} mpmd0bomhcvya4lpnjcvtd2nq6ifpo4 Aros/Platforms/Arm Raspberry Pi support 0 286123 4656889 4656744 2026-08-10T06:17:38Z Jeff1138 301139 4656889 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ====BCM2711==== an a72 is about x3 times the size of an a53 *vc6 is clearly derived from vc4, but it is significantly different. vc6 is only a slight extension over vc5 The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions, that I don't recognise by name and I haven't explored. the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. Though, I really hope software blending is still possible, I have a use case which takes advantage of software blending. The tile buffer can now store upto 4 render targets (I think it's upto 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. I am even thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. i8tq4w063p4p6x3pzqz3xmox947ikv6 4656890 4656889 2026-08-10T06:21:00Z Jeff1138 301139 4656890 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ====BCM2711==== an a72 is about x3 times the size of an a53 *vc6 is clearly derived from vc4, but it is significantly different. vc6 is only a slight extension over vc5 The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. I am even thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. i59lqlhaay6ezey6xgxlpor2z8il1gv 4656891 4656890 2026-08-10T06:26:38Z Jeff1138 301139 4656891 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ====BCM2711==== an a72 is about x3 times the size of an a53 *vc6 V3D 4.2 is clearly derived from vc4, but it is significantly different. vc6 is only a slight extension over vc5 The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. I am even thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. 4u5pt73r2ego8qt8s1lugjws0wjuh22 4656892 4656891 2026-08-10T06:31:56Z Jeff1138 301139 4656892 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2 vc7] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. I am even thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. op5uylwfvlqhjyd6pdo8cj9bsvsqqpv 4656893 4656892 2026-08-10T06:37:11Z Jeff1138 301139 4656893 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2 vc7] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. 1hhr6h788aybe0setyyajhl23wp2cg7 4656894 4656893 2026-08-10T06:39:14Z Jeff1138 301139 4656894 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the open-source V3D driver stack within Mesa ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2 vc7] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. cazg40xap6hiaqvfcsnm5wwpa8dtd5g 4656896 4656894 2026-08-10T06:40:31Z Jeff1138 301139 4656896 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within Mesa ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2 vc7] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. fm6k3wacbu314dwagbe3giha8ieg7q4 4656898 4656896 2026-08-10T06:42:31Z Jeff1138 301139 4656898 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2 vc7] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better ulitised <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. lm45xar9o14k6ujv0w2nfpjwa9oq2xg 4656902 4656898 2026-08-10T06:45:23Z Jeff1138 301139 4656902 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2 vc7] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. sula1kpwkmsvwydimh37vfd7spm0x1j 4656906 4656902 2026-08-10T06:47:37Z Jeff1138 301139 4656906 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. 7rf4hw10gpm828rsum178hj4uhyiwzb 4656915 4656906 2026-08-10T06:54:41Z Jeff1138 301139 4656915 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. 7lcx219vdssdckuxf9z8803ep9lty91 4656917 4656915 2026-08-10T06:56:59Z Jeff1138 301139 4656917 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A with 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== an a72 is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. spesh7dck7fclk7bj2aj4wduf3gx21h 4656929 4656917 2026-08-10T07:13:27Z Jeff1138 301139 4656929 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A with 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== An ARM a72 cpu is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. 8blecvfe95sscfqqnke6ux3i4bkaikg 4656933 4656929 2026-08-10T07:18:47Z Jeff1138 301139 4656933 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A with 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. ljeeto2ftfj8ohdi50g5d7e1994ebvx 4656938 4656933 2026-08-10T07:22:33Z Jeff1138 301139 4656938 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A or 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. h0ovz46iorzihcyrahe5x4633m6qwc5 4656953 4656938 2026-08-10T07:40:46Z Jeff1138 301139 4656953 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A or 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== =====64bit===== [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. ddk4xv3qajj757u0w4muogs4e9amgwb 4657012 4656953 2026-08-10T10:27:16Z Jeff1138 301139 4657012 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A or 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== On latest Apple Silicon [https://github.com/jonx/AROS-AArch64/releases early hosted Aros .dmg on MacOS12+] [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== =====64bit===== [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. ltnop81mra160p4dex603ph7nf6h0ey 4657013 4657012 2026-08-10T10:28:21Z Jeff1138 301139 4657013 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A or 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== On latest Apple Silicon [https://github.com/jonx/AROS-AArch64/releases early hosted Aros .dmg on MacOS12+] AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== =====64bit===== [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. ofm7yrob3se2vnac6o0ckhiefsdot8c 4657014 4657013 2026-08-10T10:31:27Z Jeff1138 301139 4657014 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 64bit VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 - BCM2711 no ethernet and 1 usb - a little smaller - 2015 Pi 2 Model B - BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core and 32bit VideoCore IV GPU - 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero BCM2835 released 2015 Raspberry Pi 2 Model B version 1.2 has armv8 BCM2837 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz - 1Gb - bluetooth 4.1, Cypress CYW43438 wireless 802.11n and a dual 32bit VideoCore IV GPU - 4 x USB2.0 ports - 5V 2.5A or 2A with throttling and reduced heat 2016 PIs total over 10 million worldwide 2016 Compute 3 CM3 launched BCM2837 armv8 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage on small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible 2017 12 million pis sold in total 2017 Pi Zero W 1GHz, single-core CPU A53 released with Cypress CYW43438 wireless 2017 Raspberry Pi Compute Module 3 CM3 Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports 2019 Over 15 million sold 2019 Pi 3 Model A with BCM2837b0 with 512Mb, 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC on not electrically DDR2 sodimm factor 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C 5V 3A power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2019 Pi 4 Model 2B - BCM2712 4 usb 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 BCM2711 on new 55mm x 40mm form factor with optional breakout IO board 2021 Pi4 CM4S with ddr2 sodimm pinouts but not electrically same 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi 5 2GB version uses BCM2712D0 2024 Pi-500 2024 Raspberry Pi Compute Module 5 BCM2712 with optional IO board 2025 Pi-500+ 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 builds start 2026 August Pi 4, 5 and 500 DTBs added, 2026 2027 2028 Pi 6 </pre> ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=jonx latest commits for pi 4] [https://aros.sourceforge.io/nightly1.html RaspberryPi 3 raspi-aarch64-system native 64bit ArmV8 builds] are The status of AROS 32bit native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. Old native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] and ===Hosted=== On latest Apple Silicon [https://github.com/jonx/AROS-AArch64/releases early buggy alpha version of hosted Aros .dmg on MacOS12+] AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== =====64bit===== [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] opefully be merged for Mesa 23.3 ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhz But it looks like a lot of effort has been put putting those theoretical FLOPs to better use. vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. vc5 added a four thread per QPU mode, with 16 registers per thread. vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. a fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) Faster LPDDR4 memory. A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.2 and vulkan 1.1 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. Framebuffer - basic display RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. USB * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... == References == ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. dcntg58a0r85f2vy1uly7vluz4bs2cc User:Liam987/Español I 2 289164 4656838 4649830 2026-08-09T21:44:05Z ShakespeareFan00 46022 4656838 wikitext text/x-wiki [[File:Escudo de España.svg|center|200px]] <div style="text-align: center;"><span style="font-size:160%;color:red;font-family:serif;font-style:italic"> ¡Aprende español!</span></div> Este libro te enseñará el español de España. Cuándo has leído el todo, podrás hablo suficiente español para tener una conversación básica con alguien, .... ==Español== * [[/Lección número uno/]] 7vmqqpoilmr37ndjp7u5ozgznce2f43 User:AugurNZ/Talkback 2 293072 4657001 2550504 2026-08-10T08:55:46Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4657001 wikitext text/x-wiki <onlyinclude><includeonly>== Reply at Meta-Wiki == {{#ifeq:{{NAMESPACE}}|User talk|<div class="notice" style="background:#AFDCEC;{{Text default color}}; border:1px solid #4169e1; padding:0.5em; margin:0.5em auto; min-height: 40px">[[File:Nuvola apps edu languages.svg|left|60px]][[File:Wikimedia_logo_family_2013.svg|60px|right]]Hello '''{{BASEPAGENAME}}!''' Thank you for contacting me at my <span class="plainlinks">[http://meta.wikimedia.org/wiki/User:AugurNZ centralized profile]</span> on Meta-Wiki. I have left a reply to your message ''<span class="plainlinks">[http://meta.wikimedia.org/wiki/User_talk:AugurNZ#{{{1}}} {{{1}}}]</span>'' there. <span title="Meta-Wiki profile" class="plainlinks">[http://meta.wikimedia.org/wiki/User:AugurNZ <span style="color:#000000" font-family:'Times'">'''''Augur'''''</span><span style="color:#3333ff; font-family:'Arial'">'''''NZ'''''</span>]</span> <span title="Meta-Wiki talk" class="plainlinks">[http://meta.wikimedia.org/wiki/User_talk:AugurNZ <span style="color:#000; font-size:large">&#x2710;</span>]</span>[[Special:Contributions/AugurNZ|<span style="font-size:large; color:#000000">&#x2315;</span>]] 18:19, 19 August 2013 (UTC)<br /><hr /><small>You may remove this notice at any time by removing the &#123;&#123;User:AugurNZ/Talkback&#125;&#125; notice from your talk page.</small></div>|<span style="color:red;font-weight:bold;">Warning: &#123;&#123;User:AugurNZ/Talkback&#125;&#125; should be used on user talk pages only</span>}}</includeonly></onlyinclude> {{Documentation}} 7bf84jk03jd4i4qx5zx0ky103nerjp0 User talk:AugurNZ/Talkback 3 293074 4657000 4643856 2026-08-10T08:44:22Z ShakespeareFan00 46022 4657000 wikitext text/x-wiki == Testing my talkback template == I have now installed my custom talkback template on all Wikimedia Foundation projects where I am active. The following is a test to ensure that it works properly at this project. <span title="Meta-Wiki profile" class="plainlinks">[http://meta.wikimedia.org/wiki/User:AugurNZ <span style="color: #000; font-family: Times;">'''''Augur'''''</span><span style="color: #33f; font family:Arial"">'''''NZ'''''</span>]</span> <span title="Meta-Wiki talk" class="plainlinks">[http://meta.wikimedia.org/wiki/User_talk:AugurNZ <span style="color: #000; font-size: large;">&#x2710;</span>]</span>[[Special:Contributions/AugurNZ|<span style="font-size: large; color: #000;">&#x2315;</span>]] 19:24, 19 August 2013 (UTC) {{User:AugurNZ/Talkback|Welcome_to_Meta.21}} hz1yhy9gd195sadfjggkgmy8en3sbua Elementary Spanish/Unit1 0 302028 4656946 4647774 2026-08-10T07:36:55Z ShakespeareFan00 46022 4656946 wikitext text/x-wiki <br> <br> ===Unit 1: Elementary Spanish=== <br> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 0 font-size="12pt"<!--L1--> ! <h3>In this Unit, we will focus on the themes of personal experience and family tradition.</h3> |- |First, we'll start with a warm up activity, that introduces us to frequently used questions and responses.<br> |- |We will begin the first Spanish lesson by reviewing contextualized language in a story. After, we will discuss the nouns, infinitive verbs, and how they are used with subject pronouns.<br> First, we'll start off with some warm up questions. {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2> Warm Up Activity</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L3--> ! |- | {| class="wikitable" width ="100%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L4--> |+ !width ="35%"| Español !width ="3%"| !width ="35%"| Inglés |- |¿Como te llamas? | |What's your name? |- |Me llamo _________________. <br> Mi nombre es ____________________. | |I am called ________________. <br> My name is ____________________. |- |¿De dónde eres? | |Where are you from? |- |Soy de ______________________. | |I am from ____________________. |- |}<!--L4--> |}<!--L3--> |}<!--L2-->{{center/end}} <br> <hr> {| class="wikitable" width ="75%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L2--> |- | Next, we'll read through the Featured Story for this lesson: <i>La Bicicleta</i>. This story focuses on a personal childhood experience. <br><br> Try to use the pictures to interpret and infer meanings from the text. While reading, try to identify different parts of speech within the story as well, determining, or guessing, which words are nouns and which are verbs. <br> <div style="text-align: center;"> <i> [http://wikiotics.org/en/Elementary_Spanish/Unit1-Story1 Featured Story: La Bicicleta]</i> </div> |}<!--L2--> |}<!--L1--></div>{{center/end}} <hr> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 0 font-size="12pt"<!--L1--> |+ <h2> Recognition and Modelling</h2> !In this section, we'll begin a more focused practice on nouns and verbs. <br><br> Working through these activities, we will gain better familiarty with nouns and verbs used within the story, as well as grammatical explanations for their implementation. {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2>Noun and Verb Activities</h2></div> |- | {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L3--> ! <div style="text-align: center;"><h2></h2></div> |- | {{center/top}} {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L4--> |+<br>In this section, we'll get more familiar with nouns and articles.<br><br> ! width="50%"|<h3>Noun Practice</h3> ! width="50%"|<h3>Verb Practice</h3> |- | <br>In this section, we'll get more familiar with nouns and articles.<br><br> 1. [http://wikiotics.org/en/Elementary_Spanish/Unit1-NounGame1 <b>Activity 1</b>]<br> The first activity is a picture matching activity, where you will guess which picture matches the correct word.<br><br> 2. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Noun_Activities<b>Activity 2</b>] <br> In the next activity, you will try to determine the context of the sentence to fill in the appropriate noun.<br><br> After, you will analyze a dialogue that includes many nouns included in the reading. In this activity, the goal is to rely on your knowledge about these nouns to interpret the rest of the dialogue.<br><br> 3. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Tradiciones<b>Grammar Companion: Part 1</b>] <br>We will review grammatical concepts of articles and nouns under Part 1 at the Grammar Companion Site.<br><br> Here, we will also be introduced to new nouns relating to the theme of Family Traditions. |In this section, we'll get more familiar with verbs.<br><br> 1. [http://wikiotics.org/en/Elementary_Spanish/Unit1-VerbGame1 <b>Activity 1</b>]<br> In the first activity, you'll read a sentence in Spanish and view the infinitive form of the verb, and select the appropriate picture.<br><br> 2. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Verb_Activities<b>Activity 2</b>]<br>In the next activity, you'll analyze sentences from the story to determine the infinitive forms of each verb.<br><br> <br> For the following activity, you will use context clues to determine the appropriate verb for each sentence.<br><br> 3. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Tradiciones <b> Grammar Companion: Part 2</b>] <br>Next, we will review grammatical concepts associated with verbs in Part 2 of the Grammar Companion Site. Here, we will also begin to familiarize ourselves with subject pronouns.<br><br> |}<!--L4-->{{center/end}} |}<!--L3--> |}<!--L2-->{{center/end}} <br> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt"<!--L2--> |+ <h2> Guided Practice: Verb Conjugations</h2> !<br>In this section, we will discuss how regular verbs are conjugated in the present tense, based on their subject pronoun referent. {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L3--> ! <div style="text-align: center;"><h2>Guided Verb Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L4--> ! width="50%"|<h3>Verb Practice</h3> |- |1. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Tradiciones <b>Grammar Companion: Part 3</b>]<br> Before working on the Activites, review Part 3 in the grammar companion for a general overview on subject pronouns and their corresponding verb endings. |- |2. [http://wikiotics.org/en/Elementary_Spanish/Unit1-GuidedVerbPractice<b> Activity 1</b>] <br> In this activity, you will see an infinitive verb and a subject prounoun. You will be prompted with 4 options, to choose the appropriate conjugation. |- |}<!--L4--> |}<!--L3-->{{center/end}} |}<!--L2--></div>{{center/end}} <br> <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt"<!--L2--> |+ <h2> Production</h2> !<br>In this section, we will provide activity prompts that draw on the grammatical concepts that we have worked on throughout the unit. {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L3--> ! <div style="text-align: center;"><h2>Production Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L4--> ! |- | 1. Activity 1:<br> For this activity, working in small groups or individually, create your own personal experience story. Tell the story as though it were happening in the moment, and utilize verbs that we have practiced. For reference, re-read the feature story from this Unit. <br> <div style="text-align: center;"> <i> [http://wikiotics.org/en/Elementary_Spanish/Unit1-Story1 Featured Story: La Bicicleta]</i> </div> <br> |- |}<!--L4--> |}<!--L3-->{{center/end}} |}<!--L2--></div> |}<!--L1--></div>{{center/end}} {{BookCat}} isaev66qm3hr7xx3vbkfqof2l34l8v5 Elementary Spanish/Unit2 NYCsitesGrammar 0 302115 4656924 4652449 2026-08-10T07:09:02Z ShakespeareFan00 46022 4656924 wikitext text/x-wiki <h1> Goals </h1> * Introduce language used to discuss NYC places and activities * Begin Present Tense Irregular Verb * Advance production with irregular verbs. ---- {| class="wikitable" width ="100%" border="0pt" align ="left" |<h1>Introduction</h1> For this unit, we will focus on activities and places in New York City. {{center/top}} {| class="wikitable collapsible" width ="100%" ! <h1><div style="text-align: center;"> '''<u>Warm Up Activity</u>''' </div></h1> |- | {| class="wikitable" width ="100%" text align = "left" align = "t" |+ | {| class="wikitable" width ="100%" text align = "left" align = "t" |+ !width ="35%"| Español !width ="10%"| !width ="35%"| Inglés |- | '''A''' Vamos al museo. | | '''1''' There's music in Central Park tonight. |- |'''B''' Tengo un billete al basketball game. | |'''2''' Let's go to the museum. |- |'''C''' Hay música en Central Park este noche. | |'''3''' I have a ticket to the basketball game. |} |} |} {{center/end}} ---- {| class="wikitable" width ="100%" border="0pt" align ="left" |<h1>Part 1: Adjectives</h1> In Part 1 we will discuss adjectives. One difference between adjectives in English and <br> Spanish is the verb distinction used in Spanish to identify permanent and non-permentant descriptions.<br> We will continue that conversation in Part 2, as we compare the verbs ''' ser ''' and ''' estar''' <br> For now, well categorize adjective types into physical/personal descriptions and mental states. {| class="wikitable collapsible" width ="100%" style="margin:0 auto;" ! <h1><div style="text-align: center;"> '''<u>Part 1: Adjective Charts</u>''' </div></h1> |- | {| class="wikitable" width ="100%" text align = "left" align = "t" |+ ! {| class ="wikitable" cellpadding="2" align = "left" width="100%" style="margin:0 auto;" |+ |- ! {| class ="wikitable" cellpadding="2" width=50% border = 1 style="margin:0 auto;" |- |+ Physical Adjectives !width="50%" | English !width="50%" | Spanish |- |tall |alto / alta |- |short |bajo / baja |- |thin |delgada / delgado |- |fat |gordo / gorda |- |big |grande |- |small |pequeña / pequeño |- |studious |estudioso / estudiosa |- |intelligent |intelegente/ listo / lista |- |good |bueno / buena |- |bad |malo / mala |} ! {| class ="wikitable" cellpadding="2" width = "50%" border = 1 style="margin:0 auto;" |- |+ Mental State Adjectives !width="50%" | English !width="50%" | Spanish |- |+ |happy |feliz |- |sad |triste |- |worried |ocupado / ocupada |- |mad |enojado / enojada |- |confused |confundido / confundida |- |excited |emocionado / emocionada |} |} |} {| class ="wikitable" |cellpadding="2" |align = "left" |+ Add more information here about what this section covers <br>Articles in Spanish are classified in two sets of categories. <br> These two sections, gender and number, determine how nouns are treated within a sentence. |- ! {| class ="wikitable" |cellpadding="2" |- !width="120pt" | Article Description Feminine: !width="90pt" | Number !width="40pt" | Spanish !width="40pt" | English !width="170pt" | Example |- |+ | |- | |<u>Singular</u> |La |'' The '' |La casa es roja. |- | |<u>Singular</u> |Una |'' A '' | Tengo una amiga. |- | |<u>Plural</u> |Las |'' The '' |Las niñas juegan. |} |<u>Plural</u> |Unas * (slang for some) | ''A (plural) * Some*'' |Unas casas son rojas, otras son verdes. |} ! {| class ="wikitable" border="1" cellpadding="2" style="margin:0 auto;" |- !width="150pt" | Article Description Masculine: !width="150pt" | Number !width="100pt" | Spanish !width="100pt" | English !width="150pt" | Example |- |+ | |- | |<u>Singular</u> | El |''The'' | El apartamento es grande. |- | |<u>Singular</u> |Un |''A'' |Tengo un amigo. |- | |<u>Plural</u> |Los |'' The '' |Los niños hablan. |- | |<u>Plural</u> |Unos |'' A *(slang for some)'' | Unos apartamentos son grandes, otros pequeños. |- |} |} {| class ="wikitable" |border="1" |cellpadding="2" | align="center" |+ These are nouns that relate to our topic of Family Traditions. <br>Here, we include words that relate to parties, holidays and events, as well as different types of celebrations. ! {| class ="wikitable" |border="1" |cellpadding="2" | style="margin: auto;" |+ General Vocabulary ! width="200pt"| Español ! width="200pt"| Inglés |- |comida |food |- |familia |family |- |amigo |friend |- |cena |dinner |- |casa |house |- |apartamento |apartment |- |hogar |home |- |restaurante |restaurant |- |fiesta |party |} ! {| class ="wikitable" |border="1" |+ Holiday Types ! Español ! Inglés |- |Navidad |Christmas |- |Kwanzaa |Kwanzaa |- |Hanukkah |Hanukkah |- |Día de los Muertos |Day of the Dead |- |Solsticio de Invierno |Winter Solstice |- |Diwali (Festival de las luces) |Diwali (Festival of lights) |- |Pascua |Easter |- |Año Nuevo |New Years |- |Día de Independencia |Independence Day |} |} <div style="text-align: center;"> <h2> [[Elementary Spanish/Tradition:Unit1 studentActivity1|Student Activity Check Point Part 1]] </h2> </div> <br> <div style="text-align: center;"> <h2> [[Elementary Spanish/Tradition:Unit1 teacherActivityguide1|Teacher Activity Guide Part 1]] </h2> </div> |} |} <br> ---- {| class="wikitable" width ="100%" border="0pt" align ="left" |<h1>Part 2: Subject Pronouns and Infinitive Verbs</h1> In Part 2, we will gain familiarity with subject pronouns.<br> In this section, we will gain a solid familiarity of pronouns and infinitive verbs separately <br> before we combine these ideas to begin work on creating short sentences. {| class="wikitable collapsible" width ="100%" style="margin:0 auto;" ! <h1><div style="text-align: center;"> '''<u>Part 2: Lesson</u>''' </div></h1> |- ! <h2><u>Subject Pronouns</u></h2> Classes of gender and number also exist within subject pronouns. <br> These two sections, gender and number, determine how nouns are treated within a sentence.<br> In Spanish, it is common for subject pronouns to be omitted, as they are incorporated as part of a verb conjugation.<br> We will begin verb conjugations next. {{center/top}} {| class ="wikitable" |border="1" |align = "center" |text-align = "center" |width="150pt" |align="center" |- !width="150pt" | Persona !width="150pt" | Person |- !width="150pt" |Español !width="150pt" |Inglés |+ |- | align = "center" |Yo | align = "center" |I |- | align = "center" |Tú | align = "center" |You |- | align = "center" |Él | align = "center" |He |- | align = "center" |Ella | align = "center" |She |- | align = "center" |Nosotros | align = "center" |We |- | align = "center" |Ellos | align = "center" |They |- | align = "center" |Ellas | align = "center" |They (females) |} <h2><u>Infinitive Verbs: Family Tradition</u></h2> There are three broad categories of verb-types in Spanish: <br> Verbs that end in ... *-AR* *-ER* *-IR* {| class="wikitable" width ="1050pt" ! <h3><div style="text-align: center;"> '''<u>Infinitive Verb List</u>''' </div></h3> |- ! {| class ="wikitable" |border="1" |cellpadding="2" style="margin:0 auto;" |+ |- !width="180pt" | Regular Verbs !width="180pt" | |- ! Español ! Inglés |- |preparar |to prepare |- |invitar |to invite |- |cocinar |to cook |- |viajar |to travel |- |celebrar |to celebrate |- |decorar |to decorate |- |deber |should |- |comer |to eat |- |vivir |to live |- |escribir |to write |- |leer |to read |} ! {| class ="wikitable" |border="1" |- !width="180pt" |Irregular Verbs !width="180pt" | |- ! Español ! Inglés |+ |- |ir |to go |- |venir |to come |- |tener |to have |- |salir |to go out / to leave |- |querer |to want |- |ser |to be (permanent) |- |estar |to be (temporary) |} |} <br> <div style="text-align: center;"> <h2> [http://wikiotics.org/en/wikibooks-SA2 Student Check Point Part 2] </h2> </div> <br> <div style="text-align: center;"> <h2> [[Elementary Spanish/Tradition:Unit1 teacherActivityguide2|Teacher Activity Guide Part 2]] </h2> </div> {{center/end}} |} |} {| class="wikitable" width ="100%" border="0pt" align ="left" |<h1>Part 3: Verb Conjugations</h1> In this section we will learn about how subject pronouns are associated with particular verb endings in Spanish<br> Here, we will begin making short phrases by combining subjects and verbs in a single word.<br> {| class="wikitable collapsible" width ="100%" style="margin:0 auto;" ! <h1><div style="text-align: center;"> '''<u>Part 3: Lesson</u>''' </div></h1> |- !align ="floatright" width = "60%" | The general formula for creating verb conjugations is to replace the infinitive verb ending (-ar/-er/-ir) with the appropriate ending of the subject.<br> Although there are three verb-ending categories, -er and -ir verbs tend to share most of the conjugation endings. <h2><u>Conjugated Verbs:Present Tense</u></h2> {| class="wikitable" width ="80%" border="0" ! width= "50%"| !width= "50%" | <h3><div style="text-align: center;"> '''<u>Subject - Verb Ending Conjugations</u>''' </div></h3> |- !text align = "left" font size = "14pt"| In Spanish, verbs are conjugated depending on the subject they are associated with, as well as the tense.<br> For now, we will focus on Present Simple Tense<br> Each subject pronoun is associated with a particular verb-ending type. ! {| class ="wikitable" border="1" align = "center" text-align = "center" width = "70%" style="margin:0 auto;" |- !width="250pt" | Persona !width="250pt" | Verb ends in: |- !Español !Inglés |+ |- | align = "center" |Yo : I | align = "center" |-o |- | align = "center" |Tú : You | align = "center" |-as / -es |- | align = "center" |Él : He | align = "center" |-a / -e |- | align = "center" |Ella: She | align = "center" |-a / -e |- | align = "center" |Nosotros: We | align = "center" | -amos / -emos |- | align = "center" |Ellos / Ellas: They | align = "center" |-an / -en |- |} |} |} {| class="wikitable" width ="100%" align="center" !width ="25%" | Description of Tables under here !width ="75%"|<h3><div style="text-align: center;"> '''<u>Regular Verbs: Present Tense</u>''' </div></h3> |- |These tables show how verbs change based on the subject pronouns used in the sentence. The ending of the verb is typically dropped, and the corresponding subject pronoun ending is added. ! {| class="wikitable collapsible" width ="75%" ! width = "75%" |<h3> -Ar Verbs Table</h3> |- | width = "75%" align = "center" | '''-AR Verbs''' {| class ="wikitable" |border="1" |align = "center" |text-align = "center" |- !width="50pt" | '''Subject Pronoun''' !width="50pt" | '''Verb Ending''' !width="50pt" | '''Infinitive Verb''' !width="50pt" | '''Conjugated Verb''' !width="140pt"|'''Example - Spanish''' !width="140pt"|'''Example - Translation''' |- | align = "center" |Yo | align = "center" | -o | align = "center" | celebr<s>ar</s> | align = "center" |celebr'''o''' | align = "center"| Yo celebro a la fiesta. | align = "center"| I celebrate at the party. |- | align = "center" |Tú | align = "center" | -as | align = "center" | invit<s>ar</s> | align = "center" |invit'''as''' | align = "center"|Tú invitas a tú amigo. | align = "center"|You invite your friend. |- | align = "center" |Él | align = "center" | -a | align = "center" | prepar<s>ar</s> | align = "center" |prepar'''a''' | align = "center"|Él prepara la comida. | align = "center"|He prepares the food. |- | align = "center" |Ella | align = "center" | -a | align = "center" | cocin<s>ar</s> | align = "center" |cocin'''a''' | align = "center"|Ella cocina la cena. | align = "center"|She cooks the dinner. |- | align = "center" | Nosotros | align = "center" | -amos | align = "center" | viaj<s>ar</s> | align = "center" | viaj'''amos''' | align = "center"| Viajamos a Florida cada Navidad. | align = "center"| We travel to Florida every Christmas. |- | align = "center" |Ellos / Ellas | align = "center" | -an | align = "center" | decor<s>ar</s> | align = "center" | decor'''an''' | align = "center"| Ellos no decoran el árbol. | align = "center"| They don't decorate the tree. |- |} |} {| class="wikitable collapsible" width ="75%" ! width = "75%" | <h3> ER/IR Verbs Table</h3> |- | width = "75%" align = "center" | '''-ER / -IR Verbs''' {| class ="wikitable" |border="1" |align = "center" |text-align = "center" |- !width="60pt" | '''Subject Pronoun''' !width="60pt" | '''Verb Ending''' !width="60pt" | '''Infinitive Verb''' !width="60pt" | '''Conjugated Verb''' !width="140pt"|'''Example - Spanish''' !width="140pt"|'''Example - Translation''' |- | align = "center" |Yo | align = "center" | -o | align = "center" | com<s>er</s> | align = "center" | como | align = "center"| Yo como la cena. | align = "center"| I eat the dinner. |- | align = "center" | Tú | align = "center" | -es | align = "center" | escrib<s>ir</s> | align = "center" | escribes | align = "center"| Tú escribes una carta. | align = "center"| You write a card. |- | align = "center" |Él | align = "center" | -e | align = "center" | le<s>er</s> | align = "center" |lee | align = "center"|Él lee la carta. | align = "center"|He reads the card. |- | align = "center" |Ella | align = "center" | -e | align = "center" | viv<s>ir</s> | align = "center" |vive | align = "center"|Ella vive en Nueva York. | align = "center"|She lives in New York. |- | align = "center" |Nosotros | align = "center" | -imos / -emos | align = "center" | com<s>er</s> | align = "center" |comemos | align = "center"| Comemos juntos a la fiesta del Día de Independenia. | align = "center"| We eat together at the Independence Day party. |- | align = "center" |Nosotros | align = "center" | -imos / -emos | align = "center" | viv<s>ir</s> | align = "center" | vivimos | align = "center" | Nostoros vivimos en Mexico. | align = "center" | We live in Mexico. |- | align = "center" |Ellos | align = "center" | -en | align = "center" |deb<s>er</s> | align = "center" | deben | align = "center" | Ellos deben cocinar. | align = "center" | They should cook. |} |} |} <br> <div style="text-align: center;"> <h2> Student Check Point Part 3 </h2> </div> <br> <div style="text-align: center;"> <h2> Teacher Activity Guide Part 3 </h2> </div> |} {{bookcat}} j609bt1uao9m5lokx3s0a5s9tn1jk0g Elementary Spanish/Unit1 Sec1 0 302134 4656930 4646003 2026-08-10T07:13:57Z ShakespeareFan00 46022 4656930 wikitext text/x-wiki <br> <br> =Unit 1: Elementary Spanish= <br> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 0 font-size="12pt"<!--L1--> ! <h3>In this Unit, we will focus on the themes of personal experience and family tradition.</h3> |- |<br>First, we'll start with a warm up activity, that introduces us to frequently used questions and responses.<br> |- |We will begin the first Spanish lesson by reviewing contextualized language in a story. After, we will discuss the nouns, infinitive verbs, and how they are used with subject pronouns.<br> First, we'll start off with some warm up questions. {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2> Warm Up Activity</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" <!--L3--> ! |- | {| class="wikitable" width ="100%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L4--> |+ !width ="35%"| Español !width ="3%"| !width ="35%"| Inglés |- |¿Como te llamas? | |What's your name? |- |Me llamo _________________. <br> Mi nombre es ____________________. | |I am called ________________. <br> My name is ____________________. |- |¿De dónde eres? | |Where are you from? |- |Soy de ______________________. | |I am from ____________________. |- |}<!--L4--> |}<!--L3--> |}<!--L2-->{{center/end}} <br> <hr> {| class="wikitable" width ="75%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L2--> |- | Next, we'll read through the Featured Story for this lesson: <i>La Bicicleta</i>. This story focuses on a personal childhood experience. <br><br> Try to use the pictures to interpret and infer meanings from the text. While reading, try to identify different parts of speech within the story as well, determining, or guessing, which words are nouns and which are verbs. <br> <div style="text-align: center;"><b><i> [http://wikiotics.org/en/Elementary_Spanish/Unit1-Story1 Featured Story: La Bicicleta]</i></b></div> |}<!--L2--> |}<!--L1--> </div>{{center/end}} {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="95%" border = 0 font-size="12pt"<!--L1--> |+ <h2> Recognition and Modelling</h2> !In this section, we'll begin a more focused practice on nouns and verbs. <br><br> Working through these activities, we will gain better familiarty with nouns and verbs used within the story, as well as grammatical explanations for their implementation. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2>Noun and Verb Activities</h2></div> |- | {{center/top}} {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L3--> |+<br>In this section, we'll get more familiar with nouns and articles.<br><br> ! width="50%"|<h3>Noun Practice</h3> ! width="50%"|<h3>Verb Practice</h3> |- | <br>In this section, we'll get more familiar with nouns and articles.<br><br> 1. <b>[http://wikiotics.org/en/Elementary_Spanish/Unit1-NounGame1 Activity 1]</b><br> The first activity is a picture matching activity, where you will guess which picture matches the correct word.<br><br> 2. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Noun_Activities<b>Activity 2</b>] <br> In the next activity, you will try to determine the context of the sentence to fill in the appropriate noun.<br><br> After, you will analyze a dialogue that includes many nouns included in the reading. In this activity, the goal is to rely on your knowledge about these nouns to interpret the rest of the dialogue.<br><br> 3. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1_GrammarPart1 <b>Grammar Companion: Part 1</b>] <br>We will review grammatical concepts of articles and nouns under Part 1 at the Grammar Companion Site.<br><br> Here, we will also be introduced to new nouns relating to the theme of Family Traditions. |In this section, we'll get more familiar with verbs.<br><br> 1. [http://wikiotics.org/en/Elementary_Spanish/Unit1-VerbGame1 <b>Activity 1</b>]<br> In the first activity, you'll read a sentence in Spanish and view the infinitive form of the verb, and select the appropriate picture.<br><br> 2. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Verb_Activities<b>Activity 2</b>]<br>In the next activity, you'll analyze sentences from the story to determine the infinitive forms of each verb.<br><br> For the following activity, you will use context clues to determine the appropriate verb for each sentence.<br><br> 3. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1_GrammarPart2 <b> Grammar Companion: Part 2</b>] <br>Next, we will review grammatical concepts associated with verbs in Part 2 of the Grammar Companion Site. Here, we will also begin to familiarize ourselves with subject pronouns.<br><br> |}<!--L3-->{{center/end}} |}<!--L2-->{{center/end}} |}<!--L1--></div>{{center/end}} [[Elementary_Spanish/Unit1_Sec2|Go to the Next Section!]] {{BookCat}} 1o9fj72y5xw5u538289447uxjcmyvyc Elementary Spanish/Unit1 Sec2 0 302135 4656950 4649794 2026-08-10T07:38:47Z ShakespeareFan00 46022 4656950 wikitext text/x-wiki <br> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1.1 Go Back!] </div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Guided Practice: Verb Conjugations - Present Tense</h2> !<br>In this section, we will discuss how regular verbs are conjugated in the present tense, based on their subject pronoun referent. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Guided Verb Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! width="50%"|<h3>Present Tense Practice</h3> |- |[https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1_Grammar3 <b>Grammar Review: Part 3</b>] <br><hr> Before working on the Activites, review Part 3 in the grammar companion for a general overview on subject pronouns and their corresponding verb endings. |- | <b> [http://wikiotics.org/en/Elementary_Spanish/Unit1-ConjugatedVerbPractice_Story Activity 1]</b> <br> <hr> In this activity, you will see an infinitive verb and a subject prounoun. You will be prompted with 4 options, to choose the appropriate conjugation. |- |[http://wikiotics.org/en/ElementarySpanish/Unit1Dialogue_story Dialogue: Vocab from Story]<br> In this dialogue, you'll hear a conversation between a mother and son about a problem he is having at school.<br> The dialogue uses many vocabulary items from the story we read in Section 1. Identify the nouns and verb conjugations. |} |} {{center/end}} |} </div>{{center/end}} [[Elementary_Spanish/Unit1_Sec3|Go to the Next Section!]] {{BookCat}} sxxlsi7kz18rtelitx2wnjplbyalefj Elementary Spanish/Unit1 Sec3 0 302136 4656970 4647083 2026-08-10T08:15:00Z ShakespeareFan00 46022 4656970 wikitext text/x-wiki <br> <br> <div style="text-align: center;"> [[Elementary_Spanish/Unit1_Sec2|Go Back!]] </div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Production</h2> !<br>In this section, we will provide activity prompts that draw on the grammatical concepts that we have worked on throughout the unit. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Production Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! |- |Activity 1:<br> For this activity, working in small groups or individually, create your own personal experience story. Tell the story as though it were happening in the moment, and utilize verbs that we have practiced. For reference, re-read the feature story from this Unit. <br> <div style="text-align: center;"> <b><i> [http://wikiotics.org/en/Elementary_Spanish/Unit1-Story1 Featured Story: La Bicicleta]</i></b> </div> |- |Activity 2: Dialogue Creation <br> In this section, try to use the combined vocabulary from the Story and the Grammar Tradition Section to create a new dialogue. |- |} |}{{center/end}} |}</div>{{center/end}} <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2.1 Go to Unit 2!] </div> {{BookCat}} ndho7f1fw9s9h8g6cq3c1j232qu3nw3 Elementary Spanish/Unit1 Grammar1 0 302268 4656958 4645466 2026-08-10T07:52:17Z ShakespeareFan00 46022 4656958 wikitext text/x-wiki <br> <br> <br> <div font-size="14pt"> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1.1 Go Back to Unit Page!] <br> </div> <hr> <h1> Goals </h1> * Introduce language used at holidays and gatherings * Begin Present Tense * Advance production for simple present tense phrases. <br> <Br> <hr> {{center/top}} {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1--> |<h1>Introduction</h1> For this unit, we will focus on the theme of holidays and celebrations. <br> To begin practicing, read the following three sentences, and try to identify their corresponding<br> English phrase. Try to find matching translations!<br> {{center/top}} {| class="wikitable collapsible" width ="100%"<!--L2--> ! <h1><div style="text-align: center;"> '''<u>Warm Up Activity</u>''' </div></h1> |- | {| class="wikitable" width ="100%" text align = "left" align = center<!--L3--> |+ !width ="35%"| Español !width ="10%"| !width ="35%"| Inglés |- | <b>A</b> La casa es pequeña. | | <b>1</b> The boy celebrates. |- |<b>B</b> Las amigas preparar la cena. | |<b>2</b>The house is small. |- |<b>C</b> El niño celebra. | |<b>3</b>The friends prepare the dinner. |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1--> <hr> {| class="wikitable" width ="100%" border=0 align = center<!--L1--> |<h1><div style="text-align: center;">Part 1: Articles and Nouns</div></h1> <div style="text-align: center;"> In Part 1 we will discuss articles and nouns, as they relate to holidays and celebrations. <br> Before we move into more complicated grammar components, starting off with a general <br> understanding of how masculine and feminine structures work in Spanish will give a great basis.<br> </div> {{center/top}} {| class="wikitable" width ="100%"<!--L2--> ! <h1><div style="text-align: center;"> '''<u>Part 1: Nouns and Articles</u>''' </div></h1> |- | {| class="wikitable" width ="100%" text align =center align = center<!--L3--> |+ ! <center> {| class ="wikitable" cellpadding="2" align = center font-size= 12<!--L4--> | <br>Articles in Spanish are classified in two sets of categories. <br> These two sections, gender and number, determine how nouns are treated within a sentence. |}<!--L4-->{{center/end}} |}<!--L3--> {{center/top}} {| class ="wikitable" border = 1 cellpadding="2" align= center<!--L3--> |- !width="150pt" | Article Description Feminine: !width="150pt" | Number !width="100pt" | Spanish !width="100pt" | English !width="150pt" | Example |- |+ | |- | |<u>Singular</u> |La |<i> The </i> |La casa es roja. |- | |<u>Singular</u> |Una |<i> A </i> | Tengo una amiga. |- | |<u>Plural</u> |Las |<i> The </i> |Las niñas juegan. |- | |<u>Plural</u> |Unas * (slang for some) | <i>A (plural) * Some*</i> |Unas casas son rojas, otras son verdes. |}<!--L3--> {{center/end}} {{center/top}} {| class ="wikitable" border=1 cellpadding="2pt"<!--L3--> |- !width="150pt" | Article Description Masculine: !width="150pt" | Number !width="100pt" | Spanish !width="100pt" | English !width="150pt" | Example |- |+ | |- | |<u>Singular</u> | El |<i>The</i> | El apartamento es grande. |- | |<u>Singular</u> |Un |<i>A</i> |Tengo un amigo. |- | |<u>Plural</u> |Los |<i> The </i> |Los niños hablan. |- | |<u>Plural</u> |Unos |<i> A *(slang for some)</i> | Unos apartamentos son grandes, otros pequeños. |- |}<!--L3--> {{center/end}} {| class ="wikitable" border=1 cellpadding="2pt" align="center"<!--L3--> |+ These are nouns that are seen in the story <br> ! {{center/top}} {| class ="wikitable" border=1 cellpadding="2pt" <!--L4--> |+ General Vocabulary ! width="200pt"| Español ! width="200pt"| Inglés |- |la bicicleta |the bike |- |el coche |the car |- |la sangre |the blood |- |la cascada |the waterfall |- |el viento |the wind |- |el golpe |the blow / the hit |- |la lágrima |the tears |- |el abrazo |the hug |- |la mano |the hand |- |la boca |the mouth |- |la luz |the light |- |un hechizo |a spell |- |el mágico |the magic |- |el pelo |the hair |- |una cortada |a cut |}<!--L4--> {{center/end}} |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1-->{{center/end}} </div> <br> <br> <br> <hr> {{BookCat}} qhbvycc3ua606i7cksf141ohm1qqtr1 4656959 4656958 2026-08-10T07:52:46Z ShakespeareFan00 46022 4656959 wikitext text/x-wiki <br> <br> <br> <div font-size="14pt"> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1.1 Go Back to Unit Page!] <br> </div> <hr> <h1> Goals </h1> * Introduce language used at holidays and gatherings * Begin Present Tense * Advance production for simple present tense phrases. <br> <Br> <hr> {{center/top}} {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1--> |<h1>Introduction</h1> For this unit, we will focus on the theme of holidays and celebrations. <br> To begin practicing, read the following three sentences, and try to identify their corresponding<br> English phrase. Try to find matching translations!<br> {{center/top}} {| class="wikitable collapsible" width ="100%"<!--L2--> ! <h1><div style="text-align: center;"> '''<u>Warm Up Activity</u>''' </div></h1> |- | {| class="wikitable" width ="100%" text align = "left" align = center<!--L3--> |+ !width ="35%"| Español !width ="10%"| !width ="35%"| Inglés |- | <b>A</b> La casa es pequeña. | | <b>1</b> The boy celebrates. |- |<b>B</b> Las amigas preparar la cena. | |<b>2</b>The house is small. |- |<b>C</b> El niño celebra. | |<b>3</b>The friends prepare the dinner. |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1--> <hr> {| class="wikitable" width ="100%" border=0 align = center<!--L1--> |<h1><div style="text-align: center;">Part 1: Articles and Nouns</div></h1> <div style="text-align: center;"> In Part 1 we will discuss articles and nouns, as they relate to holidays and celebrations. <br> Before we move into more complicated grammar components, starting off with a general <br> understanding of how masculine and feminine structures work in Spanish will give a great basis.<br> </div> {{center/top}} {| class="wikitable" width ="100%"<!--L2--> ! <h1><div style="text-align: center;"> '''<u>Part 1: Nouns and Articles</u>''' </div></h1> |- | {| class="wikitable" width ="100%" text align =center align = center<!--L3--> |+ ! {{center/top}} {| class ="wikitable" cellpadding="2" align = center font-size= 12<!--L4--> | <br>Articles in Spanish are classified in two sets of categories. <br> These two sections, gender and number, determine how nouns are treated within a sentence. |}<!--L4-->{{center/end}} |}<!--L3--> {{center/top}} {| class ="wikitable" border = 1 cellpadding="2" align= center<!--L3--> |- !width="150pt" | Article Description Feminine: !width="150pt" | Number !width="100pt" | Spanish !width="100pt" | English !width="150pt" | Example |- |+ | |- | |<u>Singular</u> |La |<i> The </i> |La casa es roja. |- | |<u>Singular</u> |Una |<i> A </i> | Tengo una amiga. |- | |<u>Plural</u> |Las |<i> The </i> |Las niñas juegan. |- | |<u>Plural</u> |Unas * (slang for some) | <i>A (plural) * Some*</i> |Unas casas son rojas, otras son verdes. |}<!--L3--> {{center/end}} {{center/top}} {| class ="wikitable" border=1 cellpadding="2pt"<!--L3--> |- !width="150pt" | Article Description Masculine: !width="150pt" | Number !width="100pt" | Spanish !width="100pt" | English !width="150pt" | Example |- |+ | |- | |<u>Singular</u> | El |<i>The</i> | El apartamento es grande. |- | |<u>Singular</u> |Un |<i>A</i> |Tengo un amigo. |- | |<u>Plural</u> |Los |<i> The </i> |Los niños hablan. |- | |<u>Plural</u> |Unos |<i> A *(slang for some)</i> | Unos apartamentos son grandes, otros pequeños. |- |}<!--L3--> {{center/end}} {| class ="wikitable" border=1 cellpadding="2pt" align="center"<!--L3--> |+ These are nouns that are seen in the story <br> ! {{center/top}} {| class ="wikitable" border=1 cellpadding="2pt" <!--L4--> |+ General Vocabulary ! width="200pt"| Español ! width="200pt"| Inglés |- |la bicicleta |the bike |- |el coche |the car |- |la sangre |the blood |- |la cascada |the waterfall |- |el viento |the wind |- |el golpe |the blow / the hit |- |la lágrima |the tears |- |el abrazo |the hug |- |la mano |the hand |- |la boca |the mouth |- |la luz |the light |- |un hechizo |a spell |- |el mágico |the magic |- |el pelo |the hair |- |una cortada |a cut |}<!--L4--> {{center/end}} |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1-->{{center/end}} </div> <br> <br> <br> <hr> {{BookCat}} 2hylta965bj8n19w3matssptvdf030e Elementary Spanish/Unit1.1 0 302278 4656932 4650896 2026-08-10T07:15:09Z ShakespeareFan00 46022 4656932 wikitext text/x-wiki <br> <br> <h1>Unit 1: Elementary Spanish</h1> <br> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 0 font-size="12pt"<!--L1--> ! <h3>In this Unit, we will focus on the themes of personal experience and family tradition.</h3><br> |- |<h2>Goals</h2><br> Introduction to infinitive nouns and verbs <br> Introduction to contextualized language, interpreting meanings<br> Intro to present tense {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2> Click here for the Warm Up Activity</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L3--> ! |- | {| class="wikitable" width ="100%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L4--> |+ Use these question and answer prompts to introduce yourself to your peers. !width ="35%"| Español !width ="3%"| !width ="35%"| Inglés |- |¿Como te llamas? | |What's your name? |- |Me llamo _________________. <br> Mi nombre es ____________________. | |I am called ________________. <br> My name is ____________________. |- |¿De dónde eres? | |Where are you from? |- |Soy de ______________________. | |I am from ____________________. |- |}<!--L4--> |}<!--L3--> |}<!--L2-->{{center/end}} <br> <hr> {| class="wikitable" width ="75%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L2--> |- | Next, we'll read through the Featured Story for this lesson: <i>La Bicicleta</i>. This story focuses on a personal childhood experience. <br><br> Try to use the pictures to interpret and infer meanings from the text. While reading, try to identify different parts of speech within the story as well, determining, or guessing, which words are nouns and which are verbs. <br> <div style="text-align: center;"><i> [http://wikiotics.org/en/Elementary_Spanish/Unit1-Story1 Featured Story: La Bicicleta]</i></div> |}<!--L2--> |}<!--L1--></div>{{center/end}} {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="95%" border = 0 font-size="12pt"<!--L1--> |+ <h2> Recognition and Modelling</h2> !<b>In this section, we'll begin a more focused practice on nouns and verbs. <br><br> Working through these activities, we will gain better familiarty with nouns and verbs used within the story, as well as grammatical explanations for their implementation.</b> {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2>Noun and Verb Activities</h2></div> |- | {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L3--> ! <div style="text-align: center;"><h2></h2></div> |- | {{center/top}} {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L4--> |+<br>In this section, we'll get more familiar with nouns and articles.<br><br> ! width="50%"|<h3>Noun Practice</h3> ! width="50%"|<h3>Verb Practice</h3> |- | <br>In this section, we'll get more familiar with nouns and articles.<br><br> 1. <b>[http://wikiotics.org/en/Elementary_Spanish/Unit1-NounGame1 Activity 1]</b><br> The first activity is a picture matching activity, where you will guess which picture matches the correct word.<br><br> 2. <b>[https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1_Grammar1 Grammar Review Part 1]</b><br> Read the section on nouns and articles, then, read the story again and try to find examples. |In this section, we'll get more familiar with verbs.<br><br> 1. [http://wikiotics.org/en/Elementary_Spanish/Unit1-VerbGame1 <b>Activity 1</b>]<br> In the first activity, you'll read a sentence in Spanish and view the infinitive form of the verb, and select the appropriate picture.<br><br> 2. [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1-Verb_Activities<b>Activity 2</b>]<br>In the next activity, you'll analyze sentences from the story to determine the infinitive forms of each verb.<br><br> For the following activity, you will use context clues to determine the appropriate verb for each sentence.<br><br> 3. <b>[https://en.wikibooks.org/wiki/Elementary_Spanish/Unit1_Grammar2 Grammar Review Part 2]</b><br> Next, we will review grammatical concepts associated with verbs in Part 2 of the Grammar Review. Here, we will also begin to familiarize ourselves with subject pronouns in relation to the verbs of the story.<br><br> |}<!--L4-->{{center/end}} |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1--></div>{{center/end}} [[Elementary_Spanish/Unit1_Sec2|Go to the Next Section!]] {{BookCat}} 7hras4rnnuhu2u579gfg9rqbgwoi28l Elementary Spanish/Unit1.2 0 302308 4656920 4651828 2026-08-10T07:06:32Z ShakespeareFan00 46022 4656920 wikitext text/x-wiki <br> <div style="text-align: center;"> [[Elementary_Spanish/Unit1_Sec1|Go Back!]] </div> <br> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Guided Practice: Verb Conjugations</h2> !<br>In this section, we will discuss how regular verbs are conjugated in the present tense, based on their subject pronoun referent. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Guided Verb Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! width="50%"|<h3>Verb Practice</h3> |- |[[Elementary_Spanish/Unit1_Grammar3|<b>Grammar Review 3</b>]] <br><hr> Before working on the Activites, review Part 3 in the grammar companion for a general overview on subject pronouns and their corresponding verb endings. |- |[http://wikiotics.org/en/Elementary_Spanish/Unit1-ConjugatedVerbPractice_Story<b> Activity 1</b>] <br> <hr> In this activity, you will see an infinitive verb and a subject prounoun. You will be prompted with 4 options, to choose the appropriate conjugation. |- |[http://wikiotics.org/en/ElementarySpanish/Unit1Dialogue_story Dialogue: Vocab from Story]<br> In this dialogue, you'll hear a conversation between a mother and son about a problem he is having at school.<br> The dialogue uses many vocabulary items from the story we read in Section 1. |} |}{{center/end} |}</div>{{center/end}} <br> [[Elementary_Spanish/Unit1_Sec3|Go to the Next Section!]] {{BookCat}} o6fery9w7kzagni90a4sb4095bj2azx 4656921 4656920 2026-08-10T07:06:46Z ShakespeareFan00 46022 4656921 wikitext text/x-wiki <br> <div style="text-align: center;"> [[Elementary_Spanish/Unit1_Sec1|Go Back!]] </div> <br> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Guided Practice: Verb Conjugations</h2> !<br>In this section, we will discuss how regular verbs are conjugated in the present tense, based on their subject pronoun referent. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Guided Verb Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! width="50%"|<h3>Verb Practice</h3> |- |[[Elementary_Spanish/Unit1_Grammar3|<b>Grammar Review 3</b>]] <br><hr> Before working on the Activites, review Part 3 in the grammar companion for a general overview on subject pronouns and their corresponding verb endings. |- |[http://wikiotics.org/en/Elementary_Spanish/Unit1-ConjugatedVerbPractice_Story<b> Activity 1</b>] <br> <hr> In this activity, you will see an infinitive verb and a subject prounoun. You will be prompted with 4 options, to choose the appropriate conjugation. |- |[http://wikiotics.org/en/ElementarySpanish/Unit1Dialogue_story Dialogue: Vocab from Story]<br> In this dialogue, you'll hear a conversation between a mother and son about a problem he is having at school.<br> The dialogue uses many vocabulary items from the story we read in Section 1. |} |}{{center/end}} |}</div>{{center/end}} <br> [[Elementary_Spanish/Unit1_Sec3|Go to the Next Section!]] {{BookCat}} et2r46ao9vud47fvlwrxhjjup61n4pr Elementary Spanish/Unit1 Grammar3 0 302309 4656961 4642924 2026-08-10T07:59:17Z ShakespeareFan00 46022 4656961 wikitext text/x-wiki <br> <br> <div style="text-align: center;"> [[Elementary_Spanish/Unit1_Sec2|Go Back to Unit 1!]] </div> <br> <br> {{center/top}} {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1!--> |+<h2> Grammar</h2> <br><h2>Guided Practice: Verb Conjugations - Present Tense</h2> In this section we will learn about how subject pronouns are associated with particular verb endings in Spanish<br> Here, we will begin making short phrases by combining subjects and verbs in a single word.<br> {{center/top}} {| class="wikitable" width ="100%"<!--L2!--> ! <h1><div style="text-align: center;"> '''<u>Present Tense Practice</u>''' </div></h1> |- !align ="floatright" width = "60%" | The general formula for creating verb conjugations is to replace the infinitive verb ending (-ar/-er/-ir) with the appropriate ending of the subject.<br>Although there are three verb-ending categories, -er and -ir verbs tend to share most of the conjugation endings.<br> ===<u>Conjugated Verbs: Present Tense</u>=== {{center/top}} {| class="wikitable" width ="80%" border="0" <!--L3!--> ! width= "50%"| !width= "50%" | <h3><div style="text-align: center;"> '''<u>Subject - Verb Ending Conjugations</u>''' </div></h3> |- !text align = "left" font size = "14pt"|In Spanish, verbs are conjugated depending on the subject they are associated with, as well as the tense.<br>For now, we will focus on Present Simple Tense<br>Each subject pronoun is associated with a particular verb-ending type. ! {{center/top}} {| class ="wikitable" |border="1" |align = "center" |text-align = "center" |width = "70%" <!--L4!--> |- !width="250pt" | Persona !width="250pt" | Verb ends in: |- !Español !Inglés |+ |- | align = "center" |Yo : I | align = "center" |-o |- | align = "center" |Tú : You | align = "center" |-as / -es |- | align = "center" |Él : He | align = "center" |-a / -e |- | align = "center" |Ella: She | align = "center" |-a / -e |- | align = "center" |Nosotros: We | align = "center" | -amos / -emos |- | align = "center" |Ellos / Ellas: They | align = "center" |-an / -en |- |}<!--L4!-->{{center/end}} |}<!--L3!-->{{center/end}} <br> <br> {| class="wikitable" width ="100%" align="center"<!--L3!--> !width ="75%"|<h3><div style="text-align: center;"> '''<u>Regular Verbs: Present Tense</u>''' </div></h3> |- |These tables show how verbs change based on the subject pronouns used in the sentence. The ending of the verb is typically dropped, and the corresponding subject pronoun ending is added. |}<!--L3!--> |} <!--L2!-->{{center/end}} <br> {| class="wikitable" width ="100%" border="0pt" align ="left" <!--L2--> | {{center/top}} {| class="wikitable " width ="85%" <!--L3--> ! width = "75%" |<h3> -Ar Verbs Table</h3> |- | width = "75%" align = "center" | '''-AR Verbs''' {| class ="wikitable" border=1 align = "center" |text-align = "center" <!--L4--> |- !width="60pt" | '''Subject Pronoun''' !width="60pt" | '''Verb Ending''' !width="60pt" | '''Infinitive Verb''' !width="60pt" | '''Conjugated Verb''' !width="140pt"|'''Example - Spanish''' !width="140pt"|'''Example - Translation''' |- | align = "center" |Yo | align = "center" | -o | align = "center" | escuch<s>ar</s> | align = "center" |escuch'''o''' | align = "center"| Yo escucho al radio. | align = "center"| I listen to the radio. |- | align = "center" |Tú | align = "center" | -as | align = "center" | sopl<s>ar</s> | align = "center" |sopl'''as''' | align = "center"|Tú soplas las candelas en la torta | align = "center"|You blow the candels on the cake. |- | align = "center" |Él | align = "center" | -a | align = "center" | abraz<s>ar</s> | align = "center" |abraza'''a''' | align = "center"|Él abraza a su animal de peluche. | align = "center"|He hugs his stuffed animal. |- | align = "center" |Ella | align = "center" | -a | align = "center" | quit<s>ar</s> | align = "center" |quit'''a''' | align = "center"|Ella quita la casca. | align = "center"|She takes off the helmet. |- | align = "center" | Nosotros | align = "center" | -amos | align = "center" | mir<s>ar</s> | align = "center" | mir'''amos''' | align = "center"| Miramos la televisión. | align = "center"| We watch the TV. |- | align = "center" |Ellos / Ellas | align = "center" | -an | align = "center" | par<s>ar</s> | align = "center" | para'''an''' | align = "center"| Ellos paran de jugar cuando la cena esta lista. | align = "center"| They stop playing when the dinner is ready. |}<!--L4--> |}<!--L3-->{{center/end}} | {{center/top}} {| class="wikitable" width ="85%"<!--L3--> ! width = "75%" | <h3> ER/IR Verbs Table</h3> |- | width = "75%" align = "center" | '''-ER / -IR Verbs''' {| class ="wikitable" |border="1" |align = "center" |text-align = "center"<!--L4--> |- !width="60pt" | '''Subject Pronoun''' !width="60pt" | '''Verb Ending''' !width="60pt" | '''Infinitive Verb''' !width="60pt" | '''Conjugated Verb''' !width="140pt"|'''Example - Spanish''' !width="140pt"|'''Example - Translation''' |- | align = "center" |Yo | align = "center" | -o | align = "center" | corr<s>er</s> | align = "center" | corro | align = "center"| Yo corro para hacer ejercicio. | align = "center"| I run to do excercise. |- | align = "center" | Tú | align = "center" | -es | align = "center" | escrib<s>ir</s> | align = "center" | escribes | align = "center"| Tú escribes una carta. | align = "center"| You write a card. |- | align = "center" |Él | align = "center" | -e | align = "center" | le<s>er</s> | align = "center" |lee | align = "center"|Él lee la carta. | align = "center"|He reads the card. |- | align = "center" |Ella | align = "center" | -e | align = "center" | viv<s>ir</s> | align = "center" |vive | align = "center"|Ella vive en Nueva York. | align = "center"|She lives in New York. |- | align = "center" |Nosotros | align = "center" | -imos / -emos | align = "center" | com<s>er</s> | align = "center" |comemos | align = "center"| Comemos juntos a la fiesta del Día de Independenia. | align = "center"| We eat together at the Independence Day party. |- | align = "center" |Nosotros | align = "center" | -imos / -emos | align = "center" | viv<s>ir</s> | align = "center" | vivimos | align = "center" | Nostoros vivimos en Mexico. | align = "center" | We live in Mexico. |- | align = "center" |Ellos | align = "center" | -en | align = "center" |deb<s>er</s> | align = "center" | deben | align = "center" | Ellos deben cocinar. | align = "center" | They should cook. |}<!--L4--> |}<!--L3-->{{center/end}} |}<!--L2--> |- | |- |<br> |- | {{center/top}} {| class="wikitable<!--L2--> |- |+<h2>Irregular Verb Patterns</h2> |<h2><u>Irregular Verb Type 1:</u>Changes in Yo Form </h2><br>Here, we will discuss a few common irregular verbs, and the changes that occur in their formation. <br>First, we will discuss verbs that are irregular in their 'Yo' form<br> ! {|class="wikitable" <!--L3--> | width: 20%|These verbs are irregular in their conjugation for "I" forms, but continue normal conjugations for all other tenses. <br> These can further be divided in two categories. <br>"Yo forms with <i>verb</i>-oy" and "Yo forms with <i>verb-go</i>" {{center/top}} {| class="wikitable"<!--L4--> |<i>Verb</i>-oy Ending |width: 20%| |width: 20%| |width: 20%| |width: 20%| |- |width: 20%| | | | | |- |width: 20%| Verb | width = 2%| |width: 20%|Yo |width: 20%|Tú |width: 20%|Él / Ella |- |width: 20%|Dar | width = 2%| |width: 20%|Yo doy |width: 20%|Tú das |width: 20%|Él da |- |width: 20%|Estar | width = 2%| |width: 20%|Yo estoy |width: 20%|Tú estas |width: 20%|Él esta |- | |}<!--L4-->{{center/end}} |}<!--L3--> {{center/top}} {| class="wikitable" <!--L3--> |width: 20%|<i>Verb</i>-go Ending |width: 2%| |width: 20%| |width: 20%| |width: 20%| |- | | | | | |- |Verb | |Yo |Tú |Él |- |decir | |Yo digo |Tú dices |Él dice |- |poner | |Yo pongo |Tú pones |Él pone |- |caer | |caigo |caes |cae |- |}<!--L3-->{{center/end}} |- |<h2><u>Irregular Verb Type 2:</u> Stem Changing - First Vowel Modification</h2> |- |In this form-change, the root of the verb includes an additional vowel, where the first vowel occurs in the word. <br> Unlike the previously discussed irregulars, all conjugations use this modification. ! {{center/top}} {|class="wikitable" border = 1<!--L3--> |- ! Stem Changing Verbs |- |width 20%| Verb |width: 2%| |width: 20%|Yo |width: 20%|Tú |width: 20%|Él |- | Jugar | | Yo juego | Tú juegas | Ella juega |- | Doler | | Yo Duelo | Tú dueles | Ella duele |- |Poder* | |Yo puedo |Tú puedes |Él pueda |}<!--L3-->{{center/end}} |- |<h2><u>Irregular Verb Type 3:</u> Full Verb Change</h2> |- |In this form-change, the root of the verb doesn't always appear like its infinitive form. ! {{center/top}} {|class="wikitable" border = 1<!--L3--> |- ! Full Verb Change |- |width 20%| Verb |width: 2%| |width: 20%|Yo |width: 20%|Tú |width: 20%|Él |width: 20%|Nosotros |width: 20%|Ellos |- | Ir | | Yo voy | Tú vas | Ella va | Nosotros vamos | Ellos van |- |- |Ser * | |Yo soy |Tú eres |Él es |Nosotros somos |Ellas son |}<!--L3-->{{center/end}} |}<!--L2-->{{center/end}} |}<!--L1-->{{center/end}} <div style="text-align: center;"> [[Elementary_Spanish/Unit1_Sec2|Go Back to Unit 1!]]</div> {{BookCat}} igrvlnoqfb6wly9tw1798d92rc11975 Elementary Spanish/Unit2.1 0 302355 4656943 4647481 2026-08-10T07:28:09Z ShakespeareFan00 46022 4656943 wikitext text/x-wiki <div style="text-align: center;"> [[Elementary_Spanish/Unit1_Sec3|Go Back!]] </div> <h1>Unit 2: Elementary Spanish</h1> <br> <hr> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 0 font-size="12pt"<!--L1--> ! <h3>In this Unit, we will continue to review the vocabulary associated with the theme of personal experience and pair and expand <br> in our new topic of family history.</h3><br> |- |<h2>Goals:</h2><br> Introduction to adjectives <br> Differences in the use between ser and estar <br> Intro to past tense. {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2> <br>Click Here for the Warm Up Activity</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L3--> ! |- | <div style="text-align: center;">Illustrations help us figure out unknown words. Illustrations can show complex emotions, descriptive words, objects, etc. This illustration shows the meaning of ______________ words. Locate in the illustration where the hints are.</div> * Insert Picture Here * <br> <br> <br> |}<!--L3--> |}<!--L2-->{{center/end}} {| class="wikitable" width ="75%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L2--> |<div style="text-align: center;">Next, review and use context clues to get a gist of the information in the featured story. [http://wikiotics.org/en/BeginningSpanish/StoryUnit2 <br><br> <i>Featured Story: La Historia de Mi Familia</i>]</div> |}<!--L2--> |}<!--L1--></div>{{center/end}} {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="95%" border = 0 font-size="12pt"<!--L1--> |+ <h2> Recognition and Modelling</h2> !<div style="text-align: center;">In this section, we will work to interpret the context of the story, and redirect this content into practical uses. <br>By analyzing information within the story, we will then try to dissect the information into smaller sections<br> to create our own Family History Story in Spanish. We will also start working with adjectives.</div> {| class="wikitable" width ="100%" border = 1 font-size="12pt" text-align="left"<!--L2--> |<div style="text-align: center;"><h2>Contextual Interpretation and Implementation Activities </h2></div> |- | <b> [http://wikiotics.org/en/BeginningSpanish/StoryUnit2 Activity 1]</b> For this activity, use the picture to figure out what the underlined word is while you are reading the story. |- | <b>Activity 2</b><br> Use the following template to creatively answer the following questions. This can be in a story, a non-fiction book, a diagram, etc.<br> {{center/top}} {| class = "wikitable" width = "80%"<!--L3--> |+Prompt Table |Name(s) |Country of Origin |Area of settlement in the United States | Date of Arrival | Arrival Details | Reason for coming to the US |- |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |- |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |- |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |height="10pt" | |}<!--L3-->{{center/end}} |}<!--L2--> <hr> <b> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2_Grammar1 Grammar Review]</b><br> In this review, we will introduce a few adjectives from the story (and elsewhere,) and describe their use. <br> We will also introduce the formation of regular past tense verbs. |}<!--L1--></div>{{center/end}} [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2.2 Go to the Next Section!] {{BookCat}} lx9fysf6qlumpkjwta2hc18azemwdlk Elementary Spanish/Unit2 Grammar1 0 302361 4656962 4646895 2026-08-10T08:02:00Z ShakespeareFan00 46022 4656962 wikitext text/x-wiki <br> <br> <br> <div font-size="14pt"> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2.1 Go Back to Unit Page!] <br> </div> <hr> <h1> Goals </h1> *Introduce Adjective / Adjective Grammar Principles *Compare the uses of ser and estar *Begin the past simple tense <br> <Br> <hr> {{center/top}} {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1--> |<h1>Introduction</h1> For this unit, we will begin working with adjectives. In the following activity, try to determine the matching sentences, <br> and identify and translate the adjectives. {{center/top}} {| class="wikitable collapsible" width ="100%"<!--L2--> ! <h1><div style="text-align: center;"> '''<u>Warm Up Activity</u>''' </div></h1> |- | {| class="wikitable" width ="100%" text align = "left" align = center<!--L3--> |+ !width ="35%"| Español !width ="10%"| !width ="35%"| Inglés |- | <b>A</b> La casa es pequeña. | | <b>1</b> You are short. |- |<b>B</b> Las chicas son muy intelegente. | |<b>2</b>The house is small. |- |<b>C</b> Tú eres bajo. | |<b>3</b> The girls are very smart. |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1-->{{center/end}} <hr> {| class="wikitable" width ="100%" border=0 align = center<!--L1--> |<h1><div style="text-align: center;">Part 1: Adjectives</div></h1><div style="text-align: center;">In Part 1 will learn about different kinds of adjectives and how they <br>are used with three main verbs: ser, estar, and tener. <br></div> {{center/top}} {| class="wikitable" width ="100%"<!--L2--> |- | {| class="wikitable" width ="100%" text align =center align = center<!--L3--> |+ ! {{center/top}} {| class ="wikitable" cellpadding="2" text-align = left font-size= 12<!--L4--> |- |[http://wikiotics.org/en/Adjectives Activity 1:] <br> In this activity, practice identify adjective meanings by selecting the correct picture for each sentence.<br> Later, we will pay closer attention to which verbs are used with which adjective type. |}<!--L4--> {{center/end}} {{center/top}}<!--L4--> {| class ="wikitable" border = 1 cellpadding="2" width ="75%" border = 1 |<br><br><b>Adjectives Used With Ser</b> |- |{{center/top}} {| class ="wikitable" border = 1 cellpadding="2" width ="65%"<!--L5--> |Adjectives used with ser are typically description words that are permanent in nature,<br> like someone's height and other physical attributes as well as <br> other states of being that are permanent. |+ width="250pt" | Adjectives used with Ser |- !width="200pt" | Spanish !width="100pt" | English !width="200pt" | Example |- |+ | |- | bajo / baja | short | Ella es baja. |- |alto / alta | tall | Yo soy alto |- | delgado / delgada | thin | La niña es delgada. |- | gorda / gorda | El niño es gordo. | The boy is fat. |- | amable | friendly | Las estudiantes son muy amables. |- | malo / mala | bad | El perro es muy malo. |- | bueno / buena | good | Mi amiga es muy buena. |- | viejo / vieja | old | Mi abuela es vieja |- | jóven | young | Los niños son muy jóven. |- |}<!--L5-->{{center/end}} |}<!--L4-->{{center/end}} {{center/top}} {| class ="wikitable" border = 1 cellpadding="2" width ="75%" border = 1<!--L4--> |<br><br> <b>Adjectives Used With Estar</b> |- |{{center/top}} {| class ="wikitable" border = 1 cellpadding="2" width ="65%"<!--L5--> |Adjectives used with estar describe temporary states, or changing states. <br> These are usually more commonly associated with mental states of being. |+ width="250pt" | Adjectives used with Estar |- !width="200pt" | Spanish !width="100pt" | English !width="200pt" | Example |- |+ | |- | alegre | happy | Ella es alegre. |- | triste | sad | Tú estas muy triste. |- | enojado / enojada | mad | Ellos están muy enojados. |- | ocupado / ocupada | busy | Los doctores están muy ocupados. |- | nervioso / nerviosa | nervous | Antes del concierto, el músico esta muy nerviosa. |- | relajado / relajada | relaxed | En vacaciones, siempre estoy relajada. |- | tranquilo / tranquila | calm | Los niños nunca están tranquilo durante recreo. |- | preocupado / preocupada | worried | La mama esta preocupada. |- | asustada / asustado | afraid | Los niños están asustados del payaso. |- | confundido / confundida | confused | Estamos confundidos con el prueba de matemáticas. |- | cansado / cansada | tired | El padre esta cansado depúes del trabajo. |- | enferma / enfermo | sick | La chica esta enferma. |- | estresada / estresado | stressed | El estudiante esta estresado. |- |}<!--L5-->{{center/end}} |}<!--L4-->{{center/end}} {{center/top}} {| class ="wikitable" border = 1 cellpadding="2" width ="75%" border = 1<!--L4--> |<br><br><b>Adjectives Used With Tener</b> |- |{{center/top}} {| class ="wikitable" border = 1 cellpadding="2" width ="65%"<!--L5--> |Adjectives used with tener typically describe temporary states that are associated with actions, or imply actions to be taken. |+ width="250pt" | Adjectives used with Tener |- !width="200pt" | Spanish !width="100pt" | English !width="200pt" | Example |- |+ | |- | sed | thirst | Yo tengo sed después de ejercicio. |- | hambre | hunger | Él tiene mucho hambre antes del almuerzo. |- | prisa | hurry | Tengo prisa para llegar a trabajo en tiempo. |- | verguenza | embarrassed | Tú tienes vergüenza. |- | cuidado | careful | Ella tiene cuidado cuando esta caminando tras la calle. |- | sueño / sueña | sleepy | El bebe tiene sueño. |- | miedo / mieda | fear | Ellos tienen miedo de la película. |}<!--L5-->{{center/end}} |}<!--L4-->{{center/end}} |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1--> </div> <hr> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2.1 Go Back to Unit Page!] </div> {{BookCat}} f3k5mpqxf6aiqj0cbq3g29h8dzvlvpv Elementary Spanish/Unit2.2 0 303133 4656963 4642958 2026-08-10T08:02:48Z ShakespeareFan00 46022 4656963 wikitext text/x-wiki <br> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2.1 Go Back!] </div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Guided Practice: Verb Conjugations - Past Tense</h2> !<br>In this section, we will discuss how regular verbs are conjugated in the past tense, based on their subject pronoun referent. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Guided Verb Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! width="50%"|<h3>Verb Practice</h3> |- |<b>Grammar Review: Adverbs</b> <br><hr> Before working on the Activites, review the information on Past Tense Grammar for a general overview on subject pronouns and their corresponding verb endings. |- | [http://wikiotics.org/en/Elementary_Spanish/Unit1-ConjugatedVerbPractice_Story2 <b> Activity 1</b>] <br> <hr> In this activity, you will see a sentence in either English or Spanish, using verbs found in the story. <br> Identify the correct option that matches the conjugation and subject pronoun for the prompted sentence. |- | [http://wikiotics.org/en/ElementarySpanish/Unit2Dialogue_story2 Dialogue: Vocab from Story]<br> In this dialogue, you'll hear a conversation between a father and son about a birthday party. <br> The dialogue uses many vocabulary items from the story we read in Section 2. Identify the nouns and verb conjugations. |} |}{{center/end}} |} [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2_Sec3 Go to the Next Section!] </div>{{center/end}} {{BookCat}} jm92ltq7eskkl43zf75l1g2p7mt1dxu Elementary Spanish/Unit2 GrammarPastTense 0 303134 4656923 4652402 2026-08-10T07:08:07Z ShakespeareFan00 46022 4656923 wikitext text/x-wiki <br> <br> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2.2 Go Back to Unit 2!] </div> <br> {| class="wikitable" width ="75%" border = 1 font-size="12pt" style="margin: auto;" |+<h2> Grammar</h2> <br><h2> Guided Practice: Verb Conjugations - Past Tense</h2> !Conjugations in the Past Tense occur in the same way as the present tense, but use different endings.<br> Here, we will begin making short phrases by combining subjects and verbs in a single word.<br> |} {| class="wikitable" width ="100%" ! <h1><div style="text-align: center;"> '''<h3>Past Tense Practice</h3>''' </div></h1> |- !align ="floatright" width = "60%" | The general formula for creating verb conjugations is to replace <br>the infinitive verb ending (-ar/-er/-ir) with the appropriate ending of the subject.<br> Although there are three verb-ending categories, -er and -ir verbs tend to share most of the conjugation endings.<br> |} ===<u>Conjugated Verbs: Past Tense</u>=== {| class="wikitable" width ="80%" border="0" style="margin:0 auto 0 auto;" ! width= "50%"| !width= "50%" | <h3><div style="text-align: center;"> '''<u>Subject - Verb Ending Conjugations</u>''' </div></h3> |- !text align = "left" font size = "14pt"| In Spanish, verbs are conjugated depending on the subject they are associated with, as well as the tense.<br> Now, we will transfer our knowledge about verb endings in relation to subject pronouns and relate it to new past tense endings.<br> Each subject pronoun is associated with a particular verb-ending type, that is different in the past tense. ! {| class ="wikitable" |border="1" |align = "center" |text-align = "center" |width = "70%" style="margin: auto;" |- !width="250pt" | Persona !width="250pt" | Verb ends in: |- !Español !Inglés |+ |- | align = "center" |Yo : I | align = "center" |-é / í |- | align = "center" |Tú : You | align = "center" |-aste / -iste |- | align = "center" |Él : He | align = "center" | -ó / ío |- | align = "center" |Ella: She | align = "center" |-o / -ío |- | align = "center" |Nosotros: We | align = "center" | -amos / -imos |- | align = "center" |Ellos / Ellas: They | align = "center" |-aron / -ieron |- |} {| class="wikitable" width ="100%" align="center" !width ="75%"|<h3><div style="text-align: center;"> '''<u>Regular Verbs: Past Tense</u>''' </div></h3> |- |These tables show how verbs change based on the subject pronouns used in the sentence. The ending of the verb is typically dropped, and the corresponding subject pronoun ending is added. |} |} <br> {| class="wikitable" width ="100%" border="0pt" align ="left" | {{center/top}} {| class="wikitable " width ="85%" ! width = "75%" |<h3> -Ar Verbs Table</h3> |- | width = "75%" align = "center" | '''-AR Verbs''' {| class ="wikitable" border=1 align = "center" |text-align = "center" |- !width="60pt" | '''Subject Pronoun''' !width="60pt" | '''Verb Ending''' !width="60pt" | '''Infinitive Verb''' !width="60pt" | '''Conjugated Verb''' !width="200pt"|'''Example - Spanish''' !width="200pt"|'''Example - Translation''' |- | align = "center" |Yo | align = "center" | -o | align = "center" | habl<s>ar</s> | align = "center" |habl''é''' | align = "center"| Ayer, hablé con mi mama. | align = "center"| Yesterday, I talked with my mother. |- | align = "center" |Tú | align = "center" | -aste | align = "center" | mir<s>ar</s> | align = "center" |mir'''aste''' | align = "center"|Anoche, miraste la película. | align = "center"|Last night, you watched the movie. |- | align = "center" |Él | align = "center" | -ó | align = "center" | record<s>ar</s> | align = "center" |record'''ó''' | align = "center"| Él recordó estudiar ayer. | align = "center"|He remembered to study yesterday. |- | align = "center" |Ella | align = "center" | -ó | align = "center" |compr<s>ar</s> | align = "center" |compr''ó''' | align = "center"|Ella compró harina del marcado ayer. | align = "center"|She bought flour from the store yesterday. |- | align = "center" | Nosotros | align = "center" | -amos | align = "center" | limpi<s>ar</s> | align = "center" | limpi'''amos''' | align = "center"| Limpiamos la cocina. | align = "center"| We clean the kitchen. |- | align = "center" |Ellos / Ellas | align = "center" | -aron | align = "center" | regres<s>ar</s> | align = "center" | regres'''aron''' | align = "center"| Ellos regresaron a las once anoche. | align = "center"| They returned at 11 last night. |} | {{center/top}} {| class="wikitable" width ="85%" ! width = "75%" | <h3> ER/IR Verbs Table</h3> |- | width = "75%" align = "center" | '''-ER / -IR Verbs''' {| class ="wikitable" |border="1" |align = "center" |text-align = "center" |- !width="60pt" | '''Subject Pronoun''' !width="60pt" | '''Verb Ending''' !width="60pt" | '''Infinitive Verb''' !width="60pt" | '''Conjugated Verb''' !width="140pt"|'''Example - Spanish''' !width="140pt"|'''Example - Translation''' |- | align = "center" |Yo | align = "center" | -é / í | align = "center" | conoc<s>er</s> | align = "center" | conocí | align = "center"| Yo conocí este ciudad cuando viví aquí, pero ahora no la recuerdo. | align = "center"| I knew this city when I lived here, but now I don't remember it. |- | align = "center" | Tú | align = "center" | -iste | align = "center" | ca<s>er</s> | align = "center" | caíste | align = "center"| Caíste de su bicicleta. | align = "center"| You fell from your bike. |- | align = "center" |Él | align = "center" | -ó / ío | align = "center" | viv<s>ir</s> | align = "center" |vivió | align = "center"|Él vivió en Buenos Aires por tres años. | align = "center"|He lived in Buenos Aires for three years. |- | align = "center" |Ella | align = "center" | -ó / ío | align = "center" | le<s>er</s> | align = "center" |leyo | align = "center"|Ella ya leyo este libro. | align = "center"|She already read this book. |- | align = "center" |Nosotros | align = "center" | -imos / -emos | align = "center" | com<s>er</s> | align = "center" |comemos | align = "center"| Comemos juntos a la fiesta del Día de Independenia. | align = "center"| We eat together at the Independence Day party. |- | align = "center" |Ellos | align = "center" | -ieron | align = "center" |com<s>er</s> | align = "center" | comieron | align = "center" | Ellos comieron pizza ayer. | align = "center" | They ate pizza yesterday. |} |} {{center/end}} |} {{center/end}} |- | |- |<br> |- | {| class="wikitable" style="margin:0 auto 0 auto;" |- |+<h2>Irregular Verb Patterns</h2> |<h2><u>Irregular Verb Type 1:</u>Stem Changes </h2><br>Here, we will discuss a few common irregular verbs, and the changes that occur in their formation. <br> First, we will discuss verbs that are irregular stem changing verbs<br> ! {|class="wikitable" | width: 20%|These verbs are irregular in their conjugation for all forms, although the "we" form typically stays the same.<br> The stem of the verbs change usually with added vowels in the root. <br> Verbs with an 'e' in the root typically change to 'ie' <br> Example: Tú: Tener = <s>tenes</s> = t<b>ie</b>nes {| class="wikitable" style="margin: auto;" |<i>Verb</i>-Stem Changing |width: 20%| |width: 20%| |width: 20%| |width: 20%| |- |width: 20%| | | | | |- |width: 20%| Verb | width = 2%| |width: 20%|Yo |width: 20%|Tú |width: 20%|Él / Ella |width: 20%| Nosotros |width: 20%| Ellos / Ellas |- |width: 20%|Tener | width = 2%| |width: 20%|Yo tuve |width: 20%|Tú tuviste |width: 20%|Él tuvo | Nosotros tuvimos | Ellos tuvieron |- |width: 20%|Estar | width = 2%| |width: 20%|Yo estuve |width: 20%|Tú estuviste |width: 20%|Él estuvo |Nosotros estuvimos |Ellos/ Ellas estuvieron |- | Decir | |Yo dije |Tú dijiste |Él dijo |Nosotros dijimos |Ellas dijeron |- |Poner | |Yo puse |Tú pusiste |Ella puso |Nosotros pusimos |Ellos pusieron |- |Poder | |Yo pude |Tú pudiste |Él pudo |Nosotros pudimos |Ellos pusieron |- |Querer | |Yo quise |Tú quisiste |Ella quiso |Nosotros quisimos |Ellos quisieron |- |venir | |Yo vine |Tu viniste |Él vino |Nosotros vinimos |Ellos vinieron |} |} |- |- |<h2><u>Irregular Verb Type 2: Dar</u> </h2> |- |Dar (to give), also changes distinctly from other <br> verb types, using -ir endings. <br> ! {|class="wikitable" border = 1 style="margin: auto;" |- ! |- |width 20%| Verb |width: 2%| |width: 20%|Yo |width: 20%|Tú |width: 20%|Él |Nosotros |Ellos / Ellas |- |Dar | | Yo di | Tú diste | Ella dio | Nosotros dimos | Ellos dieron |- |Ver | | Yo vi | Tú viste | Ella vio | Nosotros vimos | Ellos vieron |} |} |} <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2.2 Go Back to Unit 2!] </div> {{BookCat}} l7tmc6b63ze57euni1asm3kr0mb7wci Elementary Spanish/Unit2 Sec3 0 303146 4656951 4650531 2026-08-10T07:39:34Z ShakespeareFan00 46022 4656951 wikitext text/x-wiki <br> <div style="text-align: center;"> [[Elementary_Spanish/Unit2.2|Go Back!]] </div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Production</h2> !<br>In this section, we will provide activity prompts that draw on the grammatical concepts we have worked on throughout the unit. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Production Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! |- |Activity 1:<br> For this activity, use the prompt chart we creating in the first section of this unit. <br>Expand these smaller phrases into larger concepts to create a full length story about your family's history and their arrival to the U.S. Re-read the original story for reference. <br> <div style="text-align: center;"> <i> [http://wikiotics.org/en/BeginningSpanish/StoryUnit2 Featured Story: La Historia de Mi Familia]</i> </div> |- |Activity 2: Dialogue Creation <br> In this section, create a dialogue between two characters in your story, focusing on the use of the past tense. |- |} |}{{center/end}} |}</div>{{center/end}} [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit3.1 Go to Unit 3!] {{BookCat}} omvn4279twt3tas59gp0jiygz073awa Elementary Spanish/Unit3.1 0 303405 4656949 4648380 2026-08-10T07:38:01Z ShakespeareFan00 46022 4656949 wikitext text/x-wiki <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit2_Sec3 Go Back!]</div> =Unit 3: Elementary Spanish= {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 0 font-size="12pt"<!--L1--> ! In this Unit, we will focus on the themes of personal experience and family tradition.<br> |- |<h2>Goals</h2><br> Introduction to adverbs <br> <br> {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2> Click here for the Warm Up Activity</h2></div> |- |<div style="text-align: center;">In a previous lesson, we learned that illustrations give a plethora of information in fiction books. In non-fiction books, the picture can also give us hints about definition of words.<br>Using the pictures, please identify what kind of animal is underlined in the story. </div> |}<!--L2-->{{center/end}} |}<!--L1--> <br> <hr> {| class="wikitable" width ="75%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L1--> |- | Next, we'll read through the Featured Story for this lesson: <i>Los Animales de la Ciudad</i>. This is a nonfiction story about city animals. Try to practice information from previous lessons and determine the tense of the verbs within the story and identify nouns. <br> <div style="text-align: center;"><b><i> [http://wikiotics.org/en/Elementary_Spanish/Unit1-Story1 Featured Story: Los Animales de la Ciudad]</i></b></div> |}<!--L1--> </div>{{center/end}} {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="80%" border = 0 font-size="12pt"<!--L1--> |+ <h2> Recognition and Modelling</h2> !In this section, we'll begin a more focused practice on the use of adverbs. Adverbs, or verb descriptors, typically follow a uniform formula for creating -ly adverbs based on the root.<br> <hr> Generally, to create -ly adjectives, you take the root word followed by -mente. For example:<br> {{center/top}} {| class="wikitable" width ="55%" border = 0 font-size="12pt"<!--L2--> !width "20pt"|Adjective: !width"20pt" |Adverb: ! width 40pt| Example: |- |width "20pt" |silenciosa [quiet] <br> |width "20pt" |silenciosamente [quietly]<br> | El hombre camina silenciosamente en la biblioteca. |- |width "20pt"|rapido [quick] <br> |width "20pt"|rapidamente [quickly]<br> | La profesora habla rapidamente. |}<!--L2-->{{center/end}} <hr> {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2>Adverb Activities</h2></div> |- |[http://wikiotics.org/en/Adverbs Activity 1] <br>To get more familiarity with adverbs, use these flash cards. <br> <hr> <hr> Activity 2 <br> Make a list of the adverbs in Activity 1 and use them to create original sentences of your own. |}<!--L2-->{{center/end}} |}<!--L1--></div>{{center/end}} <div style="text-align: center;"> [[Elementary_Spanish/Unit3_Sec2|Go to the Next Section!]]</div> {{BookCat}} ljcxsht9jb72stovpcdncxp39w9h48c Elementary Spanish/Unit3 Sec2 0 303493 4656966 4647027 2026-08-10T08:05:15Z ShakespeareFan00 46022 4656966 wikitext text/x-wiki <br> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit3.1 Go Back!] </div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Guided Practice: Adverbs</h2> !<br>In this section, we will continue to practice adverb formation and recognition. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Guided AdVerb Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! width="50%"|<h3>Adverb Practice</h3> |- | [http://wikiotics.org/en/AdverbVerbMatching Activity 1] <br> <hr> In this activity, you will be prompted with stems from sentences of the story. Choose the correct ending for each sentence, by paying attention to which verb and adverb match best together. |- | [http://wikiotics.org/en/Adverbs_PastTense Activity 2] <br> Use this activity to practice distinguishing between different tenses and to use the adverbs referenced throughout the unit. |- | [http://wikiotics.org/en/Dialogue3.2 Dialogue: Listening for Adverbs]<br> In this dialogue, you'll hear a conversation between a mother and daughter about weekend plans. <br> Identify the verbs and their corresponding adverbs. |} |}{{center/end}} |}</div>{{center/end}} [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit3_Sec3 Go to the Next Section!] {{BookCat}} osa3k6w03gi5avq9nmwp0mumbv5m942 Elementary Spanish/Unit3 Sec3 0 303494 4656964 4643007 2026-08-10T08:03:42Z ShakespeareFan00 46022 4656964 wikitext text/x-wiki <br> <br> <div style="text-align: center;"> [[Elementary_Spanish/Unit3_Sec2|Go Back!]] </div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt"<!--L1--> |+ <h2> Production</h2> !<br>In this section, we will provide activity prompts that draw on the adverbial grammatical concepts. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2>Production Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L3--> ! |- |Activity 1:<br> For this activity, use the adjective given and make a list of corresponding adverbs. {{center/top}} {|class = "wikitable" width =" 55%" border =1<!--L4--> ! |- |width ="30pt" |paciente |width ="30pt" | |- |width ="30pt" |inteligente |width ="30pt" | |- |width ="30pt" |lenta |width ="30pt" | |- |width ="30pt" |rapido |width ="30pt" | |- |width ="30pt" |activo |width ="30pt" | |- |width ="30pt" |automático |width ="30pt" | |- |width ="30pt" |fuerte |width ="30pt" | |- |width ="30pt" |triste |width ="30pt" | |- |width ="30pt" |silencio |width ="30pt" | |- |width ="30pt" |sigilo |width ="30pt" | |- |width ="30pt" |feroz |width ="30pt" | |}<!--L4--> {{center/end}} <br> <div style="text-align: center;"> </div> |- |Activity 2: Story Creation <br> In this section, create your own book on animals in Spanish. <br>Make sure to include some adverbs to make your writing more interesting. <br> Read the featured story again to get ideas.<br><br> <div style="text-align: center;"> <b><i> [http://wikiotics.org/en/Elementary_Spanish/Unit1-Story1 Featured Story: Los Animales de la Ciudad]</i></b> </div> |- |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1--></div>{{center/end}} <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit4.1 Go to Unit 4!]</div> {{BookCat}} mr53bc45u2je3e5zaveeoewwi9t39l1 Elementary Spanish/Unit4 Sec2 0 303691 4656956 4642514 2026-08-10T07:48:13Z ShakespeareFan00 46022 4656956 wikitext text/x-wiki <br> <div style="text-align: center;">[https://en.wikibooks.org/wiki/Elementary_Spanish/Unit4.1 Go Back!]</div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt"<!--L1--> |+ <h2> Guided Practice: Adverbs Continued</h2> !<br>In this section, we will continue to work with adverbs and identity their different types. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2>Adverb Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt"<!--L3--> ! width="50%"|<h3>Adverb Practice</h3> |- | [http://wikiotics.org/en/Adverbs_Part2 Activity 1] <br> <hr> In this activity, you will be prompted with stems from sentences of the story. Choose the correct ending for each sentence, by paying attention to which verb and adverb match best together. |- | [[Elementary Spanish/Unit4 Grammar4Adverbs|Grammar Review: Part 4]] <br> Review this section for a more detailed explanation about adverbs and their different categories. |- | [http://wikiotics.org/en/ElementarySpanish/Dialogue4.2 Dialogue: Listening for Adverbs]<br> In this dialogue, you'll hear a conversation between a mother and a father discussing the actions of their son. <br> Listen for adverbs and the introduction to future tense using 'voy a' - 'going to' |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1--></div>{{center/end}} <div style="text-align: center;">[https://en.wikibooks.org/wiki/Elementary_Spanish/Unit4_Sec3 Go to the Next Section!]</div> {{BookCat}} iiyk2l47s5vbm9nb7spq109izkjy5tj Elementary Spanish/Unit5.1 0 303749 4656965 4645065 2026-08-10T08:04:37Z ShakespeareFan00 46022 4656965 wikitext text/x-wiki <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit4_Sec3 Go Back!] </div> <h1>Unit 5: Elementary Spanish</h1> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="85%" border = 0 font-size="12pt"<!--L1--> |In this unit we will explore the future tense. There are two ways to use the future tense, which are completely interchangeable. If you are new to Spanish, it will be easier to produce sentences using “informal future.” <br><br>When using “informal future” the second verb stays in its infinitive form. “Ir” is conjugated to match the subject of the sentence and is used the same way “going to” is used in English. For example, I AM GOING TO RUN turns into YO VOY A CORRER. If you are not a beginner, conjugating the verb to include “going to” within the word, can be very rewarding. Don’t be afraid to try it out!<br> |- |<h2>Goals</h2><br> Introduction to future tense<br> {{center/top}} {| class="wikitable collapsible" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2> Click here for the Warm Up Activity</h2></div> |- |<div style="text-align: center;">Warm up: </div> |}<!--L2-->{{center/end}} |}<!--L1--></div>{{center/end}} <br> <hr> {| class="wikitable" width ="75%" text align = "left" align = "t" cellpadding="2pt" font-size="12pt"<!--L1--> |- | Next, we'll read through the Featured Story for this lesson: <i>El Presidente de la Clase</i>. In this story, students describe why they want to be class president. <br> <div style="text-align: center;"> [http://wikiotics.org/en/BeginningSpanish/StoryUnit5 El presidente de la Clase] (Informal conjugation) [http://wikiotics.org/es/BeginningSpanish/StoryUnit5a El presidente de la Clase] (Formal conjugation) </div> |}<!--L1--> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="80%" border = 0 font-size="12pt"<!--L1--> |+ <h2> Recognition and Modelling</h2> !In this section, we'll learn more about the future tense formation with <i>ir</i> + a + verb, and practice these methods with vocab from the story. <hr> {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt"<!--L2--> ! <div style="text-align: center;"><h2>Future Tense Activities</h2></div> |- | Activity 1:<hr> Go through the stories to try to compare the differences between informal future and formal future. Identify the subject for each verb conjugation. |- | [http://wikiotics.org/en/Future_Voy_a Activity 2] <hr> This activity practices different verbs used in the story and presents them in the informal future form. |- | [http://wikiotics.org/en/Future_FormalPractice Activity 3] <hr> This activity practices the formal future, using the same pictures found in the last activity. Notice the difference here between informal and formal. |}<!--L2-->{{center/end}} |}<!--L1--></div>{{center/end}} [[Elementary_Spanish/Unit5_Sec2|Go to the Next Section!]] {{BookCat}} mcgbwcewyp5sptv0tb2ietf6f3m1x5c Elementary Spanish/Unit5 Sec2 0 303750 4656926 4653991 2026-08-10T07:10:09Z ShakespeareFan00 46022 4656926 wikitext text/x-wiki <br> <div style="text-align: center;"> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit5.1 Go Back!] </div> {{center/top}} <div style="font-size:12pt"> {| class="wikitable" width ="75%" border = 1 font-size="12pt" |+ <h2> Guided Practice: Informal Future Tense</h2> !<br>In this section, we will begin to create and identify more sentences that use the future tense. {{center/top}} {| class="wikitable" width ="100%" border = 1 font-size="12pt" ! <div style="text-align: center;"><h2>Future Tense Activities</h2></div> |- | {| class="wikitable" width = "100%" border = 1 font-size="12pt" ! width="50%"|<h3>Future Tense Practice</h3> |- | [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit5_Grammar_InformalFuture Grammar Review 5] <br> <hr> For some quick examples of the informal future, and a short breakdown of the structural components, go to this grammar review. |- | [http://wikiotics.org/en/ElementarySpanish/Unit5.2_InformalFuture Activity 1] <br> Here, try to correctly identify the sentence for the informal future example. |- | [http://wikiotics.org/en/ElementarySpanish/Unit5.2_FormalFuture Activity 2] <br> Now, try to relate the informal future and formal future to one another. Match the sentences that have the same meaning. |- | [http://wikiotics.org/en/ElementarySpanish/Dialogue5.2 Dialogue: Listening for Future Tense]<br> In this dialogue, you'll hear a conversation between a mother and her son. They are discussing a birthday party for her other son. |} |} {{center/end}} |} <br> [https://en.wikibooks.org/wiki/Elementary_Spanish/Unit5_Sec3 Go to the Next Section!] </div> {{center/end}} {{BookCat}} jc9boizy57r20ch6aa2ilfv4dnte1zm Elementary Spanish/Unit5 Grammar InformalFuture 0 303856 4656925 4652502 2026-08-10T07:09:29Z ShakespeareFan00 46022 4656925 wikitext text/x-wiki <br> <br> <div style="text-align: center;"> [[Elementary Spanish/Unit5 Sec2|Go Back to Unit 5!]] </div> {{center/top}} {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1--> |+<h2> Grammar</h2> <br><h2>Guided Practice: Informal Future Explained</h2> |In this section we will discuss the structure of informal future. <br> In English, informal future is constructed with "___going to + verb" <br> In Spanish, this is nearly identical in grammatical makeup with "___ir a + verbo"<br> |}<!--L1--> {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1--> |+{{center|<h2>Grammar<br>Guided Practice: Formal Future Explained</h2>}} | Here, we will learn about the formations for formal future. <br>Formal future uses the conjugation method that integrates the subject with the verb, these are different <br> depending on whether the verb ends in -ir, -er, or -ar. <br> To form the future tense, you keep the entire form of the infinitive verb, and add an ending for the appropriate subject. See the following charts for examples. <center> {| class = "wikitable" width="85%" border=1 align= "center"<!--L2--> | -AR Verbs {| class="wikitable" width = "50%" align = "left"<!--L3--> |- | Yo caminar'''é''' |- |Tú caminar'''as''' |- |Él caminar'''á''' |- |Nosotros caminar'''emos''' |- |Ellos caminar'''án''' |}<!--L3--> | -ER / -IR Verbs {| class="wikitable" width = "50%" align = "left"<!--L3--> |- | Yo comer'''é''' |- | Tú comer'''ás>''' |- |Él / Ella comer'''á''' |- |Nosotros comer'''amos''' |- |Ellos comer'''án''' |}<!--L3--> |}<!--L2--></center> |}<!--L1--> <br> {|class= wikitable width="100%" border = 1 |- |+<h2> Going to Vs. Will Go Examples</h2> |- | |- |{|class="wikitable" border = 1 style="margin: auto;" |- ! |- |width: 2%|Spanish - "going to ..." |width: 20%|English |width: 20%|Spanish - "will ..." |- | Él va a ir al mercado. | He is going to go to the store. | Él irá al mercado. |- | Ella va a cocinar la cena. | She is going to cook the dinner. | Ella cocinará la cena. |- | Yo voy a hablar con mi amigo. | I'm going to talk with my friend. | Yo hablaré con mi amigo. |- | Tú vas a leer este libro. | You're going to read this book. | Tú leerás este libro. |- | Nosotros vamos an escuchar al radio. | We're going to listen to the radio. | Nosotros escucharemos al radio. |- | Ellos van a mirar una película. | They're going to watch a movie. | Ellos mirarán una película. |} |} {{center/end}} {{BookCat}} 1ikgs981epytucyoois1hapnphvdpbh 4656927 4656925 2026-08-10T07:10:49Z ShakespeareFan00 46022 4656927 wikitext text/x-wiki <br> <br> <div style="text-align: center;"> [[Elementary Spanish/Unit5 Sec2|Go Back to Unit 5!]] </div> {{center/top}} {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1--> |+<h2> Grammar</h2> <br><h2>Guided Practice: Informal Future Explained</h2> |In this section we will discuss the structure of informal future. <br> In English, informal future is constructed with "___going to + verb" <br> In Spanish, this is nearly identical in grammatical makeup with "___ir a + verbo"<br> |}<!--L1--> {| class="wikitable" width ="100%" border="0pt" align ="left"<!--L1--> |+{{center|<h2>Grammar<br>Guided Practice: Formal Future Explained</h2>}} | Here, we will learn about the formations for formal future. <br>Formal future uses the conjugation method that integrates the subject with the verb, these are different <br> depending on whether the verb ends in -ir, -er, or -ar. <br> To form the future tense, you keep the entire form of the infinitive verb, and add an ending for the appropriate subject. See the following charts for examples. {{center/top}} {| class = "wikitable" width="85%" border=1 align= "center"<!--L2--> | -AR Verbs {| class="wikitable" width = "50%" align = "left"<!--L3--> |- | Yo caminar'''é''' |- |Tú caminar'''as''' |- |Él caminar'''á''' |- |Nosotros caminar'''emos''' |- |Ellos caminar'''án''' |}<!--L3--> | -ER / -IR Verbs {| class="wikitable" width = "50%" align = "left"<!--L3--> |- | Yo comer'''é''' |- | Tú comer'''ás>''' |- |Él / Ella comer'''á''' |- |Nosotros comer'''amos''' |- |Ellos comer'''án''' |}<!--L3--> |}<!--L2-->{{center/end}} |}<!--L1--> <br> {|class= wikitable width="100%" border = 1 |- |+<h2> Going to Vs. Will Go Examples</h2> |- | |- |{|class="wikitable" border = 1 style="margin: auto;" |- ! |- |width: 2%|Spanish - "going to ..." |width: 20%|English |width: 20%|Spanish - "will ..." |- | Él va a ir al mercado. | He is going to go to the store. | Él irá al mercado. |- | Ella va a cocinar la cena. | She is going to cook the dinner. | Ella cocinará la cena. |- | Yo voy a hablar con mi amigo. | I'm going to talk with my friend. | Yo hablaré con mi amigo. |- | Tú vas a leer este libro. | You're going to read this book. | Tú leerás este libro. |- | Nosotros vamos an escuchar al radio. | We're going to listen to the radio. | Nosotros escucharemos al radio. |- | Ellos van a mirar una película. | They're going to watch a movie. | Ellos mirarán una película. |} |} {{center/end}} {{BookCat}} 2ftbr0m1ofylmm0nnrpcrx81wzpszyg World Stamp Catalogue/Soviet Union/1938 0 304758 4656895 4649456 2026-08-10T06:39:37Z ShakespeareFan00 46022 4656895 wikitext text/x-wiki {center/top}} [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" {{ts|mc}} | [[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|1937]] [[:World Stamp Catalogue/Soviet Union/1938|'''<big>1938</big>''']] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} {center/end}} <div style="text-align: center;">CPA # 580-652 (73 stamps, 13 series)</div> '''Here complete descriptions of 1938 USSR stamps are given.'''<br /> '''Здесь приведены полные описания почтовых марок СССР 1938 года.''' * All available images of 1938 USSR stamps are on the Wikimedia Commons:<br /> * Все имеющиеся изображения почтовых марок СССР 1938 года находятся на Викискладе:<br /> *[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Category:1938 all stamps of the Soviet Union|1938 all stamps of the Soviet Union]] :* You can also see standard images of 1938 USSR stamps on Wikimedia commons:<br /> :* Типовые изображения почтовых марок СССР 1938 года можно также посмотреть на Викискладе:<br /> :*[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Каталог ЦФА (1-1000)|Каталог ЦФА (1-1000)]]<br> Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска!<br /> The names of stamps and stamp series are made according to all used 7 catalogues.<br /> Названия марок и серий марок составлены по всем используемым 7 каталогам.<br /> The descriptions of stamps are made according to all used 7 catalogues and other specified sources.<br /> Описания марок составлены по всем используемым 7 каталогам и другим указанным источникам.<br /> == 9 CPA ##613-624 (12) Tourism. Views of Crimea and Caucasus == Full design (Полное оформление).<br /> [[#9 1938.09.21 (Crimea and Caucasus)|See also short descriptions (см. также краткие описания)]] {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="center" colspan="3"|'''[[w:Tourism|Tourism]]<ref name="Zagor" /><ref name="Yvert" />. Views of [[w:Crimea|Crimea]] and [[w:Caucasus|Caucasus]].''' 1938.09.21. One stamp with view of [[w:Caucasus|Caucasus]] (CPA 615) and seven stamps with views of [[w:Crimea|Crimea]]. Designer: S.&nbsp;A.&nbsp;Pomansky. Type: [[w:Commemorative stamp|commemorative]].<br />Perforation: line 12¼. Paper: thin (0.05-0.06&nbsp;mm)<ref name="Liapine" />. Print: photogravure. Size: 49&nbsp;x&nbsp;29&nbsp;mm (45&nbsp;x&nbsp;24.5&nbsp;mm)<ref name="Natural" /> (CPA 616, 618, 620, 622 vert. ~). Sheet: 70 (5&nbsp;x&nbsp;14) (CPA 616, 618, 620, 622 vert. ~) Text, colour, face value and quantities: see the stamps<br /> '''[[w:ru:Туризм|Туризм]]. Виды [[w:ru:Крым|Крыма]] и [[w:ru:Кавказ|Кавказа]].''' Одна марка с видом [[w:ru:Кавказ|Кавказа]] (CPA 615) и семь марок с видами [[w:ru:Крым|Крыма]]. Худ. С.&nbsp;А.&nbsp;Поманский. [[w:ru:Коммеморативная марка|Коммеморативные]] |- bgcolor="#FFF0E1" | colspan="3"|Variants of paper and colour / Варианты бумаги и цвета |- bgcolor="#FFFFE0" | align="center"| '''1938.09.21''' | align="left" colspan="2"|Numbers: [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] 526-537; Liapine&nbsp;582-593 [[w:Scott catalogue|Scott]] 666-677; [[w:Michel catalog|Michel]] 625-636; [[w:Stanley Gibbons catalogue|SG]] 798-809; [[w:Yvert et Tellier|Yvert]] 658-669. Codes: Scott 269, 272 (2); Michel ia-im (12), SG 235 (1) |- bgcolor="#E0FFE0" align="center" | #1938.34-9.1<br>[[Image:1938 CPA 613.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. View of the [[w:Black Sea|Black See]] along shore.''' The [[w:Pinus halepensis|Aleppo Pines]] (Pinus halepensis [[w:Philip Miller|Philip Miller]] (Mill.), 1768)<ref name="Michel" /><ref name="Chistov" />. Text: "КРЫМ". Colour: black (shades). Face value: 5k. Quantities: 2,000,000 copies.<br />'''[[w:ru:Крым|Крым]]. Вид на [[w:ru:Чёрное море|Черное море]] вдоль берега.''' [[w:ru:Сосна алеппская|Сосны алеппские]] (Pinus halepensis [[w:ru:Миллер, Филип|Philip Miller]], 1768). Черная (оттенки) |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;613'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;526 Liapine&nbsp;582 [[w:Scott catalogue|Scott]]&nbsp;667 (A269) [[w:Michel catalog|Michel]]&nbsp;625 (ia) [[w:Stanley Gibbons catalogue|SG]]&nbsp;798 (235) [[w:Yvert et Tellier|Yvert]]&nbsp;658 |- bgcolor="#E0FFE0" align="center" | #1938.35-9.2<br>[[Image:1938 CPA 614.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. [[w:Yalta|Yalta]]: the city, the harbor and the bay.''' Text: "ЯЛТА". Colour: brown (shades). Face value: 5k. Quantities: 2,000,000 copies.<br />'''[[w:ru:Крым|Крым]]. [[w:ru:Ялта|Ялта]]: город, гавань и залив.''' Коричневая (оттенки) |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;614'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;527 Liapine&nbsp;583 [[w:Scott catalogue|Scott]]&nbsp;666 (A269) [[w:Michel catalog|Michel]]&nbsp;626 (ib) [[w:Stanley Gibbons catalogue|SG]]&nbsp;799 [[w:Yvert et Tellier|Yvert]]&nbsp;659 |- bgcolor="#E0FFE0" align="center" | #1938.36-9.3<br>[[Image:1938 CPA 615.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Caucasus|Caucasus]]. [[w:Georgian Military Road|Georgian Military Road]]. [[w:Darial Gorge|Darial Gorge]]<ref name="Natural" /> (see also CPA 1972)''' Text: "КАВКАЗ ВОЕННО-ГРУЗИН.ДОРОГА.". Colour: green. Face value: 10k. Quantities: 1,600,000 copies.<br />'''[[w:ru:Кавказ|Кавказ]]. [[w:ru:Военно-Грузинская дорога|Военно-Грузинская дорога]]. [[w:ru:Дарьяльское ущелье|Дарьяльское ущелье]] (см. также CPA 1972)''' Зеленая |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;615'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;528 Liapine&nbsp;584 [[w:Scott catalogue|Scott]]&nbsp;668 (A269) [[w:Michel catalog|Michel]]&nbsp;627 (ic) [[w:Stanley Gibbons catalogue|SG]]&nbsp;800 [[w:Yvert et Tellier|Yvert]]&nbsp;660 |- bgcolor="#E0FFE0" align="center" | #1938.37-9.4<br>[[Image:1938 CPA 616.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. Sunrise or sunset<ref name="Yvert" /> on the [[w:Black Sea|Black See]].''' The [[w:Chamaecyparis pisifera|Sawara Cypress]] (Chamaecyparis pisifera ([[w:Philipp Franz von Siebold|Siebold]] & [[w:Joseph Gerhard Zuccarini|Zucc.]]) [[w:Stephan Endlicher|Endl.]], 1847)<ref name="Chistov" /> <small>(there are incorrect data<ref name="Michel" />)</small>. Text: "КРЫМ". Colour: gray-brown. Face value: 10k. Quantities: 1,600,000 copies.<br />'''[[w:ru:Крым|Крым]]. Восход или закат на [[w:ru:Чёрное море|Черном море]].''' [[w:ru:Кипарисовик горохоплодный|Кипарисовик горохоплодный]] (Chamaecyparis pisifera ([[w:ru:Зибольд, Филипп Франц фон|Siebold]] & [[w:ru:Цуккарини, Йозеф Герхард|Zucc.]]) [[w:ru:Эндлихер, Штефан Ладислаус|Endl.]], 1847). Серо-коричневая |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;616'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;529 Liapine&nbsp;585 [[w:Scott catalogue|Scott]]&nbsp;669 (A272) [[w:Michel catalog|Michel]]&nbsp;628 (id) [[w:Stanley Gibbons catalogue|SG]]&nbsp;801 [[w:Yvert et Tellier|Yvert]]&nbsp;661 |- bgcolor="#E0FFE0" align="center" | #1938.38-9.5<br>[[Image:1938 CPA 617.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. A shore near [[w:Yalta|Yalta]].''' A branch of a pine (Pinus sp. [[w:Carl Linnaeus|Carl Linnaeus]] (L.), 1753)<ref name="Chistov" />. Text: "ЯЛТА". Colour: brown-black. Face value: 15k. Quantities: 2,100,000 copies.<br />'''[[w:ru:Крым|Крым]]. Берег около [[w:ru:Ялта|Ялты]].''' Ветка сосны (Pinus sp. [[w:ru:Линней, Карл|Carl Linnaeus]] (L.), 1753). Коричнево-черная |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;617'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;530 Liapine&nbsp;586 [[w:Scott catalogue|Scott]]&nbsp;670 (A269) [[w:Michel catalog|Michel]]&nbsp;629 (ie) [[w:Stanley Gibbons catalogue|SG]]&nbsp;803 [[w:Yvert et Tellier|Yvert]]&nbsp;663 |- bgcolor="#E0FFE0" align="center" | #1938.39-9.6<br>[[Image:1938 CPA 618.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. The cape of Ai-Todor. [[w:Swallow's Nest|"Swallows’ Nest" Castle]].''' Text: "КРЫМ - ЛАСТОЧКИНО ГНЕЗДО". Colour: brown-black. Face value: 15k. Quantities: 4,100,000 copies.<br />'''[[w:ru:Крым|Крым]]. [[w:ru:Ай-Тодор|Мыс Ай-Тодор]]. [[w:ru:Ласточкино гнездо (Крым)|"Ласточкино гнездо"]].''' Коричнево-черная |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;618'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;531 Liapine&nbsp;587 [[w:Scott catalogue|Scott]]&nbsp;671 (A272) [[w:Michel catalog|Michel]]&nbsp;630 (if) [[w:Stanley Gibbons catalogue|SG]]&nbsp;802 [[w:Yvert et Tellier|Yvert]]&nbsp;662 |- bgcolor="#E0FFE0" align="center" | #1938.40-9.7<br>[[Image:1938 CPA 619.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. [[w:Koreiz|Koreiz]]. [[w:Felix Dzerzhinsky|Dzerzhinsky]] Rest House for workers ([[w:Yusupov Palace (Crimea)|Yusupov Palace]]).''' Text: "КРЫМ Д.О.им. ДЗЕРЖИНСКОГО.".Colour: black-brown (shades). Face value: 20k. Quantities: 4,100,000 copies.<br />'''[[w:ru:Крым|Крым]]. [[w:ru:Кореиз|Кореиз]]. Дом отдыха им. [[w:ru:Дзержинский, Феликс Эдмундович|Ф.&nbsp;Э.&nbsp;Дзержинского]] ([[w:ru:Юсуповский дворец (Крым)|Юсуповский дворец]]).''' Черно-коричневая (оттенки) |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;619'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;532 Liapine&nbsp;588 [[w:Scott catalogue|Scott]]&nbsp;672 (A269) [[w:Michel catalog|Michel]]&nbsp;631 (ig) [[w:Stanley Gibbons catalogue|SG]]&nbsp;804 [[w:Yvert et Tellier|Yvert]]&nbsp;664 |- bgcolor="#E0FFE0" align="center" | #1938.41-9.8<br>[[Image:1938 CPA 620.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. Sunset<ref name="Scott" /> on the [[w:Black Sea|Black See]].''' The [[w:Pinus halepensis|Aleppo Pine]] (Pinus halepensis [[w:Philip Miller|Philip Miller]], 1768)<ref name="Michel" />. Text: "КРЫМ". Colour: black (shades). Face value: 30k. Quantities: 1,400,000 copies.<br />'''[[w:ru:Крым|Крым]]. Закат на [[w:ru:Чёрное море|Черном море]].''' [[w:ru:Сосна алеппская|Сосна алеппская]] (Pinus halepensis [[w:ru:Миллер, Филип|Philip Miller]], 1768). Черная (оттенки) |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;620'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;533 Liapine&nbsp;589 [[w:Scott catalogue|Scott]]&nbsp;673 (A272) [[w:Michel catalog|Michel]]&nbsp;632 (ih) [[w:Stanley Gibbons catalogue|SG]]&nbsp;805 [[w:Yvert et Tellier|Yvert]]&nbsp;665 |- bgcolor="#E0FFE0" align="center" | #1938.42-9.9<br>[[Image:1938 CPA 621.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. [[w:Alupka|Alupka]]. Alupka's park.''' [[w:Cupressus|Cypresses]] (Cupressus sp. [[w:Carl Linnaeus|Carl Linnaeus]] (L.), 1753)<ref name="Chistov" />. Text: "АЛУПКА". Colour: brown. Face value: 40k. Quantities: 1,000,000 copies.<br />'''[[w:ru:Крым|Крым]]. [[w:ru:Алупка|Алупка]]. [[w:ru:Алупкинский парк|Алупкинский (Воронцовский) парк]].''' [[w:ru:Кипарис|Кипарисы]] (Cupressus sp. [[w:ru:Линней, Карл|Carl Linnaeus]] (L.), 1753). Коричневая |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;621'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;534 Liapine&nbsp;590 [[w:Scott catalogue|Scott]]&nbsp;674 (A269) [[w:Michel catalog|Michel]]&nbsp;633 (ii) [[w:Stanley Gibbons catalogue|SG]]&nbsp;806 [[w:Yvert et Tellier|Yvert]]&nbsp;666 |- bgcolor="#E0FFE0" align="center" | #1938.43-9.10<br>[[Image:1938 CPA 622.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. [[w:Gurzuf|Gurzuf]]. Gurzuf's park<ref name="Yvert" />.''' [[w:Cupressus|Cypress]] (Cupressus sp. [[w:Carl Linnaeus|Carl Linnaeus]] (L.), 1753)<ref name="Chistov" />. Text: "ГУРЗУФ". Colour: green. Face value: 50k. Quantities: 1,000,000 copies.<br />'''[[w:ru:Крым|Крым]]. [[w:ru:Гурзуф|Гурзуф]]. [[w:ru:Гурзуфский парк|Гурзуфский парк]].''' [[w:ru:Кипарис|Кипарис]] (Cupressus sp. [[w:ru:Линней, Карл|Carl Linnaeus]] (L.), 1753). Зеленая |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;622'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;535 Liapine&nbsp;591 [[w:Scott catalogue|Scott]]&nbsp;675 (A272) [[w:Michel catalog|Michel]]&nbsp;634 (ik) [[w:Stanley Gibbons catalogue|SG]]&nbsp;807 [[w:Yvert et Tellier|Yvert]]&nbsp;667 |- bgcolor="#E0FFE0" align="center" | #1938.44-9.11<br>[[Image:1938 CPA 623.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. [[w:Gurzuf|Gurzuf]]. [[w:Artek (camp)|Artek]]. The park of cypresses<ref name="Yvert" /><ref name="Michel" /><ref name="Scott" />.''' View of the [[w:Black Sea|Black See]]. The [[w:Chamaecyparis pisifera|Sawara Cypress]] (Chamaecyparis pisifera ([[w:Philipp Franz von Siebold|Siebold]] & [[w:Joseph Gerhard Zuccarini|Zucc.]]) [[w:Stephan Endlicher|Endl.]], 1847)<ref name="Chistov" /> <small>(there are incorrect data<ref name="Michel" />)</small>. Text: "КРЫМ". Colour: brown (shades). Face value: 80k. Quantities: 820,000 copies.<br />'''[[w:ru:Крым|Крым]]. [[w:ru:Гурзуф|Гурзуф]]. [[w:ru:Артек|Артек]]. [[w:ru:Кипарисный парк|Кипарисный парк]].''' Вид на [[w:ru:Чёрное море|Черное море]]. [[w:ru:Кипарисовик горохоплодный|Кипарисовик горохоплодный]] (Chamaecyparis pisifera ([[w:ru:Зибольд, Филипп Франц фон|Siebold]] & [[w:ru:Цуккарини, Йозеф Герхард|Zucc.]]) [[w:ru:Эндлихер, Штефан Ладислаус|Endl.]], 1847). Коричневая (оттенки) |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;623'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;536 Liapine&nbsp;592 [[w:Scott catalogue|Scott]]&nbsp;676 (A269) [[w:Michel catalog|Michel]]&nbsp;635 (il) [[w:Stanley Gibbons catalogue|SG]]&nbsp;808 [[w:Yvert et Tellier|Yvert]]&nbsp;668 |- bgcolor="#E0FFE0" align="center" | #1938.45-9.12<br>[[Image:1938 CPA 624.jpg|150x150px]] | bgcolor="#FFFFF8" align="left"|'''[[w:Crimea|Crimea]]. The Cape of Ai-Todor. [[w:Swallow's Nest|"Swallows’ Nest" Castle]].''' Text: "КРЫМ "ЛАСТОЧКИНО-ГНЕЗДО".". Colour: green (shades). Face value: 1r. Quantities: 320,000 copies.<br />'''[[w:ru:Крым|Крым]]. [[w:ru:Ай-Тодор|Мыс Ай-Тодор]]. [[w:ru:Ласточкино гнездо (Крым)|"Ласточкино гнездо"]].''' Зеленая (оттенки) |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;624'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;537 Liapine&nbsp;593 [[w:Scott catalogue|Scott]]&nbsp;677 (A269) [[w:Michel catalog|Michel]]&nbsp;636 (im) [[w:Stanley Gibbons catalogue|SG]]&nbsp;809 [[w:Yvert et Tellier|Yvert]]&nbsp;669 |} == 12 CPA ##640-644 (5) 20th Anniversary of the All-Union Leninist Young Communist League (Komsomol) (Founded October 29, 1918) == Full disain (Полное оформление).<br /> [[#12 1938.12.07 (Komsomol)|See also short descriptions (см. также краткие описания)]] {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="center" colspan="3"|'''20th Anniversary of the [[w:Komsomol|All-Union Leninist Young Communist League (Komsomol)]] (Founded October 29, 1918).''' 1938.12.07. Logo of the [[w:Young Communist International|Young Communist International]] (on CPA 642 it is very little) <ref name="Natural" /> with text "КИМ" (on CPA 642 it isn't visible). Text: "XX лет ВЛКСМ 1918 1938". Designer: S.&nbsp;A.&nbsp;Novsky (CPA 640, 641, 644) and F.&nbsp;Kozlov (CPA 642, 643). Type: [[w:Commemorative stamp|commemorative]].<br /> Perforation: comb 12¼&nbsp;:&nbsp;12 (CPA 642, 644 horiz. ~). Paper: ordinary<ref name="Liapine" />. Print: typographed. Size: 26&nbsp;x&nbsp;37&nbsp;mm (22&nbsp;x&nbsp;33&nbsp;mm)<ref name="Natural" /> (CPA 642, 644 horiz. ~). Sheet: 50 (10&nbsp;x&nbsp;5) (CPA 642, 643 horiz. ~). Colour, face value and quantities: see the stamps<br> '''20-летие [[w:ru:Комсомол|Всесоюзного ленинского коммунистического союза молодежи (ВЛКСМ)]] (создан 29/X 1918).''' Эмблема [[w:ru:Коммунистический интернационал молодёжи|Коммунистического интернационала молодёжи]] (CPA 642 очень маленькая) с текстом "КИМ" (на CPA 642 не виден). Текст: "XX лет ВЛКСМ 1918 1938". Худ. С.&nbsp;А.&nbsp;Новский (CPA 640, 641, 644) и Ф.&nbsp;Козлов (CPA 642, 643). [[w:ru:Коммеморативная марка|Коммеморативные]] |- bgcolor="#FFFFE0" | align="center"| '''1938.12.07''' | align="left" colspan="2"|Numbers: [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] 553-557; Liapine&nbsp;609-613 [[w:Scott catalogue|Scott]] 693-697; [[w:Michel catalog|Michel]] 652-656; [[w:Stanley Gibbons catalogue|SG]] 825-829; [[w:Yvert et Tellier|Yvert]] 685-689. Codes: Scott 296-298 (3); Michel kc-kg (5), SG 238 (1) |- bgcolor="#E0FFE0" align="center" | #1938.61-12.1<br>[[Image:1938 CPA 640.jpg|125x125px]] | bgcolor="#FFFFF8" align="left"|'''Girl parachutist.''' Parachut and parachutist<ref name="Natural" />. Colour: blue. Face value: 20k. Quantities: 19,500,000 copies.<br />'''Молодая парашютистка.''' Парашют и парашютист. Синяя |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;640'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;553 Liapine&nbsp;609 [[w:Scott catalogue|Scott]]&nbsp;693 (A296) [[w:Michel catalog|Michel]]&nbsp;652 (kc) [[w:Stanley Gibbons catalogue|SG]]&nbsp;825 [[w:Yvert et Tellier|Yvert]]&nbsp;685 |- bgcolor="#E0FFE0" align="center" | #1938.62-12.2<br>[[Image:1938 CPA 641.jpg|125x125px]] | bgcolor="#FFFFF8" align="left"|'''Young miner.''' Pneumatic drill<ref name="Gibbons" /> and coal bed<ref name="Natural" />. Colour: red-brown. Face value: 30k. Quantities: 18,100,000 copies.<br />'''Молодой шахтер.''' Отбойный молоток и угольный пласт. Красно-коричневая |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;641'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;554 Liapine&nbsp;610 [[w:Scott catalogue|Scott]]&nbsp;694 (A297) [[w:Michel catalog|Michel]]&nbsp;653 (kd) [[w:Stanley Gibbons catalogue|SG]]&nbsp;826 (238) [[w:Yvert et Tellier|Yvert]]&nbsp;686 |- bgcolor="#E0FFE0" align="center" | #1938.63-12.3<br>[[Image:1938 CPA 642.jpg|125x125px]] | bgcolor="#FFFFF8" align="left"|'''Young<ref name="Yvert" /> combine driver.''' [[w:Harvest|Harvesting]]. [[w:Combine harvester|Combine harvester]]. [[w:Common wheat|Common wheat]] (Triticum aestivum [[w:Carl Linnaeus|Carl Linnaeus]] (L.), 1753)<ref name="Chistov" />. Colour: violet. Face value: 40k. Quantities: 12,100,000 copies.<br />'''Молодой комбайнер.''' [[w:ru:Уборка урожая|Уборка урожая]]. [[w:ru:Комбайн|Комбайн]]. [[w:ru:Пшеница мягкая|Пшеница мягкая]] (Triticum aestivum [[w:ru:Линней, Карл|Carl Linnaeus]] (L.), 1753). Фиолетовая |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;642'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;555 Liapine&nbsp;611 [[w:Scott catalogue|Scott]]&nbsp;695 (A298) [[w:Michel catalog|Michel]]&nbsp;654 (ke) [[w:Stanley Gibbons catalogue|SG]]&nbsp;827 [[w:Yvert et Tellier|Yvert]]&nbsp;687 |- bgcolor="#E0FFE0" align="center" | #1938.64-12.4<br>[[Image:1938 CPA 643.jpg|125x125px]] | bgcolor="#FFFFF8" align="left"|'''Students.''' University. Colour: red. Face value: 50k. Quantities: 3,000,000 copies.<br />'''Учащиеся.''' Университет. Красная |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;643'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;556 Liapine&nbsp;612 [[w:Scott catalogue|Scott]]&nbsp;696 (A296) [[w:Michel catalog|Michel]]&nbsp;655 (kf) [[w:Stanley Gibbons catalogue|SG]]&nbsp;828 [[w:Yvert et Tellier|Yvert]]&nbsp;688 |- bgcolor="#E0FFE0" align="center" | #1938.65-12.5<br>[[Image:1938 CPA 644.jpg|125x125px]] | bgcolor="#FFFFF8" align="left"|'''Young<ref name="Yvert" /> airman and young<ref name="Yvert" /> seaman.''' [[w:Russian battleship Petropavlovsk (1911)|Battleship "Marat"]]<ref name="Natural" /><ref name="Gibbons" /> <small>(there are incorrect data<ref name="Michel" />)</small>. Text on the [[w:Sailor cap|sailor cap]]: "Марат". Colour: blue. Face value: 80k. Quantities: 2,000,000 copies.<br />'''Молодые военный летчик и [[w:ru:Краснофлотец|краснофлотец]] ([[w:ru:Матрос|матрос]]).''' [[w:ru:Петропавловск (линкор)|Линкор "Марат"]]. Текст на [[w:ru:Бескозырка|бескозырке]]: "Марат". Синяя |bgcolor="#FFFFE0" | '''[[w:ru:Союзпечать|CPA]]&nbsp;644'''<br />[[w:ru:Стандарт-Коллекция (каталог марок)|SC]]&nbsp;557 Liapine&nbsp;613 [[w:Scott catalogue|Scott]]&nbsp;697 (A298) [[w:Michel catalog|Michel]]&nbsp;656 (kg) [[w:Stanley Gibbons catalogue|SG]]&nbsp;829 [[w:Yvert et Tellier|Yvert]]&nbsp;689 |} == Short descriptions / Краткие описания == Full design (Полное оформление). A - [[w:Airmail stamp|Airmail stamp]] ([[w:ru:Авиапочтовая марка|Авиапочтовая марка]])<br /> AasD5 - [[w:Airmail stamp|Airmail stamp]] as [[w:Definitive stamp|definitive stamp]] of 5th series ([[w:ru:Авиапочтовая марка|Авиапочтовая марка]] как [[w:ru:Стандартная марка|стандартная марка]] 5-го выпуска)<br /> C - [[w:Commemorative stamp|Commemorative stamp]] ([[w:ru:Коммеморативная марка|Коммеморативная марка]])<br /> === 1 1938.01-1938.03.07 (International Exhibition) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''1 USSR Participation in the 1937 International Exhibition at Paris''' (Exhibition at Paris)<br /> '''1. Павильон СССР на международной выставке в Париже 1937&nbsp;г.''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | 1938.02 [[File:1938 CPA 580.jpg|50x50px]] #1938.1-1.1 AasD5 | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | ''Worker and Kolkhoz Woman'' 5k | bgcolor="#FFFFE0" | '''580''' | bgcolor="#FFFFE0" | ''488'' | bgcolor="#FFFFE0" | 538 | bgcolor="#FFFFE0" | 611 ('''A237''') | bgcolor="#FFFFE0" | 581 ('''gt''') | bgcolor="#FFFFE0" | 765 ('''222''') | bgcolor="#FFFFE0" | 614 |- bgcolor="#E0FFE0" align="center" | 1938.01 [[File:1938 CPA 581.jpg|50x50px]] #1938.2-1.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Soviet Pavilion | bgcolor="#FFFFE0" | '''581''' | bgcolor="#FFFFE0" | 482 | bgcolor="#FFFFE0" | 539 | bgcolor="#FFFFE0" | 612 ('''A238''') | bgcolor="#FFFFE0" | 582 ('''gu''') | bgcolor="#FFFFE0" | 766 ('''223''') | bgcolor="#FFFFE0" | 615 |- bgcolor="#E0FFE0" align="center" | 1938.03.27 [[File:1938 CPA 582.jpg|50x50px]] #1938.3-1.3 AasD5 | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | ''Worker and Kolkhoz Woman'' 50k | bgcolor="#FFFFE0" | '''582''' | bgcolor="#FFFFE0" | ''489'' | bgcolor="#FFFFE0" | 540 | bgcolor="#FFFFE0" | 613 (A237) | bgcolor="#FFFFE0" | 583 (gt) | bgcolor="#FFFFE0" | 767 ('''222''') | bgcolor="#FFFFE0" | 616 |} === 2 1938.02.25 (Flight to the North Pole) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''2 Soviet Flight to the North Pole for the Transportation of the Papanin's Soviet Scientific Drift Station "North Pole-1" (May, 1937)''' (Transportation of the Papanin's Station)<br /> '''2. Советская воздушная экспедиция по высадке папанинской научной дрейфующей станции "Северный полюс-I" (май 1937)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 583.jpg|50x50px]] #1938.4-2.1 A | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Airplane Route 10k | bgcolor="#FFFFE0" | '''583''' | bgcolor="#FFFFE0" | 483 | bgcolor="#FFFFE0" | 541 | bgcolor="#FFFFE0" | 625 ('''A239''') | bgcolor="#FFFFE0" | 584 ('''gv''') | bgcolor="#FFFFE0" | 769 ('''225''') | bgcolor="#FFFFE0" | 617 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 584.jpg|50x50px]] #1938.5-2.2 A | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Airplane Route 20k | bgcolor="#FFFFE0" | '''584''' | bgcolor="#FFFFE0" | 484 | bgcolor="#FFFFE0" | 542 | bgcolor="#FFFFE0" | 626 (A239) | bgcolor="#FFFFE0" | 585 (gv) | bgcolor="#FFFFE0" | 770 | bgcolor="#FFFFE0" | 618 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 585.jpg|50x50px]] #1938.6-2.3 A | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Soviet Flag 40k | bgcolor="#FFFFE0" | '''585''' | bgcolor="#FFFFE0" | 485 | bgcolor="#FFFFE0" | 543 | bgcolor="#FFFFE0" | 627 ('''A240''') | bgcolor="#FFFFE0" | 586 ('''gw''') | bgcolor="#FFFFE0" | 771 | bgcolor="#FFFFE0" | 619 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 586.jpg|50x50px]] #1938.7-2.4 AasD | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Soviet Flag 80k | bgcolor="#FFFFE0" | '''586''' | bgcolor="#FFFFE0" | 486 | bgcolor="#FFFFE0" | 544 | bgcolor="#FFFFE0" | 628 (A240) | bgcolor="#FFFFE0" | 587 (gw) | bgcolor="#FFFFE0" | 772 | bgcolor="#FFFFE0" | 620 |} === 3 1938.02.05 (Shota Rustaveli) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''3 750th Anniversary of the Publication of the National Epos “Knight in the Tiger Skin” by Shota Rustaveli, Georgian Poet''' (Knight in the Tiger Skin)<br /> '''3. 750-летие национального эпоса грузинского поэта Шота Руставели "Витязь в тигровой шкуре"''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 587.jpg|50x50px]] #1938.8-3.1 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Shota Rustaveli | bgcolor="#FFFFE0" | '''587''' | bgcolor="#FFFFE0" | 487 | bgcolor="#FFFFE0" | 545 | bgcolor="#FFFFE0" | 610 ('''A236''') | bgcolor="#FFFFE0" | 580 ('''gs''') | bgcolor="#FFFFE0" | 768 ('''224''') | bgcolor="#FFFFE0" | 608 |} === 4 1938.03 (Red Army) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''4 20th Anniversary of the Workers’ & Peasants’ Red Army and the Workers’ & Peasants’ Red Fleet of the USSR''' (Red Army)<br /> '''4. 20-летие Рабоче-крестьянской Красной армии и Рабоче-крестьянского Красного флота СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 588.jpg|50x50px]] #1938.9-4.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Infantryman | bgcolor="#FFFFE0" | '''588''' | bgcolor="#FFFFE0" | 490 | bgcolor="#FFFFE0" | 546 | bgcolor="#FFFFE0" | 629 ('''A241''') | bgcolor="#FFFFE0" | 588 ('''gx''') | bgcolor="#FFFFE0" | 773 ('''227''') | bgcolor="#FFFFE0" | 621 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 589.jpg|50x50px]] #1938.10-4.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Soldier | bgcolor="#FFFFE0" | '''589''' | bgcolor="#FFFFE0" | 491 | bgcolor="#FFFFE0" | 547 | bgcolor="#FFFFE0" | 630 ('''A242''') | bgcolor="#FFFFE0" | 589 ('''gy''') | bgcolor="#FFFFE0" | 774 | bgcolor="#FFFFE0" | 622 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 590.jpg|50x50px]] #1938.11-4.3 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Seaman | bgcolor="#FFFFE0" | '''590''' | bgcolor="#FFFFE0" | 492 | bgcolor="#FFFFE0" | 548 | bgcolor="#FFFFE0" | 631 (A242) | bgcolor="#FFFFE0" | 590 ('''gz''') | bgcolor="#FFFFE0" | 775 | bgcolor="#FFFFE0" | 622 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 591.jpg|50x50px]] #1938.12-4.4 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Airmen | bgcolor="#FFFFE0" | '''591''' | bgcolor="#FFFFE0" | 493 | bgcolor="#FFFFE0" | 549 | bgcolor="#FFFFE0" | 632 (A242) | bgcolor="#FFFFE0" | 591 ('''ha''') | bgcolor="#FFFFE0" | 776 | bgcolor="#FFFFE0" | 623 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 592.jpg|50x50px]] #1938.13-4.5 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Antiaircraft soldier | bgcolor="#FFFFE0" | '''592''' | bgcolor="#FFFFE0" | 494 | bgcolor="#FFFFE0" | 550 | bgcolor="#FFFFE0" | 633 (A242) | bgcolor="#FFFFE0" | 592 ('''hb''') | bgcolor="#FFFFE0" | 777 | bgcolor="#FFFFE0" | 624 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 593.jpg|50x50px]] #1938.14-4.6 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Cavalry | bgcolor="#FFFFE0" | '''593''' | bgcolor="#FFFFE0" | 495 | bgcolor="#FFFFE0" | 551 | bgcolor="#FFFFE0" | 634 ('''A246''') | bgcolor="#FFFFE0" | 593 ('''hc''') | bgcolor="#FFFFE0" | 778a | bgcolor="#FFFFE0" | 624 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 594.jpg|50x50px]] #1938.15-4.7 C | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Gunner | bgcolor="#FFFFE0" | '''594''' | bgcolor="#FFFFE0" | 496 | bgcolor="#FFFFE0" | 552 | bgcolor="#FFFFE0" | 635 ('''A247''') | bgcolor="#FFFFE0" | 594 ('''hd''') | bgcolor="#FFFFE0" | 779 | bgcolor="#FFFFE0" | 625 |} === 5 1938.04.10 (First Trans-Polar Flight) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''5 First Trans-Polar Flight from the USSR, Moscow, to the USA, Washington, Vancouver (the USA, Oregon, Greater Portland) over the North Pole by ANT-25 Plane (June 18-20, 1937)''' (First Trans-Polar Flight)<br /> '''5. Первый беспосадочный перелет Москва, СССР - Ванкувер, штат Вашингтон, США (Большой Портленд, штат Орегон, США) через Северный полюс на самолете АНТ-25 (18-20/IV 1937)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 595.jpg|50x50px]] #1938.16-5.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Chkalov, Baidukov, Beliakov 10k | bgcolor="#FFFFE0" | '''595''' | bgcolor="#FFFFE0" | 497 | bgcolor="#FFFFE0" | 553 | bgcolor="#FFFFE0" | 636 ('''A248''') | bgcolor="#FFFFE0" | 595 ('''he''') | bgcolor="#FFFFE0" | 780 ('''229''') | bgcolor="#FFFFE0" | 628 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 596.jpg|50x50px]] #1938.17-5.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Chkalov, Baidukov, Beliakov 20k | bgcolor="#FFFFE0" | '''596''' | bgcolor="#FFFFE0" | 498 | bgcolor="#FFFFE0" | 554 | bgcolor="#FFFFE0" | 637 (A248) | bgcolor="#FFFFE0" | 596 (he) | bgcolor="#FFFFE0" | 781 | bgcolor="#FFFFE0" | 629 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 597.jpg|50x50px]] #1938.18-5.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Chkalov, Baidukov, Beliakov 40k | bgcolor="#FFFFE0" | '''597''' | bgcolor="#FFFFE0" | 499 | bgcolor="#FFFFE0" | 555 | bgcolor="#FFFFE0" | 638 (A248) | bgcolor="#FFFFE0" | 597 (he) | bgcolor="#FFFFE0" | 782 | bgcolor="#FFFFE0" | 630 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 598.jpg|50x50px]] #1938.19-5.4 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Chkalov, Baidukov, Beliakov 50k | bgcolor="#FFFFE0" | '''598''' | bgcolor="#FFFFE0" | 500 | bgcolor="#FFFFE0" | 556 | bgcolor="#FFFFE0" | 639 (A248) | bgcolor="#FFFFE0" | 598 (he) | bgcolor="#FFFFE0" | 783 | bgcolor="#FFFFE0" | 631 |} === 6 1938.04.13 (Second Trans-Polar Flight) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''6 Second Trans-Polar Flight from the USSR, Moscow, to the USA, California, San Jacinto over the North Pole by ANT-25 Plane (July 11-14, 1937)''' (Second Trans-Polar Flight)<br /> '''6. Второй беспосадочный перелет Москва, СССР - Сан-Джасинто, штат Калифорния, США через Северный полюс на самолете АНТ-25 (12-14/VII 1937)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 599.jpg|50x50px]] #1938.20-6.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Gromov, Danilin, Yumashev 10k | bgcolor="#FFFFE0" | '''599''' | bgcolor="#FFFFE0" | 501 | bgcolor="#FFFFE0" | 557 | bgcolor="#FFFFE0" | 640 ('''A249''') | bgcolor="#FFFFE0" | 599 ('''hf''') | bgcolor="#FFFFE0" | 784 ('''230''') | bgcolor="#FFFFE0" | 632 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 600.jpg|50x50px]] #1938.21-6.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Gromov, Danilin, Yumashev 20k | bgcolor="#FFFFE0" | '''600''' | bgcolor="#FFFFE0" | 502 | bgcolor="#FFFFE0" | 558 | bgcolor="#FFFFE0" | 641 (A249) | bgcolor="#FFFFE0" | 600 (hf) | bgcolor="#FFFFE0" | 785 | bgcolor="#FFFFE0" | 633 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 601.jpg|50x50px]] #1938.22-6.3 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Gromov, Danilin, Yumashev 50k | bgcolor="#FFFFE0" | '''601''' | bgcolor="#FFFFE0" | 503 | bgcolor="#FFFFE0" | 559 | bgcolor="#FFFFE0" | 642 (A249) | bgcolor="#FFFFE0" | 601 (hf) | bgcolor="#FFFFE0" | 786 | bgcolor="#FFFFE0" | 634 |} === 7 1938.06.21 (Papanin's Station) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''7 Rescue of the Soviet Polar Explorers of the Papanin's Soviet Scientific Drift Station "North Pole-1" (February, 1938)''' (Papanin's Station)<br /> '''7. Снятие советских полярников папанинской научной дрейфующей станции "Северный полюс-I" со льдины (февраль 1938)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 602.jpg|50x50px]] #1938.23-7.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Rescue of Survivors 10k | bgcolor="#FFFFE0" | '''602''' | bgcolor="#FFFFE0" | 515 | bgcolor="#FFFFE0" | 571 | bgcolor="#FFFFE0" | 643 ('''A250''') | bgcolor="#FFFFE0" | 614 ('''ht''') | bgcolor="#FFFFE0" | 787 ('''231''') | bgcolor="#FFFFE0" | 647 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 603.jpg|50x50px]] #1938.24-7.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Rescue of Survivors 20k | bgcolor="#FFFFE0" | '''603''' | bgcolor="#FFFFE0" | 516 | bgcolor="#FFFFE0" | 572 | bgcolor="#FFFFE0" | 644 (A250) | bgcolor="#FFFFE0" | 615 (ht) | bgcolor="#FFFFE0" | 788 | bgcolor="#FFFFE0" | 648 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 604.jpg|50x50px]] #1938.25-7.3 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Papanin, Krenkel, Shirshov, Fyodorov 30k | bgcolor="#FFFFE0" | '''604''' | bgcolor="#FFFFE0" | 517 | bgcolor="#FFFFE0" | 573 | bgcolor="#FFFFE0" | 645 ('''A251''') | bgcolor="#FFFFE0" | 616 ('''hu''') | bgcolor="#FFFFE0" | 789 | bgcolor="#FFFFE0" | 649 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 605.jpg|50x50px]] #1938.26-7.4 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Papanin, Krenkel, Shirshov, Fyodorov 60k | bgcolor="#FFFFE0" | '''605''' | bgcolor="#FFFFE0" | 518 | bgcolor="#FFFFE0" | 574 | bgcolor="#FFFFE0" | 646 (A251) | bgcolor="#FFFFE0" | 617 (hu) | bgcolor="#FFFFE0" | 790 | bgcolor="#FFFFE0" | 690 |} === 8 1938.09.16 (Children) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''8 Soviet Union Children''' (Children)<br /> '''8. Дети Советской страны''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 606.jpg|50x50px]] #1938.27-8.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Weighing Baby | bgcolor="#FFFFE0" | '''606''' | bgcolor="#FFFFE0" | 519 | bgcolor="#FFFFE0" | 575 | bgcolor="#FFFFE0" | 659 ('''A264''') | bgcolor="#FFFFE0" | 618 ('''hv''') | bgcolor="#FFFFE0" | 791 ('''233''') | bgcolor="#FFFFE0" | 651 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 607.jpg|50x50px]] #1938.28-8.2 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Children at Lenin’s Statue | bgcolor="#FFFFE0" | '''607''' | bgcolor="#FFFFE0" | 520 | bgcolor="#FFFFE0" | 576 | bgcolor="#FFFFE0" | 660 ('''A265''') | bgcolor="#FFFFE0" | 619 ('''hw''') | bgcolor="#FFFFE0" | 792 ('''234''') | bgcolor="#FFFFE0" | 652 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 608.jpg|50x50px]] #1938.29-8.3 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Biology Lesson 20k | bgcolor="#FFFFE0" | '''608''' | bgcolor="#FFFFE0" | 521 | bgcolor="#FFFFE0" | 577 | bgcolor="#FFFFE0" | 661 ('''A266''') | bgcolor="#FFFFE0" | 620 ('''hx''') | bgcolor="#FFFFE0" | 793 | bgcolor="#FFFFE0" | 653 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 609.jpg|50x50px]] #1938.30-8.4 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Young Pioneer Camp ''Artek'' | bgcolor="#FFFFE0" | '''609''' | bgcolor="#FFFFE0" | 522 | bgcolor="#FFFFE0" | 578 | bgcolor="#FFFFE0" | 662 ('''A267''') | bgcolor="#FFFFE0" | 621 ('''hy''') | bgcolor="#FFFFE0" | 794 | bgcolor="#FFFFE0" | 654 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 610.jpg|50x50px]] #1938.31-8.5 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Biology Lesson 40k | bgcolor="#FFFFE0" | '''610''' | bgcolor="#FFFFE0" | 523 | bgcolor="#FFFFE0" | 579 | bgcolor="#FFFFE0" | 663 (A266) | bgcolor="#FFFFE0" | 622 (hx) | bgcolor="#FFFFE0" | 795 | bgcolor="#FFFFE0" | 655 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 611.jpg|50x50px]] #1938.32-8.6 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Young Model Builders 50k | bgcolor="#FFFFE0" | '''611''' | bgcolor="#FFFFE0" | 524 | bgcolor="#FFFFE0" | 580 | bgcolor="#FFFFE0" | 664 ('''A268''') | bgcolor="#FFFFE0" | 623 ('''hz''') | bgcolor="#FFFFE0" | 796 | bgcolor="#FFFFE0" | 656 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 612.jpg|50x50px]] #1938.33-8.7 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Young Model Builders 80k | bgcolor="#FFFFE0" | '''612''' | bgcolor="#FFFFE0" | 525 | bgcolor="#FFFFE0" | 581 | bgcolor="#FFFFE0" | 665 (A268) | bgcolor="#FFFFE0" | 624 (hz) | bgcolor="#FFFFE0" | 797 | bgcolor="#FFFFE0" | 657 |} === 9 1938.09.21 (Crimea and Caucasus) === [[File:2008. Марка России stamp hi12612495634b2d241b65007.jpg|50x50px]] [[#9 CPA ##613-624 (12) Tourism. Views of Crimea and Caucasus|See also full design (См. также полное оформление)]] {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''9 [[w:Tourism|Tourism]]<ref name="Zagor" /><ref name="Yvert" />. Views of [[w:Crimea|Crimea]] and [[w:Caucasus|Caucasus]]''' (Crimea and Caucasus)<br /> '''9. [[w:ru:Туризм|Туризм]]. Виды [[w:ru:Крым|Крыма]] и [[w:ru:Кавказ|Кавказа]]''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short Description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 613.jpg|50x50px]] #1938.34-9.1 C | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | Crimea. Black See | bgcolor="#FFFFE0" | '''613''' | bgcolor="#FFFFE0" | 526 | bgcolor="#FFFFE0" | 582 | bgcolor="#FFFFE0" | ''667'' (A269) | bgcolor="#FFFFE0" | 625 ('''ia''') | bgcolor="#FFFFE0" | 798 ('''235''') | bgcolor="#FFFFE0" | 658 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 614.jpg|50x50px]] #1938.35-9.2 C | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | Crimea. Yalta | bgcolor="#FFFFE0" | '''614''' | bgcolor="#FFFFE0" | 527 | bgcolor="#FFFFE0" | 583 | bgcolor="#FFFFE0" | ''666'' ('''A269''') | bgcolor="#FFFFE0" | 626 ('''ib''') | bgcolor="#FFFFE0" | 799 | bgcolor="#FFFFE0" | 659 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 615.jpg|50x50px]] #1938.36-9.3 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Caucasus. Georgian Military Road | bgcolor="#FFFFE0" | '''615''' | bgcolor="#FFFFE0" | 528 | bgcolor="#FFFFE0" | 584 | bgcolor="#FFFFE0" | 668 (A269) | bgcolor="#FFFFE0" | 627 ('''ic''') | bgcolor="#FFFFE0" | 800 | bgcolor="#FFFFE0" | 660 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 616.jpg|50x50px]] #1938.37-9.4 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Crimea. Black See. Sunrise | bgcolor="#FFFFE0" | '''616''' | bgcolor="#FFFFE0" | 529 | bgcolor="#FFFFE0" | 585 | bgcolor="#FFFFE0" | 669 ('''A272''') | bgcolor="#FFFFE0" | 628 ('''id''') | bgcolor="#FFFFE0" | 801 | bgcolor="#FFFFE0" | 661 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 617.jpg|50x50px]] #1938.38-9.5 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Crimea. About Yalta | bgcolor="#FFFFE0" | '''617''' | bgcolor="#FFFFE0" | 530 | bgcolor="#FFFFE0" | 586 | bgcolor="#FFFFE0" | 670 (A269) | bgcolor="#FFFFE0" | 629 ('''ie''') | bgcolor="#FFFFE0" | ''803'' | bgcolor="#FFFFE0" | ''663'' |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 618.jpg|50x50px]] #1938.39-9.6 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Crimea. "Swallows’ Nest" | bgcolor="#FFFFE0" | '''618''' | bgcolor="#FFFFE0" | 531 | bgcolor="#FFFFE0" | 587 | bgcolor="#FFFFE0" | 671 (A272) | bgcolor="#FFFFE0" | 630 ('''if''') | bgcolor="#FFFFE0" | ''802'' | bgcolor="#FFFFE0" | ''662'' |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 619.jpg|50x50px]] #1938.40-9.7 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Crimea. Koreiz. Rest House | bgcolor="#FFFFE0" | '''619''' | bgcolor="#FFFFE0" | 532 | bgcolor="#FFFFE0" | 588 | bgcolor="#FFFFE0" | 672 (A269) | bgcolor="#FFFFE0" | 631 ('''ig''') | bgcolor="#FFFFE0" | 804 | bgcolor="#FFFFE0" | 664 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 620.jpg|50x50px]] #1938.41-9.8 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Crimea. Black See. Sunset | bgcolor="#FFFFE0" | '''620''' | bgcolor="#FFFFE0" | 533 | bgcolor="#FFFFE0" | 589 | bgcolor="#FFFFE0" | 673 (A272) | bgcolor="#FFFFE0" | 632 ('''ih''') | bgcolor="#FFFFE0" | 805 | bgcolor="#FFFFE0" | 665 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 621.jpg|50x50px]] #1938.42-9.9 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Crimea. Alupka | bgcolor="#FFFFE0" | '''621''' | bgcolor="#FFFFE0" | 534 | bgcolor="#FFFFE0" | 590 | bgcolor="#FFFFE0" | 674 (A269) | bgcolor="#FFFFE0" | 633 ('''ii''') | bgcolor="#FFFFE0" | 806 | bgcolor="#FFFFE0" | 666 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 622.jpg|50x50px]] #1938.43-9.10 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Crimea. Gurzuf | bgcolor="#FFFFE0" | '''622''' | bgcolor="#FFFFE0" | 535 | bgcolor="#FFFFE0" | 591 | bgcolor="#FFFFE0" | 675 (A272) | bgcolor="#FFFFE0" | 634 ('''ik''') | bgcolor="#FFFFE0" | 807 | bgcolor="#FFFFE0" | 667 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 623.jpg|50x50px]] #1938.44-9.11 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Crimea. Gurzuf. Artek | bgcolor="#FFFFE0" | '''623''' | bgcolor="#FFFFE0" | 536 | bgcolor="#FFFFE0" | 592 | bgcolor="#FFFFE0" | 676 (A269) | bgcolor="#FFFFE0" | 635 ('''il''') | bgcolor="#FFFFE0" | 808 | bgcolor="#FFFFE0" | 668 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 624.jpg|50x50px]] #1938.45-9.12 C | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Crimea. "Swallows’ Nest" | bgcolor="#FFFFE0" | '''624''' | bgcolor="#FFFFE0" | 537 | bgcolor="#FFFFE0" | 593 | bgcolor="#FFFFE0" | 677 (A272) | bgcolor="#FFFFE0" | 636 ('''im''') | bgcolor="#FFFFE0" | 809 | bgcolor="#FFFFE0" | 669 |} === 10 1938.10.07 (Air Sports) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''10 Air Sports in the USSR''' (Air Sports) <br /> '''10. Авиационный спорт в СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 625.jpg|50x50px]] #1938.46-10.1 C | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | Model Plane | bgcolor="#FFFFE0" | '''625''' | bgcolor="#FFFFE0" | 538 | bgcolor="#FFFFE0" | 594 | bgcolor="#FFFFE0" | 678 ('''A281''') | bgcolor="#FFFFE0" | 637 ('''in''') | bgcolor="#FFFFE0" | 810 ('''236''') | bgcolor="#FFFFE0" | 676 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 626.jpg|50x50px]] #1938.47-10.2 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Glider | bgcolor="#FFFFE0" | '''626''' | bgcolor="#FFFFE0" | 539 | bgcolor="#FFFFE0" | 595 | bgcolor="#FFFFE0" | 679 ('''A282''') | bgcolor="#FFFFE0" | 638 ('''io''') | bgcolor="#FFFFE0" | 811 | bgcolor="#FFFFE0" | 677 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 627.jpg|50x50px]] #1938.48-10.3 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Captive Balloon | bgcolor="#FFFFE0" | '''627''' | bgcolor="#FFFFE0" | 540 | bgcolor="#FFFFE0" | 596 | bgcolor="#FFFFE0" | 680 ('''A283''') | bgcolor="#FFFFE0" | 639 ('''ip''') | bgcolor="#FFFFE0" | 812 | bgcolor="#FFFFE0" | 678 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 628.jpg|50x50px]] #1938.49-10.4 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Dirigible | bgcolor="#FFFFE0" | '''628''' | bgcolor="#FFFFE0" | 541 | bgcolor="#FFFFE0" | 597 | bgcolor="#FFFFE0" | 681 ('''A284''') | bgcolor="#FFFFE0" | 640 ('''iq''') | bgcolor="#FFFFE0" | 813 | bgcolor="#FFFFE0" | 679 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 629.jpg|50x50px]] #1938.50-10.5 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Parachutists | bgcolor="#FFFFE0" | '''629''' | bgcolor="#FFFFE0" | 542 | bgcolor="#FFFFE0" | 598 | bgcolor="#FFFFE0" | 682 ('''A285''') | bgcolor="#FFFFE0" | 641 ('''ir''') | bgcolor="#FFFFE0" | 814 | bgcolor="#FFFFE0" | 680 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 630.jpg|50x50px]] #1938.51-10.6 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Hydroplane | bgcolor="#FFFFE0" | '''630''' | bgcolor="#FFFFE0" | 543 | bgcolor="#FFFFE0" | 599 | bgcolor="#FFFFE0" | 683 ('''A286''') | bgcolor="#FFFFE0" | 642 ('''is''') | bgcolor="#FFFFE0" | 815 | bgcolor="#FFFFE0" | 681 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 631.jpg|50x50px]] #1938.52-10.7 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Balloon | bgcolor="#FFFFE0" | '''631''' | bgcolor="#FFFFE0" | 544 | bgcolor="#FFFFE0" | 600 | bgcolor="#FFFFE0" | 684 ('''A287''') | bgcolor="#FFFFE0" | 643 ('''it''') | bgcolor="#FFFFE0" | 816 | bgcolor="#FFFFE0" | 682 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 632.jpg|50x50px]] #1938.53-10.8 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Stratosphere Balloon | bgcolor="#FFFFE0" | '''632''' | bgcolor="#FFFFE0" | 545 | bgcolor="#FFFFE0" | 601 | bgcolor="#FFFFE0" | 685 ('''A288''') | bgcolor="#FFFFE0" | 644 ('''iu''') | bgcolor="#FFFFE0" | 817 | bgcolor="#FFFFE0" | 683 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 633.jpg|50x50px]] #1938.54-10.9 C | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Plane | bgcolor="#FFFFE0" | '''633''' | bgcolor="#FFFFE0" | 546 | bgcolor="#FFFFE0" | 602 | bgcolor="#FFFFE0" | 686 ('''A289''') | bgcolor="#FFFFE0" | 645 ('''iv''') | bgcolor="#FFFFE0" | 818 | bgcolor="#FFFFE0" | 684 |} === 11 1938.11.07 (Moscow Metro) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''11 The Second Stage of the L.&nbsp;M.&nbsp;Kaganovich Moscow Metro (Underground Railway) Opening''' (Moscow Metro)<br /> '''11. Московский метрополитен имени Л.&nbsp;М.&nbsp;Кагановича. Строительство второй очереди''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 634.jpg|50x50px]] #1938.55-11.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Mayakovsky Station | bgcolor="#FFFFE0" | '''634''' | bgcolor="#FFFFE0" | 547 | bgcolor="#FFFFE0" | 603 | bgcolor="#FFFFE0" | 687 ('''A290''') | bgcolor="#FFFFE0" | 646 ('''iw''') | bgcolor="#FFFFE0" | 819 | bgcolor="#FFFFE0" | 670 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 635.jpg|50x50px]] #1938.56-11.2 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Sokol Terminal | bgcolor="#FFFFE0" | '''635''' | bgcolor="#FFFFE0" | 548 | bgcolor="#FFFFE0" | 604 | bgcolor="#FFFFE0" | 688 ('''A291''') | bgcolor="#FFFFE0" | 647 ('''ix''') | bgcolor="#FFFFE0" | 820 | bgcolor="#FFFFE0" | 671 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 636.jpg|50x50px]] #1938.57-11.3 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Kiev Station | bgcolor="#FFFFE0" | '''636''' | bgcolor="#FFFFE0" | 549 | bgcolor="#FFFFE0" | 605 | bgcolor="#FFFFE0" | 689 ('''A292''') | bgcolor="#FFFFE0" | 648 ('''iy''') | bgcolor="#FFFFE0" | 821 | bgcolor="#FFFFE0" | 672 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 637.jpg|50x50px]] #1938.58-11.4 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Dynamo Station | bgcolor="#FFFFE0" | '''637''' | bgcolor="#FFFFE0" | 550 | bgcolor="#FFFFE0" | 606 | bgcolor="#FFFFE0" | 690 ('''A293''') | bgcolor="#FFFFE0" | 649 ('''iz''') | bgcolor="#FFFFE0" | 822 | bgcolor="#FFFFE0" | 673 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 638.jpg|50x50px]] #1938.59-11.5 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Train in Tunnel | bgcolor="#FFFFE0" | '''638''' | bgcolor="#FFFFE0" | 551 | bgcolor="#FFFFE0" | 607 | bgcolor="#FFFFE0" | 691 ('''A294''') | bgcolor="#FFFFE0" | 650 ('''ka''') | bgcolor="#FFFFE0" | 823 ('''237''') | bgcolor="#FFFFE0" | 674 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 639.jpg|50x50px]] #1938.60-11.6 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Revolution Square Station | bgcolor="#FFFFE0" | '''639''' | bgcolor="#FFFFE0" | 552 | bgcolor="#FFFFE0" | 608 | bgcolor="#FFFFE0" | 692 ('''A295''') | bgcolor="#FFFFE0" | 651 ('''kb''') | bgcolor="#FFFFE0" | 824 | bgcolor="#FFFFE0" | 675 |} === 12 1938.12.07 (Komsomol) === [[#12 CPA ##640-644 (5) 20th Anniversary of the All-Union Leninist Young Communist League (Komsomol) (Founded October 29, 1918)|See also full design (См. также полное оформление)]] {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''12 CPA # 640-644 (5) 20th Anniversary of the [[w:Komsomol|All-Union Leninist Young Communist League (Komsomol)]] (Founded October 29, 1918)''' (Komsomol)<br /> '''12. 20-летие [[w:ru:Комсомол|Всесоюзного ленинского коммунистического союза молодежи (ВЛКСМ)]] (создан 29/X 1918)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 640.jpg|50x50px]] #1938.61-12.1 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Parachutist | bgcolor="#FFFFE0" | '''640''' | bgcolor="#FFFFE0" | 553 | bgcolor="#FFFFE0" | 609 | bgcolor="#FFFFE0" | 693 ('''A296''') | bgcolor="#FFFFE0" | 652 ('''kc''') | bgcolor="#FFFFE0" | 825 | bgcolor="#FFFFE0" | 685 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 641.jpg|50x50px]] #1938.62-12.2 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Miner | bgcolor="#FFFFE0" | '''641''' | bgcolor="#FFFFE0" | 554 | bgcolor="#FFFFE0" | 610 | bgcolor="#FFFFE0" | 694 ('''A297''') | bgcolor="#FFFFE0" | 653 ('''kd''') | bgcolor="#FFFFE0" | 826 ('''238''') | bgcolor="#FFFFE0" | 686 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 642.jpg|50x50px]] #1938.63-12.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Combine Driver | bgcolor="#FFFFE0" | '''642''' | bgcolor="#FFFFE0" | 555 | bgcolor="#FFFFE0" | 611 | bgcolor="#FFFFE0" | 695 ('''A298''') | bgcolor="#FFFFE0" | 654 ('''ke''') | bgcolor="#FFFFE0" | 827 | bgcolor="#FFFFE0" | 687 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 643.jpg|50x50px]] #1938.64-12.4 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Students | bgcolor="#FFFFE0" | '''643''' | bgcolor="#FFFFE0" | 556 | bgcolor="#FFFFE0" | 612 | bgcolor="#FFFFE0" | 696 (A296) | bgcolor="#FFFFE0" | 655 ('''kf''') | bgcolor="#FFFFE0" | 828 | bgcolor="#FFFFE0" | 688 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 644.jpg|50x50px]] #1938.65-12.5 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Airman and Seaman | bgcolor="#FFFFE0" | '''644''' | bgcolor="#FFFFE0" | 557 | bgcolor="#FFFFE0" | 613 | bgcolor="#FFFFE0" | 697 (A298) | bgcolor="#FFFFE0" | 656 ('''kg''') | bgcolor="#FFFFE0" | 829 | bgcolor="#FFFFE0" | 689 |} === 13 1938.12.28 (Sports) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''13 Sports in the USSR''' (Sports)<br /> '''13. Спорт в СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 645.jpg|50x50px]] #1938.66-13.1 C | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | Diving | bgcolor="#FFFFE0" | '''645''' | bgcolor="#FFFFE0" | 558 | bgcolor="#FFFFE0" | 614 | bgcolor="#FFFFE0" | 698 ('''A301''') | bgcolor="#FFFFE0" | 657 ('''kh''') | bgcolor="#FFFFE0" | 830 ('''239''') | bgcolor="#FFFFE0" | 690 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 646.jpg|50x50px]] #1938.67-13.2 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Discus Throwing | bgcolor="#FFFFE0" | '''646''' | bgcolor="#FFFFE0" | 559 | bgcolor="#FFFFE0" | 615 | bgcolor="#FFFFE0" | 699 ('''A302''') | bgcolor="#FFFFE0" | 658 ('''ki''') | bgcolor="#FFFFE0" | 831 | bgcolor="#FFFFE0" | 691 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 647.jpg|50x50px]] #1938.68-13.3 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Tennis | bgcolor="#FFFFE0" | '''647''' | bgcolor="#FFFFE0" | 560 | bgcolor="#FFFFE0" | 616 | bgcolor="#FFFFE0" | 700 (A302) | bgcolor="#FFFFE0" | 659 ('''kk''') | bgcolor="#FFFFE0" | 832 | bgcolor="#FFFFE0" | 692 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 648.jpg|50x50px]] #1938.69-13.4 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Motor Cycling | bgcolor="#FFFFE0" | '''648''' | bgcolor="#FFFFE0" | 561 | bgcolor="#FFFFE0" | 617 | bgcolor="#FFFFE0" | 701 (A302) | bgcolor="#FFFFE0" | 660 ('''kl''') | bgcolor="#FFFFE0" | 833 | bgcolor="#FFFFE0" | 693 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 649.jpg|50x50px]] #1938.70-13.5 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Skiing | bgcolor="#FFFFE0" | '''649''' | bgcolor="#FFFFE0" | 562 | bgcolor="#FFFFE0" | 618 | bgcolor="#FFFFE0" | 702 (A302) | bgcolor="#FFFFE0" | 661 ('''km''') | bgcolor="#FFFFE0" | 834 | bgcolor="#FFFFE0" | 694 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 650.jpg|50x50px]] #1938.71-13.6 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Sprinting | bgcolor="#FFFFE0" | '''650''' | bgcolor="#FFFFE0" | 563 | bgcolor="#FFFFE0" | 619 | bgcolor="#FFFFE0" | 703 (A302) | bgcolor="#FFFFE0" | 662 ('''kn''') | bgcolor="#FFFFE0" | 835 | bgcolor="#FFFFE0" | 695 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 651.jpg|50x50px]] #1938.72-13.7 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Football | bgcolor="#FFFFE0" | '''651''' | bgcolor="#FFFFE0" | 564 | bgcolor="#FFFFE0" | 620 | bgcolor="#FFFFE0" | 704 (A302) | bgcolor="#FFFFE0" | 663 ('''ko''') | bgcolor="#FFFFE0" | 836 | bgcolor="#FFFFE0" | 696 |- bgcolor="#E0FFE0" align="center" | [[File:1938 CPA 652.jpg|50x50px]] #1938.73-13.8 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Athletic Parade | bgcolor="#FFFFE0" | '''652''' | bgcolor="#FFFFE0" | 565 | bgcolor="#FFFFE0" | 621 | bgcolor="#FFFFE0" | 705 (A302) | bgcolor="#FFFFE0" | 664 ('''kp''') | bgcolor="#FFFFE0" | 837 | bgcolor="#FFFFE0" | 697 |} <br /> == <div style="background-color:#50C878">Nature / Природа</div> == Full design (Полное оформление). === Geographical features list / Список географических объектов === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#50C878" ! English name || Russian name || Continents || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:North Pole|North Pole]] | bgcolor="#E0FFE0" | [[w:ru:Северный полюс|Северный полюс]] | Asia-Europe-North America | [[w:c:File:1938 CPA 583.jpg|583]], [[w:c:File:1938 CPA 584.jpg|584]], [[w:c:File:1938 CPA 585.jpg|585]], [[w:c:File:1938 CPA 586.jpg|586]], [[w:c:File:1938 CPA 595.jpg|595]], [[w:c:File:1938 CPA 596.jpg|596]], [[w:c:File:1938 CPA 597.jpg|597]], [[w:c:File:1938 CPA 598.jpg|598]], [[w:c:File:1938 CPA 599.jpg|599]], [[w:c:File:1938 CPA 600.jpg|600]], [[w:c:File:1938 CPA 601.jpg|601]] | [[w:c:File:1938 CPA 583.jpg|Russia 625]], [[w:c:File:1938 CPA 584.jpg|626]], [[w:c:File:1938 CPA 585.jpg|627]], [[w:c:File:1938 CPA 586.jpg|628]], [[w:c:File:1938 CPA 595.jpg|636]], [[w:c:File:1938 CPA 596.jpg|637]], [[w:c:File:1938 CPA 597.jpg|638]], [[w:c:File:1938 CPA 598.jpg|639]], [[w:c:File:1938 CPA 599.jpg|640]], [[w:c:File:1938 CPA 600.jpg|641]], [[w:c:File:1938 CPA 601.jpg|642]] |- | bgcolor="#E0FFE0" | [[w:Crimea|Crimea]] | bgcolor="#E0FFE0" | [[w:ru:Крым|Крым]] | Europe | [[w:c:File:1938 CPA 613.jpg|613]], [[w:c:File:1938 CPA 614.jpg|614]], [[w:c:File:1938 CPA 616.jpg|616]], [[w:c:File:1938 CPA 617.jpg|617]], [[w:c:File:1938 CPA 618.jpg|618]], [[w:c:File:1938 CPA 619.jpg|619]], [[w:c:File:1938 CPA 620.jpg|620]], [[w:c:File:1938 CPA 621.jpg|621]], [[w:c:File:1938 CPA 622.jpg|622]], [[w:c:File:1938 CPA 623.jpg|623]], [[w:c:File:1938 CPA 624.jpg|624]] | [[w:c:File:1938 CPA 613.jpg|Russia 667]], [[w:c:File:1938 CPA 614.jpg|666]], [[w:c:File:1938 CPA 616.jpg|669]], [[w:c:File:1938 CPA 617.jpg|670]], [[w:c:File:1938 CPA 618.jpg|671]], [[w:c:File:1938 CPA 619.jpg|672]], [[w:c:File:1938 CPA 620.jpg|673]], [[w:c:File:1938 CPA 621.jpg|674]], [[w:c:File:1938 CPA 622.jpg|675]], [[w:c:File:1938 CPA 623.jpg|676]], [[w:c:File:1938 CPA 624.jpg|677]] |- | bgcolor="#E0FFE0" | [[w:Black Sea|Black Sea]] | bgcolor="#E0FFE0" | [[w:ru:Чёрное море|Черное море]] | Asia-Europe | [[w:c:File:1938 CPA 613.jpg|613]], [[w:c:File:1938 CPA 614.jpg|614]], [[w:c:File:1938 CPA 616.jpg|616]], [[w:c:File:1938 CPA 617.jpg|617]], [[w:c:File:1938 CPA 618.jpg|618]], [[w:c:File:1938 CPA 620.jpg|620]], [[w:c:File:1938 CPA 623.jpg|623]], [[w:c:File:1938 CPA 624.jpg|624]] | [[w:c:File:1938 CPA 613.jpg|Russia 667]], [[w:c:File:1938 CPA 614.jpg|666]], [[w:c:File:1938 CPA 616.jpg|669]], [[w:c:File:1938 CPA 617.jpg|670]], [[w:c:File:1938 CPA 618.jpg|671]], [[w:c:File:1938 CPA 620.jpg|673]], [[w:c:File:1938 CPA 623.jpg|676]], [[w:c:File:1938 CPA 624.jpg|677]] |- | bgcolor="#E0FFE0" | [[w:Caucasus|Caucasus]] | bgcolor="#E0FFE0" | [[w:ru:Кавказ|Кавказ]] | Asia-Europe | [[w:c:File:1938 CPA 615.jpg|615]] | [[w:c:File:1938 CPA 615.jpg|Russia 668]] |} === Animals list / Список животных === It is coordinated with Wikimedia Commons (Согласовано с Викискладом) :::::::::* <big><big>'''Phylum / Тип:''' [[w:Chordate|Chordate]] / [[w:ru:Хордовые|Хордовые]] (Chordata)</big></big> :::::::* <big><big>Classis / Класс: [[w:Mammal|Mammal]] / [[w:ru:Млекопитающие|Млекопитающие]] (Mammalia)</big></big> :::::* <big>'''Ordo / Отряд:''' [[w:Odd-toed ungulate|Odd-toed ungulate]] / [[w:ru:Непарнокопытные|Непарнокопытные]] (Perissodactyla)</big> :::* <big>Familia / Семейство: [[w:Equidae|Horse family]] / [[w:ru:Лошадиные|Лошадиные]] (Equidae)</big> :* '''Genus / Род:''' An [[w:Equus (genus)|equus]] / [[w:ru:Лошади|Лошади]] (Equus) Species / Вид: The [[w:Wild horse|wild horse]] / [[w:ru:Дикая лошадь|Дикая лошадь]] (Equus ferus)<br /> Subspecies / Подвид: The [[w:Horse|horse]] / [[w:ru:Домашняя лошадь|Домашняя лошадь]] (Equus ferus caballus)<br /> ''[[w:Scott catalogue|Scott]] Russia [[w:c:File:1938 CPA 593.jpg|'''634''']]'' {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#50C878" ! English name || Russian name || Latin name || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | The [[w:Horse|horse]] | bgcolor="#E0FFE0" | [[w:ru:Домашняя лошадь|Лошадь]] | bgcolor="#E0FFE0" | Equus ferus | [[w:c:File:1938 CPA 593.jpg|593]] | [[w:c:File:1938 CPA 593.jpg|Russia 634]] |} === Plants list / Список растений === :::::::::* <big><big>'''Cladus / Клада:''' [[w:Flowering plant|Flowering plant]] / [[w:ru:Цветковые растения|Цветковые растения]] (Angiosperms)</big></big> :::::::* <big><big>Cladus / Клада: [[w:Monocotyledon|Monocotyledon]] / [[w:ru:Однодольные|Однодольные]] (Monocots)</big></big> :::::* <big>'''Ordo / Порядок:''' [[w:Poales|Poales]] / [[w:ru:Злакоцветные|Злакоцветные]] (Poales)</big> :::* <big>Familia / Семейство: [[w:Poaceae|Poaceae]] / [[w:ru:Злаки|Злаки]] (Poaceae)</big> :* '''Genus / Род:''' A [[w:Wheat|Wheat]] / [[w:ru:Пшеница|Пшеница]] (Triticum) Species / Вид: The [[w:Common wheat|Common Wheat]] / [[w:ru:Пшеница мягкая|Пшеница мягкая]] (Triticum aestivum)<br /> ''[[w:Scott catalogue|Scott]] Russia [[w:c:File:1938 CPA 642.jpg|'''695''']]'' :::::::::* <big><big>'''Division / Отдел:''' [[w:Pinophyta|Conifers]] / [[w:ru:Хвойные|Хвойные]] (Pinophyta)</big></big> :::::::* <big><big>Classis / Класс: [[w:Pinophyta|Conifers (Classis)]] / [[w:ru:Хвойные|Хвойные]] (Pinopsida)</big></big> :::::* <big>'''Ordo / Порядок:''' [[w:Pinales|Conifers]] / [[w:ru:Сосновые (порядок)|Сосновые (порядок)]] (Pinales)</big> :::* <big>Familia / Семейство: [[w:Cupressaceae|Cypress family]] / [[w:ru:Кипарисовые|Кипарисовые]] (Cupressaceae)</big> :* '''Genus / Род:''' [[w:Chamaecyparis|Cypress]] / [[w:ru:Кипарисовик|Кипарисовик]] (Chamaecyparis) Species / Вид: The [[w:Chamaecyparis pisifera|Sawara Cypress]] / [[w:ru:Кипарисовик горохоплодный|Кипарисовик горохоплодный]] (Chamaecyparis pisifera)<br /> ''[[w:Scott catalogue|Scott]] Russia [[w:c:File:1938 CPA 616.jpg|'''669''']], [[w:c:File:1938 CPA 623.jpg|'''676''']]'' :* '''Genus / Род:''' A [[w:Cupressus|Cupressus]] / [[w:ru:Кипарис|Кипарис]] (Cupressus) :* ''[[w:Scott catalogue|Scott]] Russia [[w:c:File:1938 CPA 621.jpg|'''674''']], [[w:c:File:1938 CPA 622.jpg|'''675''']]'' :::* <big>Familia / Семейство: [[w:Pinaceae|Pine family]] / [[w:ru:Сосновые|Сосновые]] (Pinaceae)</big> :* '''Genus / Род:''' A [[w:Pine|Pine]] / [[w:ru:Сосна|Сосна]] (Pinus) :* ''[[w:Scott catalogue|Scott]] Russia [[w:c:File:1938 CPA 617.jpg|'''670''']]'' Species / Вид: The [[w:Pinus halepensis|Aleppo Pines]] / [[w:ru:Сосна алеппская|Сосна алеппская]] (Pinus halepensis)<br /> ''[[w:Scott catalogue|Scott]] Russia [[w:c:File:1938 CPA 613.jpg|'''667''']], [[w:c:File:1938 CPA 620.jpg|'''673''']]'' {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#50C878" ! English name || Russian name || Latin name || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | The [[w:Pinus halepensis|Aleppo Pines]] | bgcolor="#E0FFE0" | [[w:ru:Сосна алеппская|Сосна алеппская]] | bgcolor="#E0FFE0" | Pinus halepensis | [[w:c:File:1938 CPA 613.jpg|613]], [[w:c:File:1938 CPA 620.jpg|620]] | [[w:c:File:1938 CPA 613.jpg|Russia 667]], [[w:c:File:1938 CPA 620.jpg|673]] |- | bgcolor="#E0FFE0" | The [[w:Chamaecyparis pisifera|Sawara Cypress]] | bgcolor="#E0FFE0" | [[w:ru:Кипарисовик горохоплодный|Кипарисовик горохоплодный]] | bgcolor="#E0FFE0" | Chamaecyparis pisifera | [[w:c:File:1938 CPA 616.jpg|616]], [[w:c:File:1938 CPA 623.jpg|623]] | [[w:c:File:1938 CPA 616.jpg|Russia 669]], [[w:c:File:1938 CPA 623.jpg|676]] |- | bgcolor="#E0FFE0" | A [[w:Pine|Pine]] | bgcolor="#E0FFE0" | [[w:ru:Сосна|Сосна]] | bgcolor="#E0FFE0" | Pinus | [[w:c:File:1938 CPA 617.jpg|617]] | [[w:c:File:1938 CPA 617.jpg|Russia 670]] |- | bgcolor="#E0FFE0" | A [[w:Cupressus|Cupressus]] | bgcolor="#E0FFE0" | [[w:ru:Кипарис|Кипарис]] | bgcolor="#E0FFE0" | Cupressus | [[w:c:File:1938 CPA 621.jpg|621]], [[w:c:File:1938 CPA 622.jpg|622]] | [[w:c:File:1938 CPA 621.jpg|Russia 674]], [[w:c:File:1938 CPA 622.jpg|675]] |- | bgcolor="#E0FFE0" | The [[w:Common wheat|Common Wheat]] | bgcolor="#E0FFE0" | [[w:ru:Пшеница мягкая|Пшеница мягкая]] | bgcolor="#E0FFE0" | Triticum aestivum | [[w:c:File:1938 CPA 642.jpg|642]] | [[w:c:File:1938 CPA 642.jpg|Russia 695]] |} <br /> == Sources / Источники == {{Reflist | refs= <ref name="Chistov">{{Cite web | last = Chistov | first = Vladimir | title = Flora on post stamps | url = http://floraonpoststamps.ru/ | publisher = / Владимир Чистов. Растения на почтовых марках | accessdate = 2014-10-01}}</ref> <ref name="Gibbons">Stanley Gibbons catalogue. / Каталог Стэнли Гиббонса.</ref> <ref name="Liapine">Liapine, Viktor. Catalog of stamps of Russia (1856-1991). 2008. / Ляпин Виктор. Каталог почтовых марок России (1856-1991). М.: Издатель И. В. Балабанов, 2008.</ref> <ref name="Michel">[[w:Michel catalog|Michel]]. Europa-Katalog. Band 7. 2009/2010. Osteuropa. Schwaneberger Verlag GMBH, 2009. / [[w:ru:Михель (каталог марок)|Каталог Михель]] за 2009/2010 год. 7-я книга из 7 книг Европы. Представлена восточная Европа.</ref> <ref name="Natural">Natural research. / Натуральное изучение.</ref> <ref name="Scott">[[w:Scott catalogue|Scott Standard Postage Stamp Catalogue]]. 2009. Volume 5 P-SL. Amos Press Inc., 2009. / [[w:ru:Скотт (каталог марок)|Каталог Скотт]] за 2009 год. Том 5 P-SL.</ref> <ref name="Yvert">[[w:Yvert et Tellier|Yvert et Tellier]]. 1980. Tome 2. Timbres d'Europe. / [[w:ru:Ивер и Телье|Каталог "Ивер и Телье"]]. 1980. Том 2. Почтовые марки Европы.</ref> <ref name="Zagor">{{Cite web | last = Zagorsky | first = Valeriy | title = Standard Collection | url = http://standard-collection.ru/ru/catalogs/elektronnye-versii.html | publisher = / [[w:ru:Загорский, Валерий Борисович|Валерий Загорский]]. Стандарт-коллекция | accessdate = 2014-10-01}}</ref> }} Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска! {{center/top}} [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" {{ts|mc}} | [[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|1937]] [[:World Stamp Catalogue/Soviet Union/1938|'''<big>1938</big>''']] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} {{center/end}} {{BookCat|filing=deep}} b2dq3f4ywdspoe41gze1tyr1cqlg3jf World Stamp Catalogue/Soviet Union/1937 0 306245 4656871 4643751 2026-08-09T22:35:15Z ShakespeareFan00 46022 4656871 wikitext text/x-wiki <center> [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" style="margin:0 auto;" |[[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|'''<big>1937</big>''']] [[:World Stamp Catalogue/Soviet Union/1938|1938]] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} <div style="text-align: center;">CPA # 536-579 (44 stamps, 10 series)</div> '''Here complete descriptions of 1937 USSR stamps are given.'''<br /> '''Здесь приведены полные описания почтовых марок СССР 1937 года.''' * All available images of 1937 USSR stamps are on the Wikimedia Commons:<br /> * Все имеющиеся изображения почтовых марок СССР 1937 года находятся на Викискладе:<br /> *[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Category:1937 all stamps of the Soviet Union|1937 all stamps of the Soviet Union]] :* You can also see standard images of 1937 USSR stamps on Wikimedia commons:<br /> :* Типовые изображения почтовых марок СССР 1937 года можно также посмотреть на Викискладе:<br /> :*[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Каталог ЦФА (1-1000)|Каталог ЦФА (1-1000)]]<br> Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска!<br /> The names of stamps and stamp series are made according to all used 7 catalogues.<br /> Названия марок и серий марок составлены по всем используемым 7 каталогам.<br /> == Short descriptions / Краткие описания == Full design (Полное оформление).<br /> A - Airmail stamp (Авиапочтовая марка)<br /> C - [[w:Commemorative stamp|Commemorative stamp]] ([[w:ru:Коммеморативная марка|Коммеморативная марка]])<br /> D4 - [[w:Definitive stamp|Definitive stamp]] of 4th series ([[w:ru:Стандартная марка|Стандартная марка]] 4-го выпуска)<br /> === 1 1937.02.10-1937.07 (Aleksander Sergeyevich Pushkin) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''1 Death Centenary of Aleksander Sergeyevich Pushkin (1799-1837), Writer and Poet''' (Aleksander Sergeyevich Pushkin)<br /> '''1. 100-летие со дня смерти русского поэта, драматурга и прозаика А.&nbsp;С.&nbsp;Пушкина (1799-1837)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|50x50px]] #1937.1-1.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Pushkin, Portrait 10k | bgcolor="#FFFFE0" | '''536''' | bgcolor="#FFFFE0" | 445 | bgcolor="#FFFFE0" | 505 | bgcolor="#FFFFE0" | 590 ('''A228''') | bgcolor="#FFFFE0" | 549 ('''gi''') | bgcolor="#FFFFE0" | 728 ('''215''') | bgcolor="#FFFFE0" | 590 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|50x50px]] #1937.2-1.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Pushkin, Portrait 20k | bgcolor="#FFFFE0" | '''537''' | bgcolor="#FFFFE0" | 446 | bgcolor="#FFFFE0" | 506 | bgcolor="#FFFFE0" | 591 (A228) | bgcolor="#FFFFE0" | 550 (gi) | bgcolor="#FFFFE0" | 729 | bgcolor="#FFFFE0" | 591 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|50x50px]] #1937.3-1.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Pushkin, Portrait 40k | bgcolor="#FFFFE0" | '''538''' | bgcolor="#FFFFE0" | 447 | bgcolor="#FFFFE0" | 507 | bgcolor="#FFFFE0" | 592 (A228) | bgcolor="#FFFFE0" | 551 (gi) | bgcolor="#FFFFE0" | 730 | bgcolor="#FFFFE0" | 592 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|50x50px]] #1937.4-1.4 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Pushkin, Monument 50k | bgcolor="#FFFFE0" | '''539''' | bgcolor="#FFFFE0" | 448 | bgcolor="#FFFFE0" | 508 | bgcolor="#FFFFE0" | 593 ('''A229''') | bgcolor="#FFFFE0" | 552 ('''gj''') | bgcolor="#FFFFE0" | 731 ('''216''') | bgcolor="#FFFFE0" | 593 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|50x50px]] #1937.5-1.5 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Pushkin, Monument 80k | bgcolor="#FFFFE0" | '''540''' | bgcolor="#FFFFE0" | 449 | bgcolor="#FFFFE0" | 509 | bgcolor="#FFFFE0" | 594 (A229) | bgcolor="#FFFFE0" | 553 (gj) | bgcolor="#FFFFE0" | 732a | bgcolor="#FFFFE0" | 594 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|50x50px]] #1937.6-1.6 C | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Pushkin, Monument 1r | bgcolor="#FFFFE0" | '''541''' | bgcolor="#FFFFE0" | 450 | bgcolor="#FFFFE0" | 510 | bgcolor="#FFFFE0" | 595 (A229) | bgcolor="#FFFFE0" | 554 (gj) | bgcolor="#FFFFE0" | 733a | bgcolor="#FFFFE0" | 595 |} === 2 1937.02.16 (Pushkin Exhibition) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''2 The All-Union Pushkin Exhibition, Moscow (16.02-03.05.1937). Souvenir Sheet''' (Pushkin Exhibition)<br /> '''2. Всесоюзная Пушкинская выставка в Москве (1937.02.16-05.03). Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|50x50px]] #1937.7-2.1 C | bgcolor="#FFFFE0" | 10k&nbsp;+&nbsp;50k | bgcolor="#FFFFE0" | Pushkin, Portrait and Monument | bgcolor="#FFFFE0" | '''542''' | bgcolor="#FFFFE0" | Бл 1 (451, 452) | bgcolor="#FFFFE0" | Блок 1 (505, 508) | bgcolor="#FFFFE0" | 596 (A228-A229) | bgcolor="#FFFFE0" | Block 1 ('''gk''' (gi, gj)) | bgcolor="#FFFFE0" | MS733c (215, 216) | bgcolor="#FFFFE0" | Bloc 1 |} === 3 1937.06.16 (Moscow) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''3 Architecture of New Moscow (On 1st Congress of Soviet Architects, 1937.06.16-26)''' (Moscow)<br /> '''3. Архитектура новой Москвы (К 1-му съезду советских архитекторов, 16-26.06.1937)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|50x50px]] #1937.8-3.1 C | bgcolor="#FFFFE0" | 3k | bgcolor="#FFFFE0" | Tchaikovsky Concert Hall 3k | bgcolor="#FFFFE0" | '''543''' | bgcolor="#FFFFE0" | 460 | bgcolor="#FFFFE0" | 511 | bgcolor="#FFFFE0" | 597 ('''A230''') | bgcolor="#FFFFE0" | 558 ('''gl''') | bgcolor="#FFFFE0" | 734 ('''217''') | bgcolor="#FFFFE0" | 596 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|50x50px]] #1937.9-3.2 C | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | Telegraph Agency House 5k | bgcolor="#FFFFE0" | '''544''' | bgcolor="#FFFFE0" | 461 | bgcolor="#FFFFE0" | 512 | bgcolor="#FFFFE0" | 598 (A230) | bgcolor="#FFFFE0" | 559 ('''gm''') | bgcolor="#FFFFE0" | 735 | bgcolor="#FFFFE0" | 597 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|50x50px]] #1937.10-3.3 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Tchaikovsky Concert Hall 10k | bgcolor="#FFFFE0" | '''545''' | bgcolor="#FFFFE0" | 462 | bgcolor="#FFFFE0" | 513 | bgcolor="#FFFFE0" | 599 (A230) | bgcolor="#FFFFE0" | 560 (gl) | bgcolor="#FFFFE0" | 736 ('''217''') | bgcolor="#FFFFE0" | 598 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|50x50px]] #1937.11-3.4 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Telegraph Agency House 15k | bgcolor="#FFFFE0" | '''546''' | bgcolor="#FFFFE0" | 463 | bgcolor="#FFFFE0" | 514 | bgcolor="#FFFFE0" | 600 (A230) | bgcolor="#FFFFE0" | 561 (gm) | bgcolor="#FFFFE0" | 737 | bgcolor="#FFFFE0" | 599 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|50x50px]] #1937.12-3.5 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Russian Army Theatre 20k | bgcolor="#FFFFE0" | '''547''' | bgcolor="#FFFFE0" | 464 | bgcolor="#FFFFE0" | 515 | bgcolor="#FFFFE0" | 601 (A230) | bgcolor="#FFFFE0" | 562 ('''gn''') | bgcolor="#FFFFE0" | 738 | bgcolor="#FFFFE0" | 600 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|50x50px]] #1937.13-3.6 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Hotel Moscow | bgcolor="#FFFFE0" | '''548''' | bgcolor="#FFFFE0" | 465 | bgcolor="#FFFFE0" | 516 | bgcolor="#FFFFE0" | 602 (A230) | bgcolor="#FFFFE0" | 563 ('''go''') | bgcolor="#FFFFE0" | 739 | bgcolor="#FFFFE0" | 601 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|50x50px]] #1937.14-3.7 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Palace of the Soviets | bgcolor="#FFFFE0" | '''549''' | bgcolor="#FFFFE0" | 466 | bgcolor="#FFFFE0" | 517 | bgcolor="#FFFFE0" | 603 (A230) | bgcolor="#FFFFE0" | 564 (gp) | bgcolor="#FFFFE0" | 740 | bgcolor="#FFFFE0" | 602 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|50x50px]] #1937.15-3.8 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Russian Army Theatre 50k | bgcolor="#FFFFE0" | '''550''' | bgcolor="#FFFFE0" | 467 | bgcolor="#FFFFE0" | 518 | bgcolor="#FFFFE0" | 604 (A230) | bgcolor="#FFFFE0" | 565 (gn) | bgcolor="#FFFFE0" | 741 | bgcolor="#FFFFE0" | 603 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|50x50px]] #1937.15H-3.8H C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Embassy of the USA | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | H69 | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- |} === 4 1937.06.16 (Congress of Architects) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''4 1st All-Union Congress of Architects (1937.06.16-26). Souvenir Sheet''' (Congress of Architects)<br /> '''4. 1-й Всесоюзный съезд архитекторов (16-26.06.1937). Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|50x50px]] #1937.16-4.1 C | bgcolor="#FFFFE0" | 40k&nbsp;х&nbsp;4 | bgcolor="#FFFFE0" | 4&nbsp;х&nbsp;Palace of the Soviets | bgcolor="#FFFFE0" | '''551''' | bgcolor="#FFFFE0" | Бл 2 (468) | bgcolor="#FFFFE0" | Блок 2 (517) | bgcolor="#FFFFE0" | 603a (A230) | bgcolor="#FFFFE0" | Block 2 ('''gq''' ('''gp''')) | bgcolor="#FFFFE0" | MS741a (as No. 740) | bgcolor="#FFFFE0" | Bloc 2 |} === 5 1937.07.22 (Feliks Dzerzhinsky) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''5 10th Death Anniversary of Feliks E.&nbsp;Dzerzhinsky (1877-1826), Soviet Statesman and Figure of Communist Party, Organizer of Soviet Secret Police''' (Feliks Dzerzhinsky)<br />'''5. 10-летие со дня смерти деятеля Коммунистической партии и Советского государства, основателя Всероссийской чрезвычайной комиссии Ф.&nbsp;Э.&nbsp;Дзержинского (1877-1926)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|50x50px]] #1937.17-5.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 10k | bgcolor="#FFFFE0" | '''552''' | bgcolor="#FFFFE0" | 469 | bgcolor="#FFFFE0" | 526 | bgcolor="#FFFFE0" | 606 ('''A235''') | bgcolor="#FFFFE0" | 566 ('''gr''') | bgcolor="#FFFFE0" | 742 ('''218''') | bgcolor="#FFFFE0" | 604 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|50x50px]] #1937.18-5.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 20k | bgcolor="#FFFFE0" | '''553''' | bgcolor="#FFFFE0" | 470 | bgcolor="#FFFFE0" | 527 | bgcolor="#FFFFE0" | 607 (A235) | bgcolor="#FFFFE0" | 567 (gr) | bgcolor="#FFFFE0" | 743 | bgcolor="#FFFFE0" | 605 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|50x50px]] #1937.19-5.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 40k | bgcolor="#FFFFE0" | '''554''' | bgcolor="#FFFFE0" | 471 | bgcolor="#FFFFE0" | 528 | bgcolor="#FFFFE0" | 608 (A235) | bgcolor="#FFFFE0" | 568 (gr) | bgcolor="#FFFFE0" | 744 | bgcolor="#FFFFE0" | 606 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|50x50px]] #1937.20-5.4 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 80k | bgcolor="#FFFFE0" | '''555''' | bgcolor="#FFFFE0" | 472 | bgcolor="#FFFFE0" | 529 | bgcolor="#FFFFE0" | 609 (A235) | bgcolor="#FFFFE0" | 569 (gr) | bgcolor="#FFFFE0" | 745 | bgcolor="#FFFFE0" | 607 |} === 6 1937.07-1953.01 (4th Definitive Stamps) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''6 The 4th Series of the Definitive Stamps of the USSR''' (4th Definitive Stamps)<br /> '''6. Четвертый стандартный выпуск почтовых марок СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | 1938.03 [[File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|50x50px]] #1939.21-6.1 D4 | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Factory Woman, large size | bgcolor="#FFFFE0" | '''556''' | bgcolor="#FFFFE0" | 441 | bgcolor="#FFFFE0" | 502 | bgcolor="#FFFFE0" | 616 (A109) | bgcolor="#FFFFE0" | 677I ('''cd I''') | bgcolor="#FFFFE0" | 727f ('''139''') | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1953.01 [[File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|50x50px]] #1939.22-6.2 D4 | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Factory Woman, small size | bgcolor="#FFFFE0" | '''557''' | bgcolor="#FFFFE0" | 1655 | bgcolor="#FFFFE0" | 1670 | bgcolor="#FFFFE0" | 616B (A109) | bgcolor="#FFFFE0" | 677II (cd I) | bgcolor="#FFFFE0" | ??? | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1937.07 [[File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|50x50px]] #1939.23-6.3 D4 | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Kolkhoz Woman | bgcolor="#FFFFE0" | '''558''' | bgcolor="#FFFFE0" | 442 | bgcolor="#FFFFE0" | 503 | bgcolor="#FFFFE0" | 617 (A97) | bgcolor="#FFFFE0" | 578 (bz) | bgcolor="#FFFFE0" | 727h ('''141''') | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1937.12 [[File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|50x50px]] #1939.24-6.4 D4 | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Lenin | bgcolor="#FFFFE0" | '''559''' | bgcolor="#FFFFE0" | 443 | bgcolor="#FFFFE0" | 504 | bgcolor="#FFFFE0" | 619 (A104) | bgcolor="#FFFFE0" | 579 (cf) | bgcolor="#FFFFE0" | 727l ('''144''') | bgcolor="#FFFFE0" | ??? |} === 7 1937.11.15-1937.12.23 (Aviation) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''7 Air. Soviet Aviation''' (Aviation)<br /> '''7. Авиапочта. Самолеты СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|50x50px]] #1939.25-7.1 A | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Yakovlev AIR-7/Ya-7 | bgcolor="#FFFFE0" | '''560''' | bgcolor="#FFFFE0" | 473 | bgcolor="#FFFFE0" | 530 | bgcolor="#FFFFE0" | C69 ('''AP34''') | bgcolor="#FFFFE0" | 571 ('''Faj''') | bgcolor="#FFFFE0" | 746 ('''219''') | bgcolor="#FFFFE0" | Aér 60 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|50x50px]] #1939.26-7.2 A | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Tupolev ANT-9 | bgcolor="#FFFFE0" | '''561''' | bgcolor="#FFFFE0" | 474 | bgcolor="#FFFFE0" | 531 | bgcolor="#FFFFE0" | C70 (AP34) | bgcolor="#FFFFE0" | 572 ('''Fak''') | bgcolor="#FFFFE0" | 747 | bgcolor="#FFFFE0" | Aér 61 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|50x50px]] #1939.27-7.3 A | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Tupolev ANT-6 | bgcolor="#FFFFE0" | '''562''' | bgcolor="#FFFFE0" | 475 | bgcolor="#FFFFE0" | 532 | bgcolor="#FFFFE0" | C71 (AP34) | bgcolor="#FFFFE0" | 573 ('''Fal''') | bgcolor="#FFFFE0" | 748 | bgcolor="#FFFFE0" | Aér 62 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|50x50px]] #1939.28-7.4 A | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Chyetverikov OSGA-101/SPL | bgcolor="#FFFFE0" | '''563''' | bgcolor="#FFFFE0" | 476 | bgcolor="#FFFFE0" | 533 | bgcolor="#FFFFE0" | C72 (AP34) | bgcolor="#FFFFE0" | 574 ('''Fam''') | bgcolor="#FFFFE0" | 749 | bgcolor="#FFFFE0" | Aér 63 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|50x50px]] #1939.29-7.5 A | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Tupolev ANT-4 | bgcolor="#FFFFE0" | '''564''' | bgcolor="#FFFFE0" | 477 | bgcolor="#FFFFE0" | 534 | bgcolor="#FFFFE0" | C73 (AP34) | bgcolor="#FFFFE0" | 575 ('''Fan''') | bgcolor="#FFFFE0" | 750 | bgcolor="#FFFFE0" | Aér 64 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|50x50px]] #1939.30-7.6 A | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Tupolev ANT-20 | bgcolor="#FFFFE0" | '''565''' | bgcolor="#FFFFE0" | 478 | bgcolor="#FFFFE0" | 535 | bgcolor="#FFFFE0" | C74 ('''AP35''') | bgcolor="#FFFFE0" | 576 ('''Fao''') | bgcolor="#FFFFE0" | 751 | bgcolor="#FFFFE0" | Aér 65 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|50x50px]] #1939.31-7.7 A | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Tupolev ANT-14 | bgcolor="#FFFFE0" | '''566''' | bgcolor="#FFFFE0" | 479 | bgcolor="#FFFFE0" | 536 | bgcolor="#FFFFE0" | C75 (AP35) | bgcolor="#FFFFE0" | 577 ('''Fap''') | bgcolor="#FFFFE0" | 752 | bgcolor="#FFFFE0" | Aér 66 |} === 8 1937.11.15 (Aviation Exhibition) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''8 Air. All-Union Jubilee Aviation Exhibition, Moscow, November 15-20. Souvenir Sheet''' (Aviation Exhibition)<br /> '''8. Авиапочта. Всесоюзная юбилейная авиационная выставка в Москве 15-20 ноября. Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|50x50px]] #1939.32-8.1 A | bgcolor="#FFFFE0" | 1r&nbsp;x&nbsp;4 | bgcolor="#FFFFE0" | 4&nbsp;x&nbsp;Tupolev ANT-14 | bgcolor="#FFFFE0" | '''567''' | bgcolor="#FFFFE0" | Бл 3 (480) | bgcolor="#FFFFE0" | Блок 3 (536) | bgcolor="#FFFFE0" | C75a (AP35) | bgcolor="#FFFFE0" | Block 3 ('''Faq''' ('''Fap''')) | bgcolor="#FFFFE0" | MS752b (No. 752&nbsp;x&nbsp;4) | bgcolor="#FFFFE0" | Bloc 3 |} === 9 1938.06 (Arms of Federal Republics) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''9 The Elections to the Supreme Councils of Federal Republics. Arms of Federal Republics''' (Arms of Federal Republics)<br /> '''9. Выборы в Верховные Советы союзных республик. Гербы союзных республик''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short Description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|50x50px]] #1939.33-9.1 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of RSFSR | bgcolor="#FFFFE0" | '''568''' | bgcolor="#FFFFE0" | 504 | bgcolor="#FFFFE0" | 560 | bgcolor="#FFFFE0" | ''654'' (A252) | bgcolor="#FFFFE0" | 602 ('''hg''') | bgcolor="#FFFFE0" | ''763'' | bgcolor="#FFFFE0" | ''638'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|50x50px]] #1939.34-9.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Ukraine | bgcolor="#FFFFE0" | '''569''' | bgcolor="#FFFFE0" | 505 | bgcolor="#FFFFE0" | 561 | bgcolor="#FFFFE0" | ''657'' (A252) | bgcolor="#FFFFE0" | 603 ('''hh''') | bgcolor="#FFFFE0" | ''761'' ('''220''') | bgcolor="#FFFFE0" | ''645'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|50x50px]] #1939.35-9.3 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Byelorussia | bgcolor="#FFFFE0" | '''570''' | bgcolor="#FFFFE0" | 506 | bgcolor="#FFFFE0" | 562 | bgcolor="#FFFFE0" | ''649'' (A252) | bgcolor="#FFFFE0" | 604 ('''hi''') | bgcolor="#FFFFE0" | ''755'' | bgcolor="#FFFFE0" | ''642'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|50x50px]] #1939.36-9.4 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Uzbekistan | bgcolor="#FFFFE0" | '''571''' | bgcolor="#FFFFE0" | 507 | bgcolor="#FFFFE0" | 563 | bgcolor="#FFFFE0" | ''653'' (A252) | bgcolor="#FFFFE0" | 605 ('''hk''') | bgcolor="#FFFFE0" | ''762'' | bgcolor="#FFFFE0" | ''641'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|50x50px]] #1939.37-9.5 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Kazakhstan | bgcolor="#FFFFE0" | '''572''' | bgcolor="#FFFFE0" | 508 | bgcolor="#FFFFE0" | 564 | bgcolor="#FFFFE0" | ''651'' (A252) | bgcolor="#FFFFE0" | 606 ('''hl''') | bgcolor="#FFFFE0" | ''757'' | bgcolor="#FFFFE0" | ''639'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|50x50px]] #1939.38-9.6 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Georgia | bgcolor="#FFFFE0" | '''573''' | bgcolor="#FFFFE0" | 509 | bgcolor="#FFFFE0" | 565 | bgcolor="#FFFFE0" | ''650'' (A252) | bgcolor="#FFFFE0" | 607 ('''hm''') | bgcolor="#FFFFE0" | ''756'' | bgcolor="#FFFFE0" | ''643'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|50x50px]] #1939.39-9.7 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Azerbaijan | bgcolor="#FFFFE0" | '''574''' | bgcolor="#FFFFE0" | 510 | bgcolor="#FFFFE0" | 566 | bgcolor="#FFFFE0" | ''648'' (A252) | bgcolor="#FFFFE0" | 608 ('''hn''') | bgcolor="#FFFFE0" | ''754'' | bgcolor="#FFFFE0" | ''635'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|50x50px]] #1939.40-9.8 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Kirghizia | bgcolor="#FFFFE0" | '''575''' | bgcolor="#FFFFE0" | 511 | bgcolor="#FFFFE0" | 567 | bgcolor="#FFFFE0" | ''652'' (A252) | bgcolor="#FFFFE0" | 609 ('''ho''') | bgcolor="#FFFFE0" | ''758'' | bgcolor="#FFFFE0" | ''640'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|50x50px]] #1939.41-9.9 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Tadzhikistan | bgcolor="#FFFFE0" | '''576''' | bgcolor="#FFFFE0" | 512 | bgcolor="#FFFFE0" | 568 | bgcolor="#FFFFE0" | ''655'' (A252) | bgcolor="#FFFFE0" | 610 ('''hp''') | bgcolor="#FFFFE0" | ''759'' | bgcolor="#FFFFE0" | ''636'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|50x50px]] #1939.42-9.10 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Armenia | bgcolor="#FFFFE0" | '''577''' | bgcolor="#FFFFE0" | 513 | bgcolor="#FFFFE0" | 569 | bgcolor="#FFFFE0" | ''647'' ('''A252''') | bgcolor="#FFFFE0" | 611 ('''hq''') | bgcolor="#FFFFE0" | ''753'' | bgcolor="#FFFFE0" | ''637'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|50x50px]] #1939.43-9.11 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Turkmenistan | bgcolor="#FFFFE0" | '''578''' | bgcolor="#FFFFE0" | 514 | bgcolor="#FFFFE0" | 570 | bgcolor="#FFFFE0" | ''656'' (A252) | bgcolor="#FFFFE0" | 612 ('''hr''') | bgcolor="#FFFFE0" | ''760'' | bgcolor="#FFFFE0" | ''644'' |} === 10 1937.12.11 (Arms of USSR) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''10 20th Anniversary of the Great October Socialist Revolution (1917.11.07 (O.&nbsp;S. 1917.10.25)). Arms of USSR''' (Arms of USSR)<br /> '''10. 20-летие Великой Октябрьской социалистической революции (07.11.1917 (25.10.1917)). Государственный герб СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|50x50px]] #1939.44-10.1 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Arms of USSR | bgcolor="#FFFFE0" | '''579''' | bgcolor="#FFFFE0" | 481 | bgcolor="#FFFFE0" | 537 | bgcolor="#FFFFE0" | 658 ('''A353''') | bgcolor="#FFFFE0" | 603 ('''hs''') | bgcolor="#FFFFE0" | 764 ('''221''') | bgcolor="#FFFFE0" | 646 |} <br /> == <div style="background-color:#CFB53B">Society / Общество</div> == Full design (Полное оформление). === People list / Список людей === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Years || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Alexander Pushkin|Pushkin Aleksander Sergeyevich]] | bgcolor="#E0FFE0" | [[w:ru:Пушкин, Александр Сергеевич|Пушкин Александр Сергеевич]] | 1799-1837 | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|536]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|537]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|538]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|539]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|540]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|541]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|542]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|Russia 590]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|591]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|592]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|593]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|594]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|595]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|596]] |- | bgcolor="#E0FFE0" | [[w:Felix Dzerzhinsky|Dzerzhinsky Felix Edmundovich]] | bgcolor="#E0FFE0" | [[w:ru:Дзержинский, Феликс Эдмундович|Дзержинский Феликс Эдмундович]] | 1877-1926 | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|552]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|553]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|554]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|555]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|Russia 606]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|607]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|608]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|609]] |- | bgcolor="#E0FFE0" | [[w:Vladimir Lenin|Lenin Vladimir Ilyich]] | bgcolor="#E0FFE0" | [[w:ru:Ленин, Владимир Ильич|Ленин Владимир Ильич]] | 1870-1924 | [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|559]] | [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|Russia 619]] |} === Occupations list / Список профессий === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Writer|Writer]] | bgcolor="#E0FFE0" | [[w:ru:Писатель|Писатель]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|536]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|537]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|538]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|539]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|540]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|541]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|542]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|Russia 590]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|591]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|592]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|593]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|594]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|595]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|596]] |- | bgcolor="#E0FFE0" | [[w:Statesman|Statesman]] | bgcolor="#E0FFE0" | [[w:ru:Государственный деятель|Государственный деятель]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|552]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|553]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|554]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|555]], [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|559]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|Russia 606]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|607]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|608]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|609]], [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|619]] |- | bgcolor="#E0FFE0" | [[w:Employment#Employee|Employee]] | bgcolor="#E0FFE0" | [[w:ru:Работник|Работник]] | [[w:c:File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|556]], [[w:c:File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|557]] | [[w:c:File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|Russia 616]], [[w:c:File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|616B]] |- | bgcolor="#E0FFE0" | [[w:Kolkhoz|Kolkhoz]] woman | bgcolor="#E0FFE0" | [[w:ru:Колхоз|Колхозница]] | [[w:c:File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|558]] | [[w:c:File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|Russia 617]] |} === Buildings list / Список зданий === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || Locality || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | Tchaikovsky Concert Hall | bgcolor="#E0FFE0" | [[w:ru:Концертный зал имени П. И. Чайковского|Концертный зал имени П. И. Чайковского]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|543]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|545]] | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|Russia 597]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|599]] |- | bgcolor="#E0FFE0" | Telegraph Agency House | bgcolor="#E0FFE0" | Здание ТАСС | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|544]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|546]] | [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|Russia 598]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|600]] |- | bgcolor="#E0FFE0" | [[w:Russian Army Theatre|Russian Army Theatre]] | bgcolor="#E0FFE0" | [[w:ru:Центральный академический театр Российской армии|Центральный академический театр Российской армии]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|547]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|550]] | [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|Russia 601]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|604]] |- | bgcolor="#E0FFE0" | Hotel Moscow | bgcolor="#E0FFE0" | [[w:ru:Москва (гостиница в Москве)|Гостиница Москва]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|548]] | [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|Russia 602]] |- | bgcolor="#E0FFE0" | [[w:Palace of the Soviets|Palace of the Soviets]] | bgcolor="#E0FFE0" | [[w:ru:Дворец Советов|Дворец Советов]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|549]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|551]] | [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|Russia 603]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|603a]] |- | bgcolor="#E0FFE0" | [[w:Embassy of the United States, Moscow|Embassy of the USA]] | bgcolor="#E0FFE0" | [[w:ru:Посольство США в России|Здание посольства США]] | Russia | Moscow | colspan="2" align="center"| [[w:c:File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|Liapine H69]] |} === Human settlements list / Список населенных пунктов === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Moscow|Moscow]] | bgcolor="#E0FFE0" | [[w:ru:Москва|Москва]] | Russia | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|543]], [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|544]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|545]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|546]], [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|547]], [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|548]], [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|549]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|550]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|551]] | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|Russia 597]], [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|598]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|599]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|600]], [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|601]], [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|602]], [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|603]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|603a]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|604]] |- | bgcolor="#E0FFE0" | [[w:Moscow|Moscow]] | bgcolor="#E0FFE0" | [[w:ru:Москва|Москва]] | Russia | colspan="2" align="center"| [[w:c:File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|Liapine H69]] |} === Engineerings list / Список техники === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || Year || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Yakovlev|Yakovlev]] [[w:Yakovlev AIR-7|AIR-7/Ya-7]] | bgcolor="#E0FFE0" | Самолет [[w:ru:ОКБ имени Яковлева|Яковлева]] [[w:ru:АИР#АИР-7|Я-7 (АИР-7)]] | Russia | 1932 | [[w:c:File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|560]] | [[w:c:File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|Russia C69]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-9|ANT-9]] ''Krylia Sovietov'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ПС-9|Ант-9]] "Крылья Советов" | Russia | 1929 | [[w:c:File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|561]] | [[w:c:File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|Russia C70]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev TB-3|ANT-6]] [[w:Bomber|bomber]] | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ТБ-3|Ант-6]] [[w:ru:Бомбардировщик|бомбардировщик]] | Russia | 1930 | [[w:c:File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|562]] | [[w:c:File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|Russia C71]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Chyetverikov|Chyetverikov]] [[w:Chyetverikov SPL|OSGA-101/SPL]] [[w:Flying boat|flying boat]] | bgcolor="#E0FFE0" | Самолет Четверикова ОСГА-101 (СПЛ) [[w:ru:Гидросамолёт#Разновидности|амфибия]] | Russia | 1931 | [[w:c:File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|563]] | [[w:c:File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|Russia C72]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev TB-1|ANT-4]] [[w:Bomber|bomber]] | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ТБ-1|Ант-4]] [[w:ru:Бомбардировщик|бомбардировщик]] | Russia | 1925 | [[w:c:File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|564]] | [[w:c:File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|Russia C73]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-20|ANT-20]] ''Maksim Gorky'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:АНТ-20|Ант-20]] "Максим Горький" | Russia | 1934 | [[w:c:File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|565]] | [[w:c:File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|Russia C74]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-14|ANT-14]] ''Pravda'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:АНТ-14|Ант-14]] "Правда" | Russia | 1931 | [[w:c:File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|566]], [[w:c:File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|567]] | [[w:c:File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|Russia C75]], [[w:c:File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|C75a]] |} === Coat of arms list / Список гербов === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Year || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Russian Soviet Federative Socialist Republic|Russian Soviet Federative Socialist Republic, RSFSR]] | bgcolor="#E0FFE0" | [[w:ru:Российская Советская Федеративная Социалистическая Республика|Российская Советская Федеративная Социалистическая Республика, РСФСР]] | 1937 | [[w:c:File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|568]] | [[w:c:File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|Russia 654]] |- | bgcolor="#E0FFE0" | [[w:Ukrainian Soviet Socialist Republic|Ukrainian Soviet Socialist Republic, USSR]] | bgcolor="#E0FFE0" | [[w:ru:Украинская Советская Социалистическая Республика|Украинская Советская Социалистическая Республика, УССР]] | 1937 | [[w:c:File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|569]] | [[w:c:File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|Russia 657]] |- | bgcolor="#E0FFE0" | [[w:Byelorussian Soviet Socialist Republic|Byelorussian Soviet Socialist Republic, BSSR]] | bgcolor="#E0FFE0" | [[w:ru:Белорусская Советская Социалистическая Республика|Белорусская Советская Социалистическая Республика, БССР]] | 1937 | [[w:c:File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|570]] | [[w:c:File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|Russia 649]] |- | bgcolor="#E0FFE0" | [[w:Uzbek Soviet Socialist Republic|Uzbek Soviet Socialist Republic, UzSSR]] | bgcolor="#E0FFE0" | [[w:ru:Узбекская Советская Социалистическая Республика|Узбекская Советская Социалистическая Республика, УзССР]] | 1937 | [[w:c:File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|571]] | [[w:c:File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|Russia 653]] |- | bgcolor="#E0FFE0" | [[w:Kazakh Soviet Socialist Republic|Kazakh Soviet Socialist Republic, KSSR]] | bgcolor="#E0FFE0" | [[w:ru:Казахская Советская Социалистическая Республика|Казахская Советская Социалистическая Республика, КССР]] | 1937 | [[w:c:File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|572]] | [[w:c:File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|Russia 651]] |- | bgcolor="#E0FFE0" | [[w:Georgian Soviet Socialist Republic|Georgian Soviet Socialist Republic, GSSR]] | bgcolor="#E0FFE0" | [[w:ru:Грузинская Советская Социалистическая Республика|Грузинская Советская Социалистическая Республика, ГССР]] | 1937 | [[w:c:File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|573]] | [[w:c:File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|Russia 650]] |- | bgcolor="#E0FFE0" | [[w:Azerbaijan Soviet Socialist Republic|Azerbaijan Soviet Socialist Republic, AzSSR]] | bgcolor="#E0FFE0" | [[w:ru:Азербайджанская Советская Социалистическая Республика|Азербайджанская Советская Социалистическая Республика, АзССР]] | 1937 | [[w:c:File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|574]] | [[w:c:File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|Russia 648]] |- | bgcolor="#E0FFE0" | [[w:Kirghiz Soviet Socialist Republic|Kirghiz Soviet Socialist Republic, KirSSR]] | bgcolor="#E0FFE0" | [[w:ru:Киргизская Советская Социалистическая Республика|Киргизская Советская Социалистическая Республика, КирССР]] | 1937 | [[w:c:File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|575]] | [[w:c:File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|Russia 652]] |- | bgcolor="#E0FFE0" | [[w:Tajik Soviet Socialist Republic|Tajik Soviet Socialist Republic, TSSR]] | bgcolor="#E0FFE0" | [[w:ru:Таджикская Советская Социалистическая Республика|Таджикская Советская Социалистическая Республика, ТССР]] | 1937 | [[w:c:File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|576]] | [[w:c:File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|Russia 655]] |- | bgcolor="#E0FFE0" | [[w:Armenian Soviet Socialist Republic|Armenian Soviet Socialist Republic, ASSR]] | bgcolor="#E0FFE0" | [[w:ru:Армянская Советская Социалистическая Республика|Армянская Советская Социалистическая Республика, АССР]] | 1937 | [[w:c:File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|577]] | [[w:c:File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|Russia 647]] |- | bgcolor="#E0FFE0" | [[w:Turkmen Soviet Socialist Republic|Turkmen Soviet Socialist Republic, TurSSR]] | bgcolor="#E0FFE0" | [[w:ru:Туркменская Советская Социалистическая Республика|Туркменская Советская Социалистическая Республика, ТурССР]] | 1937 | [[w:c:File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|578]] | [[w:c:File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|Russia 656]] |- | bgcolor="#E0FFE0" | [[w:Soviet Union|The Union of Soviet Socialist Republics, USSR]] | bgcolor="#E0FFE0" | [[w:ru:Союз Советских Социалистических Республик|Союз Советских Социалистических Республик, СССР]] | 1937 | [[w:c:File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|579]] | [[w:c:File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|Russia 658]] |} == <div style="background-color:#50C878">Nature / Природа</div> == Stamps are absent. <br /> Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска! <center> [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" align=center | [[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|'''<big>1937</big>''']] [[:World Stamp Catalogue/Soviet Union/1938|1938]] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} </center> {{BookCat|filing=deep}} ssy1ukdnb7g530nq8uhq8wnafktvmf2 4656872 4656871 2026-08-09T22:37:06Z ShakespeareFan00 46022 Undid revision [[Special:Diff/4656871|4656871]] by [[Special:Contributions/ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]]) 4656872 wikitext text/x-wiki {{center/top}} [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" align=center |[[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|'''<big>1937</big>''']] [[:World Stamp Catalogue/Soviet Union/1938|1938]] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} {{center/end}} <div style="text-align: center;">CPA # 536-579 (44 stamps, 10 series)</div> '''Here complete descriptions of 1937 USSR stamps are given.'''<br /> '''Здесь приведены полные описания почтовых марок СССР 1937 года.''' * All available images of 1937 USSR stamps are on the Wikimedia Commons:<br /> * Все имеющиеся изображения почтовых марок СССР 1937 года находятся на Викискладе:<br /> *[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Category:1937 all stamps of the Soviet Union|1937 all stamps of the Soviet Union]] :* You can also see standard images of 1937 USSR stamps on Wikimedia commons:<br /> :* Типовые изображения почтовых марок СССР 1937 года можно также посмотреть на Викискладе:<br /> :*[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Каталог ЦФА (1-1000)|Каталог ЦФА (1-1000)]]<br> Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска!<br /> The names of stamps and stamp series are made according to all used 7 catalogues.<br /> Названия марок и серий марок составлены по всем используемым 7 каталогам.<br /> == Short descriptions / Краткие описания == Full design (Полное оформление).<br /> A - Airmail stamp (Авиапочтовая марка)<br /> C - [[w:Commemorative stamp|Commemorative stamp]] ([[w:ru:Коммеморативная марка|Коммеморативная марка]])<br /> D4 - [[w:Definitive stamp|Definitive stamp]] of 4th series ([[w:ru:Стандартная марка|Стандартная марка]] 4-го выпуска)<br /> === 1 1937.02.10-1937.07 (Aleksander Sergeyevich Pushkin) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''1 Death Centenary of Aleksander Sergeyevich Pushkin (1799-1837), Writer and Poet''' (Aleksander Sergeyevich Pushkin)<br /> '''1. 100-летие со дня смерти русского поэта, драматурга и прозаика А.&nbsp;С.&nbsp;Пушкина (1799-1837)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|50x50px]] #1937.1-1.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Pushkin, Portrait 10k | bgcolor="#FFFFE0" | '''536''' | bgcolor="#FFFFE0" | 445 | bgcolor="#FFFFE0" | 505 | bgcolor="#FFFFE0" | 590 ('''A228''') | bgcolor="#FFFFE0" | 549 ('''gi''') | bgcolor="#FFFFE0" | 728 ('''215''') | bgcolor="#FFFFE0" | 590 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|50x50px]] #1937.2-1.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Pushkin, Portrait 20k | bgcolor="#FFFFE0" | '''537''' | bgcolor="#FFFFE0" | 446 | bgcolor="#FFFFE0" | 506 | bgcolor="#FFFFE0" | 591 (A228) | bgcolor="#FFFFE0" | 550 (gi) | bgcolor="#FFFFE0" | 729 | bgcolor="#FFFFE0" | 591 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|50x50px]] #1937.3-1.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Pushkin, Portrait 40k | bgcolor="#FFFFE0" | '''538''' | bgcolor="#FFFFE0" | 447 | bgcolor="#FFFFE0" | 507 | bgcolor="#FFFFE0" | 592 (A228) | bgcolor="#FFFFE0" | 551 (gi) | bgcolor="#FFFFE0" | 730 | bgcolor="#FFFFE0" | 592 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|50x50px]] #1937.4-1.4 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Pushkin, Monument 50k | bgcolor="#FFFFE0" | '''539''' | bgcolor="#FFFFE0" | 448 | bgcolor="#FFFFE0" | 508 | bgcolor="#FFFFE0" | 593 ('''A229''') | bgcolor="#FFFFE0" | 552 ('''gj''') | bgcolor="#FFFFE0" | 731 ('''216''') | bgcolor="#FFFFE0" | 593 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|50x50px]] #1937.5-1.5 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Pushkin, Monument 80k | bgcolor="#FFFFE0" | '''540''' | bgcolor="#FFFFE0" | 449 | bgcolor="#FFFFE0" | 509 | bgcolor="#FFFFE0" | 594 (A229) | bgcolor="#FFFFE0" | 553 (gj) | bgcolor="#FFFFE0" | 732a | bgcolor="#FFFFE0" | 594 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|50x50px]] #1937.6-1.6 C | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Pushkin, Monument 1r | bgcolor="#FFFFE0" | '''541''' | bgcolor="#FFFFE0" | 450 | bgcolor="#FFFFE0" | 510 | bgcolor="#FFFFE0" | 595 (A229) | bgcolor="#FFFFE0" | 554 (gj) | bgcolor="#FFFFE0" | 733a | bgcolor="#FFFFE0" | 595 |} === 2 1937.02.16 (Pushkin Exhibition) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''2 The All-Union Pushkin Exhibition, Moscow (16.02-03.05.1937). Souvenir Sheet''' (Pushkin Exhibition)<br /> '''2. Всесоюзная Пушкинская выставка в Москве (1937.02.16-05.03). Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|50x50px]] #1937.7-2.1 C | bgcolor="#FFFFE0" | 10k&nbsp;+&nbsp;50k | bgcolor="#FFFFE0" | Pushkin, Portrait and Monument | bgcolor="#FFFFE0" | '''542''' | bgcolor="#FFFFE0" | Бл 1 (451, 452) | bgcolor="#FFFFE0" | Блок 1 (505, 508) | bgcolor="#FFFFE0" | 596 (A228-A229) | bgcolor="#FFFFE0" | Block 1 ('''gk''' (gi, gj)) | bgcolor="#FFFFE0" | MS733c (215, 216) | bgcolor="#FFFFE0" | Bloc 1 |} === 3 1937.06.16 (Moscow) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''3 Architecture of New Moscow (On 1st Congress of Soviet Architects, 1937.06.16-26)''' (Moscow)<br /> '''3. Архитектура новой Москвы (К 1-му съезду советских архитекторов, 16-26.06.1937)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|50x50px]] #1937.8-3.1 C | bgcolor="#FFFFE0" | 3k | bgcolor="#FFFFE0" | Tchaikovsky Concert Hall 3k | bgcolor="#FFFFE0" | '''543''' | bgcolor="#FFFFE0" | 460 | bgcolor="#FFFFE0" | 511 | bgcolor="#FFFFE0" | 597 ('''A230''') | bgcolor="#FFFFE0" | 558 ('''gl''') | bgcolor="#FFFFE0" | 734 ('''217''') | bgcolor="#FFFFE0" | 596 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|50x50px]] #1937.9-3.2 C | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | Telegraph Agency House 5k | bgcolor="#FFFFE0" | '''544''' | bgcolor="#FFFFE0" | 461 | bgcolor="#FFFFE0" | 512 | bgcolor="#FFFFE0" | 598 (A230) | bgcolor="#FFFFE0" | 559 ('''gm''') | bgcolor="#FFFFE0" | 735 | bgcolor="#FFFFE0" | 597 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|50x50px]] #1937.10-3.3 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Tchaikovsky Concert Hall 10k | bgcolor="#FFFFE0" | '''545''' | bgcolor="#FFFFE0" | 462 | bgcolor="#FFFFE0" | 513 | bgcolor="#FFFFE0" | 599 (A230) | bgcolor="#FFFFE0" | 560 (gl) | bgcolor="#FFFFE0" | 736 ('''217''') | bgcolor="#FFFFE0" | 598 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|50x50px]] #1937.11-3.4 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Telegraph Agency House 15k | bgcolor="#FFFFE0" | '''546''' | bgcolor="#FFFFE0" | 463 | bgcolor="#FFFFE0" | 514 | bgcolor="#FFFFE0" | 600 (A230) | bgcolor="#FFFFE0" | 561 (gm) | bgcolor="#FFFFE0" | 737 | bgcolor="#FFFFE0" | 599 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|50x50px]] #1937.12-3.5 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Russian Army Theatre 20k | bgcolor="#FFFFE0" | '''547''' | bgcolor="#FFFFE0" | 464 | bgcolor="#FFFFE0" | 515 | bgcolor="#FFFFE0" | 601 (A230) | bgcolor="#FFFFE0" | 562 ('''gn''') | bgcolor="#FFFFE0" | 738 | bgcolor="#FFFFE0" | 600 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|50x50px]] #1937.13-3.6 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Hotel Moscow | bgcolor="#FFFFE0" | '''548''' | bgcolor="#FFFFE0" | 465 | bgcolor="#FFFFE0" | 516 | bgcolor="#FFFFE0" | 602 (A230) | bgcolor="#FFFFE0" | 563 ('''go''') | bgcolor="#FFFFE0" | 739 | bgcolor="#FFFFE0" | 601 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|50x50px]] #1937.14-3.7 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Palace of the Soviets | bgcolor="#FFFFE0" | '''549''' | bgcolor="#FFFFE0" | 466 | bgcolor="#FFFFE0" | 517 | bgcolor="#FFFFE0" | 603 (A230) | bgcolor="#FFFFE0" | 564 (gp) | bgcolor="#FFFFE0" | 740 | bgcolor="#FFFFE0" | 602 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|50x50px]] #1937.15-3.8 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Russian Army Theatre 50k | bgcolor="#FFFFE0" | '''550''' | bgcolor="#FFFFE0" | 467 | bgcolor="#FFFFE0" | 518 | bgcolor="#FFFFE0" | 604 (A230) | bgcolor="#FFFFE0" | 565 (gn) | bgcolor="#FFFFE0" | 741 | bgcolor="#FFFFE0" | 603 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|50x50px]] #1937.15H-3.8H C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Embassy of the USA | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | H69 | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- |} === 4 1937.06.16 (Congress of Architects) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''4 1st All-Union Congress of Architects (1937.06.16-26). Souvenir Sheet''' (Congress of Architects)<br /> '''4. 1-й Всесоюзный съезд архитекторов (16-26.06.1937). Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|50x50px]] #1937.16-4.1 C | bgcolor="#FFFFE0" | 40k&nbsp;х&nbsp;4 | bgcolor="#FFFFE0" | 4&nbsp;х&nbsp;Palace of the Soviets | bgcolor="#FFFFE0" | '''551''' | bgcolor="#FFFFE0" | Бл 2 (468) | bgcolor="#FFFFE0" | Блок 2 (517) | bgcolor="#FFFFE0" | 603a (A230) | bgcolor="#FFFFE0" | Block 2 ('''gq''' ('''gp''')) | bgcolor="#FFFFE0" | MS741a (as No. 740) | bgcolor="#FFFFE0" | Bloc 2 |} === 5 1937.07.22 (Feliks Dzerzhinsky) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''5 10th Death Anniversary of Feliks E.&nbsp;Dzerzhinsky (1877-1826), Soviet Statesman and Figure of Communist Party, Organizer of Soviet Secret Police''' (Feliks Dzerzhinsky)<br />'''5. 10-летие со дня смерти деятеля Коммунистической партии и Советского государства, основателя Всероссийской чрезвычайной комиссии Ф.&nbsp;Э.&nbsp;Дзержинского (1877-1926)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|50x50px]] #1937.17-5.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 10k | bgcolor="#FFFFE0" | '''552''' | bgcolor="#FFFFE0" | 469 | bgcolor="#FFFFE0" | 526 | bgcolor="#FFFFE0" | 606 ('''A235''') | bgcolor="#FFFFE0" | 566 ('''gr''') | bgcolor="#FFFFE0" | 742 ('''218''') | bgcolor="#FFFFE0" | 604 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|50x50px]] #1937.18-5.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 20k | bgcolor="#FFFFE0" | '''553''' | bgcolor="#FFFFE0" | 470 | bgcolor="#FFFFE0" | 527 | bgcolor="#FFFFE0" | 607 (A235) | bgcolor="#FFFFE0" | 567 (gr) | bgcolor="#FFFFE0" | 743 | bgcolor="#FFFFE0" | 605 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|50x50px]] #1937.19-5.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 40k | bgcolor="#FFFFE0" | '''554''' | bgcolor="#FFFFE0" | 471 | bgcolor="#FFFFE0" | 528 | bgcolor="#FFFFE0" | 608 (A235) | bgcolor="#FFFFE0" | 568 (gr) | bgcolor="#FFFFE0" | 744 | bgcolor="#FFFFE0" | 606 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|50x50px]] #1937.20-5.4 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 80k | bgcolor="#FFFFE0" | '''555''' | bgcolor="#FFFFE0" | 472 | bgcolor="#FFFFE0" | 529 | bgcolor="#FFFFE0" | 609 (A235) | bgcolor="#FFFFE0" | 569 (gr) | bgcolor="#FFFFE0" | 745 | bgcolor="#FFFFE0" | 607 |} === 6 1937.07-1953.01 (4th Definitive Stamps) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''6 The 4th Series of the Definitive Stamps of the USSR''' (4th Definitive Stamps)<br /> '''6. Четвертый стандартный выпуск почтовых марок СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | 1938.03 [[File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|50x50px]] #1939.21-6.1 D4 | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Factory Woman, large size | bgcolor="#FFFFE0" | '''556''' | bgcolor="#FFFFE0" | 441 | bgcolor="#FFFFE0" | 502 | bgcolor="#FFFFE0" | 616 (A109) | bgcolor="#FFFFE0" | 677I ('''cd I''') | bgcolor="#FFFFE0" | 727f ('''139''') | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1953.01 [[File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|50x50px]] #1939.22-6.2 D4 | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Factory Woman, small size | bgcolor="#FFFFE0" | '''557''' | bgcolor="#FFFFE0" | 1655 | bgcolor="#FFFFE0" | 1670 | bgcolor="#FFFFE0" | 616B (A109) | bgcolor="#FFFFE0" | 677II (cd I) | bgcolor="#FFFFE0" | ??? | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1937.07 [[File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|50x50px]] #1939.23-6.3 D4 | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Kolkhoz Woman | bgcolor="#FFFFE0" | '''558''' | bgcolor="#FFFFE0" | 442 | bgcolor="#FFFFE0" | 503 | bgcolor="#FFFFE0" | 617 (A97) | bgcolor="#FFFFE0" | 578 (bz) | bgcolor="#FFFFE0" | 727h ('''141''') | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1937.12 [[File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|50x50px]] #1939.24-6.4 D4 | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Lenin | bgcolor="#FFFFE0" | '''559''' | bgcolor="#FFFFE0" | 443 | bgcolor="#FFFFE0" | 504 | bgcolor="#FFFFE0" | 619 (A104) | bgcolor="#FFFFE0" | 579 (cf) | bgcolor="#FFFFE0" | 727l ('''144''') | bgcolor="#FFFFE0" | ??? |} === 7 1937.11.15-1937.12.23 (Aviation) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''7 Air. Soviet Aviation''' (Aviation)<br /> '''7. Авиапочта. Самолеты СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|50x50px]] #1939.25-7.1 A | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Yakovlev AIR-7/Ya-7 | bgcolor="#FFFFE0" | '''560''' | bgcolor="#FFFFE0" | 473 | bgcolor="#FFFFE0" | 530 | bgcolor="#FFFFE0" | C69 ('''AP34''') | bgcolor="#FFFFE0" | 571 ('''Faj''') | bgcolor="#FFFFE0" | 746 ('''219''') | bgcolor="#FFFFE0" | Aér 60 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|50x50px]] #1939.26-7.2 A | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Tupolev ANT-9 | bgcolor="#FFFFE0" | '''561''' | bgcolor="#FFFFE0" | 474 | bgcolor="#FFFFE0" | 531 | bgcolor="#FFFFE0" | C70 (AP34) | bgcolor="#FFFFE0" | 572 ('''Fak''') | bgcolor="#FFFFE0" | 747 | bgcolor="#FFFFE0" | Aér 61 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|50x50px]] #1939.27-7.3 A | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Tupolev ANT-6 | bgcolor="#FFFFE0" | '''562''' | bgcolor="#FFFFE0" | 475 | bgcolor="#FFFFE0" | 532 | bgcolor="#FFFFE0" | C71 (AP34) | bgcolor="#FFFFE0" | 573 ('''Fal''') | bgcolor="#FFFFE0" | 748 | bgcolor="#FFFFE0" | Aér 62 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|50x50px]] #1939.28-7.4 A | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Chyetverikov OSGA-101/SPL | bgcolor="#FFFFE0" | '''563''' | bgcolor="#FFFFE0" | 476 | bgcolor="#FFFFE0" | 533 | bgcolor="#FFFFE0" | C72 (AP34) | bgcolor="#FFFFE0" | 574 ('''Fam''') | bgcolor="#FFFFE0" | 749 | bgcolor="#FFFFE0" | Aér 63 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|50x50px]] #1939.29-7.5 A | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Tupolev ANT-4 | bgcolor="#FFFFE0" | '''564''' | bgcolor="#FFFFE0" | 477 | bgcolor="#FFFFE0" | 534 | bgcolor="#FFFFE0" | C73 (AP34) | bgcolor="#FFFFE0" | 575 ('''Fan''') | bgcolor="#FFFFE0" | 750 | bgcolor="#FFFFE0" | Aér 64 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|50x50px]] #1939.30-7.6 A | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Tupolev ANT-20 | bgcolor="#FFFFE0" | '''565''' | bgcolor="#FFFFE0" | 478 | bgcolor="#FFFFE0" | 535 | bgcolor="#FFFFE0" | C74 ('''AP35''') | bgcolor="#FFFFE0" | 576 ('''Fao''') | bgcolor="#FFFFE0" | 751 | bgcolor="#FFFFE0" | Aér 65 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|50x50px]] #1939.31-7.7 A | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Tupolev ANT-14 | bgcolor="#FFFFE0" | '''566''' | bgcolor="#FFFFE0" | 479 | bgcolor="#FFFFE0" | 536 | bgcolor="#FFFFE0" | C75 (AP35) | bgcolor="#FFFFE0" | 577 ('''Fap''') | bgcolor="#FFFFE0" | 752 | bgcolor="#FFFFE0" | Aér 66 |} === 8 1937.11.15 (Aviation Exhibition) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''8 Air. All-Union Jubilee Aviation Exhibition, Moscow, November 15-20. Souvenir Sheet''' (Aviation Exhibition)<br /> '''8. Авиапочта. Всесоюзная юбилейная авиационная выставка в Москве 15-20 ноября. Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|50x50px]] #1939.32-8.1 A | bgcolor="#FFFFE0" | 1r&nbsp;x&nbsp;4 | bgcolor="#FFFFE0" | 4&nbsp;x&nbsp;Tupolev ANT-14 | bgcolor="#FFFFE0" | '''567''' | bgcolor="#FFFFE0" | Бл 3 (480) | bgcolor="#FFFFE0" | Блок 3 (536) | bgcolor="#FFFFE0" | C75a (AP35) | bgcolor="#FFFFE0" | Block 3 ('''Faq''' ('''Fap''')) | bgcolor="#FFFFE0" | MS752b (No. 752&nbsp;x&nbsp;4) | bgcolor="#FFFFE0" | Bloc 3 |} === 9 1938.06 (Arms of Federal Republics) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''9 The Elections to the Supreme Councils of Federal Republics. Arms of Federal Republics''' (Arms of Federal Republics)<br /> '''9. Выборы в Верховные Советы союзных республик. Гербы союзных республик''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short Description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|50x50px]] #1939.33-9.1 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of RSFSR | bgcolor="#FFFFE0" | '''568''' | bgcolor="#FFFFE0" | 504 | bgcolor="#FFFFE0" | 560 | bgcolor="#FFFFE0" | ''654'' (A252) | bgcolor="#FFFFE0" | 602 ('''hg''') | bgcolor="#FFFFE0" | ''763'' | bgcolor="#FFFFE0" | ''638'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|50x50px]] #1939.34-9.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Ukraine | bgcolor="#FFFFE0" | '''569''' | bgcolor="#FFFFE0" | 505 | bgcolor="#FFFFE0" | 561 | bgcolor="#FFFFE0" | ''657'' (A252) | bgcolor="#FFFFE0" | 603 ('''hh''') | bgcolor="#FFFFE0" | ''761'' ('''220''') | bgcolor="#FFFFE0" | ''645'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|50x50px]] #1939.35-9.3 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Byelorussia | bgcolor="#FFFFE0" | '''570''' | bgcolor="#FFFFE0" | 506 | bgcolor="#FFFFE0" | 562 | bgcolor="#FFFFE0" | ''649'' (A252) | bgcolor="#FFFFE0" | 604 ('''hi''') | bgcolor="#FFFFE0" | ''755'' | bgcolor="#FFFFE0" | ''642'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|50x50px]] #1939.36-9.4 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Uzbekistan | bgcolor="#FFFFE0" | '''571''' | bgcolor="#FFFFE0" | 507 | bgcolor="#FFFFE0" | 563 | bgcolor="#FFFFE0" | ''653'' (A252) | bgcolor="#FFFFE0" | 605 ('''hk''') | bgcolor="#FFFFE0" | ''762'' | bgcolor="#FFFFE0" | ''641'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|50x50px]] #1939.37-9.5 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Kazakhstan | bgcolor="#FFFFE0" | '''572''' | bgcolor="#FFFFE0" | 508 | bgcolor="#FFFFE0" | 564 | bgcolor="#FFFFE0" | ''651'' (A252) | bgcolor="#FFFFE0" | 606 ('''hl''') | bgcolor="#FFFFE0" | ''757'' | bgcolor="#FFFFE0" | ''639'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|50x50px]] #1939.38-9.6 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Georgia | bgcolor="#FFFFE0" | '''573''' | bgcolor="#FFFFE0" | 509 | bgcolor="#FFFFE0" | 565 | bgcolor="#FFFFE0" | ''650'' (A252) | bgcolor="#FFFFE0" | 607 ('''hm''') | bgcolor="#FFFFE0" | ''756'' | bgcolor="#FFFFE0" | ''643'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|50x50px]] #1939.39-9.7 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Azerbaijan | bgcolor="#FFFFE0" | '''574''' | bgcolor="#FFFFE0" | 510 | bgcolor="#FFFFE0" | 566 | bgcolor="#FFFFE0" | ''648'' (A252) | bgcolor="#FFFFE0" | 608 ('''hn''') | bgcolor="#FFFFE0" | ''754'' | bgcolor="#FFFFE0" | ''635'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|50x50px]] #1939.40-9.8 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Kirghizia | bgcolor="#FFFFE0" | '''575''' | bgcolor="#FFFFE0" | 511 | bgcolor="#FFFFE0" | 567 | bgcolor="#FFFFE0" | ''652'' (A252) | bgcolor="#FFFFE0" | 609 ('''ho''') | bgcolor="#FFFFE0" | ''758'' | bgcolor="#FFFFE0" | ''640'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|50x50px]] #1939.41-9.9 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Tadzhikistan | bgcolor="#FFFFE0" | '''576''' | bgcolor="#FFFFE0" | 512 | bgcolor="#FFFFE0" | 568 | bgcolor="#FFFFE0" | ''655'' (A252) | bgcolor="#FFFFE0" | 610 ('''hp''') | bgcolor="#FFFFE0" | ''759'' | bgcolor="#FFFFE0" | ''636'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|50x50px]] #1939.42-9.10 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Armenia | bgcolor="#FFFFE0" | '''577''' | bgcolor="#FFFFE0" | 513 | bgcolor="#FFFFE0" | 569 | bgcolor="#FFFFE0" | ''647'' ('''A252''') | bgcolor="#FFFFE0" | 611 ('''hq''') | bgcolor="#FFFFE0" | ''753'' | bgcolor="#FFFFE0" | ''637'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|50x50px]] #1939.43-9.11 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Turkmenistan | bgcolor="#FFFFE0" | '''578''' | bgcolor="#FFFFE0" | 514 | bgcolor="#FFFFE0" | 570 | bgcolor="#FFFFE0" | ''656'' (A252) | bgcolor="#FFFFE0" | 612 ('''hr''') | bgcolor="#FFFFE0" | ''760'' | bgcolor="#FFFFE0" | ''644'' |} === 10 1937.12.11 (Arms of USSR) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''10 20th Anniversary of the Great October Socialist Revolution (1917.11.07 (O.&nbsp;S. 1917.10.25)). Arms of USSR''' (Arms of USSR)<br /> '''10. 20-летие Великой Октябрьской социалистической революции (07.11.1917 (25.10.1917)). Государственный герб СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|50x50px]] #1939.44-10.1 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Arms of USSR | bgcolor="#FFFFE0" | '''579''' | bgcolor="#FFFFE0" | 481 | bgcolor="#FFFFE0" | 537 | bgcolor="#FFFFE0" | 658 ('''A353''') | bgcolor="#FFFFE0" | 603 ('''hs''') | bgcolor="#FFFFE0" | 764 ('''221''') | bgcolor="#FFFFE0" | 646 |} <br /> == <div style="background-color:#CFB53B">Society / Общество</div> == Full design (Полное оформление). === People list / Список людей === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Years || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Alexander Pushkin|Pushkin Aleksander Sergeyevich]] | bgcolor="#E0FFE0" | [[w:ru:Пушкин, Александр Сергеевич|Пушкин Александр Сергеевич]] | 1799-1837 | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|536]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|537]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|538]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|539]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|540]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|541]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|542]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|Russia 590]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|591]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|592]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|593]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|594]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|595]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|596]] |- | bgcolor="#E0FFE0" | [[w:Felix Dzerzhinsky|Dzerzhinsky Felix Edmundovich]] | bgcolor="#E0FFE0" | [[w:ru:Дзержинский, Феликс Эдмундович|Дзержинский Феликс Эдмундович]] | 1877-1926 | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|552]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|553]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|554]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|555]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|Russia 606]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|607]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|608]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|609]] |- | bgcolor="#E0FFE0" | [[w:Vladimir Lenin|Lenin Vladimir Ilyich]] | bgcolor="#E0FFE0" | [[w:ru:Ленин, Владимир Ильич|Ленин Владимир Ильич]] | 1870-1924 | [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|559]] | [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|Russia 619]] |} === Occupations list / Список профессий === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Writer|Writer]] | bgcolor="#E0FFE0" | [[w:ru:Писатель|Писатель]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|536]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|537]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|538]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|539]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|540]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|541]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|542]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|Russia 590]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|591]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|592]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|593]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|594]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|595]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|596]] |- | bgcolor="#E0FFE0" | [[w:Statesman|Statesman]] | bgcolor="#E0FFE0" | [[w:ru:Государственный деятель|Государственный деятель]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|552]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|553]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|554]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|555]], [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|559]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|Russia 606]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|607]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|608]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|609]], [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|619]] |- | bgcolor="#E0FFE0" | [[w:Employment#Employee|Employee]] | bgcolor="#E0FFE0" | [[w:ru:Работник|Работник]] | [[w:c:File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|556]], [[w:c:File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|557]] | [[w:c:File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|Russia 616]], [[w:c:File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|616B]] |- | bgcolor="#E0FFE0" | [[w:Kolkhoz|Kolkhoz]] woman | bgcolor="#E0FFE0" | [[w:ru:Колхоз|Колхозница]] | [[w:c:File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|558]] | [[w:c:File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|Russia 617]] |} === Buildings list / Список зданий === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || Locality || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | Tchaikovsky Concert Hall | bgcolor="#E0FFE0" | [[w:ru:Концертный зал имени П. И. Чайковского|Концертный зал имени П. И. Чайковского]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|543]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|545]] | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|Russia 597]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|599]] |- | bgcolor="#E0FFE0" | Telegraph Agency House | bgcolor="#E0FFE0" | Здание ТАСС | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|544]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|546]] | [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|Russia 598]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|600]] |- | bgcolor="#E0FFE0" | [[w:Russian Army Theatre|Russian Army Theatre]] | bgcolor="#E0FFE0" | [[w:ru:Центральный академический театр Российской армии|Центральный академический театр Российской армии]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|547]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|550]] | [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|Russia 601]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|604]] |- | bgcolor="#E0FFE0" | Hotel Moscow | bgcolor="#E0FFE0" | [[w:ru:Москва (гостиница в Москве)|Гостиница Москва]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|548]] | [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|Russia 602]] |- | bgcolor="#E0FFE0" | [[w:Palace of the Soviets|Palace of the Soviets]] | bgcolor="#E0FFE0" | [[w:ru:Дворец Советов|Дворец Советов]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|549]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|551]] | [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|Russia 603]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|603a]] |- | bgcolor="#E0FFE0" | [[w:Embassy of the United States, Moscow|Embassy of the USA]] | bgcolor="#E0FFE0" | [[w:ru:Посольство США в России|Здание посольства США]] | Russia | Moscow | colspan="2" align="center"| [[w:c:File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|Liapine H69]] |} === Human settlements list / Список населенных пунктов === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Moscow|Moscow]] | bgcolor="#E0FFE0" | [[w:ru:Москва|Москва]] | Russia | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|543]], [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|544]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|545]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|546]], [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|547]], [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|548]], [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|549]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|550]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|551]] | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|Russia 597]], [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|598]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|599]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|600]], [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|601]], [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|602]], [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|603]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|603a]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|604]] |- | bgcolor="#E0FFE0" | [[w:Moscow|Moscow]] | bgcolor="#E0FFE0" | [[w:ru:Москва|Москва]] | Russia | colspan="2" align="center"| [[w:c:File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|Liapine H69]] |} === Engineerings list / Список техники === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || Year || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Yakovlev|Yakovlev]] [[w:Yakovlev AIR-7|AIR-7/Ya-7]] | bgcolor="#E0FFE0" | Самолет [[w:ru:ОКБ имени Яковлева|Яковлева]] [[w:ru:АИР#АИР-7|Я-7 (АИР-7)]] | Russia | 1932 | [[w:c:File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|560]] | [[w:c:File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|Russia C69]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-9|ANT-9]] ''Krylia Sovietov'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ПС-9|Ант-9]] "Крылья Советов" | Russia | 1929 | [[w:c:File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|561]] | [[w:c:File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|Russia C70]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev TB-3|ANT-6]] [[w:Bomber|bomber]] | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ТБ-3|Ант-6]] [[w:ru:Бомбардировщик|бомбардировщик]] | Russia | 1930 | [[w:c:File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|562]] | [[w:c:File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|Russia C71]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Chyetverikov|Chyetverikov]] [[w:Chyetverikov SPL|OSGA-101/SPL]] [[w:Flying boat|flying boat]] | bgcolor="#E0FFE0" | Самолет Четверикова ОСГА-101 (СПЛ) [[w:ru:Гидросамолёт#Разновидности|амфибия]] | Russia | 1931 | [[w:c:File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|563]] | [[w:c:File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|Russia C72]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev TB-1|ANT-4]] [[w:Bomber|bomber]] | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ТБ-1|Ант-4]] [[w:ru:Бомбардировщик|бомбардировщик]] | Russia | 1925 | [[w:c:File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|564]] | [[w:c:File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|Russia C73]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-20|ANT-20]] ''Maksim Gorky'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:АНТ-20|Ант-20]] "Максим Горький" | Russia | 1934 | [[w:c:File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|565]] | [[w:c:File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|Russia C74]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-14|ANT-14]] ''Pravda'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:АНТ-14|Ант-14]] "Правда" | Russia | 1931 | [[w:c:File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|566]], [[w:c:File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|567]] | [[w:c:File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|Russia C75]], [[w:c:File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|C75a]] |} === Coat of arms list / Список гербов === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Year || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Russian Soviet Federative Socialist Republic|Russian Soviet Federative Socialist Republic, RSFSR]] | bgcolor="#E0FFE0" | [[w:ru:Российская Советская Федеративная Социалистическая Республика|Российская Советская Федеративная Социалистическая Республика, РСФСР]] | 1937 | [[w:c:File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|568]] | [[w:c:File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|Russia 654]] |- | bgcolor="#E0FFE0" | [[w:Ukrainian Soviet Socialist Republic|Ukrainian Soviet Socialist Republic, USSR]] | bgcolor="#E0FFE0" | [[w:ru:Украинская Советская Социалистическая Республика|Украинская Советская Социалистическая Республика, УССР]] | 1937 | [[w:c:File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|569]] | [[w:c:File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|Russia 657]] |- | bgcolor="#E0FFE0" | [[w:Byelorussian Soviet Socialist Republic|Byelorussian Soviet Socialist Republic, BSSR]] | bgcolor="#E0FFE0" | [[w:ru:Белорусская Советская Социалистическая Республика|Белорусская Советская Социалистическая Республика, БССР]] | 1937 | [[w:c:File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|570]] | [[w:c:File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|Russia 649]] |- | bgcolor="#E0FFE0" | [[w:Uzbek Soviet Socialist Republic|Uzbek Soviet Socialist Republic, UzSSR]] | bgcolor="#E0FFE0" | [[w:ru:Узбекская Советская Социалистическая Республика|Узбекская Советская Социалистическая Республика, УзССР]] | 1937 | [[w:c:File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|571]] | [[w:c:File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|Russia 653]] |- | bgcolor="#E0FFE0" | [[w:Kazakh Soviet Socialist Republic|Kazakh Soviet Socialist Republic, KSSR]] | bgcolor="#E0FFE0" | [[w:ru:Казахская Советская Социалистическая Республика|Казахская Советская Социалистическая Республика, КССР]] | 1937 | [[w:c:File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|572]] | [[w:c:File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|Russia 651]] |- | bgcolor="#E0FFE0" | [[w:Georgian Soviet Socialist Republic|Georgian Soviet Socialist Republic, GSSR]] | bgcolor="#E0FFE0" | [[w:ru:Грузинская Советская Социалистическая Республика|Грузинская Советская Социалистическая Республика, ГССР]] | 1937 | [[w:c:File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|573]] | [[w:c:File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|Russia 650]] |- | bgcolor="#E0FFE0" | [[w:Azerbaijan Soviet Socialist Republic|Azerbaijan Soviet Socialist Republic, AzSSR]] | bgcolor="#E0FFE0" | [[w:ru:Азербайджанская Советская Социалистическая Республика|Азербайджанская Советская Социалистическая Республика, АзССР]] | 1937 | [[w:c:File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|574]] | [[w:c:File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|Russia 648]] |- | bgcolor="#E0FFE0" | [[w:Kirghiz Soviet Socialist Republic|Kirghiz Soviet Socialist Republic, KirSSR]] | bgcolor="#E0FFE0" | [[w:ru:Киргизская Советская Социалистическая Республика|Киргизская Советская Социалистическая Республика, КирССР]] | 1937 | [[w:c:File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|575]] | [[w:c:File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|Russia 652]] |- | bgcolor="#E0FFE0" | [[w:Tajik Soviet Socialist Republic|Tajik Soviet Socialist Republic, TSSR]] | bgcolor="#E0FFE0" | [[w:ru:Таджикская Советская Социалистическая Республика|Таджикская Советская Социалистическая Республика, ТССР]] | 1937 | [[w:c:File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|576]] | [[w:c:File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|Russia 655]] |- | bgcolor="#E0FFE0" | [[w:Armenian Soviet Socialist Republic|Armenian Soviet Socialist Republic, ASSR]] | bgcolor="#E0FFE0" | [[w:ru:Армянская Советская Социалистическая Республика|Армянская Советская Социалистическая Республика, АССР]] | 1937 | [[w:c:File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|577]] | [[w:c:File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|Russia 647]] |- | bgcolor="#E0FFE0" | [[w:Turkmen Soviet Socialist Republic|Turkmen Soviet Socialist Republic, TurSSR]] | bgcolor="#E0FFE0" | [[w:ru:Туркменская Советская Социалистическая Республика|Туркменская Советская Социалистическая Республика, ТурССР]] | 1937 | [[w:c:File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|578]] | [[w:c:File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|Russia 656]] |- | bgcolor="#E0FFE0" | [[w:Soviet Union|The Union of Soviet Socialist Republics, USSR]] | bgcolor="#E0FFE0" | [[w:ru:Союз Советских Социалистических Республик|Союз Советских Социалистических Республик, СССР]] | 1937 | [[w:c:File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|579]] | [[w:c:File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|Russia 658]] |} == <div style="background-color:#50C878">Nature / Природа</div> == Stamps are absent. <br /> Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска! <center> [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" align=center | [[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|'''<big>1937</big>''']] [[:World Stamp Catalogue/Soviet Union/1938|1938]] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} </center> {{BookCat|filing=deep}} fh5may4757xmjofcchb7tryn0ljlg62 4656873 4656872 2026-08-09T22:37:33Z ShakespeareFan00 46022 4656873 wikitext text/x-wiki {{center/top}} [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" align=center |[[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|'''<big>1937</big>''']] [[:World Stamp Catalogue/Soviet Union/1938|1938]] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} {{center/end}} <div style="text-align: center;">CPA # 536-579 (44 stamps, 10 series)</div> '''Here complete descriptions of 1937 USSR stamps are given.'''<br /> '''Здесь приведены полные описания почтовых марок СССР 1937 года.''' * All available images of 1937 USSR stamps are on the Wikimedia Commons:<br /> * Все имеющиеся изображения почтовых марок СССР 1937 года находятся на Викискладе:<br /> *[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Category:1937 all stamps of the Soviet Union|1937 all stamps of the Soviet Union]] :* You can also see standard images of 1937 USSR stamps on Wikimedia commons:<br /> :* Типовые изображения почтовых марок СССР 1937 года можно также посмотреть на Викискладе:<br /> :*[[File:Commons-logo.svg|32px|Wikimedia commons|link=c:]] [[c:Каталог ЦФА (1-1000)|Каталог ЦФА (1-1000)]]<br> Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска!<br /> The names of stamps and stamp series are made according to all used 7 catalogues.<br /> Названия марок и серий марок составлены по всем используемым 7 каталогам.<br /> == Short descriptions / Краткие описания == Full design (Полное оформление).<br /> A - Airmail stamp (Авиапочтовая марка)<br /> C - [[w:Commemorative stamp|Commemorative stamp]] ([[w:ru:Коммеморативная марка|Коммеморативная марка]])<br /> D4 - [[w:Definitive stamp|Definitive stamp]] of 4th series ([[w:ru:Стандартная марка|Стандартная марка]] 4-го выпуска)<br /> === 1 1937.02.10-1937.07 (Aleksander Sergeyevich Pushkin) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''1 Death Centenary of Aleksander Sergeyevich Pushkin (1799-1837), Writer and Poet''' (Aleksander Sergeyevich Pushkin)<br /> '''1. 100-летие со дня смерти русского поэта, драматурга и прозаика А.&nbsp;С.&nbsp;Пушкина (1799-1837)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|50x50px]] #1937.1-1.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Pushkin, Portrait 10k | bgcolor="#FFFFE0" | '''536''' | bgcolor="#FFFFE0" | 445 | bgcolor="#FFFFE0" | 505 | bgcolor="#FFFFE0" | 590 ('''A228''') | bgcolor="#FFFFE0" | 549 ('''gi''') | bgcolor="#FFFFE0" | 728 ('''215''') | bgcolor="#FFFFE0" | 590 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|50x50px]] #1937.2-1.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Pushkin, Portrait 20k | bgcolor="#FFFFE0" | '''537''' | bgcolor="#FFFFE0" | 446 | bgcolor="#FFFFE0" | 506 | bgcolor="#FFFFE0" | 591 (A228) | bgcolor="#FFFFE0" | 550 (gi) | bgcolor="#FFFFE0" | 729 | bgcolor="#FFFFE0" | 591 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|50x50px]] #1937.3-1.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Pushkin, Portrait 40k | bgcolor="#FFFFE0" | '''538''' | bgcolor="#FFFFE0" | 447 | bgcolor="#FFFFE0" | 507 | bgcolor="#FFFFE0" | 592 (A228) | bgcolor="#FFFFE0" | 551 (gi) | bgcolor="#FFFFE0" | 730 | bgcolor="#FFFFE0" | 592 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|50x50px]] #1937.4-1.4 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Pushkin, Monument 50k | bgcolor="#FFFFE0" | '''539''' | bgcolor="#FFFFE0" | 448 | bgcolor="#FFFFE0" | 508 | bgcolor="#FFFFE0" | 593 ('''A229''') | bgcolor="#FFFFE0" | 552 ('''gj''') | bgcolor="#FFFFE0" | 731 ('''216''') | bgcolor="#FFFFE0" | 593 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|50x50px]] #1937.5-1.5 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Pushkin, Monument 80k | bgcolor="#FFFFE0" | '''540''' | bgcolor="#FFFFE0" | 449 | bgcolor="#FFFFE0" | 509 | bgcolor="#FFFFE0" | 594 (A229) | bgcolor="#FFFFE0" | 553 (gj) | bgcolor="#FFFFE0" | 732a | bgcolor="#FFFFE0" | 594 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|50x50px]] #1937.6-1.6 C | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Pushkin, Monument 1r | bgcolor="#FFFFE0" | '''541''' | bgcolor="#FFFFE0" | 450 | bgcolor="#FFFFE0" | 510 | bgcolor="#FFFFE0" | 595 (A229) | bgcolor="#FFFFE0" | 554 (gj) | bgcolor="#FFFFE0" | 733a | bgcolor="#FFFFE0" | 595 |} === 2 1937.02.16 (Pushkin Exhibition) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''2 The All-Union Pushkin Exhibition, Moscow (16.02-03.05.1937). Souvenir Sheet''' (Pushkin Exhibition)<br /> '''2. Всесоюзная Пушкинская выставка в Москве (1937.02.16-05.03). Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|50x50px]] #1937.7-2.1 C | bgcolor="#FFFFE0" | 10k&nbsp;+&nbsp;50k | bgcolor="#FFFFE0" | Pushkin, Portrait and Monument | bgcolor="#FFFFE0" | '''542''' | bgcolor="#FFFFE0" | Бл 1 (451, 452) | bgcolor="#FFFFE0" | Блок 1 (505, 508) | bgcolor="#FFFFE0" | 596 (A228-A229) | bgcolor="#FFFFE0" | Block 1 ('''gk''' (gi, gj)) | bgcolor="#FFFFE0" | MS733c (215, 216) | bgcolor="#FFFFE0" | Bloc 1 |} === 3 1937.06.16 (Moscow) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''3 Architecture of New Moscow (On 1st Congress of Soviet Architects, 1937.06.16-26)''' (Moscow)<br /> '''3. Архитектура новой Москвы (К 1-му съезду советских архитекторов, 16-26.06.1937)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|50x50px]] #1937.8-3.1 C | bgcolor="#FFFFE0" | 3k | bgcolor="#FFFFE0" | Tchaikovsky Concert Hall 3k | bgcolor="#FFFFE0" | '''543''' | bgcolor="#FFFFE0" | 460 | bgcolor="#FFFFE0" | 511 | bgcolor="#FFFFE0" | 597 ('''A230''') | bgcolor="#FFFFE0" | 558 ('''gl''') | bgcolor="#FFFFE0" | 734 ('''217''') | bgcolor="#FFFFE0" | 596 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|50x50px]] #1937.9-3.2 C | bgcolor="#FFFFE0" | 5k | bgcolor="#FFFFE0" | Telegraph Agency House 5k | bgcolor="#FFFFE0" | '''544''' | bgcolor="#FFFFE0" | 461 | bgcolor="#FFFFE0" | 512 | bgcolor="#FFFFE0" | 598 (A230) | bgcolor="#FFFFE0" | 559 ('''gm''') | bgcolor="#FFFFE0" | 735 | bgcolor="#FFFFE0" | 597 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|50x50px]] #1937.10-3.3 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Tchaikovsky Concert Hall 10k | bgcolor="#FFFFE0" | '''545''' | bgcolor="#FFFFE0" | 462 | bgcolor="#FFFFE0" | 513 | bgcolor="#FFFFE0" | 599 (A230) | bgcolor="#FFFFE0" | 560 (gl) | bgcolor="#FFFFE0" | 736 ('''217''') | bgcolor="#FFFFE0" | 598 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|50x50px]] #1937.11-3.4 C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Telegraph Agency House 15k | bgcolor="#FFFFE0" | '''546''' | bgcolor="#FFFFE0" | 463 | bgcolor="#FFFFE0" | 514 | bgcolor="#FFFFE0" | 600 (A230) | bgcolor="#FFFFE0" | 561 (gm) | bgcolor="#FFFFE0" | 737 | bgcolor="#FFFFE0" | 599 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|50x50px]] #1937.12-3.5 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Russian Army Theatre 20k | bgcolor="#FFFFE0" | '''547''' | bgcolor="#FFFFE0" | 464 | bgcolor="#FFFFE0" | 515 | bgcolor="#FFFFE0" | 601 (A230) | bgcolor="#FFFFE0" | 562 ('''gn''') | bgcolor="#FFFFE0" | 738 | bgcolor="#FFFFE0" | 600 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|50x50px]] #1937.13-3.6 C | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Hotel Moscow | bgcolor="#FFFFE0" | '''548''' | bgcolor="#FFFFE0" | 465 | bgcolor="#FFFFE0" | 516 | bgcolor="#FFFFE0" | 602 (A230) | bgcolor="#FFFFE0" | 563 ('''go''') | bgcolor="#FFFFE0" | 739 | bgcolor="#FFFFE0" | 601 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|50x50px]] #1937.14-3.7 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Palace of the Soviets | bgcolor="#FFFFE0" | '''549''' | bgcolor="#FFFFE0" | 466 | bgcolor="#FFFFE0" | 517 | bgcolor="#FFFFE0" | 603 (A230) | bgcolor="#FFFFE0" | 564 (gp) | bgcolor="#FFFFE0" | 740 | bgcolor="#FFFFE0" | 602 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|50x50px]] #1937.15-3.8 C | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Russian Army Theatre 50k | bgcolor="#FFFFE0" | '''550''' | bgcolor="#FFFFE0" | 467 | bgcolor="#FFFFE0" | 518 | bgcolor="#FFFFE0" | 604 (A230) | bgcolor="#FFFFE0" | 565 (gn) | bgcolor="#FFFFE0" | 741 | bgcolor="#FFFFE0" | 603 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|50x50px]] #1937.15H-3.8H C | bgcolor="#FFFFE0" | 15k | bgcolor="#FFFFE0" | Embassy of the USA | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | H69 | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- | bgcolor="#FFFFE0" | --- |} === 4 1937.06.16 (Congress of Architects) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''4 1st All-Union Congress of Architects (1937.06.16-26). Souvenir Sheet''' (Congress of Architects)<br /> '''4. 1-й Всесоюзный съезд архитекторов (16-26.06.1937). Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|50x50px]] #1937.16-4.1 C | bgcolor="#FFFFE0" | 40k&nbsp;х&nbsp;4 | bgcolor="#FFFFE0" | 4&nbsp;х&nbsp;Palace of the Soviets | bgcolor="#FFFFE0" | '''551''' | bgcolor="#FFFFE0" | Бл 2 (468) | bgcolor="#FFFFE0" | Блок 2 (517) | bgcolor="#FFFFE0" | 603a (A230) | bgcolor="#FFFFE0" | Block 2 ('''gq''' ('''gp''')) | bgcolor="#FFFFE0" | MS741a (as No. 740) | bgcolor="#FFFFE0" | Bloc 2 |} === 5 1937.07.22 (Feliks Dzerzhinsky) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''5 10th Death Anniversary of Feliks E.&nbsp;Dzerzhinsky (1877-1826), Soviet Statesman and Figure of Communist Party, Organizer of Soviet Secret Police''' (Feliks Dzerzhinsky)<br />'''5. 10-летие со дня смерти деятеля Коммунистической партии и Советского государства, основателя Всероссийской чрезвычайной комиссии Ф.&nbsp;Э.&nbsp;Дзержинского (1877-1926)''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|50x50px]] #1937.17-5.1 C | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 10k | bgcolor="#FFFFE0" | '''552''' | bgcolor="#FFFFE0" | 469 | bgcolor="#FFFFE0" | 526 | bgcolor="#FFFFE0" | 606 ('''A235''') | bgcolor="#FFFFE0" | 566 ('''gr''') | bgcolor="#FFFFE0" | 742 ('''218''') | bgcolor="#FFFFE0" | 604 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|50x50px]] #1937.18-5.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 20k | bgcolor="#FFFFE0" | '''553''' | bgcolor="#FFFFE0" | 470 | bgcolor="#FFFFE0" | 527 | bgcolor="#FFFFE0" | 607 (A235) | bgcolor="#FFFFE0" | 567 (gr) | bgcolor="#FFFFE0" | 743 | bgcolor="#FFFFE0" | 605 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|50x50px]] #1937.19-5.3 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 40k | bgcolor="#FFFFE0" | '''554''' | bgcolor="#FFFFE0" | 471 | bgcolor="#FFFFE0" | 528 | bgcolor="#FFFFE0" | 608 (A235) | bgcolor="#FFFFE0" | 568 (gr) | bgcolor="#FFFFE0" | 744 | bgcolor="#FFFFE0" | 606 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|50x50px]] #1937.20-5.4 C | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Feliks Dzerzhinsky 80k | bgcolor="#FFFFE0" | '''555''' | bgcolor="#FFFFE0" | 472 | bgcolor="#FFFFE0" | 529 | bgcolor="#FFFFE0" | 609 (A235) | bgcolor="#FFFFE0" | 569 (gr) | bgcolor="#FFFFE0" | 745 | bgcolor="#FFFFE0" | 607 |} === 6 1937.07-1953.01 (4th Definitive Stamps) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''6 The 4th Series of the Definitive Stamps of the USSR''' (4th Definitive Stamps)<br /> '''6. Четвертый стандартный выпуск почтовых марок СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | 1938.03 [[File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|50x50px]] #1939.21-6.1 D4 | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Factory Woman, large size | bgcolor="#FFFFE0" | '''556''' | bgcolor="#FFFFE0" | 441 | bgcolor="#FFFFE0" | 502 | bgcolor="#FFFFE0" | 616 (A109) | bgcolor="#FFFFE0" | 677I ('''cd I''') | bgcolor="#FFFFE0" | 727f ('''139''') | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1953.01 [[File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|50x50px]] #1939.22-6.2 D4 | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Factory Woman, small size | bgcolor="#FFFFE0" | '''557''' | bgcolor="#FFFFE0" | 1655 | bgcolor="#FFFFE0" | 1670 | bgcolor="#FFFFE0" | 616B (A109) | bgcolor="#FFFFE0" | 677II (cd I) | bgcolor="#FFFFE0" | ??? | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1937.07 [[File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|50x50px]] #1939.23-6.3 D4 | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Kolkhoz Woman | bgcolor="#FFFFE0" | '''558''' | bgcolor="#FFFFE0" | 442 | bgcolor="#FFFFE0" | 503 | bgcolor="#FFFFE0" | 617 (A97) | bgcolor="#FFFFE0" | 578 (bz) | bgcolor="#FFFFE0" | 727h ('''141''') | bgcolor="#FFFFE0" | ??? |- bgcolor="#E0FFE0" align="center" | 1937.12 [[File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|50x50px]] #1939.24-6.4 D4 | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Lenin | bgcolor="#FFFFE0" | '''559''' | bgcolor="#FFFFE0" | 443 | bgcolor="#FFFFE0" | 504 | bgcolor="#FFFFE0" | 619 (A104) | bgcolor="#FFFFE0" | 579 (cf) | bgcolor="#FFFFE0" | 727l ('''144''') | bgcolor="#FFFFE0" | ??? |} === 7 1937.11.15-1937.12.23 (Aviation) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''7 Air. Soviet Aviation''' (Aviation)<br /> '''7. Авиапочта. Самолеты СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|50x50px]] #1939.25-7.1 A | bgcolor="#FFFFE0" | 10k | bgcolor="#FFFFE0" | Yakovlev AIR-7/Ya-7 | bgcolor="#FFFFE0" | '''560''' | bgcolor="#FFFFE0" | 473 | bgcolor="#FFFFE0" | 530 | bgcolor="#FFFFE0" | C69 ('''AP34''') | bgcolor="#FFFFE0" | 571 ('''Faj''') | bgcolor="#FFFFE0" | 746 ('''219''') | bgcolor="#FFFFE0" | Aér 60 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|50x50px]] #1939.26-7.2 A | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Tupolev ANT-9 | bgcolor="#FFFFE0" | '''561''' | bgcolor="#FFFFE0" | 474 | bgcolor="#FFFFE0" | 531 | bgcolor="#FFFFE0" | C70 (AP34) | bgcolor="#FFFFE0" | 572 ('''Fak''') | bgcolor="#FFFFE0" | 747 | bgcolor="#FFFFE0" | Aér 61 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|50x50px]] #1939.27-7.3 A | bgcolor="#FFFFE0" | 30k | bgcolor="#FFFFE0" | Tupolev ANT-6 | bgcolor="#FFFFE0" | '''562''' | bgcolor="#FFFFE0" | 475 | bgcolor="#FFFFE0" | 532 | bgcolor="#FFFFE0" | C71 (AP34) | bgcolor="#FFFFE0" | 573 ('''Fal''') | bgcolor="#FFFFE0" | 748 | bgcolor="#FFFFE0" | Aér 62 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|50x50px]] #1939.28-7.4 A | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Chyetverikov OSGA-101/SPL | bgcolor="#FFFFE0" | '''563''' | bgcolor="#FFFFE0" | 476 | bgcolor="#FFFFE0" | 533 | bgcolor="#FFFFE0" | C72 (AP34) | bgcolor="#FFFFE0" | 574 ('''Fam''') | bgcolor="#FFFFE0" | 749 | bgcolor="#FFFFE0" | Aér 63 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|50x50px]] #1939.29-7.5 A | bgcolor="#FFFFE0" | 50k | bgcolor="#FFFFE0" | Tupolev ANT-4 | bgcolor="#FFFFE0" | '''564''' | bgcolor="#FFFFE0" | 477 | bgcolor="#FFFFE0" | 534 | bgcolor="#FFFFE0" | C73 (AP34) | bgcolor="#FFFFE0" | 575 ('''Fan''') | bgcolor="#FFFFE0" | 750 | bgcolor="#FFFFE0" | Aér 64 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|50x50px]] #1939.30-7.6 A | bgcolor="#FFFFE0" | 80k | bgcolor="#FFFFE0" | Tupolev ANT-20 | bgcolor="#FFFFE0" | '''565''' | bgcolor="#FFFFE0" | 478 | bgcolor="#FFFFE0" | 535 | bgcolor="#FFFFE0" | C74 ('''AP35''') | bgcolor="#FFFFE0" | 576 ('''Fao''') | bgcolor="#FFFFE0" | 751 | bgcolor="#FFFFE0" | Aér 65 |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|50x50px]] #1939.31-7.7 A | bgcolor="#FFFFE0" | 1r | bgcolor="#FFFFE0" | Tupolev ANT-14 | bgcolor="#FFFFE0" | '''566''' | bgcolor="#FFFFE0" | 479 | bgcolor="#FFFFE0" | 536 | bgcolor="#FFFFE0" | C75 (AP35) | bgcolor="#FFFFE0" | 577 ('''Fap''') | bgcolor="#FFFFE0" | 752 | bgcolor="#FFFFE0" | Aér 66 |} === 8 1937.11.15 (Aviation Exhibition) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''8 Air. All-Union Jubilee Aviation Exhibition, Moscow, November 15-20. Souvenir Sheet''' (Aviation Exhibition)<br /> '''8. Авиапочта. Всесоюзная юбилейная авиационная выставка в Москве 15-20 ноября. Почтовый блок''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|50x50px]] #1939.32-8.1 A | bgcolor="#FFFFE0" | 1r&nbsp;x&nbsp;4 | bgcolor="#FFFFE0" | 4&nbsp;x&nbsp;Tupolev ANT-14 | bgcolor="#FFFFE0" | '''567''' | bgcolor="#FFFFE0" | Бл 3 (480) | bgcolor="#FFFFE0" | Блок 3 (536) | bgcolor="#FFFFE0" | C75a (AP35) | bgcolor="#FFFFE0" | Block 3 ('''Faq''' ('''Fap''')) | bgcolor="#FFFFE0" | MS752b (No. 752&nbsp;x&nbsp;4) | bgcolor="#FFFFE0" | Bloc 3 |} === 9 1938.06 (Arms of Federal Republics) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''9 The Elections to the Supreme Councils of Federal Republics. Arms of Federal Republics''' (Arms of Federal Republics)<br /> '''9. Выборы в Верховные Советы союзных республик. Гербы союзных республик''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short Description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|50x50px]] #1939.33-9.1 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of RSFSR | bgcolor="#FFFFE0" | '''568''' | bgcolor="#FFFFE0" | 504 | bgcolor="#FFFFE0" | 560 | bgcolor="#FFFFE0" | ''654'' (A252) | bgcolor="#FFFFE0" | 602 ('''hg''') | bgcolor="#FFFFE0" | ''763'' | bgcolor="#FFFFE0" | ''638'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|50x50px]] #1939.34-9.2 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Ukraine | bgcolor="#FFFFE0" | '''569''' | bgcolor="#FFFFE0" | 505 | bgcolor="#FFFFE0" | 561 | bgcolor="#FFFFE0" | ''657'' (A252) | bgcolor="#FFFFE0" | 603 ('''hh''') | bgcolor="#FFFFE0" | ''761'' ('''220''') | bgcolor="#FFFFE0" | ''645'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|50x50px]] #1939.35-9.3 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Byelorussia | bgcolor="#FFFFE0" | '''570''' | bgcolor="#FFFFE0" | 506 | bgcolor="#FFFFE0" | 562 | bgcolor="#FFFFE0" | ''649'' (A252) | bgcolor="#FFFFE0" | 604 ('''hi''') | bgcolor="#FFFFE0" | ''755'' | bgcolor="#FFFFE0" | ''642'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|50x50px]] #1939.36-9.4 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Uzbekistan | bgcolor="#FFFFE0" | '''571''' | bgcolor="#FFFFE0" | 507 | bgcolor="#FFFFE0" | 563 | bgcolor="#FFFFE0" | ''653'' (A252) | bgcolor="#FFFFE0" | 605 ('''hk''') | bgcolor="#FFFFE0" | ''762'' | bgcolor="#FFFFE0" | ''641'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|50x50px]] #1939.37-9.5 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Kazakhstan | bgcolor="#FFFFE0" | '''572''' | bgcolor="#FFFFE0" | 508 | bgcolor="#FFFFE0" | 564 | bgcolor="#FFFFE0" | ''651'' (A252) | bgcolor="#FFFFE0" | 606 ('''hl''') | bgcolor="#FFFFE0" | ''757'' | bgcolor="#FFFFE0" | ''639'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|50x50px]] #1939.38-9.6 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Georgia | bgcolor="#FFFFE0" | '''573''' | bgcolor="#FFFFE0" | 509 | bgcolor="#FFFFE0" | 565 | bgcolor="#FFFFE0" | ''650'' (A252) | bgcolor="#FFFFE0" | 607 ('''hm''') | bgcolor="#FFFFE0" | ''756'' | bgcolor="#FFFFE0" | ''643'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|50x50px]] #1939.39-9.7 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Azerbaijan | bgcolor="#FFFFE0" | '''574''' | bgcolor="#FFFFE0" | 510 | bgcolor="#FFFFE0" | 566 | bgcolor="#FFFFE0" | ''648'' (A252) | bgcolor="#FFFFE0" | 608 ('''hn''') | bgcolor="#FFFFE0" | ''754'' | bgcolor="#FFFFE0" | ''635'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|50x50px]] #1939.40-9.8 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Kirghizia | bgcolor="#FFFFE0" | '''575''' | bgcolor="#FFFFE0" | 511 | bgcolor="#FFFFE0" | 567 | bgcolor="#FFFFE0" | ''652'' (A252) | bgcolor="#FFFFE0" | 609 ('''ho''') | bgcolor="#FFFFE0" | ''758'' | bgcolor="#FFFFE0" | ''640'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|50x50px]] #1939.41-9.9 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Tadzhikistan | bgcolor="#FFFFE0" | '''576''' | bgcolor="#FFFFE0" | 512 | bgcolor="#FFFFE0" | 568 | bgcolor="#FFFFE0" | ''655'' (A252) | bgcolor="#FFFFE0" | 610 ('''hp''') | bgcolor="#FFFFE0" | ''759'' | bgcolor="#FFFFE0" | ''636'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|50x50px]] #1939.42-9.10 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Armenia | bgcolor="#FFFFE0" | '''577''' | bgcolor="#FFFFE0" | 513 | bgcolor="#FFFFE0" | 569 | bgcolor="#FFFFE0" | ''647'' ('''A252''') | bgcolor="#FFFFE0" | 611 ('''hq''') | bgcolor="#FFFFE0" | ''753'' | bgcolor="#FFFFE0" | ''637'' |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|50x50px]] #1939.43-9.11 C | bgcolor="#FFFFE0" | 20k | bgcolor="#FFFFE0" | Arms of Turkmenistan | bgcolor="#FFFFE0" | '''578''' | bgcolor="#FFFFE0" | 514 | bgcolor="#FFFFE0" | 570 | bgcolor="#FFFFE0" | ''656'' (A252) | bgcolor="#FFFFE0" | 612 ('''hr''') | bgcolor="#FFFFE0" | ''760'' | bgcolor="#FFFFE0" | ''644'' |} === 10 1937.12.11 (Arms of USSR) === {| width="100%" border="1" cellpadding="2" cellspacing="0" align="center" |- bgcolor="#F0FFFF" | align="left" colspan="10"|'''10 20th Anniversary of the Great October Socialist Revolution (1917.11.07 (O.&nbsp;S. 1917.10.25)). Arms of USSR''' (Arms of USSR)<br /> '''10. 20-летие Великой Октябрьской социалистической революции (07.11.1917 (25.10.1917)). Государственный герб СССР''' |- bgcolor="#FFFFE0" align="center" | # | Vol. | Short description | '''[[w:ru:Союзпечать|CPA]]''' | [[w:ru:Стандарт-Коллекция (каталог марок)|SC]] | Liapine | [[w:Scott catalogue|Scott]] | [[w:Michel catalog|Michel]] | [[w:Stanley Gibbons catalogue|SG]] | [[w:Yvert et Tellier|Yvert]] |- bgcolor="#E0FFE0" align="center" | [[File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|50x50px]] #1939.44-10.1 C | bgcolor="#FFFFE0" | 40k | bgcolor="#FFFFE0" | Arms of USSR | bgcolor="#FFFFE0" | '''579''' | bgcolor="#FFFFE0" | 481 | bgcolor="#FFFFE0" | 537 | bgcolor="#FFFFE0" | 658 ('''A353''') | bgcolor="#FFFFE0" | 603 ('''hs''') | bgcolor="#FFFFE0" | 764 ('''221''') | bgcolor="#FFFFE0" | 646 |} <br /> == <div style="background-color:#CFB53B">Society / Общество</div> == Full design (Полное оформление). === People list / Список людей === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Years || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Alexander Pushkin|Pushkin Aleksander Sergeyevich]] | bgcolor="#E0FFE0" | [[w:ru:Пушкин, Александр Сергеевич|Пушкин Александр Сергеевич]] | 1799-1837 | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|536]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|537]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|538]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|539]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|540]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|541]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|542]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|Russia 590]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|591]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|592]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|593]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|594]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|595]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|596]] |- | bgcolor="#E0FFE0" | [[w:Felix Dzerzhinsky|Dzerzhinsky Felix Edmundovich]] | bgcolor="#E0FFE0" | [[w:ru:Дзержинский, Феликс Эдмундович|Дзержинский Феликс Эдмундович]] | 1877-1926 | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|552]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|553]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|554]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|555]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|Russia 606]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|607]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|608]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|609]] |- | bgcolor="#E0FFE0" | [[w:Vladimir Lenin|Lenin Vladimir Ilyich]] | bgcolor="#E0FFE0" | [[w:ru:Ленин, Владимир Ильич|Ленин Владимир Ильич]] | 1870-1924 | [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|559]] | [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|Russia 619]] |} === Occupations list / Список профессий === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Writer|Writer]] | bgcolor="#E0FFE0" | [[w:ru:Писатель|Писатель]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|536]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|537]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|538]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|539]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|540]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|541]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|542]] | [[w:c:File:The Soviet Union 1937 CPA 536 stamp (Pushkin, Portrait 10k).jpg|Russia 590]], [[w:c:File:The Soviet Union 1937 CPA 537 stamp (Pushkin, Portrait 20k).jpg|591]], [[w:c:File:The Soviet Union 1937 CPA 538 stamp (Pushkin, Portrait 40k).jpg|592]], [[w:c:File:The Soviet Union 1937 CPA 539 stamp (Pushkin, Monument 50k).jpg|593]], [[w:c:File:The Soviet Union 1937 CPA 540 stamp (Pushkin, Monument 80k).jpg|594]], [[w:c:File:The Soviet Union 1937 CPA 541 stamp (Pushkin, Monument 1r).jpg|595]], [[w:c:File:The Soviet Union 1937 CPA 542 sheet of 2 (Pushkin, Portrait and Monument).jpg|596]] |- | bgcolor="#E0FFE0" | [[w:Statesman|Statesman]] | bgcolor="#E0FFE0" | [[w:ru:Государственный деятель|Государственный деятель]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|552]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|553]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|554]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|555]], [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|559]] | [[w:c:File:The Soviet Union 1937 CPA 552 stamp (Feliks Dzerzhinsky 10k).jpg|Russia 606]], [[w:c:File:The Soviet Union 1937 CPA 553 stamp (Feliks Dzerzhinsky 20k).jpg|607]], [[w:c:File:The Soviet Union 1937 CPA 554 stamp (Feliks Dzerzhinsky 40k).jpg|608]], [[w:c:File:The Soviet Union 1937 CPA 555 stamp (Feliks Dzerzhinsky 80k).jpg|609]], [[w:c:File:The Soviet Union 1937 CPA 559 stamp (Lenin).jpg|619]] |- | bgcolor="#E0FFE0" | [[w:Employment#Employee|Employee]] | bgcolor="#E0FFE0" | [[w:ru:Работник|Работник]] | [[w:c:File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|556]], [[w:c:File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|557]] | [[w:c:File:The Soviet Union 1937 CPA 556 stamp (Factory Woman, large size).jpg|Russia 616]], [[w:c:File:The Soviet Union 1937 CPA 557 stamp (Factory Woman, small size).jpg|616B]] |- | bgcolor="#E0FFE0" | [[w:Kolkhoz|Kolkhoz]] woman | bgcolor="#E0FFE0" | [[w:ru:Колхоз|Колхозница]] | [[w:c:File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|558]] | [[w:c:File:The Soviet Union 1937 CPA 558 stamp (Kolkhoz Woman).jpg|Russia 617]] |} === Buildings list / Список зданий === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || Locality || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | Tchaikovsky Concert Hall | bgcolor="#E0FFE0" | [[w:ru:Концертный зал имени П. И. Чайковского|Концертный зал имени П. И. Чайковского]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|543]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|545]] | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|Russia 597]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|599]] |- | bgcolor="#E0FFE0" | Telegraph Agency House | bgcolor="#E0FFE0" | Здание ТАСС | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|544]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|546]] | [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|Russia 598]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|600]] |- | bgcolor="#E0FFE0" | [[w:Russian Army Theatre|Russian Army Theatre]] | bgcolor="#E0FFE0" | [[w:ru:Центральный академический театр Российской армии|Центральный академический театр Российской армии]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|547]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|550]] | [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|Russia 601]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|604]] |- | bgcolor="#E0FFE0" | Hotel Moscow | bgcolor="#E0FFE0" | [[w:ru:Москва (гостиница в Москве)|Гостиница Москва]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|548]] | [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|Russia 602]] |- | bgcolor="#E0FFE0" | [[w:Palace of the Soviets|Palace of the Soviets]] | bgcolor="#E0FFE0" | [[w:ru:Дворец Советов|Дворец Советов]] | Russia | Moscow | [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|549]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|551]] | [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|Russia 603]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|603a]] |- | bgcolor="#E0FFE0" | [[w:Embassy of the United States, Moscow|Embassy of the USA]] | bgcolor="#E0FFE0" | [[w:ru:Посольство США в России|Здание посольства США]] | Russia | Moscow | colspan="2" align="center"| [[w:c:File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|Liapine H69]] |} === Human settlements list / Список населенных пунктов === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Moscow|Moscow]] | bgcolor="#E0FFE0" | [[w:ru:Москва|Москва]] | Russia | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|543]], [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|544]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|545]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|546]], [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|547]], [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|548]], [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|549]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|550]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|551]] | [[w:c:File:The Soviet Union 1937 CPA 543 stamp (Tchaikovsky Concert Hall 3k).jpg|Russia 597]], [[w:c:File:The Soviet Union 1937 CPA 544 stamp (Telegraph Agency House 5k).jpg|598]], [[w:c:File:The Soviet Union 1937 CPA 545 stamp (Tchaikovsky Concert Hall 10k).jpg|599]], [[w:c:File:The Soviet Union 1937 CPA 546 stamp (Telegraph Agency House 15k).jpg|600]], [[w:c:File:The Soviet Union 1937 CPA 547 stamp (Russian Army Theatre 20k).jpg|601]], [[w:c:File:The Soviet Union 1937 CPA 548 stamp (Hotel Moscow).jpg|602]], [[w:c:File:The Soviet Union 1937 CPA 549 stamp (Palace of the Soviets).jpg|603]], [[w:c:File:The Soviet Union 1937 CPA 551 sheet of 4 (4 x Palace of the Soviets).jpg|603a]], [[w:c:File:The Soviet Union 1937 CPA 550 stamp (Russian Army Theatre 50k).jpg|604]] |- | bgcolor="#E0FFE0" | [[w:Moscow|Moscow]] | bgcolor="#E0FFE0" | [[w:ru:Москва|Москва]] | Russia | colspan="2" align="center"| [[w:c:File:The Soviet Union 1937 CPA 550H Liapine H69 stamp (Embassy of the USA) imperf.jpg|Liapine H69]] |} === Engineerings list / Список техники === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Country || Year || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Yakovlev|Yakovlev]] [[w:Yakovlev AIR-7|AIR-7/Ya-7]] | bgcolor="#E0FFE0" | Самолет [[w:ru:ОКБ имени Яковлева|Яковлева]] [[w:ru:АИР#АИР-7|Я-7 (АИР-7)]] | Russia | 1932 | [[w:c:File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|560]] | [[w:c:File:The Soviet Union 1937 CPA 560 stamp (Yakovlev AIR-7-Ya-7).jpg|Russia C69]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-9|ANT-9]] ''Krylia Sovietov'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ПС-9|Ант-9]] "Крылья Советов" | Russia | 1929 | [[w:c:File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|561]] | [[w:c:File:The Soviet Union 1937 CPA 561 stamp (Tupolev ANT-9).jpg|Russia C70]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev TB-3|ANT-6]] [[w:Bomber|bomber]] | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ТБ-3|Ант-6]] [[w:ru:Бомбардировщик|бомбардировщик]] | Russia | 1930 | [[w:c:File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|562]] | [[w:c:File:The Soviet Union 1937 CPA 562 stamp (Tupolev ANT-6).jpg|Russia C71]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Chyetverikov|Chyetverikov]] [[w:Chyetverikov SPL|OSGA-101/SPL]] [[w:Flying boat|flying boat]] | bgcolor="#E0FFE0" | Самолет Четверикова ОСГА-101 (СПЛ) [[w:ru:Гидросамолёт#Разновидности|амфибия]] | Russia | 1931 | [[w:c:File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|563]] | [[w:c:File:The Soviet Union 1937 CPA 563 stamp (Chyetverikov OSGA-101-SPL).jpg|Russia C72]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev TB-1|ANT-4]] [[w:Bomber|bomber]] | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:ТБ-1|Ант-4]] [[w:ru:Бомбардировщик|бомбардировщик]] | Russia | 1925 | [[w:c:File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|564]] | [[w:c:File:The Soviet Union 1937 CPA 564 stamp (Tupolev ANT-4).jpg|Russia C73]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-20|ANT-20]] ''Maksim Gorky'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:АНТ-20|Ант-20]] "Максим Горький" | Russia | 1934 | [[w:c:File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|565]] | [[w:c:File:The Soviet Union 1937 CPA 565 stamp (Tupolev ANT-20).jpg|Russia C74]] |- | bgcolor="#E0FFE0" | Aircraft [[w:Tupolev|Tupolev]] [[w:Tupolev ANT-14|ANT-14]] ''Pravda'' | bgcolor="#E0FFE0" | Самолет [[w:ru:Туполев (конструкторское бюро)|Туполева]] [[w:ru:АНТ-14|Ант-14]] "Правда" | Russia | 1931 | [[w:c:File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|566]], [[w:c:File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|567]] | [[w:c:File:The Soviet Union 1937 CPA 566 stamp (Tupolev ANT-14).jpg|Russia C75]], [[w:c:File:The Soviet Union 1937 CPA 567 sheet of 4 (4 x Tupolev ANT-14).jpg|C75a]] |} === Coat of arms list / Список гербов === {| class="standard sortable" width="100%" border="1" cellpadding="2" cellspacing="0" align="center" bgcolor="#FFFFE0" |- bgcolor="#CFB53B" ! English name || Russian name || Year || #[[w:ru:Союзпечать|CPA]] || #[[w:Scott catalogue|Scott]] |- | bgcolor="#E0FFE0" | [[w:Russian Soviet Federative Socialist Republic|Russian Soviet Federative Socialist Republic, RSFSR]] | bgcolor="#E0FFE0" | [[w:ru:Российская Советская Федеративная Социалистическая Республика|Российская Советская Федеративная Социалистическая Республика, РСФСР]] | 1937 | [[w:c:File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|568]] | [[w:c:File:The Soviet Union CPA 568 stamp (Arms of RSFSR).jpg|Russia 654]] |- | bgcolor="#E0FFE0" | [[w:Ukrainian Soviet Socialist Republic|Ukrainian Soviet Socialist Republic, USSR]] | bgcolor="#E0FFE0" | [[w:ru:Украинская Советская Социалистическая Республика|Украинская Советская Социалистическая Республика, УССР]] | 1937 | [[w:c:File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|569]] | [[w:c:File:The Soviet Union CPA 569 stamp (Arms of Ukraine).jpg|Russia 657]] |- | bgcolor="#E0FFE0" | [[w:Byelorussian Soviet Socialist Republic|Byelorussian Soviet Socialist Republic, BSSR]] | bgcolor="#E0FFE0" | [[w:ru:Белорусская Советская Социалистическая Республика|Белорусская Советская Социалистическая Республика, БССР]] | 1937 | [[w:c:File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|570]] | [[w:c:File:The Soviet Union CPA 570 stamp (Arms of Byelorussia).jpg|Russia 649]] |- | bgcolor="#E0FFE0" | [[w:Uzbek Soviet Socialist Republic|Uzbek Soviet Socialist Republic, UzSSR]] | bgcolor="#E0FFE0" | [[w:ru:Узбекская Советская Социалистическая Республика|Узбекская Советская Социалистическая Республика, УзССР]] | 1937 | [[w:c:File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|571]] | [[w:c:File:The Soviet Union CPA 571 stamp (Arms of Uzbekistan).jpg|Russia 653]] |- | bgcolor="#E0FFE0" | [[w:Kazakh Soviet Socialist Republic|Kazakh Soviet Socialist Republic, KSSR]] | bgcolor="#E0FFE0" | [[w:ru:Казахская Советская Социалистическая Республика|Казахская Советская Социалистическая Республика, КССР]] | 1937 | [[w:c:File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|572]] | [[w:c:File:The Soviet Union CPA 572 stamp (Arms of Kazakhstan).jpg|Russia 651]] |- | bgcolor="#E0FFE0" | [[w:Georgian Soviet Socialist Republic|Georgian Soviet Socialist Republic, GSSR]] | bgcolor="#E0FFE0" | [[w:ru:Грузинская Советская Социалистическая Республика|Грузинская Советская Социалистическая Республика, ГССР]] | 1937 | [[w:c:File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|573]] | [[w:c:File:The Soviet Union CPA 573 stamp (Arms of Georgia).jpg|Russia 650]] |- | bgcolor="#E0FFE0" | [[w:Azerbaijan Soviet Socialist Republic|Azerbaijan Soviet Socialist Republic, AzSSR]] | bgcolor="#E0FFE0" | [[w:ru:Азербайджанская Советская Социалистическая Республика|Азербайджанская Советская Социалистическая Республика, АзССР]] | 1937 | [[w:c:File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|574]] | [[w:c:File:The Soviet Union CPA 574 stamp (Arms of Azerbaijan).jpg|Russia 648]] |- | bgcolor="#E0FFE0" | [[w:Kirghiz Soviet Socialist Republic|Kirghiz Soviet Socialist Republic, KirSSR]] | bgcolor="#E0FFE0" | [[w:ru:Киргизская Советская Социалистическая Республика|Киргизская Советская Социалистическая Республика, КирССР]] | 1937 | [[w:c:File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|575]] | [[w:c:File:The Soviet Union CPA 575 stamp (Arms of Kirghizia).jpg|Russia 652]] |- | bgcolor="#E0FFE0" | [[w:Tajik Soviet Socialist Republic|Tajik Soviet Socialist Republic, TSSR]] | bgcolor="#E0FFE0" | [[w:ru:Таджикская Советская Социалистическая Республика|Таджикская Советская Социалистическая Республика, ТССР]] | 1937 | [[w:c:File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|576]] | [[w:c:File:The Soviet Union CPA 576 stamp (Arms of Tadzhikistan).jpg|Russia 655]] |- | bgcolor="#E0FFE0" | [[w:Armenian Soviet Socialist Republic|Armenian Soviet Socialist Republic, ASSR]] | bgcolor="#E0FFE0" | [[w:ru:Армянская Советская Социалистическая Республика|Армянская Советская Социалистическая Республика, АССР]] | 1937 | [[w:c:File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|577]] | [[w:c:File:The Soviet Union CPA 577 stamp (Arms of Armenia).jpg|Russia 647]] |- | bgcolor="#E0FFE0" | [[w:Turkmen Soviet Socialist Republic|Turkmen Soviet Socialist Republic, TurSSR]] | bgcolor="#E0FFE0" | [[w:ru:Туркменская Советская Социалистическая Республика|Туркменская Советская Социалистическая Республика, ТурССР]] | 1937 | [[w:c:File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|578]] | [[w:c:File:The Soviet Union CPA 578 stamp (Arms of Turkmenistan).jpg|Russia 656]] |- | bgcolor="#E0FFE0" | [[w:Soviet Union|The Union of Soviet Socialist Republics, USSR]] | bgcolor="#E0FFE0" | [[w:ru:Союз Советских Социалистических Республик|Союз Советских Социалистических Республик, СССР]] | 1937 | [[w:c:File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|579]] | [[w:c:File:The Soviet Union CPA 579 stamp (Arms of USSR).jpg|Russia 658]] |} == <div style="background-color:#50C878">Nature / Природа</div> == Stamps are absent. <br /> Attention! The stamps are sorted by CPA (Central Philatelic Agency) catalog numbers, not by dates of their issue!<br /> Внимание! Марки отсортированы по номерам каталога [[w:ru:Союзпечать|ЦФА]], а не по дате выпуска! {{center/top}} [[File:Flag of the Soviet Union.svg|75px]] '''<big><big><big>Почта СССР</big></big></big>''' [[File:Flag of the Soviet Union.svg|75px]] {| class="toccolours" align=center | [[w:Soviet Union stamp catalogue|CPA catalogue]]<br> [[:World Stamp Catalogue/Soviet Union/1929|←]] [[:World Stamp Catalogue/Soviet Union/1930|1930]] [[:World Stamp Catalogue/Soviet Union/1931|1931]] [[:World Stamp Catalogue/Soviet Union/1932|1932]] [[:World Stamp Catalogue/Soviet Union/1933|1933]] [[:World Stamp Catalogue/Soviet Union/1934|1934]] [[:World Stamp Catalogue/Soviet Union/1935|1935]] [[:World Stamp Catalogue/Soviet Union/1936|1936]] [[:World Stamp Catalogue/Soviet Union/1937|'''<big>1937</big>''']] [[:World Stamp Catalogue/Soviet Union/1938|1938]] [[:World Stamp Catalogue/Soviet Union/1939|1939]] [[:World Stamp Catalogue/Soviet Union/1940|→]] |} {{center/end}} {{BookCat|filing=deep}} d7rfsf5cs23g7m8lz4x5yi184z8nbu8 Breton/Introductory lessons/Breton Dialects 0 360049 4656862 4649775 2026-08-09T22:23:21Z ShakespeareFan00 46022 4656862 wikitext text/x-wiki {{Navlist/Top}} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #bbd2e1; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="1" |<br /> <div style="text-align: center;"><big>&nbsp;'''Introduction to Breton'''<br /><br />'''Breton Dialects'''</big></div><br /> |- |} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #bbd2e1; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="1" | The dialects of Breton as identified by ethnologists are Leoneg, Tregerieg, Gwenedeg, and Kerneveg (in French, respectively: ''léonard'', ''[[w:Trégorrois Breton dialect|trégorrois]]'', ''vannetais'', and ''cornouaillais''). There are no clear borders between those dialect areas because the language varies slightly from one village to the next. Compared to the other dialects, the Gwenedeg dialect is somewhat more distinct due several pronunciation specificities. [[Image:Breton dialectes.svg| 400px]] <br /><br /><br />The following table shows common and local expressions :<br /> [[Image:Breton Kalz a vreudeur-gaer.png |200px]] |} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #bbd2e1; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="1" | == Example of Gwenedeg == <blockquote>Me zo ganet é kreiz er mor<br /> Tèr lèu ér méz;<br /> Un tiig gwenn duhont em-es,<br /> Er benal 'gresk étal en nor<br /> Hag el lann en hol en anvez.<br /> Me zo ganet é kreiz er mor,<br /> E bro Arvor.</blockquote> Excerpt from "Ar en deulin" from Yann-Ber Calloc'h {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%;margin:0 auto;" |+ '''Example of Gwenedeg''' |-style="background:LightGrey; color:Black" ! Gwenedeg!! Peurunvan!! English meaning |- |style="background:LightGreen"|Me zo ganet é kreiz er mor |style="background:#F0E36B"| Me 'zo ganet e-kreiz ar mor |style="background:LightBlue"|I was born in (the middle of) the sea |- |style="background:LightGreen"|Tèr lèu ér méz; |style="background:#F0E36B"| Teir lev er maez; |style="background:LightBlue"|Three leagues outside; |- |style="background:LightGreen"|Un tiig gwenn duhont em-es, |style="background:#F0E36B"| Un tiig gwenn du-hont am eus, |style="background:LightBlue"|A small white house I have over there, |- |style="background:LightGreen"|Er benal 'gresk étal en nor |style="background:#F0E36B"| Ar banal a gresk e-tal an nor |style="background:LightBlue"|Broom grows in front of the door |- |style="background:LightGreen"|Hag el lann en hol en anvez. |style="background:#F0E36B"|Hag al lann en holl an anavez. |style="background:LightBlue"| And heather all around. |- |style="background:LightGreen"|Me zo ganet é kreiz er mor |style="background:#F0E36B"| Me zo ganet e-kreiz ar mor |style="background:LightBlue"|I was born in (the middle of) the sea |- |style="background:LightGreen"|E bro Arvor. |style="background:#F0E36B"| E bro Arvor. |style="background:LightBlue"|In the country of Arvor. |- |} <br /> |} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #bbd2e1; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="1" | == Example of Leoneg == <blockquote>Digeri a reas he divreh d'he muia-karet heb en em renta kont. Pokad a reent dibaouez an eil d'egile, o muzellou o tañva evid ar wech kenta mel dous ar garantez.</blockquote> Excerpt from "Ar Vastardez" from Yann-Vadezour Lagadeg. {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%;margin:0 auto;" |+ '''Example of Leoneg''' |-style="background:LightGrey; color:Brown" ! Leoneg!! Peurunvan!! English meaning |- |style="background:LightGreen"|Digeri a reas he divreh d'he muia-karet heb en em renta kont. |style="background:#F0E36B"| Digeriñ a reas he divrec'h d'he muiañ-karet heb en em rentañ kont. |style="background:LightBlue"|She opened her arms to her beloved boyfriend without realizing. |- |style="background:LightGreen"|Pokad a reent dibaouez an eil d'egile, |style="background:#F0E36B"| Pokad a reent dibaouez an eil d'egile, |style="background:LightBlue"|They kissed each other without end, |- |style="background:LightGreen"|o muzellou o tañva evid ar wech kenta mel dous ar garantez. |style="background:#F0E36B"|o muzellou o tañvañ evid ar wech kentañ mel dous ar garantez. |style="background:LightBlue"|their lips tasting for the first time the sweet honey of love. |- |} <br /> |} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #bbd2e1; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="1" | == Breton spellings == After several attempts at unifying the spelling, two main spellings exist : the "peurunvan" ("completely unified" spelling) and the "skolveurieg" ("university" spelling). '''This course uses "peurunvan" as it is today the most commonly used'''. "Peurunvan" accommodates for dialectal differences. Most notably, the notation "zh" - used in the name "Breizh" ("Brittany") - must be interpreted according to the dialect spoken. * In Leon, it will be most often interpreted as "z" (therefore Breizh is pronounced Breiz). * In Gwened (and some part of Kerne), it will often be interpreted as "h" (therefore Breizh is pronounced Breih). The transcription of "C'h" is also subject to confusion or criticism as pronunciation may widely vary according to the regions. |} {{Navlist/Bottom}} {{BookCat|filing=deep}} s6azx86c3rhqb6upn014rjh30239b86 Breton/Level 2/Lesson 6 0 360070 4656822 4654025 2026-08-09T16:17:10Z ShakespeareFan00 46022 4656822 wikitext text/x-wiki {{status|25%}} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #87e990; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | = Lesson 6/Kentel C'hwec'h : Araogennoù (Prepositions) = Prepositions are combined with the personal pronoun when relevant. Eg. "Evid" (for) gives "Brezhoneg zo mat '''evidon'''." (Breton is good '''for me'''). === Preposition "From" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Preposition "A" (''From'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Ac'hanon |style="background:LightBlue"|From me |- |style="background:LightGreen"|Ac'hanout |style="background:LightBlue"|From you (sg.) |- |style="background:LightGreen"|Anezhañ |style="background:LightBlue"|From him |- |style="background:LightGreen"|Anezhi |style="background:LightBlue"|From her |- |style="background:LightGreen"|Ac'hanomp |style="background:LightBlue"|From us |- |style="background:LightGreen"|Ac'hanoc'h |style="background:LightBlue"|From you (pl.) |- |style="background:LightGreen"|Anezho |style="background:LightBlue"|From them |- |} <br /> [[Image:01 Achanon.ogg]] <br /> === Preposition "For" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Preposition "Evid" (''For'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Evidon |style="background:LightBlue"|For me |- |style="background:LightGreen"|Evidout |style="background:LightBlue"|For you (sg.) |- |style="background:LightGreen"|Evitañ |style="background:LightBlue"|For him |- |style="background:LightGreen"|Eviti |style="background:LightBlue"|For her |- |style="background:LightGreen"|Evidomp |style="background:LightBlue"|For us |- |style="background:LightGreen"|Evidoc'h |style="background:LightBlue"|For you (pl.) |- |style="background:LightGreen"|Evito |style="background:LightBlue"|For them |- |} <br /> <!-- [[Image:01 Evid.ogg]] --> <br /> '''Prepositions from the same type :''' :Davet (toward) : Davedon<br /> :Eget (than) : Egedon<br /> :Estreget (other than) : Estregedon<br /> :Evel (as) : Eveldon<br /> :Hep (without) : Hepdon<br /> :Nemet (but for) : Nemedon<br /> :Panevet (if it hadn't been for) : Panavedon<br /> <br /> === Preposition "Upon" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Preposition "War" (''Upon'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Warnon |style="background:LightBlue"|Upon me |- |style="background:LightGreen"|Warnout |style="background:LightBlue"|Upon you (sg.) |- |style="background:LightGreen"|Warnañ, warnezhañ |style="background:LightBlue"|Upon him |- |style="background:LightGreen"|Warni, warnezhi |style="background:LightBlue"|Upon her |- |style="background:LightGreen"|Warnomp |style="background:LightBlue"|Upon us |- |style="background:LightGreen"|Warnoc'h |style="background:LightBlue"|Upon you (pl.) |- |style="background:LightGreen"|Warno, warnezho |style="background:LightBlue"|Upon them |- |} <br /> <!-- [[Image:01 War.ogg]] --> <br /> '''Prepositions from the same type :''' :Diwar (of) : Diwarnon<br /> <br /> === Preposition "In" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Preposition "E (en)" (''In'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Ennon |style="background:LightBlue"|In me |- |style="background:LightGreen"|Ennout |style="background:LightBlue"|In you (sg.) |- |style="background:LightGreen"|Ennañ |style="background:LightBlue"|In him |- |style="background:LightGreen"|Enni |style="background:LightBlue"|In her |- |style="background:LightGreen"|Ennomp |style="background:LightBlue"|In us |- |style="background:LightGreen"|Ennoc'h |style="background:LightBlue"|In you (pl.) |- |style="background:LightGreen"|Enno |style="background:LightBlue"|In them |- |} <br /> Ne sonjan nemet '''ennoc'h''' ! I only think of you ! (Song from Nolwenn Korbell)<br /> <!-- [[Image:01 en.ogg]] --> <br /> '''Prepositions from the same type :''' :Dindan (under) : Dindanon<br /> <br /> === Preposition "By" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Preposition "Dre" (''By'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Drezon |style="background:LightBlue"|By me |- |style="background:LightGreen"|Drezout |style="background:LightBlue"|By you (sg.) |- |style="background:LightGreen"|Drezañ |style="background:LightBlue"|By him |- |style="background:LightGreen"|Drezi |style="background:LightBlue"|By her |- |style="background:LightGreen"|Drezomp |style="background:LightBlue"|By us |- |style="background:LightGreen"|Drezoc'h |style="background:LightBlue"|By you (pl.) |- |style="background:LightGreen"|Drezo |style="background:LightBlue"|By them |- |} <br /> <!-- [[Image:01 by.ogg]] --> <br /> '''Prepositions from the same type :''' :A-raog (before) : Araozon<br /> :Dirak (in front of) : Dirazon<br /> :Kenetre (between) : Kenetrezomp<br /> :Eme (said I, said he, etc.) : Emezon<br /> :Etre (between) : Etrezomp<br /> :Hep (without) : Hepzon<br /> :Hervez (According to) : Hervezon<br /> :Rak (before) : Razon<br /> === Preposition "To" / "Toward" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Preposition "Da" (''Toward'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Din |style="background:LightBlue"|Toward me |- |style="background:LightGreen"|Dit |style="background:LightBlue"|Toward you (sg.) |- |style="background:LightGreen"|Dezhañ |style="background:LightBlue"|Toward him |- |style="background:LightGreen"|Dezhi |style="background:LightBlue"|Toward her |- |style="background:LightGreen"|Dimp, Deomp |style="background:LightBlue"|Toward us |- |style="background:LightGreen"|Deoc'h |style="background:LightBlue"|Toward you (pl.) |- |style="background:LightGreen"|Dezho |style="background:LightBlue"|Toward them |- |} <br /> <!-- [[Image:01 Da.ogg]] --> <br /> <br /> === Preposition "Against" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Preposition "Ouzh" (''Against'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Ouzhin |style="background:LightBlue"|Against me |- |style="background:LightGreen"|Ouzhit |style="background:LightBlue"|Against you (sg.) |- |style="background:LightGreen"|Outañ |style="background:LightBlue"|Against him |- |style="background:LightGreen"|Outi |style="background:LightBlue"|Against her |- |style="background:LightGreen"|Ouzhimp |style="background:LightBlue"|Against us |- |style="background:LightGreen"|Ouzhoc'h |style="background:LightBlue"|Against you (pl.) |- |style="background:LightGreen"|Outo |style="background:LightBlue"|Against them |- |} <br /> <!--[[Image:01 Against.ogg]]--> <br /> '''Prepositions from the same type :''' :A-zioc'h (above) : Aziouzhin<br /> :Diouzh (from) : Diouzhin<br /> <br /> === Preposition "With" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Preposition "Gant" (''With'')''' |-style="background:LightGrey; color:Brown" ! Brezhoneg!! English meaning |- |style="background:LightGreen"|Ganin |style="background:LightBlue"|With me |- |style="background:LightGreen"|Ganit |style="background:LightBlue"|With you (sg.) |- |style="background:LightGreen"|Gantañ |style="background:LightBlue"|With him |- |style="background:LightGreen"|Ganti |style="background:LightBlue"|With her |- |style="background:LightGreen"|Ganimp, Ganeomp |style="background:LightBlue"|With us |- |style="background:LightGreen"|Ganeoc'h |style="background:LightBlue"|With you (pl.) |- |style="background:LightGreen"|Ganto |style="background:LightBlue"|With them |- |} <br /> <!-- [[Image:01 With.ogg]] --> <br /> '''Prepositions from the same type :''' :Digant (from) : Diganin<br /> <br /> |} {{BookCat|filing=deep}} jhp7milvnq9xaxg9seeyrxy162pc496 Breton/Level 3/Lesson 4 0 360076 4656864 2949607 2026-08-09T22:25:38Z ShakespeareFan00 46022 4656864 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #c9a0dc; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == The Imperfect Tense == For definitions, see [[Breton/Level 3/Lesson 3|Lesson 3]] === Tables === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Verb Bezañ (''To be'') - Imperfect''' |-style="background:LightGrey; color:Brown" ! Imperfect Tense<br />Personal form!! Imperfect Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! Situation Tense!! English meaning |- |style="background:LightGreen"|e oan |style="background:#82C46C"|me a oa |style="background:#FEC3AC"| e vezen |style="background:#FF5E4D"| me a veze |style="background:Orange"| edon |style="background:LightBlue"|I was |- |style="background:LightGreen"|e oas |style="background:#82C46C"|te a oa |style="background:#FEC3AC"| e vezes |style="background:#FF5E4D"| te a veze |style="background:Orange"| edos |style="background:LightBlue"|You were (sg.) |- |style="background:LightGreen"|e oa |style="background:#82C46C"|eñ a oa |style="background:#FEC3AC"| e veze |style="background:#FF5E4D"| eñ a veze |style="background:Orange"| edo |style="background:LightBlue"|He was |- |style="background:LightGreen"|e oa |style="background:#82C46C"|hi a oa |style="background:#FEC3AC"| e veze |style="background:#FF5E4D"| hi a veze |style="background:Orange"| edo |style="background:LightBlue"|She was |- |style="background:LightGreen"|e oamp |style="background:#82C46C"|ni a oa |style="background:#FEC3AC"| e vezemp |style="background:#FF5E4D"| ni a veze |style="background:Orange"| edomp |style="background:LightBlue"|We were |- |style="background:LightGreen"|e oac'h |style="background:#82C46C"|c'hwi a oa |style="background:#FEC3AC"| e vezec'h |style="background:#FF5E4D"| c'hwi a veze |style="background:Orange"| edoc'h |style="background:LightBlue"|You were (pl.) |- |style="background:LightGreen"|e oant |style="background:#82C46C"|int a oa |style="background:#FEC3AC"| e vezent |style="background:#FF5E4D"| int a veze |style="background:Orange"| edont |style="background:LightBlue"|They were |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|e oad |style="background:#82C46C"| |style="background:#FEC3AC"| e vezed |style="background:#FF5E4D"| |style="background:Orange"| edod |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Regular Verb Skrivañ (''To write'') - Imperfect''' |-style="background:LightGrey; color:Brown" ! Imperfect Tense<br />Personal form!! Imperfect Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|ul levr a skriven |style="background:#82C46C"|me a skrive ul levr |style="background:#F0E36B"| skrivañ a raen ul levr |style="background:LightBlue"|I wrote a book |- |style="background:LightGreen"|ul levr a skrives |style="background:#82C46C"|te a skrive ul levr |style="background:#F0E36B"| skrivañ a raes ul levr |style="background:LightBlue"|You wrote a book (sg.) |- |style="background:LightGreen"|ul levr a skrive |style="background:#82C46C"|eñ a skrive ul levr |style="background:#F0E36B"| skrivañ a rae ul levr |style="background:LightBlue"|He wrote a book |- |style="background:LightGreen"|ul levr a skrive |style="background:#82C46C"|hi a skrive ul levr |style="background:#F0E36B"| skrivañ a rae ul levr |style="background:LightBlue"|She wrote a book |- |style="background:LightGreen"|ul levr a skrivemp |style="background:#82C46C"|ni a skrive ul levr |style="background:#F0E36B"| skrivañ a raemp ul levr |style="background:LightBlue"|We wrote a book |- |style="background:LightGreen"|ul levr a skrivec'h |style="background:#82C46C"|c'hwi a skrive ul levr |style="background:#F0E36B"| skrivañ a raec'h ul levr |style="background:LightBlue"|You wrote a book (pl.) |- |style="background:LightGreen"|ul levr a skrivent |style="background:#82C46C"|int a skrive ul levr |style="background:#F0E36B"| skrivañ a raent ul levr |style="background:LightBlue"|They wrote a book |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|ul levr a skrived |style="background:#82C46C"| |style="background:#F0E36B"| skrivañ a raed ul levr |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> == The Imperative Tense == === Tables === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Verb Bezañ (''To be'') - Imperative''' |-style="background:LightGrey; color:Brown" ! Imperative Tense<br />Personal form!! English meaning |- |style="background:LightGreen"| |style="background:LightBlue"| |- |style="background:LightGreen"|bez |style="background:LightBlue"|be (sg.) |- |style="background:LightGreen"|bezet |style="background:LightBlue"|let him be |- |style="background:LightGreen"|bezet |style="background:LightBlue"|let her be |- |style="background:LightGreen"|bezomp |style="background:LightBlue"|let us be |- |style="background:LightGreen"|bezit |style="background:LightBlue"|be (pl.) |- |style="background:LightGreen"|bezent |style="background:LightBlue"|let them be |- |} <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Regular Verb Skrivañ (''To write'') - Imperative''' |-style="background:LightGrey; color:Brown" ! Imperative Tense<br />Personal form!! English meaning |- |style="background:LightGreen"| |style="background:LightBlue"| |- |style="background:LightGreen"|skriv |style="background:LightBlue"|write (sg.) |- |style="background:LightGreen"|skrivet |style="background:LightBlue"|let him write |- |style="background:LightGreen"|skrivet |style="background:LightBlue"|let her write |- |style="background:LightGreen"|skrivomp |style="background:LightBlue"|let us write |- |style="background:LightGreen"|skrivit |style="background:LightBlue"|write (pl.) |- |style="background:LightGreen"|skrivent |style="background:LightBlue"|let them write |- |} <br /> ==Exercises/Ober== ===Self training=== Now , you have seen how its done.<br /> Take the verbs from [[Breton/Level 2/Lesson 1|Level 2, Lesson 1]] and write them down if you haven't already.<br /><br /> Now change them into their Imperfect tense and Imperative tense.<br /><br /> Now underneath , make some sentences up , for each verb. EG. ''Me a zo er skol o teskiñ kembraeg'' (I learn Welsh in school).<br />''Me a veze er skol o teskiñ kembraeg'' (I learned Welsh in school).<br /> ===Quiz=== [[/Quiz|Go to the quiz]] |} {{BookCat|filing=deep}} {{status|50%}} pv09qz91dzwi0sp0hwlxn9pdo3w7e46 Breton/Level 4/Lesson 4 0 360083 4656865 2949619 2026-08-09T22:26:38Z ShakespeareFan00 46022 4656865 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #f7ff3c; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == The Preterite Tense == For definitions, see [[Breton/Level 2/Lesson 3|Level 2, Lesson 3]] <br /><br /><br /><br /> === Tables === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Verb Bezañ (''To be'') - Preterite''' |-style="background:LightGrey; color:Brown" ! Preterite Tense<br />Personal form!! Preterite Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! Situation Tense!! English meaning |- |style="background:LightGreen"|e voen |style="background:#82C46C"|me a voe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|I was (once) |- |style="background:LightGreen"|e voes |style="background:#82C46C"|te a voe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You were once (sg.) |- |style="background:LightGreen"|e voe |style="background:#82C46C"|eñ a voe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|He was once |- |style="background:LightGreen"|e voe |style="background:#82C46C"|hi a voe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|She was once |- |style="background:LightGreen"|e voemp |style="background:#82C46C"|ni a voe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|We were once |- |style="background:LightGreen"|e voec'h |style="background:#82C46C"|c'hwi a voe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You were once (pl.) |- |style="background:LightGreen"|e voent |style="background:#82C46C"|int a voe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|They were once |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|e voed |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Regular Verb Skrivañ (''To write'') - Preterite''' |-style="background:LightGrey; color:Brown" ! Preterite Tense<br />Personal form!! Preterite Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|ul levr a skrivis |style="background:#82C46C"|me a skrivas ul levr |style="background:#F0E36B"| skrivañ a ris ul levr |style="background:LightBlue"|I wrote a book |- |style="background:LightGreen"|ul levr a skrivout |style="background:#82C46C"|te a skrivas ul levr |style="background:#F0E36B"| skrivañ a rejout ul levr |style="background:LightBlue"|You wrote a book (sg.) |- |style="background:LightGreen"|ul levr a skrivas |style="background:#82C46C"|eñ a skrivas ul levr |style="background:#F0E36B"| skrivañ a reas ul levr |style="background:LightBlue"|He wrote a book |- |style="background:LightGreen"|ul levr a skrivas |style="background:#82C46C"|hi a skrivas ul levr |style="background:#F0E36B"| skrivañ a reas ul levr |style="background:LightBlue"|She wrote a book |- |style="background:LightGreen"|ul levr a skrivomp |style="background:#82C46C"|ni a skrivas ul levr |style="background:#F0E36B"| skrivañ a rejomp ul levr |style="background:LightBlue"|We wrote a book |- |style="background:LightGreen"|ul levr a skrivoc'h |style="background:#82C46C"|c'hwi a skrivas ul levr |style="background:#F0E36B"| skrivañ a rejoc'h ul levr |style="background:LightBlue"|You wrote a book (pl.) |- |style="background:LightGreen"|ul levr a skrivont |style="background:#82C46C"|int a skrivas ul levr |style="background:#F0E36B"| skrivañ a rejont ul levr |style="background:LightBlue"|They wrote a book |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|ul levr a skrivod |style="background:#82C46C"| |style="background:#F0E36B"| skrivañ a rejod ul levr |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> == The Future Tense == === Tables === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Verb Bezañ (''To be'') - Future''' |-style="background:LightGrey; color:Brown" ! Future Tense<br />Personal form!! Future Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! Situation Tense!! English meaning |- |style="background:LightGreen"|e vin (vezin) |style="background:#82C46C"|me a vo |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|I shall be |- |style="background:LightGreen"|e vi (vezi) |style="background:#82C46C"|te a vo |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You will be (sg.) |- |style="background:LightGreen"|e vo (vezo) |style="background:#82C46C"|eñ a vo |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|He will be |- |style="background:LightGreen"|e vo (vezo) |style="background:#82C46C"|hi a vo |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|She will be |- |style="background:LightGreen"|e vimp (vezimp) |style="background:#82C46C"|ni a vo |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|We shall be |- |style="background:LightGreen"|e viot (vezot) |style="background:#82C46C"|c'hwi a vo |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You will be (pl.) |- |style="background:LightGreen"|e vint (vezint) |style="background:#82C46C"|int a vo |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|They will be |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|e vior (vezor) |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Regular Verb Skrivañ (''To write'') - Future''' |-style="background:LightGrey; color:Brown" ! Future Tense<br />Personal form!! Future Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|ul levr a skrivin |style="background:#82C46C"|me a skrivo ul levr |style="background:#F0E36B"| skrivañ a rin ul levr |style="background:LightBlue"|I shall write a book |- |style="background:LightGreen"|ul levr a skrivi |style="background:#82C46C"|te a skrivo ul levr |style="background:#F0E36B"| skrivañ a ri ul levr |style="background:LightBlue"|You will write a book (sg.) |- |style="background:LightGreen"|ul levr a skrivo |style="background:#82C46C"|eñ a skrivo ul levr |style="background:#F0E36B"| skrivañ a raio (ray) ul levr |style="background:LightBlue"|He will write a book |- |style="background:LightGreen"|ul levr a skrivo |style="background:#82C46C"|hi a skrivo ul levr |style="background:#F0E36B"| skrivañ a raio (ray) ul levr |style="background:LightBlue"|She will write a book |- |style="background:LightGreen"|ul levr a skrivimp |style="background:#82C46C"|ni a skrivo ul levr |style="background:#F0E36B"| skrivañ a raimp ul levr |style="background:LightBlue"|We shall write a book |- |style="background:LightGreen"|ul levr a skrivot |style="background:#82C46C"|c'hwi a skrivo ul levr |style="background:#F0E36B"| skrivañ a reot ul levr |style="background:LightBlue"|You will write a book (pl.) |- |style="background:LightGreen"|ul levr a skrivint |style="background:#82C46C"|int a skrivo ul levr |style="background:#F0E36B"| skrivañ a raint ul levr |style="background:LightBlue"|They will write a book |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|ul levr a skrivor |style="background:#82C46C"| |style="background:#F0E36B"| skrivañ a reor ul levr |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> ==Exercises/Ober== ===Self training=== Now , you have seen how its done.<br /> Take the verbs from [[Breton/Level 2/Lesson 1|Level 2, Lesson 1]] and write them down if you haven't already.<br /><br /> Now change them into their preterite tense and future tense.<br /><br /> Now underneath , make some sentences up , for each verb. EG. ''Me a zo er skol o teskiñ kembraeg'' (I learn Welsh in school).<br />''Me a vo er skol evid teskiñ kembraeg'' (I will learn Welsh in school).<br /> ===Quiz=== [[/Quiz|Go to the quiz]] |} {{BookCat|filing=deep}} 22wh4683knhi1ow20iwjd07sl01t650 Breton/Level 5/Lesson 4 0 360089 4656866 2949632 2026-08-09T22:27:38Z ShakespeareFan00 46022 4656866 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: #BEF574; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == The Conditional Present Tense == For definitions, see [[Breton/Level 2/Lesson 3|Level 2, Lesson 3]] === Tables === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Verb Bezañ (''To be'') - Conditional Present''' |-style="background:LightGrey; color:Brown" ! Conditional Present<br />Personal form!! Conditional Present<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! Situation Tense!! English meaning |- |style="background:LightGreen"|e vefen |style="background:#82C46C"|me a vefe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|I would |- |style="background:LightGreen"|e vefes |style="background:#82C46C"|te a vefe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You would (sg.) |- |style="background:LightGreen"|e vefe |style="background:#82C46C"|eñ a vefe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|He would |- |style="background:LightGreen"|e vefe |style="background:#82C46C"|hi a vefe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|She would |- |style="background:LightGreen"|e vefemp |style="background:#82C46C"|ni a vefe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|We would |- |style="background:LightGreen"|e vefec'h |style="background:#82C46C"|c'hwi a vefe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You would (pl.) |- |style="background:LightGreen"|e vefent |style="background:#82C46C"|int a vefe |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|They would |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|e vefed |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Regular Verb Skrivañ (''To write'') - Conditional Present''' |-style="background:LightGrey; color:Brown" ! Conditional Present<br />Personal form!! Conditional Present<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|ul levr a skrivfen |style="background:#82C46C"|me a skrivfe ul levr |style="background:#F0E36B"| skrivañ a rafen ul levr |style="background:LightBlue"|I would write a book |- |style="background:LightGreen"|ul levr a skrivfes |style="background:#82C46C"|te a skrivfe ul levr |style="background:#F0E36B"| skrivañ a rafes ul levr |style="background:LightBlue"|You would write a book (sg.) |- |style="background:LightGreen"|ul levr a skrivfe |style="background:#82C46C"|eñ a skrivfe ul levr |style="background:#F0E36B"| skrivañ a rafe ul levr |style="background:LightBlue"|He would write a book |- |style="background:LightGreen"|ul levr a skrivfe |style="background:#82C46C"|hi a skrivfe ul levr |style="background:#F0E36B"| skrivañ a rafe ul levr |style="background:LightBlue"|She would write a book |- |style="background:LightGreen"|ul levr a skrivfemp |style="background:#82C46C"|ni a skrivfe ul levr |style="background:#F0E36B"| skrivañ a rafemp ul levr |style="background:LightBlue"|We would write a book |- |style="background:LightGreen"|ul levr a skrivfec'h |style="background:#82C46C"|c'hwi a skrivfe ul levr |style="background:#F0E36B"| skrivañ a rafec'h ul levr |style="background:LightBlue"|You would write a book (pl.) |- |style="background:LightGreen"|ul levr a skrivfent |style="background:#82C46C"|int a skrivfe ul levr |style="background:#F0E36B"| skrivañ a rafent ul levr |style="background:LightBlue"|They would write a book |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|ul levr a skrivfed |style="background:#82C46C"| |style="background:#F0E36B"| skrivañ a rafed ul levr |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> == The Past Conditional Tense == === Tables === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Verb Bezañ (''To be'') - Past Conditional''' |-style="background:LightGrey; color:Brown" ! Past Conditional<br />Personal form!! Past Conditional<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! Situation Tense!! English meaning |- |style="background:LightGreen"|e vijen |style="background:#82C46C"|me a vije |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|I would have been |- |style="background:LightGreen"|e vijes |style="background:#82C46C"|te a vije |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You would have been (sg.) |- |style="background:LightGreen"|e vije |style="background:#82C46C"|eñ a vije |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|He would have been |- |style="background:LightGreen"|e vije |style="background:#82C46C"|hi a vije |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|She would have been |- |style="background:LightGreen"|e vijemp |style="background:#82C46C"|ni a vije |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|We would have been |- |style="background:LightGreen"|e vijec'h |style="background:#82C46C"|c'hwi a vije |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|You would have been (pl.) |- |style="background:LightGreen"|e vijent |style="background:#82C46C"|int a vije |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|They would have been |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|e vijed |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:Orange"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Regular Verb Skrivañ (''To write'') - Past Conditional''' |-style="background:LightGrey; color:Brown" ! Past Conditional<br />Personal form!! Past Conditional<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|ul levr a skrivjen |style="background:#82C46C"|me a skrivje ul levr |style="background:#F0E36B"| skrivañ a rajen ul levr |style="background:LightBlue"|I would have writen a book |- |style="background:LightGreen"|ul levr a skrivjes |style="background:#82C46C"|te a skrivje ul levr |style="background:#F0E36B"| skrivañ a rajes ul levr |style="background:LightBlue"|You would have writen a book (sg.) |- |style="background:LightGreen"|ul levr a skrivje |style="background:#82C46C"|eñ a skrivje ul levr |style="background:#F0E36B"| skrivañ a raje ul levr |style="background:LightBlue"|He would have writen a book |- |style="background:LightGreen"|ul levr a skrivje |style="background:#82C46C"|hi a skrivfe ul levr |style="background:#F0E36B"| skrivañ a raje ul levr |style="background:LightBlue"|She would have writen a book |- |style="background:LightGreen"|ul levr a skrivjemp |style="background:#82C46C"|ni a skrivje ul levr |style="background:#F0E36B"| skrivañ a rajemp ul levr |style="background:LightBlue"|We would have writen a book |- |style="background:LightGreen"|ul levr a skrivjec'h |style="background:#82C46C"|c'hwi a skrivje ul levr |style="background:#F0E36B"| skrivañ a rajec'h ul levr |style="background:LightBlue"|You would have writen a book (pl.) |- |style="background:LightGreen"|ul levr a skrivjent |style="background:#82C46C"|int a skrivje ul levr |style="background:#F0E36B"| skrivañ a rajent ul levr |style="background:LightBlue"|They would have writen a book |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|ul levr a skrivjed |style="background:#82C46C"| |style="background:#F0E36B"| skrivañ a rajed ul levr |style="background:LightBlue"|Impersonal <br />passive |- |} ==Exercises/Ober== ===Self training=== Now , you have seen how its done.<br /> Take the verbs from [[Breton/Level 2/Lesson 1|Level 2, Lesson 1]] and write them down if you haven't already.<br /><br /> Now change them into their Present Conditional tense and Past Conditional tense.<br /><br /> Now underneath , make some sentences up , for each verb. EG. ''Me a zo er skol o teskiñ kembraeg'' (I learn Welsh in school).<br />''Me a vefe er skol evid teskiñ kembraeg'' (I would learn Welsh in school).<br /> ===Quiz=== [[/Quiz|Go to the quiz]] |} {{BookCat|filing=deep}} 33akltybv5upjk0ni8gz0zin2zrnbnh Breton/Level 6/Lesson 1 0 360091 4656844 4654015 2026-08-09T21:55:45Z ShakespeareFan00 46022 4656844 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: PapayaWhip; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == Irregular verbs / The Imperative Tense == === "To have" / "Kaout" or "Endevout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Endevout / Kaout (''To have'') - Imperative''' |-style="background:LightGrey; color:Brown" ! Imperative Tense<br />Personal form!! English meaning |- |style="background:LightGreen"|Am bezet |style="background:LightBlue"|Have |- |style="background:LightGreen"|Az pez |style="background:LightBlue"|Let you have (sg.) |- |style="background:LightGreen"|En defet |style="background:LightBlue"|Let him have |- |style="background:LightGreen"|He defet |style="background:LightBlue"|Let her have |- |style="background:LightGreen"|Hor bezet |style="background:LightBlue"|Let us have |- |style="background:LightGreen"|Ho pet |style="background:LightBlue"|Let you have (pl.) |- |style="background:LightGreen"|o defent |style="background:LightBlue"|Let them have |- |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01b Kaout.ogg]] --> === "To know" / "Gouzout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Gouzout (''To know'') - Imperative''' |-style="background:LightGrey; color:Brown" ! Imperative Tense<br />Personal form!! English meaning |- |style="background:LightGreen"| |style="background:LightBlue"| |- |style="background:LightGreen"|Brezhoneg a ouez |style="background:LightBlue"|Let you know Breton (sg.) |- |style="background:LightGreen"|Brezhoneg a ouezet |style="background:LightBlue"|Let him know Breton |- |style="background:LightGreen"|Brezhoneg a ouezet |style="background:LightBlue"|Let her know Breton |- |style="background:LightGreen"|Brezhoneg a ouezomp |style="background:LightBlue"|Let us know Breton |- |style="background:LightGreen"|Brezhoneg a ouezit |style="background:LightBlue"|Let you know Breton (pl.) |- |style="background:LightGreen"|Brezhoneg a ouezent |style="background:LightBlue"|Let them know Breton |- |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01b Gouzout.ogg]] --> === "To go" / "Mont" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Mont (''To go'') - Imperative''' |-style="background:LightGrey; color:Brown" ! Imperative Tense<br />Personal form!! English meaning |- |style="background:LightGreen"| |style="background:LightBlue"| |- |style="background:LightGreen"|Kae da Gemper |style="background:LightBlue"|Go to Kemper |- |style="background:LightGreen"|Aet da Gemper |style="background:LightBlue"|Let him go to Kemper |- |style="background:LightGreen"|Aet da Gemper |style="background:LightBlue"|Let her go to Kemper |- |style="background:LightGreen"|Deomp da Gemper |style="background:LightBlue"|Let us go to Kemper |- |style="background:LightGreen"|Kit da Gemper |style="background:LightBlue"|Let you go to Kemper (pl.) |- |style="background:LightGreen"|Aent da Gemper |style="background:LightBlue"|Let them go to Kemper |- |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01b Mont.ogg]] --> === "To do" / "Ober" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Irregular Verb Ober (''To do'') - Imperative''' |-style="background:LightGrey; color:Brown" ! Imperative Tense<br />Personal form!! English meaning |- |style="background:LightGreen"| |style="background:LightBlue"| |- |style="background:LightGreen"|Gra trouz |style="background:LightBlue"|Let you make noise (sg.) |- |style="background:LightGreen"|Graet trouz |style="background:LightBlue"|Let him make noise |- |style="background:LightGreen"|Graet trouz |style="background:LightBlue"|Let her make noise |- |style="background:LightGreen"|Greomp trouz |style="background:LightBlue"|Let us make noise |- |style="background:LightGreen"|Grit trouz |style="background:LightBlue"|Let you make noise (pl.) |- |style="background:LightGreen"|Graent trouz |style="background:LightBlue"|Let them make noise |- |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01b Ober.ogg]] --> == Exercises/Ober == === Self training === Now , you have seen how it's done.<br /><br /> Take the verbs from this lesson and write their Imperative tense.<br /><br /> Now underneath , make some sentences up , for each verb. Eg. ''Me a oar kembraeg'' (I know welsh).<br /><br /> === Quiz === [[/Quiz2|Go to the Quiz]] |} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: PapayaWhip; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == Irregular verbs / The Present Tense == === "To have" / "Kaout" or "Endevout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Endevout / Kaout (''To have'') - Present''' |-style="background:LightGrey; color:Brown" ! Present Tense<br />Personal form!! Present Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! English meaning |- |style="background:LightGreen"|em eus |style="background:#82C46C"| |style="background:#FEC3AC"|am bez |style="background:#FF5E4D"| |style="background:LightBlue"|I have |- |style="background:LightGreen"|ac'h eus |style="background:#82C46C"| |style="background:#FEC3AC"|az pez |style="background:#FF5E4D"| |style="background:LightBlue"|You have (sg.) |- |style="background:LightGreen"|en deus |style="background:#82C46C"| |style="background:#FEC3AC"|en devez |style="background:#FF5E4D"| |style="background:LightBlue"|He has |- |style="background:LightGreen"|he deus |style="background:#82C46C"| |style="background:#FEC3AC"|he devez |style="background:#FF5E4D"| |style="background:LightBlue"|She has |- |style="background:LightGreen"|hon eus |style="background:#82C46C"| |style="background:#FEC3AC"|hor bez |style="background:#FF5E4D"| |style="background:LightBlue"|We have |- |style="background:LightGreen"|hoc'h eus |style="background:#82C46C"| |style="background:#FEC3AC"|ho pez |style="background:#FF5E4D"| |style="background:LightBlue"|You have (pl.) |- |style="background:LightGreen"|o deus |style="background:#82C46C"| |style="background:#FEC3AC"|o devez |style="background:#FF5E4D"| |style="background:LightBlue"|They have |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01 Kaout.ogg]] --> === "To know" / "Gouzout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Gouzout (''To know'') - Present''' |-style="background:LightGrey; color:Brown" ! Present Tense<br />Personal form!! Present Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Brezhoneg a ouzon |style="background:#82C46C"|Me a oar brezhoneg |style="background:#F0E36B"| Gouzout a ran brezhoneg |style="background:LightBlue"|I know Breton |- |style="background:LightGreen"|Brezhoneg a ouzout |style="background:#82C46C"|Te a oar brezhoneg |style="background:#F0E36B"| Gouzout a rez brezhoneg |style="background:LightBlue"|You know Breton (sg.) |- |style="background:LightGreen"|Brezhoneg a oar |style="background:#82C46C"|En a oar brezhoneg |style="background:#F0E36B"| Gouzout a ra brezhoneg |style="background:LightBlue"|He knows Breton |- |style="background:LightGreen"|Brezhoneg a oar |style="background:#82C46C"|He a oar brezhoneg |style="background:#F0E36B"| Gouzout a ra brezhoneg |style="background:LightBlue"|She knows Breton |- |style="background:LightGreen"|Brezhoneg a ouzomp |style="background:#82C46C"|Ni a oar brezhoneg |style="background:#F0E36B"| Gouzout a reomp brezhoneg |style="background:LightBlue"|We know Breton |- |style="background:LightGreen"|Brezhoneg a ouzoc'h |style="background:#82C46C"|C'hwi a oar brezhoneg |style="background:#F0E36B"| Gouzout a rit brezhoneg |style="background:LightBlue"|You know Breton (pl.) |- |style="background:LightGreen"|Brezhoneg a ouzont |style="background:#82C46C"|Int a oar brezhoneg |style="background:#F0E36B"| Gouzout a reont brezhoneg |style="background:LightBlue"|They know Breton |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Brezhoneg a ouzer |style="background:#82C46C"| |style="background:#F0E36B"| Gouzout a reer brezhoneg |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01 Gouzout.ogg]] --> === "To go" / "Mont" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Mont (''To go'') - Present''' |-style="background:LightGrey; color:Brown" ! Present Tense<br />Personal form!! Present Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Da Gemper ez an |style="background:#82C46C"|Me a ya da Gemper /<br /> Me ac'h a da Gemper[[[wikt:br:a_ya]]] |style="background:#F0E36B"| Mond a ran da Gemper |style="background:LightBlue"|I go to Kemper |- |style="background:LightGreen"|Da Gemper ez ez |style="background:#82C46C"|Te a ya da Gemper |style="background:#F0E36B"| Mond a rez da Gemper |style="background:LightBlue"|You go to Kemper (sg.) |- |style="background:LightGreen"|Da Gemper ez a |style="background:#82C46C"|En a ya da Gemper |style="background:#F0E36B"| Mond a ra da Gemper |style="background:LightBlue"|He goes to Kemper |- |style="background:LightGreen"|Da Gemper ez a |style="background:#82C46C"|He a ya da Gemper |style="background:#F0E36B"| Mond a ra da Gemper |style="background:LightBlue"|She goes to Kemper |- |style="background:LightGreen"|Da Gemper ez eomp |style="background:#82C46C"|Ni a ya da Gemper |style="background:#F0E36B"| Mond a reomp da Gemper |style="background:LightBlue"|We go to Kemper |- |style="background:LightGreen"|Da Gemper ez it |style="background:#82C46C"|C'hwi a ya da Gemper |style="background:#F0E36B"| Mond a rit da Gemper |style="background:LightBlue"|You go to Kemper (pl.) |- |style="background:LightGreen"|Da Gemper ez eont |style="background:#82C46C"|Int a ya da Gemper |style="background:#F0E36B"| Mond a reont da Gemper |style="background:LightBlue"|They go to Kemper |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Da Gemper ez eer |style="background:#82C46C"| |style="background:#F0E36B"| Mond a reer da Gemper |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01 Mont.ogg]] --> === "To do" / "Ober" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Irregular Verb Ober (''To do'') - Present''' |-style="background:LightGrey; color:Brown" ! Present Tense<br />Personal form!! Present Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Trouz a ran |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|I make noise |- |style="background:LightGreen"|Trouz a rez |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You make noise (sg.) |- |style="background:LightGreen"|Trouz a ra |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|He makes noise |- |style="background:LightGreen"|Trouz a ra |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|She makes noise |- |style="background:LightGreen"|Trouz a reomp |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|We make noise |- |style="background:LightGreen"|Trouz a rit |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You make noise (pl.) |- |style="background:LightGreen"|Trouz a reont |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|They make noise |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Trouz a reer |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:01 Ober.ogg]] --> == Exercises/Ober == === Self training === Now , you have seen how it's done.<br /><br /> Take the verbs from this lesson and write their present tense.<br /><br /> Now underneath , make some sentences up , for each verb. Eg. ''Me a oar kembraeg'' (I know Welsh).<br /><br /> === Quiz === [[/Quiz|Go to the Quiz]] |} {{BookCat|filing=deep}} cj82f4pzznkea9ylglze5nx6j1fe16o Breton/Level 6/Lesson 2 0 360092 4656845 4654018 2026-08-09T21:56:24Z ShakespeareFan00 46022 4656845 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: PapayaWhip; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == Irregular verbs / The Past Tense == === "To have" / "Kaout" or "Endevout" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Endevout / Kaout (''To have'') - Past''' |-style="background:LightGrey; color:Brown" ! Past Tense<br />Personal form!! Past Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! English meaning |- |style="background:LightGreen"|am boa |style="background:#82C46C"| |style="background:#FEC3AC"|am beze |style="background:#FF5E4D"| |style="background:LightBlue"|I had |- |style="background:LightGreen"|az poa |style="background:#82C46C"| |style="background:#FEC3AC"|az peze |style="background:#FF5E4D"| |style="background:LightBlue"|You had (sg.) |- |style="background:LightGreen"|en doa |style="background:#82C46C"| |style="background:#FEC3AC"|en deveze |style="background:#FF5E4D"| |style="background:LightBlue"|He had |- |style="background:LightGreen"|he doa |style="background:#82C46C"| |style="background:#FEC3AC"|he deveze |style="background:#FF5E4D"| |style="background:LightBlue"|She had |- |style="background:LightGreen"|hor boa |style="background:#82C46C"| |style="background:#FEC3AC"|hor beze |style="background:#FF5E4D"| |style="background:LightBlue"|We had |- |style="background:LightGreen"|ho poa |style="background:#82C46C"| |style="background:#FEC3AC"|ho peze |style="background:#FF5E4D"| |style="background:LightBlue"|You had (pl.) |- |style="background:LightGreen"|o doa |style="background:#82C46C"| |style="background:#FEC3AC"|o deveze |style="background:#FF5E4D"| |style="background:LightBlue"|They had |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:02 Kaout.ogg]] --> === "To know" / "Gouzout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Gouzout (''To know'') - Past''' |-style="background:LightGrey; color:Brown" ! Past Tense<br />Personal form!! Past Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Alamaneg a ouien |style="background:#82C46C"|Me a ouie Alamaneg |style="background:#F0E36B"| Gouzout a raen Alamaneg |style="background:LightBlue"|I knew German |- |style="background:LightGreen"|Alamaneg a ouies |style="background:#82C46C"|Te a ouie Alamaneg |style="background:#F0E36B"| Gouzout a raes Alamaneg |style="background:LightBlue"|You knew German (sg.) |- |style="background:LightGreen"|Alamaneg a ouie |style="background:#82C46C"|En a ouie Alamaneg |style="background:#F0E36B"| Gouzout a rae Alamaneg |style="background:LightBlue"|He knew German |- |style="background:LightGreen"|Alamaneg a ouie |style="background:#82C46C"|He a ouie Alamaneg |style="background:#F0E36B"| Gouzout a rae Alamaneg |style="background:LightBlue"|She knew German |- |style="background:LightGreen"|Alamaneg a ouiemp |style="background:#82C46C"|Ni a ouie Alamaneg |style="background:#F0E36B"| Gouzout a raemp Alamaneg |style="background:LightBlue"|We knew German |- |style="background:LightGreen"|Alamaneg a ouiec'h |style="background:#82C46C"|C'hwi a ouie Alamaneg |style="background:#F0E36B"| Gouzout a raec'h Alamaneg |style="background:LightBlue"|You knew German (pl.) |- |style="background:LightGreen"|Alamaneg a ouient |style="background:#82C46C"|Int a ouie Alamaneg |style="background:#F0E36B"| Gouzout a raent Alamaneg |style="background:LightBlue"|They knew german |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Alamaneg a ouied |style="background:#82C46C"| |style="background:#F0E36B"| Gouzout a raed Alamaneg |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:02 Gouzout.ogg]] --> === "To go" / "Mont" === [[wikt:br:mont|Troioù lavar / Usual expressions]] <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Mont (''To go'') - Past''' |-style="background:LightGrey; color:Brown" ! Past Tense<br />Personal form!! Past Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Da Gemper ez aen |style="background:#82C46C"|Me a yae da Gemper |style="background:#F0E36B"| Mond a raen da Gemper |style="background:LightBlue"|I went to Kemper |- |style="background:LightGreen"|Da Gemper ez aes |style="background:#82C46C"|Te a yae da Gemper |style="background:#F0E36B"| Mond a raes da Gemper |style="background:LightBlue"|You went to Kemper (sg.) |- |style="background:LightGreen"|Da Gemper ez ae |style="background:#82C46C"|En a yae da Gemper |style="background:#F0E36B"| Mond a rae da Gemper |style="background:LightBlue"|He went to Kemper |- |style="background:LightGreen"|Da Gemper ez ae |style="background:#82C46C"|He a yae da Gemper |style="background:#F0E36B"| Mond a rae da Gemper |style="background:LightBlue"|She went to Kemper |- |style="background:LightGreen"|Da Gemper ez aemp |style="background:#82C46C"|Ni a yae da Gemper |style="background:#F0E36B"| Mond a raemp da Gemper |style="background:LightBlue"|We went to Kemper |- |style="background:LightGreen"|Da Gemper ez aec'h |style="background:#82C46C"|C'hwi a yae da Gemper |style="background:#F0E36B"| Mond a raec'h da Gemper |style="background:LightBlue"|You went to Kemper (pl.) |- |style="background:LightGreen"|Da Gemper ez aent |style="background:#82C46C"|Int a yae da Gemper |style="background:#F0E36B"| Mond a raent da Gemper |style="background:LightBlue"|They went to Kemper |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Da Gemper ez aed |style="background:#82C46C"| |style="background:#F0E36B"| Mond a raed da Gemper |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:02 Mont.ogg]] --> === "To do" / "Ober" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Irregular Verb Ober (''To do'') - Past''' |-style="background:LightGrey; color:Brown" ! Past Tense<br />Personal form!! Past Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Trouz a raen |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|I made noise |- |style="background:LightGreen"|Trouz a raes |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You made noise (sg.) |- |style="background:LightGreen"|Trouz a rae |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|He made noise |- |style="background:LightGreen"|Trouz a rae |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|She made noise |- |style="background:LightGreen"|Trouz a raemp |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|We made noise |- |style="background:LightGreen"|Trouz a raec'h |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You made noise (pl.) |- |style="background:LightGreen"|Trouz a raent |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|They made noise |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Trouz a raed |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:02 Ober.ogg]] --> == Exercises/Ober == === Self training === Now , you have seen how it's done.<br /><br /> Take the verbs from this lesson and write their Past tense.<br /><br /> Now underneath , make some sentences up , for each verb. Eg. ''Me a oar kembraeg'' (I know Welsh).<br /><br /> === Quiz === [[/Quiz|Go to the Quiz]] |} {{BookCat|filing=deep}} av8dhjouzms1pf9cffnunfrlz0i4i4q Breton/Level 6/Lesson 3 0 360093 4656846 4654020 2026-08-09T21:57:04Z ShakespeareFan00 46022 4656846 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: PapayaWhip; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == Irregular verbs / The Preterit Tense == === "To have" / "Kaout" or "Endevout" === {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Endevout / Kaout (''To have'') - Preterit''' |-style="background:LightGrey; color:Brown" ! Preterit Tense<br />Personal form!! Preterit Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! English meaning |- |style="background:LightGreen"|am boe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|I had once |- |style="background:LightGreen"|az poe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You had once (sg.) |- |style="background:LightGreen"|en doe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|He had once |- |style="background:LightGreen"|he doe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|She had once |- |style="background:LightGreen"|hor boe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|We had once |- |style="background:LightGreen"|ho poe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You had once (pl.) |- |style="background:LightGreen"|o doe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|They had once |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:03 Kaout.ogg]] --> === "To know" / "Gouzout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Gouzout (''To know'') - Preterit''' |-style="background:LightGrey; color:Brown" ! Preterit Tense<br />Personal form!! Preterit Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Alamaneg a ouezis |style="background:#82C46C"|Me a ouezas Alamaneg |style="background:#F0E36B"| Gouzout a ris Alamaneg |style="background:LightBlue"|I knew once German |- |style="background:LightGreen"|Alamaneg a ouejout |style="background:#82C46C"|Te a ouezas Alamaneg |style="background:#F0E36B"| Gouzout a rejout Alamaneg |style="background:LightBlue"|You knew German (sg.) |- |style="background:LightGreen"|Alamaneg a ouezas |style="background:#82C46C"|En a ouezas Alamaneg |style="background:#F0E36B"| Gouzout a reas Alamaneg |style="background:LightBlue"|He knew German |- |style="background:LightGreen"|Alamaneg a ouezas |style="background:#82C46C"|He a ouezas Alamaneg |style="background:#F0E36B"| Gouzout a reas Alamaneg |style="background:LightBlue"|She knew German |- |style="background:LightGreen"|Alamaneg a ouejomp |style="background:#82C46C"|Ni a ouezas Alamaneg |style="background:#F0E36B"| Gouzout a rejomp Alamaneg |style="background:LightBlue"|We knew German |- |style="background:LightGreen"|Alamaneg a ouejoc'h |style="background:#82C46C"|C'hwi a ouezas Alamaneg |style="background:#F0E36B"| Gouzout a rejoc'h Alamaneg |style="background:LightBlue"|You knew German (pl.) |- |style="background:LightGreen"|Alamaneg a ouejont |style="background:#82C46C"|Int a ouezas Alamaneg |style="background:#F0E36B"| Gouzout a rejont Alamaneg |style="background:LightBlue"|They knew german |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Alamaneg a ouejod |style="background:#82C46C"| |style="background:#F0E36B"| Gouzout a rejod Alamaneg |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:03 Gouzout.ogg]] --> === "To go" / "Mont" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Mont (''To go'') - Preterit''' |-style="background:LightGrey; color:Brown" ! Preterit Tense<br />Personal form!! Preterit Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Da Gemper ez is |style="background:#82C46C"|Me a yeas da Gemper |style="background:#F0E36B"| Mond a ris da Gemper |style="background:LightBlue"|I went to Kemper |- |style="background:LightGreen"|Da Gemper ez ejout |style="background:#82C46C"|Te a yeas da Gemper |style="background:#F0E36B"| Mond a rejout da Gemper |style="background:LightBlue"|You went to Kemper (sg.) |- |style="background:LightGreen"|Da Gemper ez eas |style="background:#82C46C"|En a yeas da Gemper |style="background:#F0E36B"| Mond a reas da Gemper |style="background:LightBlue"|He went to Kemper |- |style="background:LightGreen"|Da Gemper ez ae |style="background:#82C46C"|He a yeas da Gemper |style="background:#F0E36B"| Mond a reas da Gemper |style="background:LightBlue"|She went to Kemper |- |style="background:LightGreen"|Da Gemper ez ejomp |style="background:#82C46C"|Ni a yeas da Gemper |style="background:#F0E36B"| Mond a rejomp da Gemper |style="background:LightBlue"|We went to Kemper |- |style="background:LightGreen"|Da Gemper ez ejoc'h |style="background:#82C46C"|C'hwi a yeas da Gemper |style="background:#F0E36B"| Mond a rejoc'h da Gemper |style="background:LightBlue"|You went to Kemper (pl.) |- |style="background:LightGreen"|Da Gemper ez ejont |style="background:#82C46C"|Int a yeas da Gemper |style="background:#F0E36B"| Mond a rejont da Gemper |style="background:LightBlue"|They went to Kemper |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Da Gemper ez ejod |style="background:#82C46C"| |style="background:#F0E36B"| Mond a rejod da Gemper |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:03 Mont.ogg]] --> === "To do" / "Ober" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%;margin:0 auto;" |+ '''Irregular Verb Ober (''To do'') - Preterit''' |-style="background:LightGrey; color:Brown" ! Preterit Tense<br />Personal form!! Preterit Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Trouz a ris |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|I made noise |- |style="background:LightGreen"|Trouz a rejout |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You made noise (sg.) |- |style="background:LightGreen"|Trouz a reas |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|He made noise |- |style="background:LightGreen"|Trouz a reas |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|She made noise |- |style="background:LightGreen"|Trouz a rejomp |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|We made noise |- |style="background:LightGreen"|Trouz a rejoc'h |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You made noise (pl.) |- |style="background:LightGreen"|Trouz a rejont |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|They made noise |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Trouz a rejod |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!-- [[Image:03 Ober.ogg]] --> == Exercises/Ober == === Self training === Now you have seen how it's done.<br /><br /> Take the verbs from this lesson and write their Preterit tense.<br /><br /> Now underneath make some sentences up for each verb. Eg. ''Me a oar kembraeg'' (I know Welsh).<br /><br /> === Quiz === [[/Quiz|Go to the Quiz]] |} {{BookCat|filing=deep}} 62lktd85m39yp6yfmdj7fgiugn3kx19 Breton/Level 6/Lesson 4 0 360094 4656841 4654014 2026-08-09T21:52:45Z ShakespeareFan00 46022 4656841 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: PapayaWhip; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == Irregular verbs / The Future Tense == === "To have" / "Kaout" or "Endevout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Endevout / Kaout (''To have'') - Future''' |-style="background:LightGrey; color:Brown" ! Future Tense<br />Personal form!! Future Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! English meaning |- |style="background:LightGreen"|am bo |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|I shall have |- |style="background:LightGreen"|az po |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You will have (sg.) |- |style="background:LightGreen"|en devo |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|He will have |- |style="background:LightGreen"|he devo |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|She will have |- |style="background:LightGreen"|hor bo |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|We shall have |- |style="background:LightGreen"|ho po |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You will have (pl.) |- |style="background:LightGreen"|o devo |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|They will have |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:04 Kaout.ogg]]--> === "To know" / "Gouzout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Gouzout (''To know'') - Future''' |-style="background:LightGrey; color:Brown" ! Future Tense<br />Personal form!! Future Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Brezhoneg a ouezis |style="background:#82C46C"|Me a ouezo Brezhoneg |style="background:#F0E36B"| Gouzout a rin Brezhoneg |style="background:LightBlue"|I will know Breton |- |style="background:LightGreen"|Brezhoneg a ouejout |style="background:#82C46C"|Te a ouezo Brezhoneg |style="background:#F0E36B"| Gouzout a ri Brezhoneg |style="background:LightBlue"|You will know Breton (sg.) |- |style="background:LightGreen"|Brezhoneg a ouezo |style="background:#82C46C"|En a ouezo Brezhoneg |style="background:#F0E36B"| Gouzout a raio Brezhoneg |style="background:LightBlue"|He will know Breton |- |style="background:LightGreen"|Brezhoneg a ouezo |style="background:#82C46C"|He a ouezo Brezhoneg |style="background:#F0E36B"| Gouzout a raio Brezhoneg |style="background:LightBlue"|She will know Breton |- |style="background:LightGreen"|Brezhoneg a ouezimp |style="background:#82C46C"|Ni a ouezo Brezhoneg |style="background:#F0E36B"| Gouzout a raimp Brezhoneg |style="background:LightBlue"|We will know Breton |- |style="background:LightGreen"|Brezhoneg a ouiot |style="background:#82C46C"|C'hwi a ouezo Brezhoneg |style="background:#F0E36B"| Gouzout a reot Brezhoneg |style="background:LightBlue"|You will know Breton (pl.) |- |style="background:LightGreen"|Brezhoneg a ouezint |style="background:#82C46C"|Int a ouezo Brezhoneg |style="background:#F0E36B"| Gouzout a raint Brezhoneg |style="background:LightBlue"|They will know Breton |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Brezhoneg a ouezor |style="background:#82C46C"| |style="background:#F0E36B"| Gouzout a reor Brezhoneg |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:04 Gouzout.ogg]]--> === "To go" / "Mont" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Mont (''To go'') - Future''' |-style="background:LightGrey; color:Brown" ! Future Tense<br />Personal form!! Future Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Da Gemper ez is |style="background:#82C46C"|Me a yeas da Gemper |style="background:#F0E36B"| Mond a rin da Gemper |style="background:LightBlue"|I will go to Kemper |- |style="background:LightGreen"|Da Gemper ez ejout |style="background:#82C46C"|Te a yeas da Gemper |style="background:#F0E36B"| Mond a ri da Gemper |style="background:LightBlue"|You will go to Kemper (sg.) |- |style="background:LightGreen"|Da Gemper ez eas |style="background:#82C46C"|En a yeas da Gemper |style="background:#F0E36B"| Mond a raio da Gemper |style="background:LightBlue"|He will go to Kemper |- |style="background:LightGreen"|Da Gemper ez ae |style="background:#82C46C"|He a yeas da Gemper |style="background:#F0E36B"| Mond a raio da Gemper |style="background:LightBlue"|She will go to Kemper |- |style="background:LightGreen"|Da Gemper ez ejomp |style="background:#82C46C"|Ni a yeas da Gemper |style="background:#F0E36B"| Mond a raimp da Gemper |style="background:LightBlue"|We will go to Kemper |- |style="background:LightGreen"|Da Gemper ez ejoc'h |style="background:#82C46C"|C'hwi a yeas da Gemper |style="background:#F0E36B"| Mond a reot da Gemper |style="background:LightBlue"|You will go to Kemper (pl.) |- |style="background:LightGreen"|Da Gemper ez ejont |style="background:#82C46C"|Int a yeas da Gemper |style="background:#F0E36B"| Mond a raint da Gemper |style="background:LightBlue"|They will go to Kemper |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Da Gemper ez ejod |style="background:#82C46C"| |style="background:#F0E36B"| Mond a reor da Gemper |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:04 Mont.ogg]]--> === "To do" / "Ober" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%;margin:0 auto;" |+ '''Irregular Verb Ober (''To do'') - Future''' |-style="background:LightGrey; color:Brown" ! Future Tense<br />Personal form!! Future Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Trouz a rin |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|I will make noise |- |style="background:LightGreen"|Trouz a ri |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You will make noise (sg.) |- |style="background:LightGreen"|Trouz a raio |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|He will make noise |- |style="background:LightGreen"|Trouz a raio |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|She will make noise |- |style="background:LightGreen"|Trouz a raimp |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|We will make noise |- |style="background:LightGreen"|Trouz a reot |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You will make noise (pl.) |- |style="background:LightGreen"|Trouz a raint |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|They will make noise |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Trouz a reor |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:04 Ober.ogg]]--> == Exercises/Ober == === Self training === Now , you have seen how it's done.<br /><br /> Take the verbs from this lesson and write their Future tense.<br /><br /> Now underneath , make some sentences up , for each verb. Eg. ''Me a oar kembraeg'' (I know Welsh).<br /><br /> === Quiz === [[/Quiz|Go to the Quiz]] |} {{BookCat|filing=deep}} khwyth6kenxyajwj45f1iceoy3cc9ro Breton/Level 6/Lesson 5 0 360095 4656840 4654008 2026-08-09T21:51:29Z ShakespeareFan00 46022 4656840 wikitext text/x-wiki {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: PapayaWhip; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == Irregular verbs / The Conditional Present Tense == === "To have" / "Kaout" or "Endevout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Endevout / Kaout (''To have'') - Conditional Present''' |-style="background:LightGrey; color:Brown" ! Conditional Present Tense<br />Personal form!! Conditional Present Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! English meaning |- |style="background:LightGreen"|am befe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|I would have |- |style="background:LightGreen"|az pefe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You would have (sg.) |- |style="background:LightGreen"|en defe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|He would have |- |style="background:LightGreen"|he defe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|She would have |- |style="background:LightGreen"|hor befe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|We would have |- |style="background:LightGreen"|ho pefe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You would have (pl.) |- |style="background:LightGreen"|o defe |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|They would have |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:05 Kaout.ogg]]--> === "To know" / "Gouzout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Gouzout (''To know'') - Conditional Present''' |-style="background:LightGrey; color:Brown" ! Conditional Present Tense<br />Personal form!! Conditional Present Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Brezhoneg a oufen |style="background:#82C46C"|Me a oufe Brezhoneg |style="background:#F0E36B"| Gouzout a rafen Brezhoneg |style="background:LightBlue"|I would know Breton |- |style="background:LightGreen"|Brezhoneg a oufes |style="background:#82C46C"|Te a oufe Brezhoneg |style="background:#F0E36B"| Gouzout a rafes Brezhoneg |style="background:LightBlue"|You would know Breton (sg.) |- |style="background:LightGreen"|Brezhoneg a oufe |style="background:#82C46C"|Eñ a oufe Brezhoneg |style="background:#F0E36B"| Gouzout a rafe Brezhoneg |style="background:LightBlue"|He would know Breton |- |style="background:LightGreen"|Brezhoneg a oufe |style="background:#82C46C"|He a oufe Brezhoneg |style="background:#F0E36B"| Gouzout a rafe Brezhoneg |style="background:LightBlue"|She would know Breton |- |style="background:LightGreen"|Brezhoneg a oufemp |style="background:#82C46C"|Ni a oufe Brezhoneg |style="background:#F0E36B"| Gouzout a rafemp Brezhoneg |style="background:LightBlue"|We would know Breton |- |style="background:LightGreen"|Brezhoneg a oufec'h |style="background:#82C46C"|C'hwi a oufe Brezhoneg |style="background:#F0E36B"| Gouzout a rafec'h Brezhoneg |style="background:LightBlue"|You would know Breton (pl.) |- |style="background:LightGreen"|Brezhoneg a oufent |style="background:#82C46C"|Int a oufe Brezhoneg |style="background:#F0E36B"| Gouzout a rafent Brezhoneg |style="background:LightBlue"|They would know Breton |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Brezhoneg a oufed |style="background:#82C46C"| |style="background:#F0E36B"| Gouzout a rafed Brezhoneg |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:05 Gouzout.ogg]]--> === "To go" / "Mont" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Mont (''To go'') - Conditional Present''' |-style="background:LightGrey; color:Brown" ! Conditional Present Tense<br />Personal form!! Conditional Present Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Da Gemper ez afen |style="background:#82C46C"|Me a yafe da Gemper |style="background:#F0E36B"| Mond a rafen da Gemper |style="background:LightBlue"|I would go to Kemper |- |style="background:LightGreen"|Da Gemper ez afes |style="background:#82C46C"|Te a yafe da Gemper |style="background:#F0E36B"| Mond a rafes da Gemper |style="background:LightBlue"|You would go to Kemper (sg.) |- |style="background:LightGreen"|Da Gemper ez afe |style="background:#82C46C"|Eñ a yafe da Gemper |style="background:#F0E36B"| Mond a rafe da Gemper |style="background:LightBlue"|He would go to Kemper |- |style="background:LightGreen"|Da Gemper ez afe |style="background:#82C46C"|He a yafe da Gemper |style="background:#F0E36B"| Mond a rafe da Gemper |style="background:LightBlue"|She would go to Kemper |- |style="background:LightGreen"|Da Gemper ez afemp |style="background:#82C46C"|Ni a yafe da Gemper |style="background:#F0E36B"| Mond a rafemp da Gemper |style="background:LightBlue"|We would go to Kemper |- |style="background:LightGreen"|Da Gemper ez afec'h |style="background:#82C46C"|C'hwi a yafe da Gemper |style="background:#F0E36B"| Mond a rafec'h da Gemper |style="background:LightBlue"|You would go to Kemper (pl.) |- |style="background:LightGreen"|Da Gemper ez afent |style="background:#82C46C"|Int a yafe da Gemper |style="background:#F0E36B"| Mond a rafent da Gemper |style="background:LightBlue"|They would go to Kemper |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Da Gemper ez afed |style="background:#82C46C"| |style="background:#F0E36B"| Mond a rafed da Gemper |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:05 Mont.ogg]]--> === "To do" / "Ober" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Irregular Verb Ober (''To do'') - Conditional Present''' |-style="background:LightGrey; color:Brown" ! Conditional Present Tense<br />Personal form!! Conditional Present Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Trouz a rafen |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|I would make noise |- |style="background:LightGreen"|Trouz a rafes |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You would make noise (sg.) |- |style="background:LightGreen"|Trouz a rafe |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|He would make noise |- |style="background:LightGreen"|Trouz a rafe |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|She would make noise |- |style="background:LightGreen"|Trouz a rafemp |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|We would make noise |- |style="background:LightGreen"|Trouz a rafec'h |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You would make noise (pl.) |- |style="background:LightGreen"|Trouz a rafent |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|They would make noise |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Trouz a rafed |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:05 Ober.ogg]]--> == Exercises/Ober == === Self training === Now , you have seen how it's done.<br /><br /> Take the verbs from this lesson and write their Conditional Present tense.<br /><br /> Now underneath , make some sentences up , for each verb. Eg. ''Me a oar kembraeg'' (I know welsh).<br /><br /> === Quiz === [[/Quiz|Go to the Quiz]] |} {| cellpadding="10" cellspacing="5" style="width: 99%; background-color: inherit; margin-left: auto; margin-right: auto" | style="background-color: PapayaWhip; border: 1px solid #777777; -moz-border-radius-topleft: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px;" colspan="2" | == Irregular verbs / The Conditional Past Tense == === "To have had" / "Kaout" or "Endevout" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Endevout / Kaout (''To have had'') - Conditional Past''' |-style="background:LightGrey; color:Brown" ! Conditional Past Tense<br />Personal form!! Conditional Past Tense<br />Impersonal form!! Continuous Tense<br />Personal form!! Continuous Tense<br />Impersonal form!! English meaning |- |style="background:LightGreen"|am bije |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|I would have had |- |style="background:LightGreen"|az pije |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You would have had (sg.) |- |style="background:LightGreen"|en dije |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|He would have had |- |style="background:LightGreen"|he dije |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|She would have had |- |style="background:LightGreen"|hor bije |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|We would have had |- |style="background:LightGreen"|ho pije |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|You would have had (pl.) |- |style="background:LightGreen"|o dije |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|They would have had |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"| |style="background:#82C46C"| |style="background:#FEC3AC"| |style="background:#FF5E4D"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:06 Kaout.ogg]]--> === "To have known" / "go" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb go (''To have known'') - Conditional Past''' |-style="background:LightGrey; color:Brown" ! Conditional Past Tense<br />Personal form!! Conditional Past Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Brezhoneg a ouijen |style="background:#82C46C"|Me a ouije Brezhoneg |style="background:#F0E36B"|Gouzout a rajen Brezhoneg |style="background:LightBlue"|I would have known Breton |- |style="background:LightGreen"|Brezhoneg a ouijes |style="background:#82C46C"|Te a ouije Brezhoneg |style="background:#F0E36B"|Gouzout a rajes Brezhoneg |style="background:LightBlue"|You would have known Breton (sg.) |- |style="background:LightGreen"|Brezhoneg a ouije |style="background:#82C46C"|Eñ a ouije Brezhoneg |style="background:#F0E36B"|Gouzout a raje Brezhoneg |style="background:LightBlue"|He would have known Breton |- |style="background:LightGreen"|Brezhoneg a ouije |style="background:#82C46C"|He a ouije Brezhoneg |style="background:#F0E36B"|Gouzout a raje Brezhoneg |style="background:LightBlue"|She would have known Breton |- |style="background:LightGreen"|Brezhoneg a ouijemp |style="background:#82C46C"|Ni a ouije Brezhoneg |style="background:#F0E36B"|Gouzout a rajemp Brezhoneg |style="background:LightBlue"|We would have known Breton |- |style="background:LightGreen"|Brezhoneg a ouijec'h |style="background:#82C46C"|C'hwi a ouije Brezhoneg |style="background:#F0E36B"|Gouzout a rajec'h Brezhoneg |style="background:LightBlue"|You would have known Breton (pl.) |- |style="background:LightGreen"|Brezhoneg a ouijent |style="background:#82C46C"|Int a ouije Brezhoneg |style="background:#F0E36B"|Gouzout a rajent Brezhoneg |style="background:LightBlue"|They would have known Breton |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Brezhoneg a ouijed |style="background:#82C46C"| |style="background:#F0E36B"|Gouzout a rajed Brezhoneg |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:06 Gouzout.ogg]]--> === "To have gone" / "Mont" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin: auto;" |+ '''Irregular Verb Mont (''To have gone'') - Conditional Past''' |-style="background:LightGrey; color:Brown" ! Conditional Past Tense<br />Personal form!! Conditional Past Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Da Gemper ez ajen |style="background:#82C46C"|Me a yaje da Gemper |style="background:#F0E36B"| Mond a rajen da Gemper |style="background:LightBlue"|I would have gone to Kemper |- |style="background:LightGreen"|Da Gemper ez ajes |style="background:#82C46C"|Te a yaje da Gemper |style="background:#F0E36B"| Mond a rajes da Gemper |style="background:LightBlue"|You would have gone to Kemper (sg.) |- |style="background:LightGreen"|Da Gemper ez aje |style="background:#82C46C"|Eñ a yaje da Gemper |style="background:#F0E36B"| Mond a raje da Gemper |style="background:LightBlue"|He would have gone to Kemper |- |style="background:LightGreen"|Da Gemper ez aje |style="background:#82C46C"|He a yaje da Gemper |style="background:#F0E36B"| Mond a raje da Gemper |style="background:LightBlue"|She would have gone to Kemper |- |style="background:LightGreen"|Da Gemper ez ajemp |style="background:#82C46C"|Ni a yaje da Gemper |style="background:#F0E36B"| Mond a rajemp da Gemper |style="background:LightBlue"|We would have gone to Kemper |- |style="background:LightGreen"|Da Gemper ez ajec'h |style="background:#82C46C"|C'hwi a yaje da Gemper |style="background:#F0E36B"| Mond a rajec'h da Gemper |style="background:LightBlue"|You would have gone to Kemper (pl.) |- |style="background:LightGreen"|Da Gemper ez ajent |style="background:#82C46C"|Int a yaje da Gemper |style="background:#F0E36B"| Mond a rajent da Gemper |style="background:LightBlue"|They would have gone to Kemper |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Da Gemper ez ajed |style="background:#82C46C"| |style="background:#F0E36B"| Mond a rajed da Gemper |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:06 Mont.ogg]]--> === "To do" / "Ober" === <br /> {| cellpadding="10" cellspacing="2" style="text-align:center; font-size:100%; margin:0 auto;" |+ '''Irregular Verb Ober (''To do'') - Conditional Past''' |-style="background:LightGrey; color:Brown" ! Conditional Past Tense<br />Personal form!! Conditional Past Tense<br />Impersonal form!! With auxiliary<br />Personal form!! English meaning |- |style="background:LightGreen"|Trouz a rajen |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|I would have made noise |- |style="background:LightGreen"|Trouz a rajes |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You would have made noise (sg.) |- |style="background:LightGreen"|Trouz a raje |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|He would have made noise |- |style="background:LightGreen"|Trouz a raje |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|She would have made noise |- |style="background:LightGreen"|Trouz a rajemp |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|We would have made noise |- |style="background:LightGreen"|Trouz a rajec'h |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|You would have made noise (pl.) |- |style="background:LightGreen"|Trouz a rajent |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|They would have made noise |- |style="background:White"| |style="background:White"| |style="background:White"| |style="background:White"| |- |style="background:LightGreen"|Trouz a rajed |style="background:#82C46C"| |style="background:#F0E36B"| |style="background:LightBlue"|Impersonal <br />passive |- |} <br /> <!--[[Image:06 Ober.ogg]]--> == Exercises/Ober == === Self training === Now , you have had seen how it's done.<br /><br /> Take the verbs from this lesson and write their Conditional Past tense.<br /><br /> Now underneath , have made some sentences up , for each verb. Eg. ''Me a oar kembraeg'' (I have known welsh).<br /><br /> === Quiz === [[/Quiz2|Go to the Quiz]] |} {{BookCat|filing=deep}} 81fuxtecvfn9dvnjrhloajhtxrcz63h User talk:Antoine.01 3 363449 4656974 4650920 2026-08-10T08:19:15Z ShakespeareFan00 46022 4656974 wikitext text/x-wiki <div style="position:absolute; z-index:500; right:1em; top:10px; color:#000000; background-color:#FFFFFF">[[File:Blue a v.svg|20px]] '''Laatste bericht van''' [[Gebruiker:{{REVISIONUSER}}|{{REVISIONUSER}}]]</div> <span style="font-family: Serif; font-size: 10pt">[[User:Antoine.01|<< Back to the user page...]]</span><br> <div style="text-align: center;"> <div style="width:950px; height:85px; position:relative; top:-10px; right:0px; border:2px black solid; background:#D5A96C; font-family:georgia"> == Welcome to my talk page! == </div> </div> <br><div style="text-align: center;">'''Please sign your message by clicking the signature icon above the edit field'''</div> {{center/top}} {|align=center style="background-color: #ffce7b; border: 1px solid #ffa500; font-weight: bold; margin: 2em 0 1em; padding: .3em 1em;" width=60% |- ||<div style="text-align: center;">[[Image:Quill-Nuvola.svg|left|40px]]'''[http://nl.wikipedia.org/w/wiki.phtml?title=Overleg_Gebruiker:Antoine.01&action=edit&section=new'''Click here to start a new topic in Dutch only, please?''']'''</div> |} <br><br><br><br><br> {{center/end}} jtrj2r35dfq9w76784r0exndjij2prq A-level Computing/AQA/Paper 2/Fundamentals of computer systems/Logic gates 0 367606 4656859 4646012 2026-08-09T22:17:46Z ShakespeareFan00 46022 4656859 wikitext text/x-wiki <NOINCLUDE> {{CPTPageNavigationP2| | Prev = Types of program translator | Next = Boolean gate combinations}} {{DISPLAYTITLE:Fundamental Hardware Elements of Computers: Logic Gates}} </NOINCLUDE> In 1854 a British mathematician, [[w:George Boole|George Boole]], developed Boolean Algebra. Instead of an algebra that uses numbers, boolean algebra uses truth values, '''true'''(1) and '''false'''(0). By defining sentences using truth values and performing operations on these truth values you can work out the overall conclusion of complex statements. Boolean Algebra has had a massive impact on Computer Science and the language that computers understand is a language of 1s and 0s, boolean. <div> {| border="0" style="border:4px; margin:0 auto'" |- valign="top" | | colspan="5" | {| border="1" cellspacing="0" cellpadding="0" style="text-align:center;border:2px" |- ! style="width:2em" | <math>x</math> ! style="width:2em" | <math>y</math> | style="width:1px" | | style="width:2em" | <math>x.y</math> | style="width:2em" | <math>x+y</math> |- | 0 || 0 || || 0 || 0 |- | 1 || 0 || || 0 || 1 |- | 0 || 1 || || 0 || 1 |- | 1 || 1 || || 1 || 1 |} | | | {| border="1" cellspacing="0" cellpadding="0" style="text-align:center;border:2px" |- ! style="width:2em" | <math>x</math> | style="width:1px" | | style="width:2em" | <math>\overline{x}</math> |- | 0 || || 1 |- | 1 || || 0 |} |+ '''Examples of Boolean Algebra shown in a truth table''' |} </div> Logic gates are pieces of hardware that perform operations on boolean inputs, allowing us to create complex devices out of abstract boolean algebra. Logic gates are the fundamental building blocks of hardware and processors will be made out of billions of them. A logic gate will typically have one or two inputs, in the examples here defined by A and B, There are six types of gate that you need to know: <gallery widths="40px" widths="40px"> File:NOT_gate.svg|NOT File:AND_gate.svg|AND File:OR_gate.svg|OR File:XOR_gate.svg|XOR File:NAND_gate.svg|NAND File:NOR_gate.svg|NOR </gallery> == NOT == [[File:NOT_gate.svg|thumb|center|A NOT gate takes only one input and gives one output]] A ''NOT'' gate will always give an output '''opposite''' to what the input is e.g. 1 (not gate) 0. A NOT gate takes one boolean input and flips it. It is possible to have a double NOT. This will reverse the original NOT. The symbol would have an extra bar over it. In Boolean Algebra we write a ''NOT'' symbol by placing a bar on top of a letter(<math>\overline{A}</math>) or letters (<math>\overline{C+B}</math>). {{CPTExample|title=Examples of a NOT gate at work are as follows:}} * NOT(It is not raining) = It is raining * <math>\overline{TRUE} = FALSE</math> * <math>\overline{0} = 1</math> {{Robox/Close}} To summarise here is a truth table showing the relationship between A and <math>\overline{A}</math> {| class="wikitable" |- ! A ! <math>\overline{A}</math> |- | 0 | 1 |- | 1 | 0 |} == AND (.) == [[File:AND_gate.svg|thumb|center|An AND gate takes two inputs and combines them to form one output]] An ''AND'' gate will combine the boolean values of two inputs (you can get more than two inputs but we don't need to know about that type of gate here). If and only if '''both inputs are true''' will it output true. If any of the inputs are false it will out put false. In Boolean Algebra we write an ''AND'' symbol by placing a bullet point between two (<math>{A}.{B}</math>) or more (<math>{A}.{B}.C</math>) values. {{CPTExample|title=Examples of an AND gate at work are as follows:}} * Six is bigger than four AND Cats are bigger than gerbils = TRUE * <math>TRUE . FALSE = FALSE</math> * <math>(7 < 8) . (2 > 1) = TRUE</math> * <math>(8 > 0) . \overline{(20 = 19)} = TRUE</math> {{Robox/Close}} An easy way to remember how an AND gate works is thinking about a circuit to turn a light bulb on. If both switches are on then the bulb will light up, if any switch is off then the bulb won't light. [[File:CPT-Logic-AND-Switch.svg|thumb|300px|center|a circuit diagram equivalent to an AND gate]] To summarise here is a truth table showing all the different values for two inputs A and B and the result of ANDing those values together {| class="wikitable" |- ! A ! B ! A.B |- | 0 | 0 | <div style="text-align: center;">0</div> |- | 0 | 1 | <div style="text-align: center;">0</div> |- | 1 | 0 | <div style="text-align: center;">0</div> |- | 1 | 1 | <div style="text-align: center;">1</div> |} == OR (+) == [[File:OR_gate.svg|thumb|center|An OR gate takes two inputs and combines them to form one output]] An ''OR'' gate will combine the boolean values of two inputs. If '''one or more''' inputs are true then the output will be true. If both the inputs are false then the output will be false. In Boolean Algebra we write an ''OR'' symbol by placing a plus symbol between two (<math>{A}+{B}</math>) or more (<math>{A}+{B}+C</math>) values. {{CPTExample|title=Examples of an OR gate at work are as follows:}} * humans have two legs OR Elephants have 8 legs = TRUE * <math>TRUE + FALSE = TRUE</math> * <math>(9 > 3) + (2 > 1) = TRUE</math> * <math>\overline{(20 = 20)} + (5 > 6) = FALSE</math> {{Robox/Close}} An easy way to remember how an OR gate works is thinking about a circuit to turn a light bulb on. If one or more switches are on then the bulb will light up, if both switch are off then the bulb won't light. [[File:CPT-Logic-OR-Switch.svg|thumb|300px|center|a circuit diagram equivalent to an OR gate]] To summarise here is a truth table showing all the different values for two inputs A and B and the result of ORing those values together {| class="wikitable" |- ! A ! B ! A+B |- | 0 | 0 | <div style="text-align: center;">0</div> |- | 0 | 1 | <div style="text-align: center;">1</div> |- |1 |0 |<div style="text-align: center;">1</div> |- |1 |1 |<div style="text-align: center;">1</div> |} == XOR (<math>\oplus</math>) == [[File:XOR_gate.svg|thumb|center|A XOR gate takes two inputs and combines them to form one output]] An exclusive- OR, ''XOR'', gate will combine the boolean values of two inputs. If '''exactly one''' input is true then the output will be true. If both the inputs are false or both the inputs are true then the output will be false. In Boolean Algebra we write an ''XOR'' symbol by placing a plus symbol surrounded by a circle between two (<math>{A}\oplus{B}</math>) or more (<math>{A}\oplus{B}\oplus{C}</math>) values. {{CPTExample|title=Examples of an XOR gate at work are as follows:}} * it is raining XOR it is not raining = TRUE * <math>TRUE \oplus TRUE = FALSE</math> * <math>(9 < 3) \oplus (2 < 1) = FALSE</math> * <math>\overline{(20 = 20)} \oplus (8 > 2) = TRUE</math> {{Robox/Close}} To summarise here is a truth table showing all the different values for two inputs A and B and the result of XORing those values together {| class="wikitable" |- ! A ! B ! <math>~A \oplus B</math> |- | 0 | 0 | <div style="text-align: center;">0</div> |- | 0 | 1 | <div style="text-align: center;">1</div> |- | 1 | 0 | <div style="text-align: center;">1</div> |- | 1 | 1 | <div style="text-align: center;">0</div> |} == NAND == [[File:NAND_gate.svg|thumb|center|A NAND gate takes two inputs and combines them to form one output]] A ''NAND'' gate will combine the boolean values of two inputs, AND them together, and NOT the result. If '''one or less''' input is true then the output will be true. If both the inputs are true then the output will be false. To draw a NAND gate you draw an AND gate and add a circle to the front, as you can see above. In Boolean Algebra we write an ''NAND'' symbol by taking an AND equation and NOTing the result (<math>\overline{{A} . {B}}</math>). {{CPTExample|title=Examples of an NAND gate at work are as follows:}} * (A=A) NAND (A<>B) = TRUE * <math>\overline{TRUE . TRUE} = FALSE</math> * <math>\overline{(9 < 3) . (2 < 1)} = TRUE</math> * <math>\overline{(20 > 20) . (8 > 2)} = TRUE</math> {{Robox/Close}} To summarise here is a truth table showing all the different values for two inputs A and B and the result of NANDing those values together {| class="wikitable" |- ! A ! B ! <math>A . B</math> ! <math>\overline{A . B}</math> |- | 0 | 0 | 0 | <div style="text-align: center;">1</div> |- | 0 | 1 | 0 | <div style="text-align: center;">1</div> |- | 1 | 0 | 0 | <div style="text-align: center;">1</div> |- | 1 | 1 | 1 | <div style="text-align: center;">0</div> |} == NOR == [[File:NOR_gate.svg|thumb|center|A NOR gate takes two inputs and combines them to form one output]] A ''NOR'' gate will combine the boolean values of two inputs, OR them together, and NOT the result. If '''no''' input is true then the output will be true. If either or both inputs are true then the result will be false. To draw a NOR gate you draw an OR gate and add a circle to the front, as you can see above. In Boolean Algebra we write an ''NOR'' symbol by taking an OR equation and NOTing the result (<math>\overline{{A} + {B}}</math>). {{CPTExample|title=Examples of an NOR gate at work are as follows:}} * (A=A) NOR (A<>B) = FALSE * <math>\overline{FALSE + TRUE} = FALSE</math> * <math>\overline{(9 < 3) + (2 < 1)} = TRUE</math> * <math>\overline{(20 > 20) + (8 > 2)} = FALSE</math> {{Robox/Close}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A + B</math> ! <math>\overline{A + B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{CPTExercise|title=Exercise: Logic Gates}} {{CPTQuestion|Give the symbol and gate diagram for an OR statement}} {{CPTAnswer|+ [[File:OR_gate.svg]]}} {{CPTQuestion|Give the symbol and gate diagram for an AND statement}} {{CPTAnswer|. [[File:AND_gate.svg]]}} {{CPTQuestion|Give the symbol and gate diagram for a XOR statement}} {{CPTAnswer|<math>\oplus</math> [[File:XOR_gate.svg]]}} {{CPTQuestion|Give answers to the following equations: TRUE AND TRUE}} {{CPTAnswer|TRUE}} {{CPTQuestion|TRUE + FALSE}} {{CPTAnswer|TRUE}} {{CPTQuestion|TRUE + TRUE}} {{CPTAnswer|TRUE}} {{CPTQuestion|TRUE <math>\oplus</math> TRUE}} {{CPTAnswer|FALSE}} {{CPTQuestion|NOT(TRUE) . TRUE}} {{CPTAnswer|FALSE}} {{CPTQuestion|<math>\overline{\overline{TRUE}} + FALSE</math>}} {{CPTAnswer|TRUE}} {{CPTQuestion|Draw a NAND gate and truth table}} {{CPTAnswer|1= [[File:NAND_gate.svg]] {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A . B</math> ! <math>\overline{A . B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} }} {{CPTQuestion|1=Complete the following table: {{{!}} class="wikitable" {{!}}- ! Name !! NAND !! NOR !! AND !! NOT !! OR !! XOR {{!}}- {{!}} Gate {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}- {{!}} Symbol {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}- {{!}} Truth Table {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}{{!}} {{!}}} }} {{CPTAnswer|1={{{!}} class="wikitable" {{!}}- ! Name !! NAND !! NOR !! AND !! NOT !! OR !! XOR {{!}}- {{!}} Gate {{!}}{{!}} [[File:NAND_gate.svg]] {{!}}{{!}} [[File:NOR_gate.svg]] {{!}}{{!}} [[File:AND_gate.svg]] {{!}}{{!}} [[File:NOT_gate.svg]] {{!}}{{!}} [[File:OR_gate.svg]] {{!}}{{!}} [[File:XOR_gate.svg]] {{!}}- {{!}} Symbol {{!}}{{!}} <math>\overline{A . B}</math> {{!}}{{!}} <math>\overline{A + B}</math> {{!}}{{!}} <math>.</math> {{!}}{{!}} <math>\overline{A}</math> {{!}}{{!}} <math>+</math> {{!}}{{!}} <math>\oplus</math> {{!}}- {{!}} Truth Table {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A . B</math> ! <math>\overline{A . B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>A + B</math> ! <math>\overline{A + B}</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! A.B {{!}}- {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">1</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! <math>\overline{A}</math> {{!}}- {{!}} 0 {{!}} 1 {{!}}- {{!}} 1 {{!}} 0 {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! A+B {{!}}- {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}}1 {{!}}0 {{!}}<div style="text-align: center;">1</div> {{!}}- {{!}}1 {{!}}1 {{!}}<div style="text-align: center;">1</div> {{!}}} {{!}}{{!}} {{{!}} class="wikitable" {{!}}- ! A ! B ! <math>~A \oplus B</math> {{!}}- {{!}} 0 {{!}} 0 {{!}} <div style="text-align: center;">0</div> {{!}}- {{!}} 0 {{!}} 1 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 0 {{!}} <div style="text-align: center;">1</div> {{!}}- {{!}} 1 {{!}} 1 {{!}} <div style="text-align: center;">0</div> {{!}}} {{!}}} }} {{Robox/Close}} {{BookCat}} 641j5a3r6cnll42unn8nz7w35dq0t46 A-level Computing/AQA/Paper 2/Fundamentals of data representation/Bits and bytes 0 367624 4656861 3488694 2026-08-09T22:20:56Z ShakespeareFan00 46022 4656861 wikitext text/x-wiki <NOINCLUDE> {{CPTPageNavigationP2| | Prev = Number bases | Next = Units}} {{DISPLAYTITLE:Fundamentals of Data Representation: Units of information - Bits and bytes}} </NOINCLUDE> ==Bits and Bytes== The language that a computer understands is very simple, so simple that it only has 2 different numbers: 1 and 0. This number system is called '''Binary'''. This is because 1 represents high voltage and 0 to represent low voltage. A 1 or 0 is called a '''Bit''' which is short for '''BI'''nary Digi'''T'''. This is the ''fundamental unit of information.'' Everything you see on a computer, images, sounds, games, text, videos, spreadsheets, websites ''etc.'' Whatever it is, it will be stored as a string of ones and zeroes. [[File:Binaryface.png|monochrome image of a smiley face|center]] <gallery caption="All stored as binary" widths="60px" heights="65px" perrow="5" class=center> File:Ccard_icon.png File:Nuvola_camera.svg File:Nuvola_apps_looknfeel.png File:Nuvola_apps_kmplot.svg File:Nuvola_mimetypes_source.svg </gallery> <!--Crystal html.png Crystal applix.png Crystal image.png Crystal source py.png Crystal spreadsheet.png--> {{Dbox|[[w:bit|Bit]]|a standard unit to measure computer memory, consisting of a value that is either 1 or 0}} {{Dbox|[[w:byte|Byte]]|a standard unit to measure computer memory, usually consisting of a group of 8 bits. e.g. 10101011}} {{CPTExercise|theme=1|title=Exercise: Bit patterns in a Computer}} {{CPTQuestion|How do computers store data?}} {{CPTAnswer|as binary values, using a pattern of 1s and 0s}} {{CPTQuestion|What sort of data can be stored in binary?}} {{CPTAnswer| * Video * Sound * Picture * Text * Code * Spreadsheet * Game * etc }} {{CPTQuestion|What does the following binary string represent: 10011100}} {{CPTAnswer|1=This could be anything: * sound data * picture data * text ASCII for œ * unsigned integer = 156 * video data * etc }} {{CPTQuestion|How many bits in a byte?}} {{CPTAnswer| 8, but it is originally the amount of bits used to represent a character}} {{CPTQuestion|How many bits in 7 bytes?}} {{CPTAnswer|1=7 * 8 = 56}} {{CPTQuestionTab}}How many different patterns can be made from 4 bits?{{CPTQuestionTabEnd}} {{CPTAnswerTab}} 2<sup>4</sup> = 16 different patterns or combinations can be created{{CPTAnswerTabEnd}} {{Robox/Close}} {{BookCat}} ==Minimum and Maximum Number vs. Number of Different Values== {{CPTSpecification|title=From the Specification : Binary number System - Unsigned binary}} Know that in unsigned binary the minimum and maximum values for a given number of bits, n, are 0 and 2<sup>n</sup> -1 respectively. {{Robox/Close}} A common question that you'll need to know the answer to, and one that many people get wrong, is a question about the '''minimum and maximum''' denary value you can store in a set number of binary digits. If I were to have 3 binary digits, the minimum value I could store would be 000<sub>2</sub> = 0. Whereas, the maximum value that I could store would be 111<sub>2</sub>, this equates to 4 + 2 + 1 = 7<sub>10</sub>. So for 3 binary digits the range of numbers I can store is 0 (minimum) to 7 (maximum). {{CPTSpecification|title=From the Specification : Units of information - Bits and bytes}} Know that the 2<sup>n</sup> different values can be represented with n bits. {{Robox/Close}} A similar, but different question, is '''how many different binary patterns''' (and therefore values) can you represent with a set number of binary digits. If I were to be asked how many binary patterns can be represented from 3 binary digits, then we have 8 options: # 000 # 001 # 010 # 011 # 100 # 101 # 110 # 111 We could count these all out and write down: "There are 8 different values 3 binary digits can take". But this isn't very clever, what is you wanted to find out the range and maximum values for 34 bits, you can't be expected to write them all out. We are looking for a rule to save us the job and stop us making mistakes. Can you work out a rule in terms of <math>n</math> for: Maximum denary value of <math>n</math> binary digits: {| class="collapsible collapsed" style="border: none;" | '''Rule:''' ! colspan="2" | &nbsp; |- | colspan="2" | &nbsp;&nbsp;&nbsp; Maximum denary value = <math>2^n - 1</math> For example, for 3 digits: <math>2^n - 1 = 2^3 - 1 = 8 - 1 = 7</math> As calculated previously | &nbsp; |} Number of different values/binary patterns for <math>n</math> binary digits: {| class="collapsible collapsed" style="border: none;" | '''Rule:''' ! colspan="2" | &nbsp; |- | colspan="2" | &nbsp;&nbsp;&nbsp; Number of values = <math>2^n</math> For example, for 3 digits: <math>2^n = 2^3 = 8</math> As calculated previously | &nbsp; |} ===Example=== '''2''' bits can be configured in 2<sup>'''2'''</sup> = 4 different ways. '''3''' bits can be configured in 2<sup>'''3'''</sup> = 8 different ways. {| class="wikitable" |- ! '''2''' bits !! '''3''' bits |- |align="center" |00 01 10 11 | 000 001 010 011 100 101 110 111 |- |Min = 0||Min = 0 |- |Max = 2<sup>'''2'''</sup>-1 = 3||Max = 2<sup>'''3'''</sup>-1 = 7 |- |2<sup>'''2'''</sup> = 4 || 2<sup>'''3'''</sup>=8 |- |4 combinations||8 combinations |} {{CPTExercise|theme=1|title=Exercise: Max and range of binary numbers}} {{CPTQuestionTab}} Give both the maximum value and number of different values for the following n binary digits: 4 {{CPTQuestionTabEnd}} {{CPTAnswerTab}} Maximum : <math>2^n - 1 = 2^4 - 1 = 16 - 1 = 15</math> Range : <math>2^n = 2^4 = 16</math> {{CPTAnswerTabEnd}} {{CPTQuestion|5}} {{CPTAnswerTab}} Maximum : <math>2^n - 1 = 2^5 - 1 = 32 - 1 = 31</math> Range : <math>2^n = 2^5 = 32</math> {{CPTAnswerTabEnd}} {{CPTQuestion|8}} {{CPTAnswerTab}} Maximum : <math>2^n - 1 = 2^{8} - 1 = 256 - 1 = 255</math> Range : <math>2^n = 2^{8} = 256</math> {{CPTAnswerTabEnd}} {{CPTQuestion|10}} {{CPTAnswerTab}} Maximum : <math>2^n - 1 = 2^{10} - 1 = 1024 - 1 = 1023</math> Range : <math>2^n = 2^{10} = 1024</math> {{CPTAnswerTabEnd}} {{CPTQuestion|For an address bus with 6 wires, what is the highest address that can be given? How many addresses can accessed?}} {{CPTAnswerTab}} highest address : <math>2^n - 1 = 2^6 - 1 = 64 - 1 = 63</math> Different number of addresses : <math>2^n = 2^6= 64</math> '''This is a very popular exam question!''' {{CPTAnswerTabEnd}} {{Robox/Close}} 1ezsikirviat6iedupo71jk0sohr11u User:Arlo Barnes/glossing 2 368858 4656878 4656726 2026-08-10T01:01:22Z Arlo Barnes 381814 define STATE 4656878 wikitext text/x-wiki This is a guide to using {{template|interlinear}}. * <code>X1</code>: first person singular: [[Láadan/Lessons/12]] * <code>PB</code>: possessive by means of birth: [[Láadan/Lessons/13]] == Wikisource == === [[s:mul:category:Láadan]] === ==== [[s:mul:Thul i Shem Betha]] ==== {{interlinear|lang=ldn|glossing=link|box=yes|display-messages=no |ablist=X1:first person singular:Láadan/Lessons/12#Pronouns;BIRTH:possessive by means of birth:Láadan/Lessons/11#Possessive_Markers |top=The Father and His Sons |Thul i Shem Betha |Parent And Offspring X1-BIRTH |Parent and Her/His Offspring }} == Wikibooks == === [[:category:book:Láadan]] === ==== [[Láadan/Lessons/11#Examples]] ==== {{interlinear|lang=ldn|glossing=link|box=yes|display-messages=no |ablist=X3:third person singular:Láadan/Lessons/12#Pronouns;BIRTH:possessive by means of birth:Láadan/Lessons/11#Possessive_Markers;STATE:speech act marker statement of fact:Láadan/Lessons/3#Speech Act morpheme]] |top=I bought Mary's house. |Bíi eril eb le belid Meri bethoth wa. |STATE: had buy I her (Mary's) X3-obj-poss assert. |Thus had bought I her Mary own-house indeed. }} 4fn7qz38cgrf4370z4w8wshmdnkt6q8 4656879 4656878 2026-08-10T01:32:01Z Arlo Barnes 381814 /* Láadan/Lessons/11#Examples */ close brackets 4656879 wikitext text/x-wiki This is a guide to using {{template|interlinear}}. * <code>X1</code>: first person singular: [[Láadan/Lessons/12]] * <code>PB</code>: possessive by means of birth: [[Láadan/Lessons/13]] == Wikisource == === [[s:mul:category:Láadan]] === ==== [[s:mul:Thul i Shem Betha]] ==== {{interlinear|lang=ldn|glossing=link|box=yes|display-messages=no |ablist=X1:first person singular:Láadan/Lessons/12#Pronouns;BIRTH:possessive by means of birth:Láadan/Lessons/11#Possessive_Markers |top=The Father and His Sons |Thul i Shem Betha |Parent And Offspring X1-BIRTH |Parent and Her/His Offspring }} == Wikibooks == === [[:category:book:Láadan]] === ==== [[Láadan/Lessons/11#Examples]] ==== {{interlinear|lang=ldn|glossing=link|box=yes|display-messages=no |ablist=X3:third person singular:Láadan/Lessons/12#Pronouns;BIRTH:possessive by means of birth:Láadan/Lessons/11#Possessive_Markers;STATE:speech act marker statement of fact:Láadan/Lessons/3#Speech Act morpheme |top=I bought Mary's house. |Bíi eril eb le belid Meri bethoth wa. |STATE: had buy I her (Mary's) X3-obj-poss assert. |Thus had bought I her Mary own-house indeed. }} g5tzscmw1cpqomiwimvdhtd1v3fnbwb Translating Adult Cartoons into Polish 0 370399 4656899 4642978 2026-08-10T06:42:48Z ShakespeareFan00 46022 4656899 wikitext text/x-wiki The aim of this Wikibook is to offer practical strategies and tips for preparing Polish versions of American [[Wikipedia:Adult animation| television adult cartoons]] on the levels of language and socio-cultural context. It provides the Polish translator with theoretical background of the discipline along with a series of practical exercises after every chapter to aid self-assessment. The author will assume the reader to be a Polish native speaker with interest in acquiring or expanding their knowledge about translating adult animation. Some of the terminology used in this textbook will require a certain familiarity with [[Wikipedia:WikiProject_Translation_studies|translation theories and concepts]]. Please note that the selection of sources and examples included in this textbook is based on a subjective choice. The author welcomes constructive criticism and contribution of other users to the project. <div class="boilerplate metadata" id="''Disclaimer''" style="background-color: #F5F6CE; width: 1000px; border: 2px solid #000000; margin: 0.5em; padding: 0.5em;">The contents of this project is organized with scholarly purposes in mind. Whilst it is strictly against the author's intention to produce a book on the subject of pornography, the following project does include other themes and elements not suitable for sensitive audiences, such as: strong language, mild examples of nudity or nudity mentions, as well as racial, gender or religious prejudice. </div> == What makes a cartoon "adult"? == As the term suggests, works of short adult animation have been labelled by a country's television rating system as targeted at adults. By both Poland's and the US (with the exception of Kansas, Alabama, Nebraska, Puerto Rico and Mississippi) standards, the [[Wikipedia:Age of majority|threshold of adulthood]] is the age of 18. [[File:The Simpsons Duff Beer.jpg|thumb|left|Duff Beer, a fictional alcoholic beverage on the animated series ''[[Wikipedia:The Simpsons|The Simpsons]]''.]] Animated TV shows may be considered adult for a number of reasons. Some productions are noted for experimental storytelling and animation techniques, or sophisticated storytelling. Other cartoons may be noted for a use of risqué themes and portrayal of violence, in a way that is unsuitable for younger viewers. At its developmental stage, the book examines samples from two iconic American animated series created by [[Wikipedia: Matt Groening|Matt Groening]]: ''Futurama'' and ''The Simpsons'', which have gained popularity with the Polish audience over the past decade. Both shows tackle highly sensitive social and cultural issues in an entertaining form. Examples of coarse language, dark humour, and cultural references - deemed too strong or too obscure for young children to be exposed to - will be examined with the objective to help the reader acquire satisfactory equivalence of adult content in their target text. '''Exercise 1: Think of a cartoon or an animated feature film you have watched in either language and answer the below questions (if necessary, refer to external sources, online or otherwise for help)''': *What is the age of target audience of the cartoon/film, according to the Polish and the US media content rating system? *Does the cartoon/film have the potential to appeal to more than one age group? Why/Why not? *Even if the cartoon/film of your choice is aimed at children, can you still think of any elements of adult world it may contain (verbal violence, sexual innuendos, items and/or actions associated with the world of adults, e.g. alcohol consumption, tobacco smoking, racial and/or religious discrimination, and others)? == History of comedy adult animation in the United States == The rise of comedy adult cartoon series in the United States coincides with the emergence of the American animated genre in general; the first known animation subject to censorship due to the adult-aimed content dates back already to the 1920s. The censored content included references to controversial topics in the contemporary world of adults (e. g. rum-running), while maintaining the convention of a family-oriented production all throughout. Separate, overtly pornographic cartoons also appeared at that time - 1928 ''Eveready Harton in Buried Treasure'' is one such example<ref name="Cohen">{{cite book |last=Wells|first=Paul |authorlink= |coauthors= |title=Animation: Genre and Authorship |year= 2002 |publisher=The Wallflower Press |isbn=978-1903364208}}</ref>, where the title character's sexual exploits are depicted in a blatantly explicit way while at the same time aiming for a jocular effect by means of caricature and classic comedic techniques (such as [[Wikipedia: Slapstick|slapstick]]). Those strategies can be observed also in modern American animation. Shows like Mike Judge's ''King of the Hill'', Seth Macfarlane's ''Family Guy'' or Loren Bouchard's ''Bob's Burgers'', whilst presenting serene life of average American nuclear families, do not shy away from portraying their characters in sexual situations, having them indulge in acts of violence, infedility, alcohol consumption etc., as well as frequent depictions of blood scenes and body horror. == Language == === Introduction === Due to the point-blank, [[Wikipedia:Profanity|bland]] language of adult-targeted cartoon, series such as ''Futurama'' or ''The Simpsons'' pose a challenge when adapting into Polish. Due to the complexity of audiovisual products that cartoons are, with the duality of channels it's built on, specific skills are required to render some higher-level instances of word plays ([[Wikipedia:Double entendre|double entendres]]) into L2. This section tackles the following problem for the Polish translator to be mindful of: *extensive use of word plays in modern adult American TV-series ===Exercises in translating the language=== ''Futurama'' is a 20-minute satirical show taking place in the future that plays on and pays homage to classic science-fiction tropes and themes while ridiculing contemporary American society <ref>Doherty, Brian. ''Matt Groening, the creator of The Simpsons on his new sci-fi TV show, why it's nice to be rich, and how the ACLU infringed on his rights''. Mother Jones Website. 1999 March/April.http://www.motherjones.com/media/1999/03/matt-groening.</ref>. It tells an unlikely story of Fry, a goofy pizza delivery boy who accidentally freezes himself on the last day of 1999 to wake up a thousand years later and find the world he knew filled with aliens and technological wonders. The language of ''Futurama'' is layered with '''humour''' which is built on Groening’s extensive use of wordplays, especially [[Wikipedia:Pun|pun]]s. With regard to cartoons, similarly to any other audiovisual product, rendering wordplays is technically difficult for a translator. As John D. Sanderson aptly observes in his essay ''Strategies for the Dubbing of Puns with One Visual Semantic Layer''<ref name=''Strategies for the Dubbing of Puns with One Visual Semantic Layer''>{{cite book|last=Sanderson|first=John D.|title=Strategies for the Dubbing of Puns with One Visual Semantic Layer|year=2003|pages=123-131}}</ref>, puns are the source of most cases of inequivalence in translation in general because of the following reason: {{quote |text= ''[B]oth the formal similarity between words which are neither etymologically nor semantically linked and the multiplicity of meanings within the same word will not usually coincide between languages''.}} '''Exercise 2''': Let us now test Sanderson's claim in practice. The below table shows an example of wordplay from the pilot episode of ''Futurama'': ''Space Pilot 3000'', along with its available translations in Polish. At the moment of expanding this section, the series has been adapted into Polish television a couple of times – twice with voice-over translations, and once with dubbing. Your task is to provide your own translation of the excerpt. Once you are done, try to answer the questions underneath the table. This part of the chapter is followed by a detailed analysis. <div style="text-align: center;"> {{Notice| The analysis of this scene may influence your answers, as it contains detailed description of the translation strategies used by their authors. Try to answer the questions '''before''' moving on to the analysis part.}} </div> '''Context:''' Fry is sent to the CryoGenetics laboratory with a pizza and finds the place deserted. He pulls a delivery note from his pocket and reads it aloud. The note reads: {{center/top}} <div class="boilerplate metadata" id="''Example''" style="background-color: #ccddff; width: 800px; border: 2px solid #000000; margin: 0.5em; padding: 0.5em;"> <div style="text-align: center;"><span style="font-family: courier;"><span style="font-size: x-large;"><p>'''I. C. Wiener'''</p> '''405 W.'''</span></span> [part of the text covered by Fry's thumb]</div></div> The translations: {| class="wikitable" |- ! Original !! Voice-over by Tomasz Potocki !! Dubbing by Grzegorz Drojewski !! Your translation |- | “Pizza delivery for…Icy Wiener? (I. C. Wiener)”.|| “Dostawa pizzy dla L. O. Dówy”|| “Dostawa pizzy dla…Fajfusa Lodowego?” || |} '''Questions''' *Can Fry's utterance be understood in more than one way in English? Why/why not? Elaborate. *On how many levels (verbal, auditory, etc.) is the pun successful? *Which of the official Polish translations you think is more effective in the target audience? *Imagine you are adapting ''Space Pilot 3000'' for a popular Polish children's television network. How would you soften the message of the original without losing its jocular effect? *Present the context to a Polish friend and read them your translations of the scene (one where you have retained the curse word, and the other, softer). Which version was more effective? Gather the friend's feedback. '''Scene analysis''' The above play on words comprises of two levels; the first one is auditory, which incidentally, is also made up of two layers. In English “I. C. Wiener” can be understood, when pronounced as both “Icy Wiener” (fitting, given the setting in which the scene takes place) and “I see wiener” (suggesting that Fry himself falls victim to the joke). The second level of the pun is that the word “wiener” can either refer to a sausage or an unintelligent, person, a ''moron''. The voice-over version provides an accurate rendering on the first level; the three parts: “L.”, “O.” and “Dówa” both read like potential name initials for the target receiver, and make the word “Lodówa” (Polish for “a big fridge”). However, the additional, insulting layer is abandoned, which - in effect - softens the translation altogether. The dubbed version, although it doesn’t resolve the problem of the phonetic pronunciation of the original, presents an attempt at retaining all the aspects of the original message: “Fajfus lodowy”/”An icy jerk” can easily pass as a fictional name, and it sounds "insulting enough" for the product of translation to remain in the realm of adult. One conclusion stemming from this example is that identifying multiple layers of wordplays used in a cartoon helps the translator to effectively render instances of linguistic humour into target language Despite minor divergences, both the voice-over and dubbing are not, by any means, unsuccessful and have the potential to appeal to the sense of humour of the target audience. Can the same be said about your translation? ==Translating the culture and popculture== ===Introduction=== The first part of the project dealt with linguistic aspects of the translation of adult cartoons into Polish. However, Polish audiovisual translators must be acquainted with the whole of the source and target linguacultural backgrounds <ref name=''Language and Culture: Global Flows and Local Complexity''>{{cite book|last=Risager|first=Karen|title=Language and Culture: Global Flows and Local Complexity|year=2006|pages=114-115}}</ref> in order to produce a successful adaptation for the Polish receiver. Depending on the needs and expectations of the receiving end, this trans-cultural processing of the source text to reach Polish audiences may need to include a certain dose of softening devices the role of which is supposed to smoothen out the violent and sexual content. This section tackles the following problems for the Polish translator to be mindful of: *explicit cultural and popcultural references in the source text *domestication and foreignization of cultures === Exercises in translating the culture === ==== Case study 1 ==== As previously mentioned, apart from parodying classic conventions of science-fiction, Groening’s intention for ''Futurama'' was to make it a comment on the contemporary life and politics of the United States. Also a number of popular themes and tropes from various mass media find their way into the story, be it through actual visual and/or auditory representation, or references made in the dialogues between the characters. These are all arguably easy to pick up for adult American audiences – whom Groening must have had in mind as target – a complex audiovisual product like this generally poses a challenge for Polish watchers who may lack awareness of the source reality presented by the author. Such cultural discrepancies can and are, often successfully, resolved through translation. In the words of Hans Vermeer, it is the translator’s duty ‘not only to transpose a text in a different language but also to act as a mediator in a process of intercultural communication’ <ref>Hurtado, I. (2009). Translating Proper Names into Spanish: The Case of Forrest Gump. In J. Cintas (Ed.) New Trends in Audiovisual Translation (pp. 70-83). Bristol, UK: Multilingual Matters.</ref> In order to do so, you first need to evaluate how relevant the adult content of the source culture presented on-screen is for the Polish audience and then decide if you should deviate from it or not. '''Exercise 3''': Based on the contents of this section and your knowledge and experience, analyze the below study example. Your task is to provide your own translation of the excerpt. Just as before, this part of the chapter is followed by a couple of questions and a detailed analysis. <div style="text-align: center;"> {{Notice| The analysis of this scene may influence your answers, as it contains detailed description of the translation strategies used by their authors. Try to answer the questions '''before''' moving on to the analysis part.}} </div> '''Context:''' Still in ''Futurama'': ''Space Pilot 3000'', Fry and his newly-met robot friend Bender are seen hiding in the Head Museum, the New New York’s showcase of history’s most prominent personalities in head jars. There he is cornered by another character, [[Wikipedia:Leela (Futurama)|Turanga Leela]]. Terrified, he backs away, hitting a shelf with the heads of US presidents on it. President Richard Nixon’s jar smashes and the head growls angrily: “That’s it! You just made my list!”. The head jumps up and bites Fry’s hand, much like a dog. Trying to pull it off his arm, Fry screams: “Stop it! Down, boy! Bad president!”. Soon, two police officers walk in to contain the situation. {| class="wikitable" |- ! Original !! Voice-over by Tomasz Potocki !! Dubbing by Grzegorz Drojewski !! Your translation |- | '''Nixon’s head:''' That’s it! You just made my list! <p>'''Fry:''' Stop it! Down, boy! Bad president!</p> <p>'''Police officer #1:''' Alright, buddy, step away from the head!</p> <p>'''Police officer #2:''' I'm gonna get 24th century on his ass!</p> (they both begin to beat Fry with lightsabers) <p>'''Leela:''' Officers, please! There’s no need to use the force!</p> || <p>'''Nixon’s head:''' Trafiliście na moją listę!</p> <p>'''Fry:''' Przestań! Zły prezydent!</p> <p>'''Police officer #1:''' Koleś, odsuń się od głowy!</p> <p>'''Police officer #2:''' Zrobię mu z tyłka dwudziesty czwarty wiek!</p> <p>'''Leela:''' Panowie, nie ma potrzeby, by używać mocy!</p> || <p>'''Nixon’s head:''' Właśnie trafiłeś na moją listę!</p> <p>'''Fry:''' Przestań! Siad! Zły prezydent!</p> <p>'''Police officer #1''': Kolego, odsuń się od głowy!</p> <p>'''Police officer #2:''' Zrobię mu z tyłka jesień dwudziestego czwartego wieku!</p> <p>'''Leela:''' Funkcjonariusze, bardzo proszę nie używać mocy!</p> || |} '''Questions''' *What popcultural reference(s) can you spot in the above example? Are they retained in the Polish translations? *What other cultural themes can you identify in the original text? *The expression “to make someone’s list” is a pretty common expression both in the source and target language. It does not have, however, its verbatim equivalent in the Polish language. What are some ways to translate it effectively? *The original text presents a situation featuring a controversial American politician. Try to domesticate it by using a Polish political figure of similarly dubious reputation. Did this strategy influence the effectiveness of your translation? Is it possible to neutralize this particular reference in translation? '''Scene analysis''' The scene opens with references to the ''Star Wars'' films (most notably through the lightsabers and allusion to “the force”). The exchange hints to a couple more cultural themes, particularly through a quite transparent allusion to the infamous Nixon's ''Enemy List'' which contained the names of the actual president's political enemies. [[File:Study of a girl with ringlets teaching her dog to sit up, 1930s - by Sam Hood (3210687729).jpg|thumb|Obedience commands such as 'sit' are taught to dogs in a number of cultures. Photo by Sam Hood]] Fortunately for the Polish translators, to enjoy the humorous situation of this scene, it is not essential for the target audience to know what kind of “list” is being referred to by Nixon's head; firstly, it is due to the ambiguity of Nixon’s first line (“to make someone’s list” is an expression quite frequently found both in everyday English and Polish), and secondly, it is because the joke consists of more than one layer of meaning. Note that it is perfectly enough to render the “dog” one to retain the humorous effect of the whole and still carry across the creator’s opinion about the president. Again, the dubbed version may feel more successful in this respect; here the effect is enhanced by the basic, cross-cultural command “siad!” [sit]. Also another interesting thing takes place in the original – the lines 6-8 are en echo of the famous words spoken by Marsellus Wallace from Quentin Tarantino’s 1994 ''Pulp Fiction'': “I ain't through with you by a damn sight. I'm gonna get Medieval on your ass” <ref>http://www.pages.drexel.edu/~ina22/splaylib/Screenplay-Pulp_Fiction.pdf#page=110</ref>. The Polish version of that line (“Zrobię ci z dupy jesień średniowiecza”/”I’m going to make the autumn of the Middle Ages of your ass”) from the translation by Elżbieta Gałązka-Salamon, has entered everyday language. The author of the text for the dubbed version makes a note of that and adjusts his translation accordingly. ==== Case study 2 ==== Much like ''Futurama'', Groening's previous and arguably most famous production, ''The Simpsons'' draws the inspiration for its plot from the American culture, mocking various aspect of life in the U.S. (morality, family life, politics, etc.). Paradoxically, the show's comedic approach towards serious social issues is what allows it to be serious in ways that many other television shows are not <ref name=''Strategies for the Dubbing of Puns with One Visual Semantic Layer''>{{cite book|last=Cantor|first=Paul A.|title=The Simpsons: Atomistic Politics and the Nuclear Family. Political Theory vol. 27 (1999):|year=1999|page=734}}</ref>. The main characters of the series serve as archetypes of a (stereo)typical American suburban family unit. There are five ''Simpsons'' in total: Homer (father and breadwinner), Marge (mother and housewife), and three children (Bart, Lisa, and baby Maggie) living in the outskirts of the town of Springfield. While the family's status is not exactly low, their use of vulgar expressions (especially in Homer and Bart) may classify it as substandard. Homer indulges in simple pleasures of the average American middle-aged man, as presented in the below scene from episode ''All's Fair in Oven War''. '''Exercise 4:''' You will be presented with a fragment of dialogue bit between Homer and Marge, along with its Polish voice-over version which aired on Canal+ network. Based on the contents of this section and personal knowledge and experience, analyze the example in the table and provide your own translation of the excerpt. Just as before, the exercise is followed by a couple of questions. This time around, however, your task will be more creative; you will be asked to provide an analysis of the scene in terms of the translation difficulties and strategies employed by the author of the official translation. '''Context:''' Homer offers to renovate the kitchen and is electrocuted after hitting the wall socket with a sledgehammer. Marge suggests he turn off the power in the house first. Grunting in annoyance, Homer smashes his way to the garage and unearths his old collection of porn magazines hidden under the ceiling lamp. {| class="wikitable" |- ! Original !! Voice-over by Dariusz Rogalski !! Your translation |- | '''Marge:''' ''Playdude'' magazines? Have you been hiding bosom rags from me?</p> <p>'''Homer''' Trying to. (chuckles)</p> <p>'''Marge:''' These magazines are from before we were married. Maybe you should throw them away.</p> || <p>'''Marge''' Magazyny ''Zbytnik''? Ukryłeś tę goliznę przede mną?</p> <p>'''Homer:''' Próbowałem. </p> <p>'''Marge:''' Masz je z czasów kawalerskich, może je wyrzucisz?</p> || |} '''Questions to help with your analysis of the scene''' *Can you point to examples of adaption both on the part of Matt Groening and Dariusz Rogalski? What are those? *Describe the translation process behind ''''Zbytnik''''. What factor(s) may have influenced Rogalski's choice? Is his version effective in the Polish receiver? *Note that some lines in the Polish version are significantly shorter than the original. Why is that? *How does your translation differ from Rogalski's? Did you soften the original further? Why/why not? Note down your observations. *Present the context of the scene to a friend and read them your translation. Document their response and the feedback they provided. == Target audience and the Polish content rating system to be wary of == {{Notice| This section is currently under construction. If you wish to make a contribution to the project, feel free to expand it.}} {{center/end}} == Final assignment == You should now be sufficiently acquainted with the nature of American adult cartoons. Test your knowledge by completing the final translation task of this textbook. Still unsure? Take a look at the [[#External links|book's external links section]] for resources which may come in handy in your process. For the exercise to be more effective, try to not look for Polish translations of the scene upfront. '''Exercise 5:''' Watch the [https://www.youtube.com/watch?v=yfgs9FRD25M Gay steel mill] scene from the fifteenth episode of the eighth season of ''The Simpsons'': ''Homer's Phobia''. # Look up the episode's script online and look for instances of adult content. What translation problems can you identify in the entirety of the source text on the linguistic level? # Take down a couple of wordplays and try to translate them into Polish in two ways: first to reach adults, then adjusting them for a younger audience. # Describe your translation strategy minding the context of the scene, target audience and local content rating system. # Is your translation suited more for a voice-over or dubbing? Why? # List all the cultural references you found in the ''gay steel mill'' and assess their translatibility into Polish. To what extent does the translator need to domesticate to reach the target audience? Which references can be neutralized? # What controversial issues does Groening touch upon? Are they relevant to the Polish reality? == External links == *[https://en.wikibooks.org/wiki/Polish_Dubbed_Version_of_Shrek#Technical_side_of_dubbing a WikiBook section on the technical side of dubbing] *[https://prezi.com/o4xugsdy5sgy/audiovisual-translation-strategies-and-techniques-of-the-t/ an online presentation on audiovisual translation strategies and techniques] *[http://news.bbc.co.uk/2/hi/uk_news/magazine/8415003.stm How do you make children's films appeal to adults? ] - an article by Finlo Rohrer *[https://www.thestar.com/news/insight/2011/09/23/can_dubbing_a_cartoon_help_save_a_language.html Can dubbing a cartoon help save a language?] == References == {{reflist}} {{shelves|Linguistics}} {{Status|50%}} __NOTOC__ lm4fp97dyg7hkryhfj01d3ztp1zinr3 User talk:Obonggi/sandbox 3 381544 4656997 3184141 2026-08-10T08:38:19Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656997 wikitext text/x-wiki =Please do not delete this= {{center/top}} <big>'''第1季-第8节 分阴阳的kgh(上)'''</big> {| class="wikitable" |- | [[重刻满洲语极速入门-1-7|上一页]] || [[重刻满洲语极速入门|首页]] || [[重刻满洲语极速入门-1-9|下一页]] |} [[talk:重刻满洲语极速入门|留言、提问、交流心得及内容报错请到这里]] {{center/end}} ==13.字母的写法和读音——辅音k, g, h(阳性)== 满文中k, g, h作为一组辅音出现,写法和读音都有相近的地方,而且在速度较快的口语中经常出现互换现象(例如将akjan读成ahjan,将aha读成aga等)。而前面我们在给出满文字母表的时候讲到,k, g, h分别有阳性和阴性的两种,在读音上有区别,写法上也不同。 '''''阴阳性''''' 满语的阴阳性,与整个阿尔泰语系的阴阳性概念一致,不同于印欧语系中的阴阳性。简要说阿尔泰语系的阴阳性只是元音或辅音字母在读音上边由于喉部的松紧程度构成的区别。即,我们是某一元音或辅音归类于阳性或阴性,而与词义无关,并不是说单词石头是阳性的,单词水是阴性的,进而语法上又有什么区别。满语中,所有元音都有阴阳性的划分,如下: *阳性:a, o, ū *中性:i, u *阴性:e 而辅音只有k, g, h有阴阳性划分。 阳性的k, g, h辅音的'''后面'''只跟阳性元音a, o, ū相拼,依次给出。 [[File:sljpic-1-8-1.png]] 两个记忆诀窍: #k, g, h的字型主干部分都一样,g就是在k的后脖梗子上加个点,h就是加个圈; #所谓圈点满文,其实带点的一大堆,带圈的并不多,在28个原生字母里,只有h(阴阳性皆同)带圈。所以见到带圈的第一反应就应该是h '''变形规则4:凡遇到k的字头型,它上面要接字的时候,就变成两个argan(juru argan)。'''同样,作为附件的tongki(点)、fuka(圈)也都原封不动地带着,如g, h的变化。 [[File:sljpic-1-8-2.png]] 再讲读音,阴阳性k, g, h的区别就是:阳性的k, g, h要发出小舌音来。所谓小舌音就是发音时小舌颤动,感觉就像卡痰的或打呼噜。所以最好感冒了再来学这课。带小舌音的语言显得很粗犷。如果能把它发得很好的话,那你的满语就讲得十分地帅呆了。 对比一下阳性ka, ga, ha正确的发音和错误的发音(即有无小舌音的区别) 下面是ko, go, ho [[File:sljpic-1-8-3.png]] 对比一下阳性ko, go, ho正确的发音和错误的发音(即有无小舌音的区别) kū, gū, hū [[File:sljpic-1-8-4.png]] 下面我们来看满语里k(阳)音的闭音节形式,字中用[[File:sljpic-1-8-5.png]],字尾用[[File:sljpic-1-8-6.png]](它符合haha i uncehen -> argan的变形规则),以ak为例给出所有形式: [[File:sljpic-1-8-7.png]] 满文里面,g和h是没有闭音节形式的,也就是他俩不在音节末尾出现。 '''单词拼读练习——k, g, h''' [[File:sljpic-1-8-8.png]] sbmha7vdzl3pmwiyopsprxqgk00q5xo United States Postage Meter Stamp Catalog/GROUP PC – Digital stamps generated by personal computer software or online 0 384906 4656835 4656782 2026-08-09T21:19:26Z ShakespeareFan00 46022 4656835 wikitext text/x-wiki ==<span style="font-size: x-large;"><span style="color: #1F75FE;">'''GROUP PC: Special designs generated by personal computer'''</span></span>== [[United_States_Postage_Meter_Stamp_Catalog |<span style="font-size: small;">''<u>Click here to return to the United States Postage Meter Stamp Catalog</u>''</span>]] {{font/top|size=3|color=#08457E}} '''NOTE''': ''All the stamps listed here are valid only on the date generated. PC stamps with unrestricted validity, i.e. savable for future use, are more like traditional stamps than meter stamps and thus are not cataloged here. PC stamps with unrestricted validity are cataloged in '''<i>USA: Variable Denomination Stamps (1989-2020)</i>''' by Karim Roder (available on Amazon).'' * Group PC stamps can vary considerably in size, font styles, and color within the same stamp type depending on personal printer settings, available fonts, etc. Size variations or colors other than black are unusual but are user controlled variables (an attempt will be made to note said varieties in the usage lists). * The stamps are found on plain paper and adhesive labels depending on what the user has in his printer. Self-adhesive labels are sold by the various PC stamp companies and also by outside vendors. These labels exist both with and without fluorescent tagging. As with color and font, paper or label type is a user controlled variable, however to a great extent the parameters are set by United States Postal Service ( see: https://postalpro.usps.com/parcellabelingguide). It is recommended that the collector save the '''entire label'''. * PC stamps are often found in a frame at the top right of large address labels. To the left of the stamp is a smaller frame containing a large letter or number representing the class of mail. Codes found are: "'''1'''" (first class), "'''fcm'''" (first class), "'''P'''" (priority), "'''E'''" (express), "'''M'''" (media), "'''T'''" (parcel post), solid block (media, or other), "'''H'''" (Hazardous), "'''G'''" (Ground Advantage), "'''X'''" (Media). Not all the codes are found with all the stamp types that use the labels. * 2-Dimensional barcodes occur in two major types and several subtypes: ::::: PDF417 A horizontally stacked 2-dimensional barcode, each consists of 2 punctuators, 2 indicators and a variable number of data blocks. :::::: subvariety PDF417(4) has 4 datablocks [[File: PDF417-224.png|right|250px]] :::::: subvariety PDF417(6) has 6 datablocks [[File: PDF417-226.png|right|275px]] :::::: subvariety PDF417(7) has 7 datablocks [[File: PDF417-227.png|right|300px]] :::::: subvariety PDF417(8) has 8 datablocks [[File: PDF417-228.png|right|350px]] :::::: subvariety PDF417(9) has 9 datablocks [[File: PDF417-229.png|right|375px]] :::::: subvariety PDF417(12) has 12 datablocks [[File: PDF417-2212.png|right|400px]] ::::: Data matrix is a 2 dimensional barcode consisting of square or rectangular data blocks :::::: subvariety DM-2H ("'''IBI-Lite'''") has 2 datablocks arranged horizontally [[File: DM-2HZ.png|right|100px]] :::::: subvariety DM-2V ("'''IBI-Lite'''") has 2 datablocks arranged vertically [[File: DM-2VR.png|right|50px]] :::::: subvariety DM-4 has 4 datablocks arranged as a square [[File: DM-4SQ.png|right|100px]] * PC stamps on labels the sizes of which are recommended by the '''USPS''', the sizes are 4 inches by 6 inches ('''FS''') in two subvarieties, 4 inches by 4 inches ('''FF'''), 6 inches by 2 inches ('''ST'''), and a form for customs declaration included. Many illustrations in the listings are of size 'FS' but with only one or two of the 5 or six horizontal sections of the label. [[File: ST size.png|right|200px]] [[File: FS5 size.jpg|left|200px]] [[File: FF size.png|center|200px]] [[File: CF size.png|center|400px]] <br>{{center/top}}* * * {{font|size=3|color=red|'''''NOTE''': <br>Several stamps in Group Q resemble stamps in Group PC. If you don't find what you are looking for here, check there.''}}{{center/end}} {{font/end}} <br><br> ---- ===={{font|size=4|color=#2a3439|Sub-group PC-A: Franks from E-Stamp software, ID numbers with 05#E prefix}}==== {{font/top|size=3|color=#0018A8}} * All stamps have large, negative “e” logo at top right and "PDF417" bar code across the bottom with identification number at bottom right. * "US Postage" and date are at top center, usually below a mail classification statement. * Found both with and without FIM barcode at top left and also with and without slogan or directional slug at left. * One hundred FD covers were prepared by E-Stamp in cooperation with the National Postal Museum on March 31, 1998. Trials took place for several more months. The first day of national availability was September 27, 1999. * Although we must assume other mail classes were available, only '''First Class''', '''First-Class''', '''Priority''', and '''Priority Mail''' have been reported. * E-stamp ceased operations at the end of 2000. {{font/end}} {{font|size=3|color=red|'''''NOTE''': <br>For information on the various types of 2 dimensional barcodes see introduction to "'''Group PC'''" above''}} ---- <br> {{font|size=1|color=blue|''Type '''RA1a''' in 2001 edition''}}[[File: USA stamp type PC-A1 FDC stamp.jpg|right|425px]] '''PC-A1.10.''' March 31, 1998. {{space|2}} [RR] : This stamp is found only on the First Day Covers prepared by E-Stamp and the National Postal Museum. ({{font|size=2|''See above''}}). They were sold for $100 each. : The value figures are large, 4mm tall. : With "FIM" barcode at top left and PDF(7) 2-D barcode across the bottom. : Mail class: "First Class" ({{font|size=2|''without hyphen''}}). : Identification number with 051E prefix. : V/F: {{space|4}} {{font|size=5|$0'''.'''00<sup><u>o</u></sup>}} {{space|4}} ({{font|size=2|''large figures, 4mm tall''}}) '''PC-A1.11.''' 1998. {{space|2}} [RR][[File: PC-A1.11 251004.png|right|375px]] : This stamp is found only on covers by the National Postal Museum. ({{font|size=2|''See above''}}). They were sold for $100 each. : The value figures are smaller than on "'''PC-A1.10'''" but larger than on "'''PC-A1.2'''" ettc. : With "FIM" barcode at top left and PDF(7) 2-D barcode across the bottom. : Mail class: "First Class" ({{font|size=2|''with hyphen''}}). : Identification number with 051E prefix and about the same length as in "'''PC-A1.10'''" : V/F: {{space|4}} {{font|size=5|$0'''.'''00<sup><u>o</u></sup>}} {{space|4}} ({{font|size=2|''large figures, about 3½mm tall''}}) {{font|size=1|color=blue|''Type '''RA1e''' in 2001 edition''}}[[File: USA PC-A2.jpg|right|380px]] '''PC-A1.2.''' 1998. {{space|2}} [S] : As Type PC-A1.1 but with smaller value figures, 2 to 3mm tall. : With "FIM" barcode at top left and PDF(7) 2-D barcode across the bottom. : "e-stamp.com" normally at bottom left below the barcode. : ID# with 051E, 052E or 053E prefix. : V/F: {{space|4}} $0'''.'''00 {{space|4}} ({{font|size=2|''small figures, 2-3mm tall''}}) : <u>Mail classes</u>: <sup>{{font|color=red|♦}}</sup> :: '''A'''. First-Class ({{font|size=2|''with hyphen''}}) :: '''B1'''. Priority {{space|2}} [R] :: '''B2'''. Priority Mail {{space|2}} [R] :: '''a'''. With "Additional" instead of mail class above "US Postage" {{space|2}} [R] :: '''b'''. With recipient's identity instead of "e-stamp.com" at left below bar code field {{space|2}} [RR] :: '''c'''. With 4-digit ZIP code {{font|color=red|♦}} {{font|size=2|"Express" (or "Express Mail") was an option but has not been reported by collectors.}} {{font|size=3|color=red|'''''NOTE''': <br>For information on the various types of 2 dimensional barcodes see introduction to "'''Group PC'''" above''}} {{font|size=1|color=blue|''Types '''RA1c and d''' in 2001 edition''}}[[File: USA meter stamp PC-A1p3A.jpg|right|380px]] '''PC-A1.3.''' {{space|2}} [S] : As Type PC-A1.2 but value figures show decimal fractions of a cent and have wide spacing between the dollar sign and the decimal digit with the other figures. : ID# with 051E, 052E or 053E prefix. : With "FIM" barcode at top left and PDF(7) 2-D barcode across the bottom. : The mail classes are the same as for PC-A1.2. :: '''A'''. V/F regular: {{space|4}} ${{space|2}} 0'''.'''00{{space|2}} <sup><u>o</u></sup> :: '''B'''. V/F italic: {{space|4}} ''${{space|2}} 0'''.'''00{{space|2}} <sup><u>o</u></sup>'' :: '''a'''. With "Additional" instead of mail class above "US Postage" {{space|2}} [R] {{font|size=1|color=blue|''Type '''RA1b''' in 2001 edition''}}[[File: USA meter stamp PC-A1.4A.jpg|right|535px]] '''PC-A1.4.''' : As PC-A1.3B but the value figures are spaced closely together. : With "FIM" barcode at top left and PDF(12) 2-D barcode across the bottom. :: '''A'''. Destination town name at bottom left below the barcode, and ID# with 051E prefix {{space|4}} [RRRR]<sup>{{font|color=red|♦}}</sup> :: '''B'''. "e-stamp.com" at bottom left below the barcode, and ID# with 053E prefix {{space|4}} [S] : The mail classes are the same as for PC-A1.2. : V/F italic: {{space|4}} ''$0'''.'''00<sup><u>o</u></sup> '' :: '''a'''. With "Additional" instead of mail class above "US Postage" {{space|2}} [R] {{font|color=red|♦}} {{font|size=2|Type PC-A1.4A is possibly the first E-stamp placed in use with paying customers, earlier than when PC-A1.2, PC-A1.3, and PC-A1.4B were issued.}} {{font|size=1|color=blue|''Type '''RA2''' in 2001 edition''}}[[File: USA meter stamp PC-A2.jpg|right|380px]] '''PC-A2.''' March 2000. {{space|2}} [S] : As Type PC-A1.2 but the inscriptions are larger. : "e-stamp.com" at bottom left below the barcode. : With PDF(7) 2-D barcode across the bottom. : ID# with 053E prefix. : V/F: {{space|4}} $ 0'''.'''00 : <u>Mail classes</u>: <sup>{{font|color=red|♦}}</sup> :: '''A'''. First-Class ({{font|size=2|''with hyphen''}}) :: '''B'''. Priority Mail {{space|2}} [S] [[File: USA PC-A2a.jpg|right|380px]] :: '''a'''. With "Additional" instead of mail class above "US Postage" ({{font|size=2|''see below''}}) {{space|2}} [R] :: '''b'''. "Mailed From ZIP Code" town line with 4-digit ZIP code instead of normal 5-digit code {{space|2}} [RR] {{font|color=red|♦}} {{font|size=2|"Express" (or "Express Mail") was an option but has not been reported by collectors.}} ---- ===={{font|size=4|color=#2a3439|Sub-group PC-B: Franks from Neopost software, ID numbers with 04#N or NO4#N prefix}}==== {{font/top|size=3|color=#0018A8}} * The stamp designs are quite different from each other. One has a four-pointed star logo, two have a torch in hand logo, and one has no logo. Even the bar codes are dissimilar. * Neopost was the second company to enter the PC postage business with an experimental design sometime in early 1998. Circumstances of the trial remain unknown to us. * Stamps are found both with and without FIM barcode at top left. Examples are not known with slogan or slug. * <u>Classes of mail seen on PC-B stamps</u>: ::{| | '''A.''' {{space|4}} FIRST CLASS LTR [[File:MeterCat 5 spaces.jpg|35px]] | '''F.''' {{space|4}} PRIORITY ZONE 2 [[File:MeterCat 5 spaces.jpg|35px]] | '''M.''' {{space|4}} INTL LETTER |- | {{space|4}} '''Aa.''' {{space|4}} 1ST CLASS LTR | '''G.''' {{space|4}} PRIORITY ZONE 3 | '''N.''' {{space|4}} INTL CAN LTR |- | '''B.''' {{space|4}} 1ST CLASS OVERSZ | '''H.''' {{space|4}} PRIORITY ZONE 4 | '''P.''' {{space|4}} INTL MEX LTR |- | {{space|4}} '''Ba.''' {{space|4}} 1ST CLASS OVSZ | '''I.''' {{space|4}} PRIORITY ZONE 5 | '''Q.''' {{space|4}} NEXT DAY EXP MAIL |- | '''C'''. {{space|4}} PRIORITY MAIL | '''J.''' {{space|4}} PRIORITY ZONE 6 | '''R.''' {{space|4}} MEDIA MAIL |- | '''D.''' {{space|4}} PRIORITY LOCAL | '''K.''' {{space|4}} PRIORITY ZONE 7 |- | '''E.''' {{space|4}} PRIORITY ZONE 1 | '''L.''' {{space|4}} PRIORITY ZONE 8 |} * Mail classes E through L were discontinued in June 2002. Examples are exceptionally rare. Most mail classes except the First Class variations are scarce to very rare. * Neopost PC stamps became available nationally in May 1999. {{font|size=3|color=red|'''''NOTE''': <br>For information on the various types of 2 dimensional barcodes see introduction to "'''Group PC'''" above''}} {{font/end}} ---- <br> '''PC-B1.''' {{font|color=green|''The stamp previously cataloged here has not been found used on actual mail. For this reason the Type has been deleted and the stamp re-cataloged as Type ESY-DF2 in the Essay section.''}} {{font|size=1|color=blue|''Type '''RC1''' in 2001 edition''}}[[File: USA PC-D1.jpg|right|360px]] '''PC-B2. ”Postage Plus”™''', '''“PC Stamp™”''', 1998. {{space|2}} [RRR] : This too is an experimental stamp. It was first seen in live tests in and near Washington DC and parts of northern California. It was offered nationally in May 1999 but saw little use. : The stamp was used by two different systems, "Postage Plus" which used a live internet connection, and "PC Stamp" which downloaded postage credit into a rented hardware vault. : The design shows at top right two horizontal bars with "U.S. POSTAGE" above the top one and the town line below the bottom one. Between the bars at right are a torch-in-hand logo left of small "U.S. POSTAGE" reading up. Also between the ars are the class of mail, the value figures (centered), and the date. : PDF417(7) barcode across the bottom : With "DEVICE and identification number at bottom right. : Meter number with N041N, N041NA, or 041N prefix. : V/F: {{space|4}} $0'''.'''00 :: '''a'''. With "CORRECTION" at bottom left :: '''b'''. With "FIM" baarcode at top left {{font|size=3|color=red|'''''NOTE''': <br>For information on the various types of 2 dimensional barcodes see introduction to "'''Group PC'''" above''}} {{font|size=1|color=blue|''Type '''RC2a''' in 2001 edition''}}[[File: USA meter stamp PC-B3.1.jpg|right|390px]] '''PC-B3.1. “Simply Postage”™''', 1998. {{space|2}} [RR] : Produced by an internet-connected labeling device. : Similar to PC-B2 with torch-in-hand logo and point of sale data mixed with two horizontal bars, but otherwise quite different. : The stamp is found only on self-adhesive labels with rounded corners and fluorescent red bar across the bottom edge. : "U.S. POSTAGE" is vertical at far right just left of a double line of micro-printing reading "NEOPOSTNEOPOST..." vertically. : Between the bars are the identification number, value figures, and date. Below the bottom bar is the town line, '''MAILED FROM''' and ZIP code. : Stamp with "PDF417(9)" bar code. : Meter number with N042N prefix. : Large value figures, 4½ to 5mm tall : V/F: {{space|4}} $Ø'''.'''ØØ ({{font|size=2|''with slashed zeros''}}) {{font|size=1|color=blue|''Type '''RC2b''' in 2001 edition''}}[[File: USA PC-D2.jpg|right|380px]] '''PC-B3.2. “Simply Postage” '''. {{space|2}} [RR] : As Type PC-B3.1 but the value figures have a tenths of a cent figure. : Stamp with "PDF417(9)" bar code. : Meter number with N042N prefix. : V/F: {{space|4}} $Ø'''.'''ØØ<u>ø</u> {{font|size=1|color=blue|''Type '''SA1A''' in 2001 edition''}}[[File: USA PC-F1A.jpg|right|330px]] '''PC-B4.1. “ProMail” ''', 1998? {{space|2}} [S] : Produced by an internet-connected labeling device. : Also printed on self-adhesive labels this stamp is much smaller than the PC-B3 stamps and contains the point-of-sale data at left and a square "Datamatrix (DM-4)" bar code at right. : Point-of-sale data have the value figures at top followed by the class of mail, '''MAILED FROM''' (ZIP code) town line, "U.S. POSTAGE", date and identification number. : Fluorescent bar at far left just outside two lines of micro-printing reading "NEOPOSTNEOPOST..." vertically. : Meter number with 045N prefix. : V/F: {{space|4}} $Ø'''.'''ØØø {{font|size=1|color=blue|''Type '''SA1B''' in 2001 edition''}}[[File: USA PC-F1B.jpg|right|330px]] '''PC-B4.2. “ProMail” '''. {{space|2}} [S] : As Type PC-B4.1 but the value figures are slightly larger and the text is slightly bolder. : square "Datamatrix (DM-4)" bar code at right. : Labels have fluorescent bar at right. : Meter number with 047N prefix. : V/F: {{space|4}} $Ø'''.'''ØØø {{font|size=3|color=red|'''''NOTE''': <br>For information on the various types of 2 dimensional barcodes see introduction to "'''Group PC'''" above''}} ---- ===={{font|size=4|color=#2a3439|Sub-group PC-C: Franks generated by software from Stamps.com (StampMaster before 1999), ID numbers with 06#S prefix}}==== {{font/top|color=#0018A8|size=3}} * The first stamp design has a negative {{space|1}}<span style="font-size: large;"><span style="color: black;">'''S'''</span></span>{{space|1}} in oval logo. All others contain {{space|1}}<span style="font-size: large;"><span style="color: black;">'''stamps.com'''</span></span>{{space|1}} somewhere in the design. Some time after Stamps.com acquired Endicia in November 2015 (see Sub-group PC-E) the logo {{space|1}}<span style="font-size: large;"><span style="color: black;">'''stamps'''<sub>'''endicia'''</sub></span></span>{{space|1}} came into use (see Sub-group PC-I). The individual divisions (Stamps and Endicia) have since returned to a semi-independent status. * The stamps are found both with and without a FIM barcode at upper left. * <u>Mail classes found with PC-C stamps</u>: :: {{space|4}} FIRST CLASS, FIRST CLASS MAIL, FCI (first class international) <span style="color: red;">♦</span> :: {{space|4}} PRIORITY MAIL <span style="color: red;">♦</span> :: {{space|4}} EXPRESS MAIL <span style="color: red;">♦</span> :: {{space|4}} MEDIA MAIL <span style="color: red;">♦</span> : <span style="color: red;">♦</span> Collectors should be aware that the primary mail classes are found in a multitude of variations. For example, FIRST CLASS can be found as FIRST-CLASS PKG RATE, FIRST-CLASS MAIL PARCEL, FIRST-CLASS PACKAGE INTL, USPS FIRST CLASS MAIL, etc.. We do not know them all. Please inform the catalog manager regarding something different ("'''Alan Knutson, boris1951@charter.net'''") if possible also include a scan. * The StampMaster/stamps.com system was first trialed in the Washington DC area and in parts of California sometime before August 1998. It was made available nationally on September 27, 1999. * PC stamps on labels the sizes of which are recommended by the '''USPS''', the sizes are 4 inches by 6 inches ('''FS''') in two subvarieties, 4 inches by 4 inches ('''FF'''), 6 inches by 2 inches ('''ST'''), and a form for customs declaration included. Many illustrations in the listings are of size 'FS' but with only one or two of the 5 or six horizontal sections of the label. [[File: ST size.png|right|200px]] [[File: FS5 size.jpg|left|200px]] [[File: FF size.png|center|200px]] [[File: CF size.png|center|400px]] {{font/end}} <br>{{center/top}}* * * {{font|size=3|color=red|'''''NOTE''': <br>Several stamps in Group Q resemble stamps in Group PC. If you don't find what you are looking for here, check there.''}}{{center/end}} <br><br> <br> ---- <br><br> [[File: USMETER22041502.png|right|300px]] {{font/top|size=2|color=red}} '''Type Note: In the following listings, the descriptions will often include specific details regarding the mailing label "'''size FS5 (with 5 horizontal boxes, A thru E) or size FS6 (with six horizontal boxes, A thru F)'''", they will referenced as follows''' ::::: Panel or Box A: '''USPS insignia''' ('' sometimes not present'') ::::: Panel or Box B: oftentimes subdivided {{font|size=2|color=blue|['''USPS''' ''Service Icon/ Postage Payment'']}} ::::::: Box B1 "'''F, P.'''" etc,{{font|size=2|color=blue| ['''USPS''' ''Service Icon'']}} ::::::: Box B2 includes, barcode, date, identification number {{font|size=2|color=blue|['''USPS''' ''Postage Payment'']}} ::::: Panel or Box C: Mail Class {{font|size=2|color=blue|['''USPS''' ''Service Banner'']}} ::::: Panel or Box D: Address {{font|size=2|color=blue|['''USPS''' ''Address and Delivery Information Segment'']}} ::::: Panel or Box E: Tracking number/Bar code {{font|size=2|color=blue|['''USPS''' ''Intelligent Mail package barcode segment'']}} ::::: Panel or Box F: often times blank ('' sometimes not present'') {{font|size=2|color=blue|['''USPS''' ''Additional Information and User Segment'']}} : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]'''</u> {{font/end}} <br><br> ---- <br> {{font|size=1|color=blue|''Type '''RB1''' in 2001 edition''}}[[File: USA PC-C1.jpg|right|340px]] '''PC-C1. StampMaster''', summer 1998. {{space|2}} [RRRR] : Experimental stamp with negative “S”/Internet Postage logo at top center. : At top right are value figures, mail class, "US POSTAGE”, and date. : "PDF417(7)" bar code across bottom with town line below at left and identification number below at right. : Identification number with 061S prefix. : V/F: {{space|4}} $0'''.'''00<u>o</u> {{font|size=3|color=red|'''''NOTE''': <br>For information on the various types of 2 dimensional barcodes see introduction to "'''Group PC'''" above''}} {{font|size=1|color=blue|''Type '''RB2''' in 2001 edition''}}[[File: USA PC-C2.jpg|right|360px]] '''PC-C2.1. stamps.com''', 1999. : As Type PC-C1 but with "stamps.com" logo instead of the '''S''' in oval logo. : "FIM" barcode at upper left : At top right are the value figures, date, "US POSTAGE", mail class, and town line. : 2-D barcode PDF417(6} across lower portion : "STAMPS.COM" is below left of the bar code. : Identification number with 061S or 062S prefix below right of bar code. : V/F: {{space|4}} $0'''.'''00<u>o</u> [[File: USA PC-C2 redate.jpg|right|180px]] :: '''a'''. With "ADDITIONAL POSTAGE" instead of class of mail below "US Postage" :: '''b'''. With "CORRECTION" instead of class of mail below "US Postage" :: '''c'''. With bottom line missing, blank below bar code :: '''d'''. Bottom line present but without bar code :: '''e'''. With "MAIL TO:" and ZIP code above left of the bar code :: '''f'''. With nonsense characters across the bottom (''system malfunction'') '''NOTES''': * The "stamps.com" logo can vary considerably in size. * The system could produce a re-date stamp without postage value, as shown (''right''). * For a similar type inscribed "'''Stamps /Endicia '''" see "'''PC-I'''" {{font|size=1|color=blue|''Type '''RB3''' in 2001 edition''}}[[File: USA PC-C3.jpg|right|360px]] [[File: USA PC-C3 redate.jpg|right|200px]] '''PC-C2.2.''' 2000. : As Type PC-C2.1 but with larger inscriptions. : Identification number with 062S prefix below right of 2D "PDF417(6)" barcode. : Town line with town, state and ZIP code or with '''MAILED FROM''' and ZIP code. : V/F: {{space|4}} $0'''.'''00<u>o</u> [[File:USA stamp type PC2p2 label.jpg|right|360px]] :: '''a'''. With "ADDITIONAL POSTAGE" instead of class of mail below "US Postage" :: '''b'''. With "CORRECTION" instead of class of mail below "US Postage" :: '''c'''. With bottom line missing (blank below bar code) :: '''d'''. With "MAIL TO:" and ZIP code above left of the bar code :: '''e'''. With mailer's name replacing town line :: '''f'''. With "'''FIM'''" barcode at the upper left. '''NOTES''': * The NOTES below PC-C2.1 apply to PC-C2.2 also. * These stamps can be printed directly to the mail piece or on labels. Stamps.com provided L-shaped labels with pink fluorescent bars along the top and right. * For a similar type inscribed "'''Stamps /Endicia '''" see "'''PC-I'''" [[File: USA PC-C4B.jpg|right|500px]] '''PC-C2.3.1''' 2005. : At top left: postage value above "US POSTAGE" and class of mail. : At top right: meter identification number with 062S prefix above "FROM" and ZIP code. : "Stamps.com” logo at far right of 2D "PDF417(7)" barcode. : Basic stamp without framing : V/F: {{space|4}} $(0)0'''.'''00 '''PC-C2.3.2''' : "Stamps / Endicia” logo at far right of 2D "PDF417(7)" barcode. : At top left: postage value above "US POSTAGE" and class of mail. : At top right: meter identification number with 062S prefix above "FROM" and ZIP code. : Stamp at top right of address label (FS5) with large mail class indicator to its left and the class of mail spelled out below. : V/F: {{space|4}} $(0)0'''.'''00 '''PC-C2.3.3''' : As '''PC-C2.3.2''', [[File: PC-C2.3.3p.png|right|500px]] : "Stamps.com” logo at far right of 2D "PDF417(7)" barcode. : Stamp at top right of address label (FS5) with large mail class indicator to its left. : Class of mail spelled out below V/F, with type of pricing below : At top right: meter identification number with 062S prefix above customer ID, above "FROM" and ZIP code. : V/F: {{space|4}} $(0)0'''.'''00 '''PC-C2.4.1''' 2005. : As Type PC-C2.3 but with rate statement instead of value figures. : Stamps.com logo right of "PDF417(7)" barcode. : "US POSTAGE & FEES PAID" at top left above rate statement. : Meter number with 062S prefix above mailer’s Zip code at top right. :: '''A'''. 2 lines at upper right, Meter number/zip code ::: '''1'''. Basic stamp without framing[[File: USA PC-C5A.jpg|right|400px]] ::: '''2'''. Stamp at top right of address label with large mail class indicator or solid block to its left and the class of mail spelled out below.[[File: USA PC-C5B.jpg|right|540px]] {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS5? | BLACK | '''VIII''' | 062S0005418699 | | A7 | B0 | C5 | 11/21/2005 | 02845 | | |- | FS5 | '''F''' | '''XXXIV''' | 062S0006097059 | | A2 | B3 | C1 | 06/26/2015 | 40228 | | |- | FS5 | '''1''' | '''I''' | 062S0005715741 | | A6 | B3 | C1 | 09/06/2011 | 66030 | GARDNER, KS | Box F split horizontally in two, "Thank You" in bottom half. |- | FS5 | '''F''' | '''I''' | 062S0008902567 | | A2 | B3 | C1 | 05/28/2014 | 19803 | Wilmington, DE | |- | FS5 | '''F''' | '''I''' | 062S0008902567 | | A2 | B3 | C1 | 06/02/2014 | 19803 | Wilmington, DE | |- | FS5 | '''F''' | '''I''' | 062S0008902567 | | A2 | B3 | C1 | 07/15/2014 | 19803 | Wilmington, DE | |- | FS5 | '''1''' | '''XXXIV''' | 062S0009033522 | | A4 | B0 | C0 | 11/09/2016 | 57401 | Aberdeen, SD | No tracking number in Box E |- | FS5 | '''F''' | '''XXXIV''' | 062S0009034923 | | A2 | B3 | C1 | 02/20/2018 | 11365 | Fresh Meadows, NY | |- | FS5 | '''F''' | '''I''' | 062S0009143056 | | A2 | B3 | C1 | 02/20/2018 | 08080 | Mount Holly, NJ | |- | FS5 | '''F''' | '''I''' | 062S0009151784 | | A2 | B3 | C1 | 06/01/2015 | 92154 | San Diego, CA | |- | FS5 | '''F''' | '''XXXIV''' | 062S0009200477 | | A2 | B3 | C3 | 09/05/2018 | 11355 | Flushing, NY | |} :: '''B'''. 3 lines at upper right, Meter number / customer ID number / zip code ::: '''2'''. Stamp at top right of address label with large mail class indicator or solid block to its left and the class of mail spelled out below. [[File:USA stamp type PC-C2point4b.jpeg|right|400px]] '''NOTE''': Sub-type '''B''' has been found printed directly onto a plastic bag. See image below.[[File:USA meter stamp PC-C2p4 NOTE.JPG|right|300px]] <br><br> [[File: USA stamp type PC-C10.jpg|right|880px]] <br><br><br> '''PC-C2.5. ''' '''PC-C2.5.1 ''' 2014. : Similar to Type PC-C2.4 but the manufacturer's logo is above the right end of the "PDF417{8)" barcode. : Meter number with 062S prefix. : Manufacturer's logo is "'''stamps.com'''". With "US POSTAGE & FEES PAID" instead of value figures. <br><br><br><br><br><br><br><br> <br><br><br> [[File:USA meter stamp PC-C2p7.jpg|right|880px]] '''PC-C2.5.3''' ''2012.'' : Very similar to Type PC-C2.4 but with date between the "FROM" (ZIP code) and the Stamps.com logo. : Seen with tracking number at right of the frank, on a customs form. : Meter number with 062S prefix. : PDF417(7) barcode <br><br><br> {{font|size=3|color=red|'''''NOTE''': <br>For information on the various types of 2 dimensional barcodes see introduction to "'''Group PC'''" above''}} <br><br><br> [[File: USA stamp type PC2point6.jpg|right|500px]] '''PC-C2.6.0.''' ''2015.'' : Very similar to Type PC-C2.3B but "U.S. POSTAGE" is right of the value figures rather than below them. : Meter number with 062S prefix. : PDF417(7) barcode : Manufacturer's logo is '''stamps.com''' : V/F: {{space|4}} $(0)0'''.'''00 <br><br><br><br> [[File: USA stamp type PC-G2B.jpg|right|580px]] '''PC-C2.7.1.''' : With "DPDF417" barcode as with Types PC-C2.1 through PC-C2.5 but without "stamps.com" logo. : Top panel contains USPS eagle logo and '''Click-N-Ship'''&reg; logo. : Value figures and "US POSTAGE" at left. : Tracking number above the barcode. : Identification number with 062S prefix. : V/F: {{space|4}} $0'''.'''00, {{space|4}} $00'''.'''00 :: '''a'''. With "Commercial Base Pricing" immediately below the 2D barcode <br><br><br><br><br><br><br><br><br><br> [[File: USA stamp type PC-G4B.jpg|right|1000px]] [[File: USA stamp type PC-G4.jpg|right|1000px]] <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> '''PC-C2.7.2.''' : Similar to Type PC-C2.7.1 but very wide imprint with '''Click-N-Ship'''&reg; logo above usps.com (without the eagle-head logo)/ "US POSTAGE / PAID" at left. : Along the bottom are the weight, date, Mailed from ZIP code, and meter identification number with "062S" prefix. : ''It appears that this stamp is generated only for International Priority and Express mail services.'' : Two versions are known: :: '''A'''. Tracking barcode at far left in the panel. Smaller lower panel contains the mail class statement. :: '''B'''. Smaller stamp, traditional barcode at center of panel, USPS logo at far left. A Customs Declaration statement appears above the traditional barcode. No lower panel containing a mail class statement, and no indication anywhere of the mail service being used. <br><br><br><br><br><br><br><br> <br><br><br><br><br><br> <br><br><br><br><br><br> [[File: USA stamp type PC-C6.jpg|right|140px]] '''PC-C3.1.''' 2007. : Stamp with horizontal "IBI Lite" barcode. : Small frank with value figures at top above "U.S. POSTAGE", class of mail, "FROM" ZIP code, and date. : Below the date are the stamps.com logo, the barcode, and identification number at bottom. : Identification number with 062S prefix. : V/F: {{space|4}} $0'''.'''00<u>o</u> [[File: USA stamp type PC-C7.jpg|right|195px]] [[File: USA meter stamp PC-C3.2aa.jpg|right|175px]] '''PC-C3.2.1''' : As Type PC-C3.1 but the "IBI Lite" barcode is vertical at right next to the identification number reading down at far right. : '''Stamps.com''' logo, identification number with '''062S''' prefix. : Town line "FROM" and ZIP code : V/F: {{space|4}} $0'''.'''00<u>o</u> :: '''a'''. Identification number omitted (possible printer misalignment) :: '''b'''. Town line without ZIP code showing "FROM" alone [[File: USA stamp type PC3p2 label.jpg|right|360px]] <br><br><br><br><br><br><br><br><br><br><br><br> '''NOTE''': These stamps can be printed directly to the mail piece or on labels. Stamps.com provided L-shaped labels with pink fluorescent bars along the top and right. Other label sizes and shapes exist. See below. <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [[File:USA meter stamp PC-C3p3.jpg|right|370px]] '''PC-C3.3.''' 2018. : Identification number and Stamps.com logo read down at far right. : From the top down, point-of-sale data is: :: Value figures :: '''US POSTAGE''' :: mail class :: ZIP code and date :: Horizontal IBI Lite bar code : Identification number with 062S prefix. : V/F: {{space|4}} $0'''.'''00<u>o</u> '''NOTE''': Seen on plain white self-adhesive labels with rounded corners. <br><br> <br><br><br><br><br> [[File:PC-C3.2 250115.png|right|150px]] '''PC-C3.5.''' 2022. : Most similar to Type PC-C3.1 but without company identification. : Identification number with 062S prefix. ::::-A [[File:MeterCat 5 spaces.jpg|8px]]<span style="font-size: small;"><span style="color: #191970;">: V/F: {{space|4}} $0'''.'''00<u>o</u>[[File:MeterCat 5 spaces.jpg|12px]]</span></span> ::::-B [[File:MeterCat 5 spaces.jpg|8px]]<span style="font-size: small;"><span style="color: #191970;">: V/F: {{space|4}} $0'''.'''000<u>o</u>[[File:MeterCat 5 spaces.jpg|12px]]</span></span> [[File:PC-C3.5B 250116.png|right|150px]] <br><br><br><br><br> [[File: USA PC-F10.jpg|right|940px]] '''PC-C4.1.1.''' 2002. : Very wide design with large "Delivery Confirmation" 1D barcode at center and square Datamatrix barcode at right. : Above the 2D barcode are the weight, ZIP code, ID# with 062S prefix, and date. : At far left is the class of mail above “US POSTAGE & FEES PAID”. : Without value figures. The "stamps.com" logo is below the 2D barcode. <br><br><br><br><br><br> '''PC-C4.1.2.'''. With value figures but otherwise as '''PC-C4.1.''' ("stamps.com" logo below 2D barcode)[[File: USA meter stamp PC-C4.1D.jpg|right|940px]] <br><br><br> <br><br><br><br><br><br> '''PC-C4.2.1.'''. With "stamps.com" logo and value figures at top above the 2D barcode: {{space|4}} $0'''.'''00 ("stamps.com" logo at top)[[File: USA stamp type PC-F10B.jpg|right|940px]] :: '''a'''. Without tracking barcode at center[[File: USA stamp type PC-F10aa.jpg|right|400px]] <br><br><br><br><br><br> '''PC-C4.2.2.'''. Without value figures but otherwise as '''PC-C4.2.1.''' <br><br><br><br><br><br><br> {{font|size=3|color=red|'''''NOTE''': <br>Several stamps in Group Q resemble stamps in Group PC. If you don't find what you are looking for here, check there.''}} <br><br><br><br><br><br><br><br> [[File: USA stamp type PC-C9 complete.jpg|right|540px]] '''PC-C5.1.''' 2011. : The point-of-sale text is immediately to the left of the square Datamatrix barcode rather than above. : The frank appears unframed at the top of an address label. : Identification number with 062S prefix. : The country name is not in or near the frank, but "US POSTAGE & FEES PAID" is found at bottom below the mail class. : With value figures : V/F: {{space|4}} $0'''.'''00 <br><br><br><br><br><br><br><br><br><br> '''PC-C5.2.'''. As '''PC-C5.1.''',Without value figures[[File: USA stamp type PC-C9B.jpeg|right|540px]] <br><br><br><br><br><br><br><br><br><br> {{font|size=1|color=blue|''Types '''SE1''' and '''SE2''' in 2001 edition''}}[[File: USA PC-F7.jpg|right|540px]] [[File: USA PC-F8.jpg|right|500px]] '''PC-C6.3.1.''' 2002.[[File:MeterCat 5 spaces.jpg|6px]]V/F: {{space|4}} $0'''.'''00 : Downloaded directly from the Stamps.com web site. : Square Datamatrix barcode at right with "stamps.com" reading up to its right. : Text left justified as follows: : Value figures at top above "US POSTAGE", mail class, date, ID number, and ZIP code : Meter Identification number with 062S prefix. <br><br><br><br><br><br><br><br> '''PC-C6.3.2.''' Without value figures. "US POSTAGE & FEES PAID" above date, ID# with 062S prefix, ZIP code, rate statement <br><br><br><br> :: '''PC-C9.1.'''. 2 lines at upper right, Meter number/zip code (Box B2).[[File: PC-C2.4.2A.1 250331.png|right|450px]] ::: {{space|10}} Similar to "'''PC-C2.4.2A.0'''" ::: {{space|10}} "US POSTAGE & FEES PAID IMI" at top left above rate statement. ::: {{space|10}} New "'''Stamps'''" logo ::: {{space|10}} Stamp at top right of address label with large mail class indicator (of various sizes) or solid block to its left (Box B1) and the class of mail spelled out below (Box C). ::: {{space|10}} Mail class indicator using "'''New Helvetica'''" font as opposed to "'''Arial Block'''" in "'''PC-C2.4.2A.0'''". ::: {{space|10}} Prefix "'''063S'''" ::: {{space|10}} For similar item with with three lines in upper right and "'''Arial Block'''" font see "'''PC-C2.4.3'''" <br><br> <br><br> '''PC-C9.2.''' 2024.[[File: PC-C2.4.3.png|right|450px]] ::: {{space|10}} As Type PC-C2.3 but with rate statement instead of value figures. ::: {{space|10}} With new "'''Stamps '''" logo replacing the stamps / endicia logo at the right of "PDF417(8)" barcode. ::: {{space|10}} "US POSTAGE & FEES PAID IMI" at top left above rate statement. ::: {{space|10}} ID number with 063S prefix above mailer’s Zip code at top right. ::: {{space|10}} For similar item with with two lines in upper right and "'''New Helvetica'''" font see "'''PC-C2.4.2A.1'''" : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> <br><br> {| class="wikitable" |- ! <u>Label type</u> ! <u>Meter no's</u> ! <u>Customer ID</u> ! <u>Box B1</u> ! <u>Box C</u> ! <u>Box B2, </u> ! <u>Zipcode</u> ! <u>City</u> ! <u>Date</u> ! <u>Note</u> |- | FS5 | (063S0002805278)? | | '''G''' (I) | '''VI''' | A14, B6, C7 | 43228 | Columbus, OH | 11/25/2024 | ID number misprinted |- | FS5 | 063S0002805278 | | '''G''' (I) | '''VI''' | A14, B6, C7 | 43228 | Columbus, OH | 03/19/2025 | |- | FS5 | 063S0002805278 | | '''G''' (I) | '''VI''' | A14, B6, C7 | 43228 | Columbus, OH | 05/19/2025 | |- |} '''PC-C9.3''' 2025.[[File: PC-C2.4.4 250802.png|right|450px]] ::: {{space|10}} As Type PC-C2.3 but with rate statement instead of value figures. ::: {{space|10}} With new "'''Stamps '''" logo at top right. ::: {{space|10}} "US POSTAGE & FEES PAID IMI" at top left above rate statement. ::: {{space|10}} ID number with 063S prefix above mailer's ID number and mailer’s Zip code at top right below "'''Stamps'''" logo. {| class="wikitable" |- ! <u>Label type</u> ! <u>Meter no's</u> ! <u>Customer ID</u> ! <u>Box B1</u> ! <u>Box C</u> ! <u>Box B2, </u> ! <u>Zipcode</u> ! <u>City</u> ! <u>Date</u> ! <u>Note</u> |- | FS5 | 063S0001442661 | 18827628 | '''G''' (II) | '''VI''' | A9, B2, C7 | 85274 | Mesa, AZ | 02/06/2025 | |- | FS5 | 063S0001443346 | 17008527 | '''P''' | '''XXXI''' | A5, B5, C7 | 76006 | Arlington, TX | 07/10/2026 | |- | FS5 | 063S0014950305 | 9786065 | '''G''' (II) | '''VI''' | A9, B2, C7 | 03580 | | 07/28/2025 | |- | FS5 | 063S0014950364 | 10606251 | '''G''' (II) | '''VI''' | A14, B6, C7 | 20850 | Rockville, MD | 12/03/2024 | |- | FS5 | 063S0014950380 | 18827628 | '''G''' (II) | '''VI''' | A9, B2, C7 | 85274 | Mesa, AZ | 02/06/2025 | |- |} <br><br><br> <br><br><br><br><br><br> '''PC-C9.4.''' ''2025.'' : As Type PC-C2.6.0 but "U.S. POSTAGE imi" is to the right of the value figures.[[File: PC-C2.6.1.png|right|500px]] : Meter number with 062S prefix. : PDF417(7) barcode : New '''Stamps''' logo to the right of the bar code. : V/F: {{space|4}} $(0)0'''.'''00 <br><br><br> '''PC-C9.5.''' ''2025'' : As Type PC-C3.2.1 but the "IBI Lite" barcode is vertical at right next to the identification number reading down at far right. : "'''US POSTAGE IMI'''" : tHE NEW '''Stamps.com''' logo, identification number with '''063S''' prefix. : Town line "FROM" and ZIP code : V/F: {{space|4}} $0'''.'''00<u>o</u> [[File: PC-C3.2.3 250217.png|right|360px]] <br><br><br><br><br><br><br><br><br><br><br><br> '''NOTES''': * These stamps can be printed directly to the mail piece or on labels. <br><br><br> ---- ===={{font|size=4|color=#2a3439|Sub-group PC-D: Franks from Pitney Bowes software, ID numbers with 02#P, 02#W, or 07#P prefix}}==== {{font/top|size=3|color=#0018A8}} * The earlier stamps show logos consisting of an eagle's head and wing. Later stamps are generic, text and bar code only, but most include "Pitney Bowes" in the design. One stamp, Type PC-D4, does not include the company name and is identifiable as a Pitney Bowes product only by the identification number with "02" prefix. * Identification number prefixes seen so far are 022P, 024P, 022W, 026W and 071P. * Pitney Bowes PC stamps began field testing in the Washington DC area in December 1998. {{font/end}} {{font|size=3|color=red|'''''NOTE''': <br>Several stamps in Group Q resemble stamps in Group PC. If you don't find what you are looking for here, check there.''}} ---- <br> [[File: USA meter stamp PC-D0A.jpg|right|415px]] [[File: USA meter stamp PC-D0B.jpg|right|415px]] '''PC-D0. “ClickStamp Online”''', probably 1998. {{space|2}} [''Exceptionally rare''] : Experimental stamp with small eagle profile image at upper right. Left of the eagle are the date, value figures, and “US POSTAGE” with three stars. Above the “'''PDF417'''(9)” barcode field are the identification number at left and “Mailed From Zip Code” and ZIP code. : Identification number with 022P000230 prefix. :: '''A'''. The type font is somewhat heavy. The "P" in the ID number has no serif. Three reported: ::: 1) ID number 022P0002300165, ZIP code 20260 ::: 2) ID number 022P0002306771, ZIP code 20032 ::: 3) ID number 022P0002307167, ZIP code 13057 :: '''B'''. The type font is somewhat lighter. The "P" in the ID number has serif at bottom. ID number 022P0002306600, ZIP code 20260 : V/F: {{space|2}} $ ~0.00<sup>o</sup> : '''NOTE''': This stamp type was previously cataloged as an essay (ESY-DB4.4) until verifiably postally used covers were identified. <br><br><br> {{font|size=1|color=blue|''Type '''RD2''' in 2001 edition''}}[[File: USA PC-E2.jpg|right|415px]] '''PC-D1. “ClickStamp Online”''', 21 April 1999. {{space|2}} [''Exceptionally rare''] : Experimental stamp with eagle with wavy wing below "FIM" barcode. : Stamp with “'''PDF417'''(9)” barcode. : "US POSTAGE", date, value figures, ZIP code, and identification number stacked at right. : Identification number with 024P prefix. : Class of mail vertical at left side. : V/F: {{space|4}} $00'''.'''00o : '''NOTE''': When printed on a color-capable printer, the wing of the eagle is (usually) in red. <br><br><br> {{font|size=1|color=blue|''Type '''RD3''' in 2001 edition''}}[[File: USA meter stamp PC-D2p2A.jpg|right|415px]] [[File: USA meter stamp PC-D2p2B.jpg|right|430px]] '''PC-D2.1. “ClickStamp Online”''', 2000. : Similar to Type PC-D1 but straight eagle's wing above "PITNEY BOWES". : Identification number with 024P prefix. :: '''A'''. Inscribed "U.S. POSTAGE" with stops. "MAILED FROM ZIP CODE" one line, all capitals. :: '''B'''. Inscribed "US POSTAGE" without stops. "Mailed from ZIP Code" in two lines, mixed case. : V/F: {{space|4}} $00'''.'''00o '''NOTES''': : 1) When printed on a color-capable printer, the wing of the eagle is (usually) in red. : 2) The system allows for a re-date stamp without postage value (as shown below). : 3) Pitney Bowes required at least some users of ClickStamp Online to send them a sample print once a year on an envelope marked withe the components of the user's system. (Example shown below right.) [[File: USA PC-E3 redate.jpg|left|330px]] [[File: USA meter stamp PC-D2.1 NOTE 3.jpeg|right|500px]] <br><br><br><br><br><br><br><br> {{font|size=1|color=blue|''Type '''RD4''' in 2001 edition''}}[[File: USA PC-E4.jpg|right|390px]] '''PC-D2.2. “ClickStamp Online”'''. : This is the postage correction frank used with the software system that produced type PC-D2.1. : The eagle is larger than with type PC-D2.1 and in line with the date which is above "U.S. POSTAGE" rather than below. : Large “POSTAGE CORRECTION” below eagle. : Identification number with 024P prefix. : Without town line or ZIP code. : V/F: {{space|4}} $00'''.'''00o <br><br><br><br><br><br><br><br> [[File: USMETER22041502.png|right|300px]] {{font/top|size=2|color=red}} '''Type Note: In the following listings, the descriptions will often include specific details regarding the mailing label, they will referenced as follows''' ::::: Panel or Box A: '''USPS insignia''' ('' sometimes not present'') ::::: Panel or Box B: oftentimes subdivided ::::::: Box B1 "'''F, P.'''" etc, ::::::: Box B2 includes, barcode, date, identification number ::::: Panel or Box C: Mail Class ::::: Panel or Box D: Address ::::: Panel or Box E: Tracking number/Bar code ::::: Panel or Box F: often times blank ('' sometimes not present'') {{font/end}} : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> <br><br><br><br><br><br><br><br> [[File: USA meter stamp PC-D3p1A.jpg|right|345px]] [[File: USA PC-F6.jpg|right|515px]] '''PC-D3.1A. "Shipstream Manager"'''. : As with PC-D1 through PC-D2.3, with "PDF417" barcode. : "US POSTAGE" or "US POSTAGE & FEES PAID", date, town line (Mailed from ZIP...) and rate above barcode. : Below the barcode are "Pitney Bowes" and the ID number with 071P prefix. : Basic stamp without framing. Top line contains value figures and "US POSTAGE". ::: V/F: {{space|4}} $0'''.'''00 <br><br> '''PC-D3.1B. "Shipstream Manager"'''. : Box B2 "US POSTAGE" or "US POSTAGE & FEES PAID", date, town line (Mailed from ZIP...) and rate above "PDF417" barcode. : The stamp is in a frame with large mail class indicator at left and the class of mail spelled out below. Top line "US POSTAGE & FEES PAID". With rate statement instead of value figures. : No Box A, Box B the dividing line extends the entire height of the box. : Identification number 071P prefix :: '''A'''. "'''FCM'''" in Box B1 ::: '''a'''. Box B2 "'''US POSTAGE AND FEES PAID'''"/DATE "Mailed from ZIP" / / "PDF417" barcode / "Pitney Bowes" Identification number :::: '''1'''. Box C: "'''USPS FIRST CLASS'''" ::::: '''-a'''. Box B2: 3rd line "1oz First-Class Parcel rate" <br><br> {{font|size=1|color=blue|''Type '''RD5''' in 2001 edition''}}[[File: USA stamp type PC-G1A.jpg|right|530px]] [[File: USA PC-G1B.jpg|right|550px]] '''PC-D3.2.''' : Found only on labels downloaded from internet vendor eBay. : In panel across the top are the USPS eagle logo at left and the '''eBay''' logo at right. : Inside the stamp frame: "US POSTAGE PAID" and rate statement centered above the "PDF417" barcode. : Below the barcode are "Pitney Bowes" and the identification number with 024P prefix. : Large rate indicator in frame at left. : V/F: {{space|4}} $0'''.'''00 or nil : {{font|size=2|color=red|See also '''PC-D3.3B.6'''}} :: '''A'''. With value figures :: '''B'''. Without value figures but with rate statement <br><br> '''PC-D3.3'''. : Similar to Type PC-D3.2, : A large label formatted with as many as 7 subsections ("'''boxes'''") : Below "'''Box A'''" if present, or at the top there are two boxes ("'''Box B1'''" at the left and "'''Box B2'''" at the right) : Within "'''Box B2'''" is the “'''PDF417(7)'''” 2D barcode there is nothing above the barcode. : Also within "'''Box B2'''" are 3 '''stacks''', : '''Stack B2.1''' "US POSTAGE" (''or variation''), date, “From” and ZIP code, weight, and optionally a Zone number are stacked at left. : '''Stack B2.2''' Below the barcode are "Pitney Bowes" and a rate statement or statements at the center. : '''Stack B2.3''' Meter number/ID number at right. : The ID number has 022W, 024P, or 026W prefix. : In a smaller box at left ("'''Box B1'''") is a large letter code representing the mail class. : In a wide box ("'''Box C'''") below "'''Box B1'''" and "'''Box B2'''" is the class of mail. : If present the value figures appear above "US POSTAGE". : '''Labels may be framed or unframed''' : V/F: {{space|4}} $0'''.'''00 or nil : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> <br><br> '''PC-D3.3A'''. With value figures : A large label with 6 boxes "'''FS5'''"("'''Boxes B1, B2, C, D, E, F'''") <br><br> '''PC-D3.3A1'''. :: '''Box B2::'''. '''US POSTAGE''' in one line alone above the date <br><br> '''PC-D3.3A2'''. '''US POSTAGE IMI''' in one line alone above the date [[File: PC-D3.3A3.png|right|500px]] :: '''A'''. '''026W''' <span style="font-size: x-small;">over 10-digit number starting with</span> 0004 {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5? | '''F''' | '''IX''' | 026W0004897241 | CommPrice | 06/20/2023 | 32961 | VERO BEACH, FL | |- | FS5? | '''G''' | '''VI''' | 026W0004897622 | CommPrice | 10/18/2023 | 29568 | | |} <br><br> :: '''B'''. '''028W''' <span style="font-size: x-small;">over 10-digit number starting with</span> 0002 {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | | | | | | | | |- | FS5? | '''G''' | '''VI''' | 028W0002310688 | CommPrice | 05/11/2024 | 34293 | VENICE FL | |} <br><br> '''PC-D3.3A3'''. '''US POSTAGE IMI''' in one line alone above the date as "'''PC-D3.3A3'''", Box A with "'''UNITED STATES / POSTAL SERVICE ®'''" and emblem on left. : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> <br><br> <br><br> '''PC-D3.3B'''. With rate statement '''PC-D3.3B.1'''.[[File: USA meter stamp PC-D3.3.jpg|right|500px]] ::''' Box B2::'''. '''US POSTAGE''' in one line alone above the date '''PC-D3.3B.1.1'''. Prefix "'''21B'''" {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''P''' | '''V''' | 021B0050723999 | CommPrice | 07/20/2022 | 07112 | Newark NJ | Box F: order data |- | FS5 | '''P''' | '''V''' | 021B0060312094 | CommPrice | 11/28/2022 | 07036 | Linden NJ | Box F: order data |- | FS5 | '''P''' | '''V''' | 021B0060494251 | CommPrice | 11/28/2022 | 90670 | Santa fe springs CA | Box F: order data |} '''PC-D3.3B.1.2'''. Prefix "'''26W'''" {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | | '''P''' | '''VII''' | 026W0004897242 | ComPlsPrice | 11/25/2020 | 07419 | | |- | FS5 | '''X''' | '''VIII''' | 026W0004897590 | | 01/02/2021 | 97239 | Portland OR | |- | FS5 | '''P''' | '''V''' | 026W0004897774 | CommPlsPrice | 07/31/2020 | 60490 | Bolingbrook IL | |- | FS5 | '''F''' | '''IX''' | 026W0004897814 | CommPrice | 01/08/2021 | 91304 | Los Angeles CA | |- | | '''F''' | '''IX''' | 026W0004897894 | | | 54843 | | |} <br><br> '''PC-D3.3B.1C''' [[File: PC-D3.3B.4A.0.png|right|500px]] :: As '''PC-D3.1A.B''' but with customer ID at lower right :: '''Box B2''' '''US POSTAGE''' above the date :: Meter numbers: 026W {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''P''' | '''VII''' | 026W0004897326 | 3000093152 | ComPlsPrice | 12/04/2020 | 91706 | IRWINDALE CA | ID numbers in larger font |- | FS5 | '''F''' | '''XII''' | 026W0004897491 | 3000008007 | CommPrice | 05/23/2019 | 48114 | BRIGHTON MI | |} <br><br> '''PC-D3.3B.2'''.[[File: PC-D3.3B.1.png|right|500px]] :: '''Box B2::'''. '''US POSTAGE / PAID''' in two lines above the date {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''F''' | '''XII''' | 026W0004897894 | CommPrice | 12/29/2021 | 54843 | Hayward WI | |} <br><br> '''PC-D3.3B.3A'''[[File: PC-D3.3B.3.png|right|500px]] :: '''Box B2''' '''US POSTAGE / PAID IMI''' in two lines above the date :: Meter numbers: 026W [[File: PC-D3.3B.3A-H 2501002.png|right|500px]] {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''H''' | '''VI''' | 026W0002310502 | CommPrice | 08/04/2025 | 33068 | North Lauderdale FL | "'''HAZMAT-Surface Transportation Only'''" |- | FS5? | '''F''' | '''XII''' | 026W0004897241 | CommPrice | 01/26/2023 | 13147 | SCIPIO CENTER NY | |- | FS5 | '''F''' | '''XII''' | 026W0004897242 | CommPrice | 08/16/2022 | 93943 | MONTEREY CA | |- | FS5 | '''F''' | '''XII''' | 026W0004897400 | CommPrice | 05/24/2023 | 16063 | ZELIENOPLE PA | |- | FS5 | '''G''' | '''VI''' | 026W0004897451 | CommPrice | 11/24/2023 | 95240 | LODI CA | |- | PS4 | '''P''' | '''XIII''' | 026W0004897525 | CommPrice | 10/23/2023 | 98239 | COUPEVILLE WA | No Box F, DM1 barcode below Box E |- | PS5 | '''F''' | '''IX''' | 026W0004897591 | CommPrice | 03/07/2022 | 92404 | SAN BERNARDINO CA | |- | PS5 | '''F''' | '''IX''' | 026W0004897642 | CommPrice | 02/02/2022 | 92404 | SAN BERNARDINO CA | |- | PS4 | '''G''' | '''VI''' | 026W0004897642 | CommPrice | 12/06/2023 | 81413 | CEDAREDGE CO | No Box F, DM1 barcode below Box E |- | PS4 | '''F''' | '''IX''' | 026W0004897778 | CommPrice | 02/27/2023 | 76013 | PANTEGO TX | No Box F, DM1 barcode below Box E |- |- | FS4 | '''F''' | '''III''' | 026W0004897790 | CommPrice | 11/01/2022 | 08110 | PENNSAUKEN NJ | No Box F, DM1 barcode below Box E |- | FS5 | '''G''' | '''VI''' | 026W0004897812 | CommPrice | 11/25/2023 | 11432 | JAMAICA NY | |- | | '''F''' | '''IX''' | 026W0004897816 | CommPrice | 08/22/2022 | 33770 | LARGO FL | |- | FS4 | '''F''' | '''IX''' | 026W0004897817 | CommPrice | 06/20/2023 | 77030 | HOUSTON TX | No Box F, DM1 barcode below Box E |- | FS5 | '''F''' | '''IX''' | 026W0004897878 | CommPrice | 08/25/2022 | 66505 | MANHATTAN KS | |- | FS4 | '''F''' | '''IX''' | 026W0004897894 | CommPrice | 01/23/2023 | 08110 | PENNSAUKEN NJ | |- | FS5 | '''F''' | '''IX''' | 026W0004897895 | CommPrice | 02/04/2022 | 45806 | CRIDERSVILLE OH | |- | FS5 | '''G''' | '''VI''' | 026W0004897895 | CommPrice | 11/21/2023 | 95628 | FAIR OAKS CA | |- | FS5 | '''F''' | '''IX''' | 026W0004897939 | CommPrice | 03/28/2022 | 55304 | ANDOVER MN | |- | | '''F''' | '''IX''' | 026W0004897942 | CommPrice | 04/29/2022 | 06514 | HAMDEN CT | |- | FS5 | '''F''' | '''IX''' | 026W0004898023 | CommPrice | 09/23/2022 | 75150 | MESQUITE TX | |} <br><br> '''PC-D3.3B.3B''' :: '''Box B2''' '''US POSTAGE / PAID IMI''' in two lines above the date [[File: PC-D3.3B.3B 250415.png|right|500px]] :: Meter numbers: 028W {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS4 | '''G''' | '''VI''' | 028W0002310364 | CommPrice | 03/18/2024 | 96003 | REDDING CA | No Box F, DM1 barcode below Box E |- | FS4 | '''G''' | '''VI''' | 028W0002311094 | CommPrice | 02/05/2024 | 34222 | ELLENTON FL | No Box F, DM1 barcode below Box E |- | FS4 | '''G''' | '''VI''' | 028W0002311094 | CommPrice | 08/22/2024 | 11735 | FARMINGDALE NY | No Box F, DM1 barcode below Box E |- | FS4 | '''G''' | '''VI''' | 028W0002311374 | CommPrice | 02/22/2024 | 33436 | BOYNTON BEACH FL | No Box F, DM1 barcode below Box E |- | FS4 | '''G''' | '''VI''' | 028W0002311472 | CommPrice | 03/04/2025 | 92376 | RIALTO CA | No Box F, DM1 barcode below Box E |} <br><br> '''PC-D3.3B.4A.1''' [[File: PC-D3.3B.4.png|right|500px]] :: As '''PC-D3.3B.3''' but taller, thinner font :: '''Box B2''' '''US POSTAGE / PAID IMI''' in two lines above the date :: Meter numbers: 026W {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''P''' | '''V''' | 026W0004897241 | 3001124484 | ComPlsPrice | 06/17/2022 | 93380 | VISALIA CA | |} <br><br> '''PC-D3.3B.4A.2''' :: As '''PC-D3.3B.3''' but taller, thinner font :: '''Box B2''' '''US POSTAGE / PAID IMI''' in two lines above the date :: Meter numbers: 028W {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''X''' | '''VIII''' | 028W0002310218 | 3000559694 | | 02/03/2023 | 98144 | SEATTLE WA | Box F: order info |- | FS5 | '''F''' | '''XII''' | 028W0002310350 | 3001704288 | CommPrice | 02/03/2023 | 80907 | COLORADO SPRINGS CO | |} <br><br> '''PC-D3.3B.4B''' [[File: PC-D3.3B.4B.png|right|500px]] :: As '''PC-D3.3B.3''' but taller, thinner font :: '''Box B2''' '''US POSTAGE / PAID IMI''' in two lines above the date :: No Box F, DM1 barcode below Box E :: Meter numbers: 028W {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''G''' | '''VI''' | 028W0002310174 | 3002184618 | CommPrice | 07/08/2024 | 60647 | CHICAGO IL | |- |} <br><br> '''PC-D3.3B.5A''' [[File: PC-D3.3B.5a.png|right|500px]] :: Similar to'''PC-D3.3B.3''' :: '''Box B2''' '''US POSTAGE / & FEES PD IMI''' in two lines above the date :: Meter numbers: 026W {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS4 | '''F''' | '''XII''' | 026W0004897798 | CommPrice | 01/24/2023 | 30907 | MARTINEZ GA | No Box F, DM1 barcode below Box E |} <br><br> '''PC-D3.3B.5B''' [[File: PC-D3.3B.5B.png|right|500px]] :: Similar to'''PC-D3.3B.3''' :: '''Box B2''' '''US POSTAGE / & FEES PD IMI''' in two lines above the date :: Meter numbers: 028W :: Customer Identification Number below meter number <br><br> '''PC-D3.3B.6''' :: A large label with 6 sections, 7 boxes ("'''Boxes A, B1, B2, C, D, E, F'''") :: A box ("'''Box A''') across the top containing the USPS eagle logo and "UNITED STATES/ POSTAL SERVICE" at left and a mailer's logo or identification at right. :: {{font|size=2|color=red|'''NOTE:''' ''For examples with'' '''Penalty of Fines Under 18 / USC 3571 for Private Use''' ''see'' '''OO-M1'''}} <br><br> '''PC-D3.3B.6A''' :: '''Box B2''' as '''PC-D3.3B.3, US POSTAGE / PAID IMI''' in two lines above the date <br><br> '''PC-D3.3B.6A.1A'''[[File: PC-D3.3B.6B.1.png|right|500px]] : '''Box A''' with "''' a preferred / shipping service on ebay '''" : identification number starts with "'''026W'''" : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS6 | '''F''' | '''IX''' | 026W0004897242 | CommPrice | 01/08/2022 | 19565 | WERNERSVILLE PA | |- | FS6 | '''F''' | '''IX''' | 026W0004897406 | CommPrice | 05/30/2020 | 92859 | ORANGE CA | |- | FS6 | '''G''' | '''VI''' | 026W0004897486 | CommPrice | 08/19/2023 | 76002 | ARLINGTON TX | |- | FS6 | '''G''' | '''VI''' | 026W0004897525 | CommPrice | 10/24/2023 | 35952 | SNEAD AL | |- | FS6 | '''F''' | '''IX''' | 026W0004897526 | CommPrice | 11/16/2020 | 98243 | Deer Harbor WA | |- | FS6 | '''F''' | '''IX''' | 026W0004897591 | CommPrice | 12/18/2020 | 49801 | Iron Mountain MI | |- | FS6 | '''F''' | '''IX''' | 026W0004897642 | CommPrice | 05/11/2020 | 92404 | San Bernardino CA | small, 85 x 136mm |- | FS6 | '''F''' | '''IX''' | 026W0004897623 | CommPrice | 05/08/2023 | 50010 | AMES IA | |- | FS6 | '''F''' | '''IX''' | 026W0004897876 | CommPrice | 05/18/2020 | 92404 | San B CAernardino | small, 83 x 130mm |- | FS6 | '''P''' | | 026W0004897894 | CommPrice | | 30513 | | |- | FS6 | '''F''' | | 026W0004897941 | CommPrice | | 60108 | | |} <br><br> '''PC-D3.3B.6A.1B''' : '''Box A''' with "''' a preferred / shipping service on ebay '''" : identification number starts with "'''028W'''" {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS5 | '''G''' | '''VI''' | 028W0002310428 | | 06/18/2024 | 60512 | MONTGOMERY IL | No Box F, DM1 barcode below Box E |- | FS5 | '''X''' | '''VIII''' | 028W0002310575 | | 05/31/2024 | 34677 | OLDSMAR FL | No Box F, DM1 barcode below Box E |- | FS5 | '''G''' | '''VI''' | 028W0002311092 | CommPrice | 06/13/2024 | 11103 | ASTORIA NY | No Box F, DM1 barcode below Box E |} <br><br> '''PC-D3.3B.6B''' :: '''Box B2''' as '''PC-D3.3B.3, US POSTAGE / & FEES PD IMI''' in two lines above the date <br><br> '''PC-D3.3B.6B.1'''[[File: PC-D3.3B.6B.11.png|right|500px]] : '''Box A''' with "''' a preferred / shipping service on ebay '''" {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS6 | '''F''' | '''XII''' | 026W0004897813 | CommPrice | 06/30/2022 | 07111 | IRVINGTON NJ | |} <br><br> '''PC-D3.3B.6C''' :: '''Box B2''' "'''US POSTAGE / AND FEES PAID'''" in two lines above the date <br><br> '''PC-D3.3B.6C.1'''[[File: USA meter stamp PC-D3.3C.jpg|right|500px]] : '''Box A''' with “'''www.pitneybowes.com'''” {{font|size=2|color=red|NOTE: For labels of this type used by an US Government Agency and with a Penalty statement see type "'''OO-M1'''"}} {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS6 | '''F''' | '''XII''' | 026W0004897572 | CommPrice | 06/29/2021 | 76155 | |} <br><br> '''PC-D3.3B.6D''' :: '''Box B2''' "'''US POSTAGE'''" in two lines above the date <br><br> '''PC-D3.3B.6D.1'''[[File: USA meter stamp PC-D3.3dd.jpg|right|500px]] : '''Box A''' with “'''www.paypal.com'''” {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS6? | '''X''' | '''X''' | 026W0004897485 | CommPrice | 11/25/2020 | 55422 | |} <br><br><br><br><br><br><br><br><br><br><br><br><br><br> [[File: USA meter stamp PC-D3p4.jpg|right|530px]] '''PC-D3.4''' : Similar to PC-D3.3 but with tracking number added above the PDF417 2D barcode. : Stacked at left of the 2D barcode are "usps.com", the value figures, "US POSTAGE", a rate statement, and in the bottom corner, the date. : Centered below the 2D barcode are “Mailed from” and ZIP code and “024P”. : V/F: {{space|4}} $0'''.'''00 {{space|4}} $00'''.'''00 <br><br><br><br><br><br><br><br><br> {{font|color=green|'''''NOTE: The stamp previously cataloged as Type PC-D3.5 is now a sub-type of PC-D3.3.'''''}} [[File: PC-D3.5.png|right|1000px]] '''PC-D3.5''' : "'''US POSTAGE / PAID IMI'''" in two lines : Unboxed rate class designation letter : "'''PDF417(7)'''" 2-D barcode on right : Meter Identification on right above customer Identification number : Meter identification number: 028W followed by 10 digits : On customs declaration form (CD) <br><br><br> '''PC-D4.1.''' [[File: USA stamp type PC-G6.jpg|right|1000px]] <br><br><br><br><br><br><br> : Similar to Type PC-D3.4 but in wider format with the tracking barcode at far left. : Meter number seen with "024P" prefix. : With value figures below "PAID". : V/F: {{space|4}} $0'''.'''00 <br><br> '''PC-D4.2.'''[[File: USA meter stamp PC-D3.7.jpeg|right|1000px]] : Wide format as with PC-D4.1 but "US POSTAGE" and the mail class are at far left with the tracking barcode below. : The postage data is found below the PDF417 barcode, as follows: :: ID# with "026W" prefix :: Pitney Bowes (with "CommPrice" [or value figures?] below) :: date :: "From" ZIP code :: weight :: (destination) zone <br><br><br><br><br><br><br> '''PC-D4.3.1.'''[[File: PC-D4.3.1 260630.png|right|1000px]] :: As with PC-D4.2 but with "'''US POSTAGE PAID '''" :: ID# with "026W" prefix <br><br><br><br><br><br><br> '''PC-D4.3.2.'''[[File: PC-D4.3.png|right|1000px]] :: As with PC-D4.2 but with "'''US POSTAGE PAID IMI'''" :: ID# with "026W" prefix <br><br><br><br><br><br><br> '''PC-D4.4.'''[[File: PC-D4.4 250914.png|right|1000px]] :: As with PC-D4.4 but with "'''US POSTAGE PAID IMI'''" at right above Identification number. :: Two black bars complete from left to right :: ID# with "028W" prefix <br><br><br><br><br><br><br> <br><br><br> '''PC-D5.1.''' : At right is the square "Datamatrix" barcode. : Centered in the middle: "US POSTAGE PAID"/ "Pitney Bowes"/ rate statement/ identification number with 024P prefix : At left: date/ ZIP code/ weight : Always found on framed address label, and never with value figures. <br><br><br> '''PC-D5.1A.''' [[File: USA PC-F9.jpg|right|500px]] : At left solid block rate code indicator : Centered in the middle: "US POSTAGE PAID"/ "Pitney Bowes"/ rate statement/ identification number with 024P prefix at base <br><br><br><br><br> '''PC-D5.1B.'''[[File: PC-D5.1B.png|right|500px]] : At left outline rate code indicator : Centered in the middle: "US POSTAGE PAID"/ "Pitney Bowes"/ rate statement/ identification number with 024P prefix in middle ::: '''-1'''. Meter identification number positioned as in the illustration for '''PC-D5.1A.''' <br><br><br><br><br> '''PC-D5.2.''' [[File: USA stamp type PC-F9B.jpg|right|307px]] : Similar to Type PC-D4.1 but "Pitney Bowes" is vertical reading up at left. : The rate, date, ZIP code, and weight are stacked between "US POSTAGE PAID" (italicized) at top and the identification number at bottom. : Identification number with 024P prefix. : "'''Found only on International postage/address/customs forms purchased online from the USPS web site.'''" : The complete form is shown reduced at right. Occurs in at least two types: ::::{{space|5}} Type I {{space|5}} "To/From" horizontal ::::{{space|5}} Type II {{space|4}} "To/From" vertical : V/F: {{space|4}} $00'''.'''00 or nil :{{font|size=2|color=red|NOTE: "'''For labels of this type the collector should save the whole form'''"}} :: '''A'''. With "ONLINE DISCOUNT RATE" below US POSTAGE PAID :: '''B'''. With postage paid shown in dollars and cents [[File: USA stamp type PC-F9point1B.jpg|right|307px]] :: '''C'''. Without rate, blank between US POSTAGE PAID and the date [[File: USA stamp type PC-F9B document.jpg|right|800px]] [[File: PC-D5.2z.png|right|800px]] <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> '''PC-D5.3. “Shipstream Manager”''', 2006.[[File: USA PC-F11.jpg|right|888px]] : Very wide design with square "Datamatrix" barcode at right and large tracking barcode at center. : Above the 2D barcode are the date, ZIP code, weight, and "Pitney Bowes". : Below the 2D barcode is the ID number with 024P prefix. : At far left is “US POSTAGE PAID” above the class of mail. :: '''A'''. With rate statement instead of value figures. :: '''B'''. With value figures above the date [[File: USA stamp type PC-D4point3B.jpeg|right|888px]] <br><br> [[File: USA stamp type PC-G3point1.jpg|right|570px]] '''PC-D5.4. "SmartPostage"''', 2011. : As Type PC-D4.5 but with "www.pbSmartPostage.com" instead of the eBay logo. : Identification number with 024P prefix. :: '''A'''. With value figures. {{space|4}} V/F: $0'''.'''00 :: '''B'''. Without value figures but with rate statement :: '''a'''. With "Commercial Base Pricing" immediately below the "Pitney Bowes" <br><br> '''PC-D5.5.''' (presumed to be '''“Shipstream Manager”'''), 2013.[[File: USA stamp type PC-F15.jpg|right|888px]] : Similar to Type PC-D4.3 but with the elements rearranged. : The identification number, date, "From" Zip code, and weight are below the square "Datamatrix" barcode. : The tracking barcode is at far left rather than center. : At near left of the Datamatrix barcode is "Pitney Bowes". : "US POSTAGE PAID" and the mail class are at far left above the tracking barcode. : Identification number with 024P prefix. : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> :: '''A'''. With value figures above "Pitney Bowes": {{space|4}} $0'''.'''00 :: '''B'''. Without value figures <br><br> '''PC-D5.6. "SmartPostage"''', 2006. : Similar to Type PC-D3.2 but with square DataMatrix barcode instead of "PDF417" barcode. : “US POSTAGE PAID” at top center above "Pitney Bowes", a rate statement, and the identification number. : sans-serif "a preferred / shipping service on ebay" in upper right : Service indicator in Box B1 with solid block letters : Meter identification number with 024P prefix. : With value figures. {{space|4}} V/F: $0'''.'''00 {{space|2}} [scarce] <br><br> '''PC-D5.7. "SmartPostage"''' [[File: USA PC-G3B.jpg|right|495px]] : Similar to Type PC-D3.2 but with square DataMatrix barcode instead of "PDF417" barcode. : “US POSTAGE PAID” at top center above "Pitney Bowes", a rate statement, and the identification number. : sans-serif "a preferred / shipping service on ebay" in upper right : Service indicator in Box B1 with solid block letters : Meter identification number with 024P prefix. : Without value figures but with rate statement <br><br> '''PC-D5.8.0 "SmartPostage"'''[[File: USA stamp type PC-G3C.jpg|right|530px]] : Similar to Type PC-D3.2 but with square DataMatrix barcode instead of "PDF417" barcode. : “US POSTAGE PAID” at top center above "Pitney Bowes", a rate statement, and the identification number. : sans-serif "a preferred / shipping service on ebay" in upper right : service indicator in Box B1 at left is narrower (not square) and the letter within is outlined rather than solid. : Lettering in the panel [C] at bottom is smaller. : Meter identification number with 024P prefix. <br><br> '''PC-D5.8.1 "SmartPostage"''' [[File: USA stamp type PC-G3D.jpg|right|530px]] : Similar to Type PC-D3.2 but with square DataMatrix barcode instead of "PDF417" barcode. : “US POSTAGE PAID” at top center above "Pitney Bowes", a rate statement, and the identification number. : sans-serif "a preferred / shipping service on ebay" in upper right : service indicator in Box B1 at left is narrower (not square) and the letter within is outlined rather than solid. : Lettering in the panel [C] at bottom is smaller. : Meter identification number with 024P prefix. : V/F: {{space|4}} V/F: $0'''.'''00 <br><br> '''PC-D5.9. "SmartPostage"''' : Similar to Type PC-D3.2 but with square DataMatrix barcode instead of "PDF417" barcode. : “US POSTAGE PAID” at top center above "Pitney Bowes", a rate statement, and the identification number. : service indicator in Box B1 at left is narrower (not square) and the letter within is outlined rather than solid. : Lettering in the panel [C] at bottom is smaller. : Meter identification number with 024P prefix. : With value figures or without but with rate statement <br><br> '''PC-D5.9A.'''[[File: PC-D5.9B.0.1 260706.png|right|475px]] : sans-serif "a preferred / shipping service on ebay" in upper right : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS6 | '''F''' | '''XIV''' | 024P0007629585 | ComBasPrice | 12/28/2015 | 85541 | PAYSON AZ | |- | FS6 | '''F''' | '''XIV''' | 024P0007629647 | ComBasPrice | 02/10/2016 | 85541 | PAYSON AZ | |- | FS5 | '''F''' | '''XIV''' | 024P0007629652 | ComBasPrice | 06/21/2014 | 10509 | BREWSTER NY | |- | FS6 | '''F''' | '''XV''' | 024P0007629756 | | 03/17/2016 | 85541 | PAYSON AZ | |- | FS5 | '''F''' | '''XIV''' | 024P0007629758 | ComBasPrice | 12/11/2012 | 32812 | ORLANDO FL | |- | FS6 | '''F''' | '''XIV''' | 024P0007629777 | ComBasPrice | 03/15/2017 | 17362 | SPRING GROVE PA | |- | FS6 | '''F''' | '''VI''' | 024P0007629797 | CommBasPrice | 10/19/2015 | 01970 | Salem MA | 108 x 155 mm |- | FS5 | '''F''' | '''XIV''' | 024P0007632129 | ComBasPrice | 06/01/2019 | 85203 | MESA AZ | |- | FS6 | '''F''' | '''XV''' | 024P0007776044 | | 02/25/2016 | 32701 | ALTAMONTE SPG FL | |- | FS6 | '''F''' | '''XIV''' | 024P0007776131 | ComBasPrice | 02/10/2016 | 85541 | PAYSON AZ | |- | FS6 | '''F''' | '''XIV''' | 024P0007776147 | ComBasPrice | 10/17/2016 | 76251 | MONTAGUE TX | |- | FS6 | '''F''' | '''XIV''' | 024P0007776172 | ComBasPrice | 11/27/2015 | 85541 | PAYSON AZ | |- | FS6 | '''F''' | '''XIV''' | 024P0007776173 | ComBasPrice | 08/18/2015 | 20904 | SILVER SPRING MD | |- | FS5 | '''F''' | '''XIV''' | 024P0007776210 | ComBasPrice | 10/27/2015 | 33187 | MIAMI FL | |- | FS6 | '''F''' | '''XIV''' | 024P0007776653 | ComBasPrice | 09/12/2016 | 12992 | WEST CHAZY NY | |- | FS5 | '''F''' | '''XIV''' | 024P0007776711 | ComBasPrice | 10/12/2016 | 60543 | OSWEGO IL | |- | FS5 | '''F''' | '''XIV''' | 024P0007875935 | ComBasPrice | 01/20/2015 | 85211 | MESA AZ | |- | FS6 | '''F''' | '''XIV''' | 024P0007875935 | ComBasPrice | 10/06/2015 | 33161 | FLORIDA CITY FL | |- | FS6 | '''F''' | '''VI''' | 024P0007875960 | CommBasPrice | 10/05/2015 | 01610 | Worcester MA | 96 x 151 mm |- | FS6 | '''F''' | '''XIV''' | 024P0007876028 | ComBasPrice | 01/12/2019 | 22301 | ALEXANDRIA VA | |- | FS6 | '''F''' | '''XIV''' | 024P0007876132 | ComBasPrice | 11/10/2015 | 85541 | PAYSON AZ | |- | FS6 | '''P''' | '''V''' | 024P0007876133 | CommBasPrice | 06/18/2018 | 92404 | San Bernardino CA | 92 x 161 mm |- | FS6 | '''F''' | '''VI''' | 024P0007876173 | CommBasPrice | 02/11/2019 | 30097 | Duluth GA | 101 x 161 mm |- | FS6 | '''F''' | '''XIV''' | 024P0007876761 | ComBasPrice | 10/13/2015 | 85541 | PAYSON AZ | |- | FS6 | '''F''' | '''XIV''' | 024P0007876771 | ComBasPrice | 03/12/2016 | 85541 | PAYSON AZ | |} <br><br> : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> '''PC-D5.9B.0.0.'''[[File: PC-D5.9B.png|right|475px]] [[File: PC-D5.9B.0.1 260630.png|right|475px]] : Italic "a preferred / shipping service on ebay" in upper right : Small "'''ebay'''", large space between the base of the "'''y'''" and the frame {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | FS6 | '''F''' | '''VI''' | 024P0007629802 | CommBasPrice | 11/25/2019 | 92404 | San Bernardino CA | 86 x 140mm |- | FS6 | '''F''' | '''VI''' | 024P0007776072 | CommBasPrice | 11/19/2018 | 65803 | Springfield MO | Blue label stock, 96 x 156 mm |- | FS6 | '''F''' | '''VI''' | 024P0007776728 | CommBasPrice | 07/05/2019 | 92404 | San Bernardino CA | 87 x 140mm |- | FS6 | '''F''' | '''VI''' | 024P0007875976 | CommBasPrice | 11/22/2019 | 02532 | | |- | FS6 | '''F''' | '''VI''' | 024P0007876188 | CommBasPrice | 05/28/2019 | 92404 | San Bernardino CA | 96 x 155mm |- | FS6 | '''F''' | '''VI''' | 024P0007876772 | CommBasPrice | 12/23/2019 | 98245 | Eastsound WA | 96 x 155mm |} <br><br> <br><br><br><br><br><br> '''PC-D5.9B.1.'''[[File: PC-D5.9B.1 250609.png|right|475px]] : As with "'''PC-D5.9B.0.''' Italic "a preferred / shipping service on ebay" in upper right : F/V $(0)0.00 above 4 lines at left of Box B2 <br><br> '''PC-D5.9B.2.'''[[File: PC-D5.9B.2 250609.png|right|475px]] : As with "'''PC-D5.9B.1.''' Italic "a preferred / shipping service on ebay" in upper right : Font in Boxes B2 and C "'''USPSIMB'''" (either Compact or Standard?) : F/V $(0)0.00 above 2 lines at left of Box B2 <br><br> '''PC-D5.9C.0.'''[[File: PC-D5.9C.0 250609.png|right|475px]] : In "Box A" at upper right "'''www.paypal.com'''" : "Box B2" 4 lines at left, Date/Zip Code/ Weight/ Zone <br><br> '''PC-D5.9C.1.'''[[File: PC-D5.9C.1 250609.png|right|475px]] : In "Box A" at upper right "'''www.paypal.com'''" : "Box B2" 2 lines at left, Date/Zip Code <br><br> [[File: USA meter stamp PC-D5.7.jpg|right|360px]] '''PC-D6.0''', 2021. : Similar to PC-D5.2 but with '''Pitney Bowes''' at the top of the point-of-sale data stacked at left of the Datamatrix barcode. : Datamatrix barcode (DM4) 19 mm square, with 4 data blocks : Below '''Pitney Bowes''' are the value figures, '''US POSTAGE''' or '''US POSTAGE IMI''', a mail class statement. : a ten-digit number, "3000156428" evidently the customer identification number, the ZIP code and the date. : V/F: $0.00o : This stamp arises from the new partnership between eBay and Pitney Bowes for "eBay Delivery Service" shipping. :: '''A'''. Inscribed '''US POSTAGE''', identification number with 026W prefix, :::::<span style="color: GREEN;"><span style="font-size: small;">Known with the following "'''Directive'''" types: "FIRST-CLASS"</span></span> '''NOTE''': Type PC-D6 is nearly identical in appearance to Type QB7. They differ only in color and in the ten-digit number that appears below the identification number, '''black''' and '''3''' for PC-D5.7, and '''red''' and '''2''' for QB7. <br><br><br><br><br><br> '''PC-D6.1.0''', 2024. : Inscribed '''US POSTAGE IMI''', with "FIM" barcode to left, Datamatrix barcode 20 mm square, with 4 data blocks, identification number with 026W prefix, : Datamatrix barcode 15 mm square, with 4 data blocks, or 27mm square, : Identification number with 026W prefix, :::::<span style="color: GREEN;"><span style="font-size: small;">Known with the following "'''Directive'''" types: "FIRST-CLASS"</span></span> <br><br><br><br><br><br> '''PC-D6.1.1''', 2024. : Inscribed '''US POSTAGE IMI''', with "FIM" barcode to left, : Datamatrix barcode 18-19 mm with 4 data blocks, : Identification number with 028W prefix, :::::<span style="color: GREEN;"><span style="font-size: small;">Known with the following "'''Directive'''" types: "FIRST-CLASS"</span></span> <br><br><br><br><br><br> ---- ===={{font|size=4|color=#2a3439|Sub-group PC-E: Franks from Envelope Manager (Endicia) software, ID numbers mostly with 07#V prefix but also 07#M, 07#S, 06#S and without ID number}}==== {{font/top|size=3|color=#0018A8}} * All the stamps have a generic design, bar code and text. The earlier stamps include "endicia.com" in the design and later ones are identifiable only by the identification number which is most commonly 071V although 071M and 071S are also found. From 2024 on, 062, and 063 are also found. An exception is Type PC-E2.2, Sub-type A, which does not show an identification number. * When first released (February 2001) the system was labeled by Indicia as "'''DAZzle 2000'''". * On November 18, 2015 Stamps.com (see Sub-group PC-C) acquired Endicia. In 2024, Stamps.com and Endicia were once again seperate, being individual divisions under a holding company. {{font/end}} {{font|size=3|color=red|'''''NOTE''': <br>Several stamps in Group Q resemble stamps in Group PC. If you don't find what you are looking for here, check there.''}} ---- <br> {{font|size=1|color=blue|''Type '''RE1''' in 2001 edition''}} '''PC-E1.1. Envelope Manager Software (Endicia Inc.) “DAZzle 2000” ''', 2000. [[File: USA PC-F2A.jpg|right|316px]] : “'''endicia.com'''” at bottom left of "PDF417(7)" barcode. : “US POSTAGE” at top right. : Stacked at center: value figures / class of mail / date / town line. : ID# with 071M, 071S, or 071V prefix at bottom right. : V/F: {{space|4}} $0'''.'''00 {{space|4}} $0'''.'''000 ::'''PC-E1.1A'''. Basic stamp without framing ::: '''a'''. Top portion above 2D barcode shifted far to the left (shown at right). This may be the result of inconsistent software rather than printer variables.[[File: USA PC-F2aa.jpg|right|316px]] ::: '''b'''. With "CORRECTION" instead of '"endicia.com" at bottom left ::: '''c'''. With "FIM" barcode at top left. ::'''PC-E1.1B'''. The stamp is in a frame with large mail class indicator at left and the class of mail spelled out below.[[File: USA PC-F2B.jpg|right|500px]] ::'''PC-E1.1C''' As '''PC-E1.1A''' but with "'''endicia.com/mac'''" at bottom left of "PDF417(7)" barcode. ::: '''a'''. With "FIM" barcode at top left. {{font|size=1|color=blue|''Type '''RE2''' in 2001 edition''}}[[File: USA PC-F3A.jpg|right|310px]] '''PC-E1.2. Envelope Manager Software (Endicia Inc.) “DAZzle 2000” ''', 2002. : As Type PC-E1.1 but the point-of-sale data is at left rather than in the center, and the sequence of data is different. : At top left: value figures/ date/ rate information : At top right: "US POSTAGE"/ "Mailed from ZIP..." : “'''endicia.com'''” at bottom left : Identification number with 071V prefix : Never with "FIM" barcode. : V/F: $0'''.'''00 :: '''PC-E1.2A'''. Basic stamp without framing ::: '''a'''. With text above bar code shifted significantly to left or right. This may be the result of inconsistent software rather than printer variables. ::: '''b'''. On large label ('''STvar''') (see Section PC intro)[[File: PC-E1.2A-b.png|right|800px]] :: '''PC-E1.2B'''. The stamp is in a frame with large mail class indicator at left and the class of mail spelled out below.[[File: USA PC-F3B.jpg|right|500px]] ::: '''d'''. Without rate information below the date[[File: USA meter stamp PC-E1p2dd.jpg|right|500px]] :: '''PC-E1.2C'''. "'''endicia.com/mac'''" at lower left, produced by systems designed for Apple computer users '''PC-E1.3. Envelope Manager Software (Endicia Inc.) “DAZzle 2000” ''', 2002. : Similar to Type PC-E1.2 but with rate statement instead of value figures. : “POSTAGE AND FEES PAID” at top above date, ZIP code, and rate statement. : “'''endicia.com'''” at bottom left ::'''PC-E1.3A'''. Basic stamp without framing [[File: USA PC-F4A.jpg|right|324px]] ::: Identification number with 071V prefix ::: '''a'''. With text above bar code shifted significantly to left or right. This may be the result of inconsistent software rather than printer variables.[[File: USA PC-F4bb.jpg|right|415px]] ::: '''b'''. On large label ('''STvar''') (see Section PC intro)[[File: PC-E1.3A-b.png|right|800px]] ::'''PC-E1.3B.0'''. The stamp is in a frame with large mail class indicator at left and the class of mail spelled out below.[[File: USA PC-F4B.jpg|right|500px]] ::: Identification number with 071V prefix : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]'''</u> {{font/top|size=2|color=black}} {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Line A Equivalent ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | '''FS5''' | '''FCM''' | '''XVI''' | 071V00515554 | A13 | | OCT 27 2011 | 55337 | BURNSVILLE MN | NO TRACKING BARCODE |- | '''FS5''' | '''F''' | '''IX''' | 071V00525268 | A11 | C9 | JAN 5 2015 | 92705 | SANTA ANA CA | |- | '''FS5''' | '''F''' | '''IX''' | 071V00525268 | A12 | C9 | APR 12 2016 | 92705 | SANTA ANA CA | |- | '''FS5''' | '''F''' | '''IX''' | 071V00525268 | A12 | C9 | JAN 3 2017 | 92705 | SANTA ANA CA | |- | '''FS5''' | '''F''' | '''IX''' | 071V00525268 | A12 | C9 | FEB 17 2017 | 92705 | SANTA ANA CA||- | |- | '''FS5''' | '''F''' | '''IX''' | 071V00525268 | A12 | C9 | MAR 1 2017 | 92705 | SANTA ANA CA||- | |- | '''FS5''' | '''FCM''' | '''XVI''' | 071V00548099 | A13 | | APR 17 2007 | 83333 | | |- | '''FS5''' | solid black | '''VIII''' | 071V00682520 | A7 | | FEB 6 2009 | 80922 | COLORADO SPRINGS CO | |- | '''FS3''' | '''P''' | '''V''' | 071V01059238 | A11 | C9 | SEP 8 2020 | 30071 | NORCROSS GA | |} {{font/end}} ::: '''.1'''. As '''B''', with question mark after the mail class statement: '''PRIORITY MAIL 2-DAY?''' :::: (This may be a computer error with the question mark printing in place of a registration mark (''R in circle'').)[[File:USA meter stamp PC-E1p3ee.jpg|right|500px]] ::: '''.2'''. Without the "Box C" containing the class of mail below the frank [[File: USA stamp type PC-E3p1ff.jpg|right|400px]] ::: '''.3'''. "Box E" with USPS emblem at left, no tracking info[[File: PC-E1.3B-g.png|right|300px]] ::: '''.4'''. "Box E" with USPS emblem at left, endicia emblem at right[[File: PC-E1.3B-h.png|right|300px]] {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Line A Equivalent ! Stack B2.2 line 2 type ! Date ! Zip ! City ! Notes |- | '''FS5''' | '''F''' | '''IX''' | 071V00500361 | A21 | C9 | NOV 26 2014 | 94306 | PALO ALTO CA | |- | '''FS5''' | '''F''' | '''IX''' | 071V00500361 | A21 | C9 | MAY 5 2015 | 94306 | PALO ALTO CA | |- | '''FS5''' | '''F''' | '''IX''' | 071V01254386 | A7 | | DEC 22 2017 | 94544 | HAYWARD CA | |- |} {{font/end}} ::'''PC-E1.3C'''. As '''PC-E1.3B''' with "'''endicia.com/mac'''" at lower left, produced by systems designed for Apple computer users[[File: USA PC-F4aa.jpg|right|500px]] ::: Identification number with 071M prefix <br><br><br><br><br><br><br><br><br> ::'''PC-E1.3D'''. As '''PC-E1.3B''' with "'''endicia'''" at lower left, [[File: PC-E1.3D.png|right|500px]] ::: Identification number with 062S prefix <br><br><br><br><br><br><br><br><br> [[File: USA meter stamp PC-E1p4.jpg|right|500px]] '''PC-E1.4. Envelope Manager Software (Endicia Inc.) “DAZzle 2000” ''', 2002. : Similar to Type PC-E1.3B but with logo and "'''endicia'''" at upper right. : The ID number is above the 2D bar code at right. : The date is below the mail class designation at left. : Identification number with "071V" prefix. : Seem on large label that includes customs information. {{font|size=1|color=blue|''Type '''RE3''' in 2001 edition''}}[[File: USA PC-F5.jpg|right|530px]] '''PC-E2.1. Envelope Manager Software (Endicia Inc.) ''', 2002. : Found only on the top of large address labels downloaded directly from the USPS web site. : In wide box at right is the 2D "PDF417" barcode. : To the left of the 2D barcode are "US POSTAGE" vertical, "WWW.USPS.COM", value figures, and date. : A series of nine 4-digit numbers is above the 2D barcode, and the ZIP code and identification number with 071V prefix are below. : Very large “P” (for Priority Mail) or “E” (for Express Mail) in box at left. : Across the bottom is the class of mail spelled out. : V/F: {{space|4}} $0'''.'''00 [[File:MeterCat 5 spaces.jpg|15px]]$00'''.'''00 {{font|size=1|color=blue|''Type '''RE4''' in 2001 edition''}} [[File: USA stamp type PC-G2 B.jpg|right|580px]] '''PC-E2.2. Envelope Manager Software (Endicia Inc.) '''. : Stamp similar to PC-E2.1 with "PDF417" barcode but with panel at top containing USPS eagle logo at left and '''Click-N-Ship'''&reg; logo at right. : This appears to be a replacement for type PC-E2.1. : Identification number, with 071V prefix, at right of the ZIP code : V/F: {{space|4}} $(0)0'''.'''00 :: '''Note'''. For similar item without identification number see "'''PC-G3'''" <br><br><br><br><br><br> '''PC-E2.3. Envelope Manager Software (Endicia Inc.) '''. [[File: USA stamp type PC-G5.jpg|right|1000px]] <br><br><br><br><br><br> : Nearly identical to Types PC-C5.2 (Stamps.com) and PC-D3.3 (Pitney Bowes) except for the identification number which has "071V" prefix. '''PC-E3.1. Endicia.com ''', 2010. : Square "DataMatrix" barcode at right with company identity reading down at far right. : Text from top, at left of barcode: "US POSTAGE AND FEES PAID", mail class (''may be omitted''), date (mmm dd yyyy), ZIP code, rate statement (''may be omitted''), "CommBasePrice" or "CommPlusPrice" (''may be omitted'') : Later stamps also include a second, more specific, rate statement. (''see the image for "b" below'') : ID# with 071S or 071V prefix below 2D barcode. :: '''A1'''. Company identity "endicia.com" (longer than DataMatrix is tall), barred "I" font[[File: USA stamp type PC-F12 better.jpg|right|520px]] ::: ID# with 071S or 071V prefix below 2D barcode. <br><br><br><br><br><br> ::::: '''c'''. Printed on short label containing tracking bar code but not the destination address[[File: USA stamp type PC-E2p1cc.jpg|right|320px]] <br><br><br><br><br><br> ::::: '''e'''. Datamatrix bar code field contains vertical bars, probably caused by a malfunction [[File:USA meter stamp PC-E2p1ee.jpg|right|500px]] <br><br><br><br><br><br> :: '''A2.1'''. Company identity "endicia.com" (shorter than DataMatrix is tall), unbarred "I" font ::: ID# with 071S prefix below 2D barcode. <br><br><br><br><br><br> ::::: '''b'''. Text at top truncated: "US POSTAGE AND FEES P"[[File: USA stamp type PC-F12bb.jpg|right|550px]] : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]'''</u> {| class="wikitable" |- ! Label type ! Box B1 TYPE ! Box C type ! Meter number ! Line A equivalent ! Stack B2.2 line 2 type ! Date ! Zip code ! City ! Notes |- | FS4 | '''P''' | XXXIII | 071S00799149 | A17 | Commercial Plus Pricing | Nov 27 2017 | 37801 | MARYVILLE TN | |- | FS4 | Black | VIII | 071S00773763 | A7 | | Dec 19 2017 | 30605 | ATHENS GA | |- | FS4 | Black | VIII | 071S00773763 | A7 | | Dec 22 2017 | 30605 | ATHENS GA | |- | | '''F''' | IX | 071S00913234 | A18 | CommercialBasePrice | Aug 04 2014 | 33351 | SUNRISE FL | subtype "b" |- | FS4 | '''F''' | IX | 071S00917592 | A18 | CommercialBasePrice | Feb 11 2014 | 11220 | BROOKLYN NY | |- | FS4 | '''F''' | IX | 071S00917592 | A18 | CommercialBasePrice | Oct 11 2014 | 11220 | BROOKLYN NY | |} :: '''A2.2'''. Company identity "endicia.com" (shorter than DataMatrix is tall), unbarred "I" font [[File:PC-E3.1A2.png|right|550px]] ::: ID# with 071V prefix below 2D barcode. <br><br><br><br><br><br> ::::: '''f'''. Datamatrix bar code field is wider than tall, not square [[File:USA meter stamp PC-E3.1ff.jpg|right|380px]] : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]'''</u> {| class="wikitable" |- ! Label type ! Box B1 TYPE ! Box C type ! Meter number ! Line A equivalent ! Stack B2.2 line 2 type ! Date ! Zip code ! City ! Notes |- | FS4 | black box | VIII | 071V00908463 | A16 | | Dec 21 2017 | 75104 | CEDAR HILL TX | 2 copies, framed |- | FS4 | '''P''' | XXXIII | 071V00970570 | A17 | CommercialBasePrice | Jun 05 2018 | 28052 | | shorter Enddicia on right |- | | | | | | | | | | |- | | | | | | | | | | |} :: '''B1'''. Company identity is a round logo and "endicia" (''first seen in late 2018'') ::: Unframed ::: ID# with 071S prefix below 2D barcode. :::::'''-1''' Top two lines bold [[File: PC-E3.1B1-1.png|right|540px]] <br><br><br><br><br><br> :::::'''-2''' All but top line and fifth line bold [[File: PC-E3.1B1-2.png|right|540px]] <br><br><br><br><br><br> :::::'''-3''' All lines bold [[File: PC-E3.1B1-3.png|right|540px]] <br><br><br><br><br><br> :: '''B2'''. Company identity is a round logo and "endicia" [[File: USA meter stamp PC-E3.1B.jpg|right|540px]] ::: ID# with 071V prefix below 2D barcode. : ''subtypes unknown '' ::::: '''a'''. Datamatrix barcode field omitted ::::: '''d'''. Printed without the tracking bar code <br><br><br><br><br><br> [[File: USA stamp type PC-F12point1.jpg|right|520px]] '''PC-E3.2. Endicia.com''', 2014. : Similar to Type PC-E3.1 with square "DataMatrix" barcode, but the value figures are at upper left and "US POSTAGE" is alone at top center. : ID# with 071V prefix seen. : V/F: {{space|4}} $00'''.'''00 [[File: USA stamp type PC-E2p3.jpg|right|340px]] '''PC-E3.3A. Endicia.com''', 2015. : Similar to Types PC-E3.1 and PC-E3.2 but "U.S. POSTAGE" is lower, below the date and ZIP code. : The value figures are at far left. : One seen, with "FIM" bar code at upper left. : ID# with 071V prefix seen. : '''endicia.com''' reads down. : V/F: {{space|4}} $00'''.'''00 [[File: USA meter stamp PC-E3p3B.jpg|right|365px]] '''PC-E3.3B. Endicia.com'''. : As Type PC-E3.3A but with rate statement instead of value figures. : ID# with 071V prefix seen. : '''endicia.com''' reads up. Note: Items formersly listed as "'''PC-E3.3C'''" and "'''PC-E3.3D'''" are now listed as "'''PC-E3.8.1'''" AND "'''PC-E3.8.2'''" RESPECTIVELY. [[File:USA stamp type PC-E2p4.jpg|right|520px]] '''PC-E3.4. Endicia.com''', 2016. : Similar to Type PC-E3.1 but inscribed "U.S. POSTAGE PAID" without "AND FEES". Also the inscription is centered rather than high. : Below "US POSTAGE PAID" is "From ZIP ##### and a rate statement. : Rather than a large mail classification code, the mailer's name and address is found in the box at left. : ID# with 071S prefix seen. <br><br><br> [[File:USA meter stamp PC-E3.5.jpeg|right|410px]] '''PC-E3.5. Endicia.com''', 2018. : Square DataMatrix barcode as with previous PC-E3 types but with round logo and "endicia" horizontal at bottom left instead of vertical at right. : Text at left of barcode: At top (not fully visible in the image): "US POSTAGE AND FEES PAID" above the weight and mail class, price modification statement, date, ZIP code, identification number, a "CID" (<i>'''C'''ontract '''ID''' identification</i>) number, and the Endicia logo. : No value figures are shown : ID# with 071V prefix seen. : The example reported was used on international mail. <br><br><br> '''PC-E3.6. Endicia''', 2024. [[File:PC-E3.6.png|right|410px]] : Square DataMatrix barcode as with previous PC-E3 types with "endicia" vertical at right but without round logo. : Most similar to type '''PC-E3.1A2''' : No line separating Box B1 and Box B2. : Text at left of barcode: At top (not fully visible in the image): "US POSTAGE AND FEES PAID" above the weight and mail class, '''IMI''' following mail class : Price modification statement, date, ZIP code, Mail class 1, Mail class 2, a "CID" (<i>'''C'''ontract '''ID'''entification</i>) number, Mail class 3. : No value figures are shown : ID# with 063S prefix below bar code. <br><br><br><br><br><br><br><br><br> '''PC-E3.7. Endicia''', 2025. [[File:PC-E3.7 251201.png|right|410px]] : Square DataMatrix barcode as with previous PC-E3 types with "endicia" vertical at right but without round logo. : Most similar to type '''PC-E3.6''' : Text at left of barcode: At top: "US POSTAGE" above the weight and mail class, : Stacked below are:Mail Class I with '''IMI''' following mail class, date, ZIP code, Mail class 2, Mail class 3, Mail class 4, a "CID" (<i>'''C'''ontract '''ID'''entification</i>) 8 digit number, . : F/V: "'''$0.00'''" : ID# with 063S prefix below bar code. :: '''PC-E3.7.1'''. With green banner to left inscribed "'''USPS CERTIFIED MAIL <sup>TM</sup>'''", barcode below [[File:PC-E3.7.1.png|right|650px]] <br><br><br><br><br><br><br><br><br> [[File: USA meter stamp PC-E3.3B.jpg|right|230px]] '''PC-E3.8.1. Endicia.com'''. : As Type PC-E3.3A but with different endicia logo. : ID# with 071S prefix seen. : Circular logo and '''endicia''' read down. '''NOTE''': The extremely narrow stamp impression shown appears to be a printer/feeder error rather than a software variation. <br><br><br><br><br><br><br><br><br> [[File: USA meter stamp PC-E3.3D.jpg|right|365px]] '''PC-E3.8.2. Endicia.com'''. : As Type PC-E3.3C but with rate statement instead of value figures. : ID# with 071V prefix seen. : Circular logo and '''endicia''' read down. <br><br><br><br><br><br><br><br><br> '''PC-E3.9. Endicia''' [[File:PC-E3.9 260623.png|right|410px]] : As Type PC-E3.3A but with "'''IMI'''" on the rate class line : ID# with '''063S''' prefix seen. : '''endicia''' reads down. <br><br><br><br><br><br><br><br><br> '''PC-E4.1. Endicia.com''', 2024. [[File:PC-E4.1 250402B.png|right|410px]] : Box B1 with block letter indicating postal class, "G" a New Helvetica Block font : Box B2 with "US POSTAGE & FEES PAID" in top line on left. With 3 lines below indicating rate class. : 3 lines at top right, ID at top, customer ID below, source zip code at base. : PDF 417(8) barcode with "endicia" (new logo) at right but without old round logo. :::::<span style="color: GREEN;"><span style="font-size: small;">Known with the following "'''Directive'''" types [BOX C]: "USPS GROUND ADVANTAGE" ['''XXIX'''] </span></span> : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]''' (Directives/ Directionals)</u> <br><br><br><br><br><br><br><br><br> '''PC-E5.1. Endicia.com''', 2024. [[File:PC-E5.1 250402B.png|right|410px]] : Box B1 with block letter indicating postal class, "G" a New Helvetica Block font : Box B2 with "US POSTAGE & FEES PAID IMI" in top line on left. With 3 lines below indicating rate class. : 2 lines at top right, ID at top, source zip code at base. : PDF 417(8) barcode with "endicia" (new logo) at right but without old round logo. :::::<span style="color: GREEN;"><span style="font-size: small;">Known with the following "'''Directive'''" types [BOX C]: "USPS GROUND ADVANTAGE TM" ['''VI'''], "USPS PRIORITY MAIL ®" [ “large ‘R-circle’”] ['''XVIII'''] </span></span> : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]''' (Directives/ Directionals)</u> <br><br><br><br><br><br><br><br><br> ---- ===={{font|size=4|color=#2a3439|Sub-group PC-F: Franks generated by EasyPost software, with "easypost" in the frank}}==== {{font/top|size=3|color=#0018A8}} * EasyPost is a software company that provides companies with integrated shipping options through USPS and several private carriers. * The company was founded in 2012 although the first stamp came to our attention in 2016. {{font/end}} ---- <br> [[File: USA stamp type PC-G1.jpg|right|500px]] '''PC-F1.1. "EasyPost" ''' (digital/thermal), 2016 but possibly as early as 2012. : The stamps we have seen appear on large address labels. : The stamp contains a PDF417 barcode which sits under "US POSTAGE AND FEES PAID" and '''{{font|size=5|easypost}}''' at the right of the stamp. : Left of the barcode are the date, ZIP code, "CID" (''number'') or "C" (number), and '''COMBASE''' or '''ComBasPrice''' (with no value figures). : Along the bottom are the weight and identification number with "0901" prefix. :: '''A'''. The stamp is in a frame with large mail class indicator at left (Box B1) and the class of mail spelled out below (Box C) :: '''B'''. The stamp appears by itself with no framing or large mail class indicator <br> [[File: PC-F1.2.png|right|475px]] '''PC-F1.2. "EasyPost" ''' (digital/thermal), 2025 : As type "'''PC-F1.1'''" With heavier and slightly different typeface and spacing. {| class="wikitable" |- ! <u>label type</u> ! <u>box B1</u> ! <u>Meter Number</u> ! <u>Customer ID</u> ! <u>Box C</u> ! <u>Date</u> ! <u>Zipcode</u> ! <u>Note</u> |- | FS5? | G | 0901000008391 | C4190745 | | 2025-04-08 | 29169 | |- | FS5 | G | 0901000019068 | C4002372 | | 2025-05-19 | 90640 | |- |} <br><br><br><br> [[File:USA meter stamp PC-F1p2.jpg|right|480px]] '''PC-F2.1. "easypost" ''' (digital/thermal). : Similar to Type PC-F1 but inscribed "US POSTAGE PAID" rather than "US POSTAGE AND FEES PAID" : The text, including '''{{font|size=4|easypost}}''', is in a lighter and wider font than found on PC-F1. : Also, without "CID" and number and with small '''ComBasPrice''' instead of '''COMBASE'''. : And finally, the zeros are slashed. <br><br><br><br> [[File: PC-F2.2 260621mh.jpg|right|480px]] '''PC-F2.2. "easypost" ''' (digital/thermal). : Similar to Type PC-F2.1 but inscribed "US POSTAGE PAID IMI" rather than "US POSTAGE PAID" : The text/ font is similar to that found on PC-F1. <br><br><br><br><br><br><br><br> [[File:USA meter stamp PC-F1.3.jpg|right|540px]] '''PC-F3.1. "EasyPost" ''' (digital/thermal), 2021. : As Type PC-F1 but the {{font|size=4|'''easypost.'''}} logo now has a period after it. The web address "{{size=2|'''easypost.com/signup'''}}" was added below the logo. : This stamp includes a postage value which is preceded by "Retail" on the stamp we have seen. : V/F: {{space|4}} $0.00 : '''Note''': The origin ZIP code and customer ID have been blurred in the stamp photo. <br><br><br><br> [[File:Easypost PC-F1.4.png|right|500px]] '''PC-F3.2. "EasyPost" ''' (digital/thermal), 2022. ::: Easypost Logo as PC-F3.1 ::: The stamp is in a frame with large mail class indicator at left (Box B1) and the class of mail spelled out below (Box C) ::: No value figures ::: {{space|4}} '''Box B1''' {{space|4}} "'''F'''" ::: {{space|10}} {{space|4}} "USPS FIRST-CLASS PACKAGE" ::: {{space|20}} 0901000004578 {{space|4}}C4000013 {{space|4}}83713 {{space|4}}2022-09-02{{space|4}}BOISE, ID ::: {{space|4}} '''Box B1''' {{space|4}}"'''P'''" ::: {{space|10}} {{space|4}} "USPS PRIORITY MAIL" ::: {{space|20}} 0901000004698 {{space|4}} {{space|4}}28405 {{space|4}}{{space|4}}WILMINGTON, NC <br><br><br><br> [[File:PC-F4.png|right|500px]] '''PC-F4.1. "EasyPost" ''' (digital/thermal), 2022. ::: Easypost Logo different ::: The stamp is in a frame with large mail class indicator at left (Box B1) and the class of mail spelled out below (Box C) ::: No value figures ::: {{space|4}} '''Box B1''' {{space|4}}"'''P'''" ::: {{space|10}} {{space|4}} "USPS PRIORITY MAIL" ::: {{space|20}} 0901000005499 {{space|4}}C4017644 {{space|4}}83709 {{space|4}}2022-11-18{{space|4}}BOISE, ID <br><br> [[File:PC-F5.png|right|500px]] '''PC-F4.2. "EasyPost" ''' (digital/thermal), 2022. ::: Easypost Logo same as "'''PC-F4.1'''" :: '''a'''. With FIM barcode to the left [[File:PC-F4.2a.png|right|650px]] <br><br><br><br><br><br> [[File:PC-F4.4.jpg|right|500px]] '''PC-F4.4. "EasyPost" ''' (digital/thermal), 2023. ::: Easypost Logo same as "'''PC-F4.1'''" without the web address. : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]'''</u> {| class="wikitable" |- ! Label Type ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Stack B2.2 line 2 type ! Date ! Zip ! Customer ID ! Note |- | FS5 wide | '''G''' | '''VI''' | 0901000001316 | Commercial | 2024-11-11 | 43228 | C4018567 | 012.0 ZONE 2 |- | FS5 | '''G''' | '''VI''' | 0901000008901 | Commercial | 2023-12-01 | 60607 | C4650528 | 0.10 CUBIC ZONE 3 |- | FS5 | '''G''' | '''VI''' | 0901000010389 | Commercial | 2023-12-28 | 63376 | C5299422 | 5.0 OZ ZONE 4 |- | FS5 | '''P''' | '''XXXI''' | 0901000014322 | Commercial | 2024-06-27 | 63376 | C5299422 | 0.20 CUBIC ZONE 4 |} <br><br> '''PC-F4.5. "EasyPost" ''' (digital/thermal), 2025. ::: Easypost Logo same as "'''PC-F4.4'''" without the web address. :: '''a'''. With FIM barcode to the left [[File:PC-F4.5 250415.png|right|500px]] <br><br><br><br><br><br> '''PC-F4.6. "EasyPost" ''' (digital/thermal), 2026. ::: Easypost Logo same as "'''PC-F4.4'''" without the web address. ::: "'''US POSTAGE PAID IMI'''" [[File:PC-F4.6 250901B.png|right|500px]] <br><br><br><br><br><br> [[File:PC-F55.png|right|500px]] '''PC-F5. "Chit Chats" ''' (digital/thermal), 2023. ::: Similar to "'''PC-F4.2'''" ::: Easypost Logo replaced by "'''Chit Chats'''" : V/F: {{space|4}} $0.00 <br><br> [[File:PC-F6.png|right|500px]] '''PC-F6. "Sendle" ''' (digital/thermal), 2023. ::: Similar to "'''PC-F4.1'''" ::: Easypost Logo replaced by "'''Sendle>'''" <br><br> ---- ===={{font|size=4|color=#2a3439|Sub-group PC-G: Franks generated by U.S. Postal Service software, without a vendor's identification number.}}==== {{font/top|size=3|color=#0018A8}} * These stamps are a type of Post Office stamp (Group PO) but because they are generated online at the Postal Services's web site, they are listed here.. * The stamp was first reported in 2021. {{font/end}} ---- <br> {{font/top|size=3|color=black}} [[File: USA meter stamp PC-G1.jpg|right|400px]] '''PC-G1.''' (digital), 2021 but possibly earlier. : The stamp is a large tracking label similar to Type PC-C5.1 with the USPS logo and "Click-N-Ship"® in the top panel. The ''postage'' part of the label is immediately below and at right. It contains in its upper left corner, "usps.com, the value figures, '''US POSTAGE''', and a rate statement. The date is at lower left. At top right is a tracking number. At lower center is '''Mailed from''' and the ZIP code. In the center is a larger '''U.S. POSTAGE PAID''' above a small '''Click-N-Ship'''®, all backed by a field of wavy pale blue lines. : V/F: $(00)0.00 [[File: USA meter stamp PC-G1 detail.jpg|left|500px]] {{font/end}} <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [[File: PC-G2.png|right|400px]] '''PC-G2.1''' (digital), 2023 but possibly earlier. : Similar to "'''PC-G1'''" but with a square Datamatrix barcode at the right of box "'''B2'''". : Includes numbers to right of date, perhaps customer ID : Label type "'''FS6'''" : V/F: $(00)0.00 {| class="wikitable" |- ! Mail Rate Class ! Type ! Date ! Mailed from Zip Code ! "'''Box C'''" Mail Class |- | P | Flat Rate Env | 05/08/2023 | 63005 | XXX |- | G | Insured | 06/20/2024 | 02453 | VI |- | | | | |} : <u>''' [[/Mail class and other descriptive types/|Click here for Mail Class type description]]'''</u> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [[File: PC-G2.2.png|right|250px]] '''PC-G2.2''' (digital), 2024 but possibly earlier. : Similar to "'''PC-G2.1'''" but with security print under "US POSTAGE PAID" more heavily segmented : Includes numbers to right of date, perhaps customer ID : Label type "'''FS6'''" : V/F: $(00)0.00 <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [[File: PPS-G2.3.png|right|400px]] '''PC-G2.3''' (digital), 2024 but possibly earlier. : Security print in "Box B2" similar to "'''PC-G2.1'''" but : "Box D" more similar to "'''PC-G2.2'''" : Includes numbers to right of date, perhaps customer ID : Label type "'''FS6'''" : V/F: $(00)0.00 <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [[File: PC-G2.4.png|right|400px]] '''PC-G2.4''' (digital), 2024 : Security print in "Box B2" similar to "'''PC-G2.1'''" but : Box A with USPS logo to left, "USPS APIs" to right : "Box D" only with return address and destination to the right of 2D barcode : Includes numbers to right of date, perhaps customer ID : Label type "'''FS6'''" <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> '''PC-G2.5''' (digital), 2026 [[File: PC-G2.5 260630.png|right|250px]] : USPS Emblem at left, above "'''USPS APIs'''" : Barcode at right, above date, "'''US POSTAGE'''" : Value "'''$0.00'''" : Postage class at base (?) <br><br><br><br> {{font|size=1|color=blue|''Type '''RE4''' in 2001 edition''}}[[File: USA PC-G2.jpg|right|550px]] '''PC-G3. Envelope Manager Software (Endicia Inc.) '''. : Stamp similar to PC-E2.1 with "PDF417" barcode but with panel at top containing USPS eagle logo at left and '''Click-N-Ship'''&reg; logo at right. : This appears to be a replacement for type PC-E2.1. : Without identification number : See also "'''PC-E2.2'''" for similar item with identification number starting with "071V" : V/F: {{space|4}} $(0)0'''.'''00, <br><br><br><br><br><br><br><br> ---- ===={{font|size=4|color=#2a3439|1=Sub-group PC-H: Franks generated by Francotyp-Postalia software, with "FP" logo in the frank}}==== {{font/top|size=3|color=#0018A8}} * Francotyp-Postalia first entered the U.S. postage meter market in 2000. Only one stamp has been reported so far, and it is dated from 2019. Earlier dates are likely. {{font/end}} {{font|size=3|color=red|'' The status of this item has been questioned, more information or scans would be important to have, please reply to editor.''}} ---- <br> {{font/top|size=3|color=black}} [[File: USA meter stamp PC-H1.jpg|right|500px]] '''PC-H1. "Francotyp-Postalia" ''' (digital/thermal), 2019 but probably earlier. : The one stamp reported appears on alarge address label with the top (postage) section containing a PDF417 barcode. : Above the barcode are, at left: the value figures and date, at center: the FP logo, and at right: '''US POSTAGE''', Mailed From [5-digit ZIP code], and the identification number with 032A prefix. : '''ComBasPrice''' appears below the date on this stamp. : The stamp is in a frame with large mail class indicator at left and the class of mail spelled out below. : V/F: $ (00)0.000 {{font/end}} <br><br><br><br> ---- ===={{font|size=4|color=#2a3439|1=Sub-group PC-I: Franks generated by stamps/endicia}}==== ---- '''PC-I''' 2005. : With " '''PC-I4''' : All group "'''PC-I'''" '''stamps<sub>endicia</sub>''' logo replacing the stamps.com logo right of "PDF417(7)" barcode. : "US POSTAGE & FEES PAID" at top left above rate statement. : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> <br><br> '''PC-I1.'''. 2 lines at upper right, Meter number/zip code (Box B2). ::: {{space|10}} Stamp at top right of address label with large mail class indicator (of various sizes) or solid block to its left (Box B1) and the class of mail spelled out below (Box C). '''PC-I1.1.''' Prefix "'''026W'''" [[File: PC-I1.1 260706.png|right|450px]] {{font/top|size=2}} : ’’’Known usage’’’: {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS5 | '''F''' | '''I''' | 026W00048272786 | "'''FREES'''" | A1 | B1 | C3 | 04/11/2022 | 07036 | LINDEN, NJ | Box F: order info? |- | | | | | | | | | | | | |- | | | | | | | | | | | |} {{font/end}} <br><br> ::: '''PC-I1.2.''' Prefix "'''062S'''" {{font/top|size=2}} [[File: PC-C2.4.2A.png|right|450px]] {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS5 | '''1''' | '''XXXIV''' | 062S0000618312 | | A4 | B0 | C5 | 04/16/2019 | 92373 | INGLEWOOD CA | Box E: Blank, no tracking #, Framed |- | FS5 | '''1''' | '''XXXIV''' | 062S0000618312 | | A4 | B0 | C5 | 02/25/2020 | 92373 | INGLEWOOD CA | Box E: Blank, no tracking #, Framed |- | FS5 | '''1''' | '''XXXIV''' | 062S0000618312 | | A6 | | C5 | 01/02/2020 | 92373 | INGLEWOOD CA | Box E: Blank, no tracking #, Framed |- | FS5 | '''1''' | '''XXXIV''' | 062S0000618312 | | A6 | | C5 | 01/30/2020 | 92373 | INGLEWOOD CA | Box E: Blank, no tracking #, |- | FS5 | '''1''' | '''XXXIV''' | 062S0000618312 | | A4 | B0 | C5 | 05/19/2020 | 92324 | INGLEWOOD CA | Box E: Blank, no tracking #, Framed |- | FS5 | '''P''' | '''V''' | 062S0006097059 | | A5 | B7 | C4 | 10/05/2018 | 45177 | VALENCIA CA | Order info |- | FS5 | '''E''' | '''XXXV''' | 062S0006097059 | | A19 | B2 | C3 | 11/25/2019 | 45177 | VALENCIA CA | Order info |- | FS5 | '''F''' | III | 062S0009416802 | | A1 | B1 | C3 | 05/10/2022 | 14150 | Chesterfield MI | Order info, framed |} {{font/end}} <br><br> [[File: USA meter stamp PC-C2.5C.jpg|right|890px]] [[File: USA meter stamp PC-C2p5B.jpg|right|860px]] '''PC-I1.3 ''' 2014. : Similar to Type PC-C2.4 but the '''stamps<sub>endicia</sub>''' logo is above the right end of the "PDF417{8)" barcode. : Meter number with 062S prefix. : Manufacturer's logo is "'''stamps endicia'''". :: '''.1'''. With value figures: {{spaces|5}} $00'''.'''00 :: '''.2'''. With "US POSTAGE & FEES PAID" instead of value figures. <br><br><br> '''PC-I1.4''' ''2015.'' : Very similar to Type PC-C2.3B but "U.S. POSTAGE" is right of the value figures rather than below them. : Meter number with 062S prefix. : PDF417(7) barcode : Manufacturer's logo is '''stamps<sub>endicia</sub>''' logo[[File: PC-C2.6B.png|right|500px]] : V/F: {{space|4}} $(0)0'''.'''00 <br><br> '''PC-I1.5.''' 2020. : With barcode as with previous PC-C2 types but with the value figures and "US POSTAGE" at top above the date and "Mailed from ZIP" and ZIP code. : Below the bar code is the '''stamps<sub>endicia</sub>''' logo at left and the identification number at right. : The identification number prefix is uncertain as the stamp we have seen appears to suffer from a software glitch. (See the illustration.) : PDF417(4) barcode : V/F: {{space|4}} $0'''.'''00 :: '''1'''. Manufacturer's logo is '''stamps endicia''' large :: '''2'''. Manufacturer's logo is '''stamps endicia''' small [[File: USA meter stamp PC-C2.8.jpg|left|400px]] [[File: PC-C2.8B.png|right|400px]] <br><br><br> '''PC-I1.6.''' 2021. : Similar to PC-C2.8 but with a rate statement rather than value figures. : Above the "PDF417(7)" bar code: :- US POSTAGE AND FEES PAID :- date, Mailed from ZIP [code] :- weight and rate statement(s) : Below the bar code: '''stamps<sub>endicia</sub>''' logo at left and the identification number with 062S prefix at right :: '''1'''. Large '''stamps<sub>endicia</sub>''' logo, 062S with 7 digits :: '''2'''. Small '''stamps<sub>endicia</sub>''' logo, 062S with 10 digits, FS5 label [[File: USA meter stamp PC-C2.9.jpg|left|400px]] [[File: PC-C2.9B.png|right|400px]] <br><br> '''PC-I1.7.''' 2025. [[File: PC-C8 250601.png|right|360px]] : Similar to types "'''PC-C2.1, PC-C2.2'''" : Corporate logo as '''stamps<sub>endicia</sub>''' logo : Town line with town, state and ZIP code or with '''MAILED FROM''' and ZIP code. : Identification number with 062S prefix below right of 2D "PDF417(3)" barcode. : With "'''FIM'''" barcode at upper left : V/F: {{space|4}} $0'''.'''00 <br><br> {{font/top|size=2|color=black}} '''PC-I2.1'''. 3 lines at upper right, Meter number / customer ID number / zip code ('''Box B2'''). '''Box F''' blank or with Proprietary info. :::{{space|10}}Stamp at top right of address label with large mail class indicator (of various sizes) or solid block to its left (Box B1) and the class of mail spelled out below (Box C). ::: {{space|10}} PDF417(7) across bottom [[File:USA meter stamp PC-C2p4ccc.jpg|right|450px]] : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS5? | BLACK | '''VIII''' | 062S0001435225 | 11675116 | A7 | B1 | | 02/24/2023 | 91311 | CHATSWORTH, CA | BOX F: order info |- | FS5 | '''F''' | '''III''' | 062S00014423-- | 8014-- | A1 | B1 | C3 | 12/12/2022 | 84032 | HEBER CITY, UT | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S0001442380 | 9726250 | A1 | B1 | C3 | 12/15/2022 | 28674 | PINEHURST, NC | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S0001442584 | 7557381 | A1 | B1 | C3 | 12/21/2022 | 37211 | NASHVILLE, TN | |- | FS5 | '''F''' | '''III''' | 062S0001442597 | 7395525 | A1 | B1 | C3 | 01/10/2023 | 90058 | VERNON, CA | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S0001442618 | 7395525 | A1 | B1 | C3 | 01/10/2023 | 92618 | IRVINE, CA | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S0001442648 | 7535523 | A1 | B1 | C3 | 12/15/2022 | 54115 | DE PERE, WI | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S0001442652 | 7535523 | A1 | B1 | C3 | 12/16/2022 | 54115 | DE PERE, WI | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S0001442674 | 7460441 | A1 | B1 | C3 | 12/21/2022 | 63367 | LAKE SAINT LOUIS, MO | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S0001442685 | 9619750 | A1 | B1 | C3 | 01/11/2023 | 94931 | COTATI, CA | Box F= order info |- | FS5 | '''F''' | '''III''' | 062S000144269- | 7395525 | A1 | B1 | C3 | 01/11/2023 | 90058 | VERNON, CA | Box F= order info |- | FS5? | '''P''' | '''V''' | 062S0001443299 | 6080690 | A5 | B5 | C4 | 11/17/2022 | 32174 | ORMOND BEACH, FL | |- | FS5? | '''F''' | '''III''' | 062S0001484855 | 17633955 | A1 | B1 | C3 | 03/08/2023 | 68048 | PLATTSMOUTH, (NE) | PC malfunction? Missing Box B2 barcode and insignia |- | FS5 | '''F''' | '''III''' | 062S0008589402 | 7557381 | A1 | B1 | C3 | 09/19/2022 | 37211 | NASHVILLE, TN | |- | FS5? | '''F''' | '''I''' | 062S0009145384 | 8290678 | A1 | B3 | C1 | 02/05/2018 | 98338 | GRAHAM, WA | |- | FS5? | '''F''' | '''III''' | 062S0009146178 | 8239329 | A1 | B1 | C3 | 09/21/2022 | 60543 | OSWEGO, IL | Box F order info |- | FS5 | '''Black''' | '''VIII''' | 062S0009180090 | 7054113 | A7 | B3 | C0 | 08/16/2018 | 19007 | BRISTOL, PA | |- | FS5 | '''F''' | '''III''' | 062S0009418949 | 7523319 | A1 | B2 | C3 | 09/22/2020 | 30518 | Buford, GA | Box F order info |- | FS5? | '''F''' | '''I''' | 062S0009564660 | 7778491 | A1 | B3 | C3 | 10/22/2018 | 91304 | CANOGA PARK, CA | BOX F with Business Info |- | FS5? | '''F''' | '''XXXIV''' | 062S0009564837 | 9850040 | A2 | B1 | C3 | 01/23/2020 | 91356 | TARZANA, CA | 85 x 140 mm |- | FS5 | '''P''' | '''V''' | 062S0009564879 | 7733098 | A20 | B6 | C3 | 10/17/2022 | 33619 | TAMPA, FL | |- | FS5? | '''1''' | '''I''' | 062S0009565018 | 10860336 | A4 | B0 | C5 | 04/06/2020 | 33458 | JUPITER, FL | |- | FS5 | '''P''' | '''V''' | 062S0010887747 | 8128979 | A3 | B1 | C4 | 06/13/2022 | 33167 | MIAMI, FL | BOX F with Prop Info |- | FS5 | '''F''' | '''II''' | 062S0010937521 | 10709064 | A1 | B1 | C3 | 02/08/2021 | 92648 | HUNTINGTON BEACH, CA | BOX F with Order Info |- | FS5 | '''X''' | '''II''' | 062S0010984631 | 10354575 | A8 | B2 | C3 | 04/27/2020 | 11791 | SYOSSET, FL (ERROR FOR NY) | BOX F ORDER Info |- | FS5 | '''F''' | '''III''' | 062S0011128915 | 8051382 | A2 | B1 | C3 | 10/19/2020 | 53715 | MADISON, WI | |- | FS5 | '''F''' | '''III''' | 062S0011129014 | 8051382 | A2 | B1 | C3 | 09/30/2020 | 53715 | MADISON, WI | |- | FS5 | '''F''' | '''XXXIV''' | 062S0011268712 | 6822160 | A1 | B2 | C3 | 04/24/2020 | 99224 | Spokane, WA | |- | FS5? | '''P''' | '''IV''' | 062S0011682632 | 10232544 | A3 | B1 | C4 | 02/08/2021 | 31558 | SAINT MARYS, GA | |- | FS4? | '''P''' | '''IV''' | 062S0011682632 | 10232544 | A3 | B1 | C4 | 09/29/2022 | 31558 | SAINT MARYS, GA | |- | FS5 | '''F''' | '''XXXIV''' | 062S0011692018 | 9897390 | A1 | B1 | C3 | 01/30/2020 | 55358 | Maple Lake, MN | order info in Box F |- | FS5 | '''F''' | '''III''' | 062S0011692109 | 9897299 | A1 | B1 | C3 | 09/19/2022 | 30101 | ACWORTH, GA | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0012584392 | 5455555 | A1 | B1 | C3 | 10/27/2020 | 33458 | JUPITER, FL | |- | FS5 | '''F''' | '''III''' | 062S0012584433 | 16035441 | A1 | B1 | C3 | 09/19/2022 | 84096 | HERRIMAN, UT | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0012584494 | 6916215 | A1 | B1 | C3 | 09/21/2022 | 85298 | GILBERT, AZ | |- | FS5 | '''P''' | '''V''' | 062S0012584517 | 17771454 | A5 | B5 | C4 | 08/22/2022 | 32401 | PANAMA CITY, FL | |- | FS5 | '''F''' | '''III''' | 062S0012584551 | 7778491 | A1 | B1 | C3 | 06/12/2020 | 91311 | CHATSWORTH, CA | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0012584560 | 17663543 | A1 | B1 | C3 | 09/21/2022 | 27525 | FUQUAY VARINA, NC | Please Do Not Bend |- | FS5 | '''F''' | '''III''' | 062S0012584561 | 8072505 | A1 | B1 | C3 | 06/28/2022 | 06475 | OLD SAYBROOK, CT | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0013352599 | 10538570 | A1 | B1 | C4 | 09/21/2022 | 45249 | CINCINNATI, OH | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0013352605 | 8072505 | A1 | B2 | C3 | 06/28/2022 | 06475 | OLD SAYBROOK, CT | BOX F with Order Info |- | FS5 | BLACK FILL | '''VIII''' | 062S0014949809 | 7542988 | A7 | B1 | | 03/25/2024 | 80116 | FRANKTOWN, CO | |- | FS5 | '''F''' | '''III''' | 062S0014950040 | 10137355 | A1 | B1 | C3 | 11/16/2022 | 38474 | MOUNT PLEASANT, TN | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0014950074 | 8014787 | A1 | B1 | C3 | 12/15/2022 | 84032 | HEBER CITY, UT | Box F:Thank You For Your Order |- | FS5 | '''P''' | '''V''' | 062S0014950080 | 8014787 | A5 | B4 | C4 | 12/12/2022 | 84032 | HEBER CITY, UT | BOX F "Thank you for your order!" |- | FS5 | '''P''' | '''V''' | 062S0014950085 | 9765391 | A5 | B5 | C4 | 11/11/2022 | 84606 | SPRINGVILLE, UT | BOX F with order Info |- | FS5 | '''F''' | '''III''' | 062S0014950089 | 9716903 | A1 | B1 | C3 | 11/02/2022 | 83442 | AMMON, ID | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0014950092 | 9728837 | A1 | B1 | C3 | 11/10/2022 | 84026 | FORT DUCHESNE, UT | BOX F with Order Info |- | FS5 | '''F''' | '''III''' | 062S0014950241 | 8570771 | A1 | B1 | C3 | 11/19/2022 | 84062 | PLEASANT GROVE, UT | |- | FS5 | '''F''' | '''III''' | 062S0014950278 | 17957223 | A1 | B1 | C3 | 01/03/2023 | 78245 | SAN ANTONIO, TX | |- | FS5? | '''G''' | '''VI''' | 062S0014950365 | 580628? | A6 | B2 | C3 | 09/13/2023 | 75041 | | |- | FS5 | '''F''' | '''III''' | 062S0014950507 | 6080690 | A2 | B1 | C3 | 11/17/2022 | 32174 | ORMOND BEACH, FL | |- | FS5 | '''F''' | '''III''' | 062S0014950544 | 10875452 | A2 | B1 | C3 | 03/14/2023 | 19317 | CHADDS FORD, PA | |} {{font/end}} {{font/top|size=2|color=black}} :: '''PC-I2.2'''. ''2023'' ::: {{space|10}} 3 lines at upper right, Meter number / customer ID number / zip code ('''Box B2'''). ::: {{space|10}} Stamp at top right of address label with large mail class indicator (of various sizes) or solid block to its left (Box B1) and the class of mail spelled out below (Box C). ::: {{space|10}} Large mail class indicator font is "'''Arial Nova Bold'''" ::: {{space|10}} PDF417(8) across bottom : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> [[File: PC-C2.4.2C.0 250331.png|right|450px]] {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS5 | '''P''' | '''VI''' | 062S0001442545 | 7537397 | A3 | B1 | C7 | 01/22/2024 | 48212 | HAMTRAMCK, MI | Box F: Order info. |- | FS5 | '''F''' | '''III''' | 062S0001443325 | 11683909 | A2 | B2 | C3 | 06/28/2023 | 46323 | HAMMOND, IN | |- | FS5 | '''G''' | '''VI''' | 062S0014950062 | 9717116 | A9 | B2 | C3 | 03/16/2024 | 98467 | UNIVERSITY PL, WA | Box F: Order Info |- | FS5 | '''G''' | '''VI''' | 062S0014950187 | 4998344 | A9 | B2 | C3 | 02/27/2024 | 91761 | ONTARIO, CA | Box F: Order Info |- | FS5 | '''G''' | '''VI''' | 062S0014950544 | 19750766 | A9 | B2 | C7 | 08/22/2024 | 93105 | SANTA BARBARA, CA | Green band at top and a portion of left |- | FS5? | '''G''' | '''VI''' | 062S0014950560 | 17195820 | A9 | B2 | C3 | 10/12/2023 | 85013 | PHOENIX, AZ | |- | FS5 | '''G''' | '''VI''' | ? | 6636835 | A14 | B6 | C7 | 05/01/2024 | 43228 | COLUMBUS, OH | Box F: Order Info |} {{font/end}} <br><br><br> {{font/top|size=2|color=black}} :: '''PC-I2.3'''. ''2024''[[File: PC-C2.4.2C.png|right|450px]] ::: {{space|10}} 3 lines at upper right, Meter number / customer ID number / zip code ('''Box B2'''). ::: {{space|10}} Stamp at top right of address label with large mail class indicator (of various sizes) or solid block to its left (Box B1) and the class of mail spelled out below (Box C). ::: {{space|10}} Large mail class indicator font is "'''New Helvetica Bold'''" ::: {{space|10}} PDF417(8) across bottom : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS5 | '''G''' | '''VI''' | 062S0001443239 | 6928035 | A9 | B2 | C3 | 01/22/2024 | 91733 | EL MONTE, CA | Box F: Order info. |} {{font/end}} <br><br><br> '''PC-I3''' : All group "'''PC-I'''" with "'''IBI-Lite'''" barcode [[File: USA meter stamp PC-C3.2C label.jpeg|right|380px]] '''PC-I3.1.'''. '''stamps<sub>endicia</sub>''' logo, identification number with '''062S''' prefix. :: '''1'''. Identification number omitted (possible printer misalignment) :: '''2'''. Numeric month in date, as: {{space|4}} 00/00/2018 :: '''3'''. With "FIM" barcode to left <br><br><br> [[File:USA meter stamp PC-C3.4 actual.jpg|right|370px]] '''PC-I3.2.''' 2021. : As Type PC-C3.3 but with '''stamps<sub>endicia</sub>''' logo at right. : Identification number with 062S prefix. : V/F: {{space|4}} $0'''.'''00<u>o</u> '''NOTE''': Seen on plain white self-adhesive labels with rounded corners. <br><br><br> '''PC-I4''' : All group "'''PC-I'''" with DataMatrix 2-D barcode '''PC-I4.1.''' 2020. [[File:USA meter stamp PC-C4.3.jpg|right|390px]] : '''stamps<sub>endicia</sub>''' logo reads down at right of the 2D barcode, and the ID number is below the barcode. : Meter Identification number with 062S prefix. : Value figures and "US POSTAGE", mail class, date, "Mailed from ZIP" and code. V/F: {{space|4}} $0'''.'''00 : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> <br><br><br> [[File: USA meter stamp PC-C4.1E.jpg|right|800px]] '''PC-I4.2.'''. As '''PC-C4.1.1.''', with new company logo, '''stamps<sub>endicia</sub>''' logo <br><br><br> [[File: PC-I4.3 260709.png|right|400px]] '''PC-I4.3 ''' 2023. : DataMatrix 2-D barcode at right : '''stamps<sub>endicia</sub>''' logo is to the right of the "DataMatrix(4)" barcode. : "FIM" barcode at top left : Meter number with 062S prefix. <br><br><br><br> '''PC-I4.4.'''. As '''PC-C5.2.''', with '''stamps<sub>endicia</sub>''' logo [[File: PC-C5.3.png|right|540px]] <br><br> <br><br><br><br><br><br><br><br><br><br> '''PC-I4.4.3.'''. As'''PC-I4.4.1.''', Without value figures. "US POSTAGE & FEES PAID" at top : '''stamps<sub>endicia</sub>''' logo reads down at right of the 2D barcode, and the ID number is below the barcode. : Meter Identification number with 062S or 071S prefix. : Small Mail Class letter, shorter than the barcode.[[File:PC-C4.3B2.png|right|450px]] : Prefix "'''071'''" {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS5 | '''F''' | '''XI''' | 071S00894672 | | A10 | | C6 | Apr 15 2022 | 90021 | (RIALTO CA) | |- | FS5 | '''F''' | '''XI''' | 071S00894672 | | A10 | | C6 | Feb 09 2023 | 90021 | (NEWARK NJ) | |} {{font/end}} <br><br><br><br> '''PC-I4.4.4.'''. As'''PC-I4.4.3.''', Without value figures. "US POSTAGE & FEES PAID" at top : '''stamps<sub>endicia</sub>''' logo reads down at right of the 2D barcode, and the ID number is below the barcode. : Meter Identification number with 062S or 071S prefix. : Large Mail Class letter, taller than the barcode.[[File:USA meter stamp PC-C4.3B.jpg|right|450px]] : Prefix "'''071S'''" <br><br><br><br> '''PC-I4.5.1.''' 2020. [[File:USA meter stamp PC-C4.3.jpg|right|390px]] : '''stamps<sub>endicia</sub>''' logo reads down at right of the 2D barcode, and the ID number is below the barcode. : Meter Identification number with 062S prefix. : Value figures and "US POSTAGE", mail class, date, "Mailed from ZIP" and code. V/F: {{space|4}} $0'''.'''00 : <u>''' [[/Mail class and other descriptive types/|Click here for type description]]'''</u> <br><br><br> {{font/top|size=2|color=black}} '''PC-I4.5.2.'''. As'''PC-I4.4.1.''', Without value figures. "US POSTAGE & FEES PAID" at top : '''stamps<sub>endicia</sub>''' logo reads down at right of the 2D barcode, and the ID number is below the barcode. : Meter Identification number with 062S or 071S prefix. : Small Mail Class letter, shorter than the barcode.[[File:PC-C4.3B2.png|right|450px]] : Prefix "'''062S'''" {| class="wikitable" |- ! Form size ! Box B1 Type ! Box C Type ! <u>Meter no's</u> ! Customer ID ! Line A type ! Line B type ! Line C type ! Date ! Zip ! City ! Notes |- | FS4 | '''G''' | '''XXIX''' | 062S0001442198 | 11613058 | A14 | B2 | C7 | Jul 05 2024 | 54914 | APPLETON, WI | |- | FS4 | '''G''' | '''XXIX''' | 062S0001442222 | 11613058 | A14 | B2 | C7 | Jun 07 2024 | 54914 | APPLETON, WI | |- | FS4 | BLACK | '''VIII''' | 062S0009761530 | 13928181 | A7 | B1 | | Feb 02 2023 | 48375 | NOVI, MI | |- | FS4 | '''F''' | '''X''' | 062S0010968105 | 12429570 | A10 | | C6 | Sep 20 2022 | 32207 | JACKSONVILLE, FL | |- | FS4 | '''F''' | '''XI''' | 062S0012584411 | 17222940 | A10 | | C6 | Aug 22 2022 | 33634 | TAMPA FL | |- | FS4 | '''F''' | '''XI''' | 062S0013352605 | 17222940 | A10 | | C6 | Aug 22 2022 | 33634 | TAMPA FL | |- | FS4 | '''F''' | '''XI''' | 062S0014950307 | 17222940 | A1 | B2 | C6 | Nov 10 2022 | 33634 | TAMPA FL | |- | FS4 | '''G''' | '''XXIX''' | 062S0014949919 | 11613058 | A14 | B2 | C7 | Sep 04 2024 | 54914 | APPLETON, WI | |- | FS4 | '''F''' | '''XI''' | 062S0014950343 | 11746372 | A1 | B2 | C6 | Mar 06 2023 | 11716 | BOHEMIA NY | |} {{font/end}} <br><br><br><br> ===={{font|size=4|color=#2a3439|Franks with "E-postage" or variant in the frank}}==== ---- <br> {{font/top|size=3}} * Shipping labels with '''E-Postage''', '''ePostage''', '''ePOSTAGE''' and other variants in the frank were first reported in 2011. They are used by online commerce companies with business volumes large enough to justify special arrangements with shippers such as USPS, FedX, and UPS. * E-Postage is a program developed by USPS to accommodate the growth of ecommerce. Online merchants such as Amazon and Etsy use ePostage. In 2016 new company Shippo began operation as a shipping aggregator offering ePostage to any business. * The stamps appear to be more like "post paid" permit stamps rather than metered mail but are shown here until we determine their exact nature. [[File: USA stamp type PC-F2.jpg|right|500px]] [[File: USA stamp type PC-F14.jpg|right|500px]] [[File: USA stamp type PC-F1bb.jpeg|right|300px]] * The stamps are found only on address labels with the top section having an enclosed mail-service letter at left and a frank box at right above a panel containing the mail class. : The central section contains the return address, date, and addressee. : The stamps show no value figures or identification number. : The labels do include a tracking bar code and number. : So far they have been found in two general formats: :: '''-''' With single-line border surrounding the complete design, printed on label 135 mm tall :: '''-''' With no outer border, printed on smaller label, 115 mm tall * Known variations: :: '''-''' Mail class appears in the frank box :: '''-''' Incomplete box around mail-service letter at upper left :: '''-''' Mailer's name repeated at top outside the frank box :: '''-''' "ComBasPrice" appearing left of the frank box '''NOTES''': * Merchants have some control over the appearance of the stamp. The e-Postage designation is found in different fonts. The frank box is found in a variety of sizes with contents left justified or centered. * When inaugurated in September 2011 only certain mail services were available through e-Postage system: Express Mail, Priority Mail, First-Class Mail parcels, Package Services (except Library Mail), and Parcel Select bar-coded non-presort. * What is common to all e-Postage stamps is that the frank box contains e-Postage (or variant), U.S. POSTAGE PAID (or variant), and the mailer's identification. {{font/end}} ----{{BookCat}} ray1jy9z083gj7o3quhn0dhc38dptef Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3 0 406585 4656830 3539100 2026-08-09T19:32:29Z JCrue 2226064 4656830 wikitext text/x-wiki {{Chess Opening Theory/Position |Modern variation |eco=[[Chess/ECOB|B34]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] }} == 5. Nc3 · Modern variation == Avoiding 5. c4, White develops their knight to its natural square. This is slightly less common than 5. c4. [[/5...Bg7|'''5...Bg7''']] is essentially the only move and the line continues 6. Be3 Nf6. There White has some choice but almost always picks 7. Bc4 to controls d5, where White intends to castle long and attack on the king's side. Less common sidelines include 7. Be2 and O-O, or 7. Nxc6 intending 8. e5, or 7. f3?!, which is an error. ==Theory table== '''1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4. Nxd4 g6 5. Nc3''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">5</th> <th align="left">6</th> <th align="left">7</th> </tr> <tr> <th align="right"></th> <td>...<br>[[/5...Bg7|Bg7]]</td> <td>Be3<br>Nf6</td> <td>Bc4<br>O-O</td> <td>=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} afxs4x2t9erkm4q8c1fqbl9h01o28yn Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3/5...Bg7/6. Be3/6...Nf6 0 406589 4656804 4002052 2026-08-09T12:23:05Z JCrue 2226064 4656804 wikitext text/x-wiki {{Chess Opening Theory/Position |Modern variation |eco=[[Chess/ECOB|B34]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3|Modern variation]] → [[../|6. Be3]] }} ==6...Nf6== Black develops their knight to its natural square where it controls the centre, and prepares to castle. [[/7. f3|'''7. f3?!''']] is the most common move in amateur games, but it is inaccurate. White thinks to play in the manner of the [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...g6/6. Be3/6...Bg7/7. f3|Yugoslav attack]], where f3 is necessary to defend e4 and control g4, preventing ...Ng4 and freeing the queen to move to d2. However, in this line, after 7...O-O 8. Qd2, Black has 8...d5!. Compared to the regular dragon, Black saved a tempo by skipping ...d6 and so played ...d5 one turn earlier, before White has had the chance to long castle. White doesn't have the time to deliver their crushing kingside attack and Black has achieved equality. The '''modern line''' is [[/7. Bc4|'''7. Bc4''']]. By increasing control of d5, White takes the sting out of ...d5 so that they can continue the plan of opposite side castling. It is still possible for White to err in move order here: 7...O-O 8. f3?! is a common inaccuracy on account of 8...Qb6, a double attack on b2 and d4 which threatens the sacrifice ...Nxe4. 8. Be3 must be included to protect b2. [[/7. Be2|'''7. Be2''']], intending 7...O-O 8. O-O, is an alternative. The line continues 8...d5 9. exd5 Nxd5 10. Nxd5 Qxd5 11. Bf3. == Theory table == '''1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4. Nxd4 g6 5. Nc3 Bg7 6. Be3 Nf6''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">7</th> </tr> <tr> <th align="right"></th> <td>[[/7.Bc4|Bc4]]<br>O-O</td> <td>=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} ixd0mxz4w4c1lxxn76a09870woq1guw 4656829 4656804 2026-08-09T19:27:51Z JCrue 2226064 Nxc6 sideline 4656829 wikitext text/x-wiki {{Chess Opening Theory/Position |Modern variation |eco=[[Chess/ECOB|B34]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3|Modern variation]] → [[../|6. Be3]] }} ==6...Nf6== Black develops their knight to its natural square where it controls the centre, and prepares to castle. [[/7. f3|'''7. f3?!''']] is the most common move in amateur games, but it is inaccurate. White thinks to play in the manner of the [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...g6/6. Be3/6...Bg7/7. f3|Yugoslav attack]], where f3 is necessary to defend e4 and control g4, preventing ...Ng4 and freeing the queen to move to d2. However, in this line, after 7...O-O 8. Qd2, Black has 8...d5!. Compared to the regular dragon, Black saved a tempo by skipping ...d6 and so played ...d5 one turn earlier, before White has had the chance to long castle. White doesn't have the time to deliver their crushing kingside attack and Black has achieved equality. The '''modern line''' is [[/7. Bc4|'''7. Bc4''']]. By increasing control of d5, White takes the sting out of ...d5 so that they can continue the plan of opposite side castling. It is still possible for White to err in move order here: 7...O-O 8. f3?! is a common inaccuracy on account of 8...Qb6, a double attack on b2 and d4 which threatens the sacrifice ...Nxe4. 8. Be3 must be included to protect b2. [[/7. Be2|'''7. Be2''']], intending 7...O-O 8. O-O, is an alternative. The line continues 8...d5 9. exd5 Nxd5 10. Nxd5 Qxd5 11. Bf3. [[/7. Nxc6|'''7. Nxc6''']] is another minor side line. This differs from the exchange variation ([[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nxc6|5. Nxc6]]) in that White intends 7...bxc6 8. e5, attacking Black's other knight. == Theory table == '''1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4. Nxd4 g6 5. Nc3 Bg7 6. Be3 Nf6''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">7</th> </tr> <tr> <th align="right"></th> <td>[[/7.Bc4|Bc4]]<br>O-O</td> <td>=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} n9ncyhn1drqhrugdla7wbklane5b48p Entrepreneurial Learning 0 414534 4656969 4644953 2026-08-10T08:13:46Z ShakespeareFan00 46022 4656969 wikitext text/x-wiki __NOTOC__ ---- <div style="-webkit-border-radius: 0% 0% 100% 100% / 0% 0% 8px 8px; -webkit-box-shadow: rgba(0, 0, 0,.30) 0 2px 3px;"><div style=" margin: 0 auto; margin-top: 50px; margin-left:auto; margin-right:auto; height: auto; background: #F2F2F2; border: 1px solid #ccc; box-shadow: 1px 1px 2px #fff inset, -1px -1px 2px #fff inset; border-radius: 3px/6px;text-align:center;"> <div style="position: relative; margin-top: 10px; margin-bottom: 10px; height: 30px; width: 30px; overflow: hidden;"> <div style="position: absolute; top: 0; left: 0; z-index: 2;">[[File:Messagebox info.svg|30px|link=Entrepreneurial Learning/Information]] </div> </div> '''[[w:Entrepreneurial Education|Entrepreneurial learning]] refers to a way of developing competencies that matches the talents and passions of an "entrepreneurial student".<br />The ultimate goal is that the student adds social value by starting a business himself.'''<br /><br /></div></div> <br /> <div style="text-align: center;">''This book is intended to give all children and young people the opportunity to get acquainted with and further develop through entrepreneurial learning. Entrepreneurial learning supports enterprising children to stay close to themselves and from there develop into happy successful entrepreneurial people. Because children learn to stay close to themselves from an early age, learn to be faithful to themselves and the other, they will experience fewer dropouts during their careers, and a greater chance of happiness during their lives, now and in the longer term. It was deliberately chosen not to write a book about starting a separate entrepreneurial school, but to give advice on how to set up entrepreneurial education within existing schools to serve entrepreneurial children.''</div> <br /> ---- <br /> {| style=" margin:0 auto; text-align: center; zoom: 1;" |- | style= "font: 13px 'Lucida Sans', 'trebuchet MS', Arial, Helvetica; background: #fff; border: 2px solid #ddd; color: #333; padding: 20px; width: 180px; float: left; _display: inline; position: relative; margin: 0 5px; -moz-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); -webkit-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); " | <div style= " position: relative; font-size: 20px; font-weight: normal; text-transform: uppercase; padding: 40px; margin: -20px -20px 20px -20px; border-bottom: 8px solid; background-color: #eee; background-image: -moz-linear-gradient(#fff,#eee); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); background-image: -webkit-linear-gradient(#fff, #eee); background-image: -o-linear-gradient(#fff, #eee); background-image: -ms-linear-gradient(#fff, #eee); background-image: linear-gradient(#fff, #eee); border-bottom-color: #0B0080; "> Motive </div> <div style= " font-size: 13px; margin-bottom: 20px; text-transform: uppercase; color: #999; "> Chapter </div> <div style= " font-size: 45px; "> 1 </div> <ul style= " margin: 20px 0; padding: 0; list-style: none; "> <li style= " padding: 10px 0; "> <b>1.</b> Politics </li> <li style= " padding: 10px 0; "> <b>2.</b> Education </li> <li style= " padding: 10px 0; "> <b>3.</b> Parents </li> </ul> <div style= " position: relative; padding: 10px 20px; color: #fff; font: bold 14px Arial, Helvetica; text-transform: uppercase; text-decoration: none; display: inline-block; background-color: #e7e5ff; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; text-shadow: 0 -1px 0 rgba(0,0,0,.15); opacity: .9; "> [[Entrepreneurial Learning/Motive|Read]] </div> | style= "font: 13px 'Lucida Sans', 'trebuchet MS', Arial, Helvetica; background: #fff; border: 2px solid #ddd; color: #333;padding: 20px; width: 180px; float: left; _display: inline; position: relative; margin: 0 5px; -moz-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); -webkit-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); box-shadow: 0 2px 2px -1px rgba(0,0,0,.3);"| <div style= " position: relative; font-size: 20px; font-weight: normal; text-transform: uppercase; padding: 40px; margin: -20px -20px 20px -20px; border-bottom: 8px solid; background-color: #eee; background-image: -moz-linear-gradient(#fff,#eee); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); background-image: -webkit-linear-gradient(#fff, #eee); background-image: -o-linear-gradient(#fff, #eee); background-image: -ms-linear-gradient(#fff, #eee); background-image: linear-gradient(#fff, #eee); border-bottom-color: #040034; "> Audience </div> <div style= " font-size: 13px; margin-bottom: 20px; text-transform: uppercase; color: #999; "> Chapter </div> <div style= " font-size: 45px; "> 2 </div> <ul style= " margin: 20px 0; padding: 0; list-style: none; "> <li style= " padding: 10px 0; "> <b>1.</b> Student </li> <li style= " padding: 10px 0; "> <b>2.</b> Teacher </li> <li style= " padding: 10px 0; "> <b>3.</b> School </li> </ul> <div style= " position: relative; padding: 10px 20px; color: #fff; font: bold 14px Arial, Helvetica; text-transform: uppercase; text-decoration: none; display: inline-block; background-color: #e7e5ff; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; text-shadow: 0 -1px 0 rgba(0,0,0,.15); opacity: .9; "> [[Entrepreneurial Learning/Audience|Read]] </div> | style= "font: 13px 'Lucida Sans', 'trebuchet MS', Arial, Helvetica; background: #fff; border: 2px solid #ddd; color: #333; padding: 20px; width: 180px; float: left; _display: inline; position: relative; margin: 0 5px; -moz-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); -webkit-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); box-shadow: 0 2px 2px -1px rgba(0,0,0,.3);" | <div style=" position: relative; font-size: 20px; font-weight: normal; text-transform: uppercase; padding: 40px; margin: -20px -20px 20px -20px; border-bottom: 8px solid; background-color: #eee; background-image: -moz-linear-gradient(#fff,#eee); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); background-image: -webkit-linear-gradient(#fff, #eee); background-image: -o-linear-gradient(#fff, #eee); background-image: -ms-linear-gradient(#fff, #eee); background-image: linear-gradient(#fff, #eee); border-bottom-color: #0B0080;">Method</div> <div style= " font-size: 13px; margin-bottom: 20px; text-transform: uppercase; color: #999; "> Chapter </div> <div style= " font-size: 45px; "> 3 </div> <ul style= " margin: 20px 0; padding: 0; list-style: none; "> <li style= " padding: 10px 0; "> <b>1.</b> Ownership </li> <li style= " padding: 10px 0; "> <b>2.</b> Entrepreneurship </li> <li style= " padding: 10px 0; "> <b>3.</b> Freedom </li> </ul> <div style= " position: relative; padding: 10px 20px; color: #fff; font: bold 14px Arial, Helvetica; text-transform: uppercase; text-decoration: none; display: inline-block; background-color: #e7e5ff; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; text-shadow: 0 -1px 0 rgba(0,0,0,.15); opacity: .9; "> [[Entrepreneurial Learning/Method|Read]] </div> | style= "font: 13px 'Lucida Sans', 'trebuchet MS', Arial, Helvetica; background: #fff; border: 2px solid #ddd; color: #333; padding: 20px; width: 180px; float: left; _display: inline; position: relative; margin: 0 5px; -moz-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); -webkit-box-shadow: 0 2px 2px -1px rgba(0,0,0,.3); box-shadow: 0 2px 2px -1px rgba(0,0,0,.3);"|<div style= "position: relative;font-size: 20px; font-weight: normal; text-transform: uppercase; padding: 40px 40px 40px 20px; margin: -20px -20px 20px -20px; border-bottom: 8px solid; background-color: #eee; background-image: -moz-linear-gradient(#fff,#eee); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); background-image: -webkit-linear-gradient(#fff, #eee); background-image: -o-linear-gradient(#fff, #eee); background-image: -ms-linear-gradient(#fff, #eee); background-image: linear-gradient(#fff, #eee); border-bottom-color: #040034;">Implementation</div> <div style= " font-size: 13px; margin-bottom: 20px; text-transform: uppercase; color: #999; "> Chapter </div> <div style= " font-size: 45px; "> 4 </div> <ul style= " margin: 20px 0; padding: 0; list-style: none; "> <li style= " padding: 10px 0; "> <b>1.</b> Variations </li> <li style= " padding: 10px 0; "> <b>2.</b> Phasing </li> <li style= " padding: 10px 0; "> <b>3.</b> Certification </li> </ul> <div style= " position: relative; padding: 10px 20px; color: #fff; font: bold 14px Arial, Helvetica; text-transform: uppercase; text-decoration: none; display: inline-block; background-color: #e7e5ff; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; text-shadow: 0 -1px 0 rgba(0,0,0,.15); opacity: .9; "> [[Entrepreneurial Learning/Implementation|Read]] </div> |} {{BookCat}} {{shelves|Education}} {{subject|Business|Economics}} {{alphabetical|E}} {{status|0%}} ddobgcs78vbzhfnd70qesbenasyh2y2 Sustainability and Sense of Place in the Sonoran Desert/Baja Peninsula & Sea of Cortez 0 415564 4656850 4650318 2026-08-09T22:07:38Z ShakespeareFan00 46022 4656850 wikitext text/x-wiki <div style="text-align: center;"><span style="font-size: x-large;">A Sense of the Sonoran Desert: Baja Peninsula & Sea of Cortez </span></div> == Introduction == [[File:Scenery at Cerritos - Near Todos Santos - Baja California Sur - Mexico - 01 (23748859496).jpg|alt=Scenery at Cerritos - Baja California Sur|400px|Scenery at Cerritos Near Todos Santos Baja California Sur - Mexico]][[File:Mexico Baja California Sur location map.svg|400px| Image: Baja California Sur location map]] Members *Henry Merrill *Blanca Soto 7 *Vianna Trigueros *Martha Chacon Martin The Baja California Peninsula has always been a mysterious and exotic land full of wonder. Filled with cave paintings, stories of lost tribes, exotic flora and fauna, and more, the region still to this day holds much of the mystique it likely did for Spanish explorers landing in 1534. <ref name="North"> North, Arthur W. "The Native Tribes of Lower California." American Anthropologist 10.2 (1908): 236-50. Web. 14 May 2020. </ref> As notable anthropologist and explorer Arthur W. North remarked: <blockquote> "Baja California, until half a dozen years ago, possessed the doubtful honor to be almost the least known territory in the world, with the exception of the polar regions and some few deserts and inland places, difficult and dangerous of access." Thus a noted geographer characterized the California peninsula in 1897, and thus I found it a few years later upon undertaking the compilation of its history and the exploration of its interior fastness. <ref name="North" /> </blockquote> North continued this exploration and documentation of the great peninsula, as have many others. However, he nor the Spanish, were among the first people to explore this great land. Shell middens found near Espíritu Santo Island indicate that human beings existed there as long as 35,000 B.P. <ref name="Fujita"> Fujita, Harumi. "Prehistoric Occupation of Espíritu Santo Island, Baja California Sur, Mexico: Update and Synthesis." Journal of California and Great Basin Anthropology 30.1 (2010): 17-33. Web. 14 May 2020.> </ref> While our book focuses primarily on concepts and connections of the natural world, we would be remiss if we didn’t briefly discuss the indigenous populations of these regions. Not only because of their integral contributions to regional culture and history, but perhaps because by remembering and studying their lifestyles and connection to nature we may begin to further identify and understand the shortcomings of our current relationship with the ecological world. Three main tribes occupied the peninsula when the Spanish first arrived, the Cochimí, Guaycura, and Pericú. These great tribes lived sustainably off the land, often relying on the exploitation of seasonal bounties. <ref name="Harvard"> Beer, N., S. Gonzalez, D. Huddart, A. Rosales-Lopez, and A. Lamb. "The Palaeodiet of the Pericue Indians of the Cape Region of Baja California Sur, Mexico." AGU Spring Meeting Abstracts 2007 (2008): n. pag. SAO/NASA Astrophysics Data System, 2008. Web.</ref> <ref> "Cochimí." Wikipedia. Wikimedia Foundation, 10 May 2020. Web. </ref> <ref> "Guaycura People." Wikipedia. Wikimedia Foundation, 09 May 2020. Web. </ref> Data reveals significant cultural homogeneity between the Cochimí and Guaycura, while the Pericú remain a mysterious and isolated lost culture. <ref> Macfarlan, Shane J., and Celeste N. Henrickson. "Inferring Relationships Between Indigenous Baja California Sur and Seri/Comcáac Populations Through Cultural Traits." Journal of California and Great Basin Anthropology 30.1 (2010): 51-67. Web. 14 May 2020. </ref> The origins of the once-great Pericú remain a mystery to anthropologists. Much is still to be learned about these people whose dolichocranic traits have resulted in theorizing that they may have been an isolated relic population of an early coastal migration to North America. <ref name="Harvard" /> What is known about the Pericú and the other groups is that when the greatest threat they had ever faced arrived in the form of Europeans, they did not unite and continued infighting, with the Pericú going as far as to enlist early explorers in attacks against the Guaycura, who may have been encroaching into their territory. Today the Sonoran Desert and Baja California face new threats. The very caves that yielded information about these tribes are currently threatened by tourist development. <ref name="Harvard" /> Throughout our portion of this book you will find highlighted some of the most amazing and important features of the Baja region of the Sonoran Desert. This section is brought to you with the hopes of giving the reader the opportunity to explore this great desert and peninsula in a fresh way, with the original sense of adventure, but with an eye for sustainability and with a ''sense of place''. By doing this we hope we can be a small part of uniting people to help make sure both the Sonoran and our planet overcome the threats they now face. We hope you enjoy. == Biodiversity == ===Baja California Pronghorn=== [[File:Peninsular pronghorn FWS 13059 (cropped).jpg|400px|Image: 400 pixels]] The Baja California pronghorn (''Antilocapra americana peninsularis'') is a subspecies of pronghorn endemic to the Baja California Peninsula. The pronghorn is a critically endangered subspecies with only an estimated 200 animals remaining in the wild.<ref name="IUCN">IUCN SSC Antelope Specialist Group. 2016. Antilocapra americana (errata version published in 2017). The IUCN Red List of Threatened Species 2016: e.T1677A115056938. https://dx.doi.org/10.2305/IUCN.UK.2016-3.RLTS.T1677A50181848.en. Downloaded on 05 May 2020.</ref> These animals were once found in great abundance at least as far south as Cuidad Insurgentes, BCS.<ref>Brown, David & Cancino, Jorge & Clark, Kevin & Smith, Myrna & Yoakum, Jim. (2009). An Annotated Bibliography of References to Historical Distributions of Pronghorn in Southern and Baja California. Bulletin, Southern California Academy of Sciences. 105. 1-16. 10.3160/0038-3872(2006)105[1:AABORT]2.0.CO;2.</ref> These iconic animals are the only remaining survivors of the animal family, Antilocapridae. Antilocapridae consisted of hoofed animals, existing primarily in the Pleistocene age (10,000 to 1.8 million years ago).<ref>“Pronghorn, Peninsular.” Los Angeles Zoo and Botanical Gardens, www.lazoo.org/animals/mammals/peninsular-pronghorn/#1477087121998-c3c62c95-de4e142a-9e99.</ref> This prehistoric survivor now faces extinction in the Anthropocene epoch, primarily from man-made causes. ====Habitat and Life Cycle==== The Baja California pronghorn now only exists in the El Vizcaíno Desert Biosphere Reserve of Baja California and in the Valle de Los Cirios Reserve of Baja California, Mexico. The animals once roamed largely over central Baja California, including areas like the one east of Guerrero Negro named Llano del Berrendo, or Pronghorn Plains. <ref> Phillips, Steven John, Patricia Wentworth Comus, and Mark A. Dimmitt. "Sonoran Desert Mammals." A Natural History of the Sonoran Desert. Berkeley: U of California, 2015. 422. Print. </ref> This subspecies can stand up to 35 inches tall at the shoulder and weigh in at up to 125 pounds. These animals' coloration patterns range from golden brown to tan, with white on the jaws, stomach, rump, and lower neck. The Baja California Pronghorn is often called ''los fantasmas del desierto'' which translates to, “ghosts of the desert,” because their particular coloration, in combination with their fast speeds, allow them to disappear in the desert. Furthermore, these animals' white underbellies deflect ground heat, keeping them cool. Females are smaller than males, and if horned, retain their spike-like horns for 2-5 years before shedding them. The larger males are longer horned than females, with darker faces. Males' horns are forward-pointing prongs below backward-facing hooks, and outer sheaths are shed annually. These animals are known to live roughly 9-10 years in the wild but may live longer in captivity. <ref name="LA ZOO"> "Pronghorn, Peninsular." Los Angeles Zoo and Botanical Gardens. N.p., n.d. Web.</ref> The Baja California pronghorn is the fastest hoofed mammal in the world and the second-fastest land mammal. They possess the ability to run at 40 - 60 miles per hour for over an hour. With 27-foot strides at their top speeds, the Baja California pronghorn has padded cloven hooves to absorb the resulting shock. When running these animals open their mouth and leave their tongue hanging to consume more air. Their windpipe can reach up to two inches in diameter, funneling air to their enlarged lungs and heart, which aid them in oxygen consumption. This unique animal’s oxygen consumption is three times greater than that of comparably sized animals. <ref name="LA ZOO" /> Baja California Pronghorn have remarkable eyesight and have the largest eyes of any similar-sized hoofed animal in North America. They have the ability to see for miles. Their pupils can constrict into horizontal slits, which gives them 300-degree vision, protecting them from predators. <ref name="LA ZOO" /> ====Conservation Status==== Baja California pronghorn may be useful to be considered as an indicator species of the health of the larger Sonoran Desert Region of Baja California. The decline of the species suggests an untenable paradigm between human endeavor and environmental sustainability. The pronghorn, a valuable member of the food web and consumer of primary producers, being on the cusp of extinction likely indicates a major disturbance in the entire ecosystem. The inability of a previously flourishing prehistoric species to maintain its population numbers does not bode well for the broader biosphere. Restoring pronghorn populations would be in the best interest of human beings for many reasons. Among those reasons are often posited moral claims. Many environmental schools of ethics likely result in mankind needing to take action to preserve the pronghorn. Biocentrists and zoocentrists, ecological holists and individualists, would likely all agree on the preservation of the pronghorn by essence of their position. However, the most telling argument may lie in that of the anthropocentric view of the problem. The anthropocentric view would likely be forced to admit that preservation of the pronghorn, which would require mankind to adopt a paradigm shift in relation to the environment, would certainly be the best option for mankind. This change would restore valuable ecosystem services to people and help to combat the climate crisis, ultimately serving a pragmatic role for the anthropocentric ethicist, likely without severe cost in relation to what man stands to lose. The future for these animals remains uncertain. The International Union for Conservation of Nature lists their conservation status as critically endangered. <ref name="IUCN" /> Livestock fencing and cattle ranching threaten their livelihood. <ref name="LA ZOO" /> These obstructions inhibit the animals' access to favorable habitats and their ability to conduct natural movement. Urban sprawl, human endeavor, and droughts also all threaten populations. High fawn mortality rates, exacerbated by climate change, is a major threat to the Sonoran Desert pronghorn and likely effects the Baja California pronghorn as well.<ref>drought, & recruitment, fawn & mortality, & predation,. (2009). Adult and fawn mortality of Sonoran pronghorn. Wildlife Society Bulletin. 43-50. 10.2193/0091-7648(2005)33[43:AAFMOS]2.0.CO;2.</ref> In 1997, the Mexican Government, in cooperation with ENDESU (''Espacios Naturales y Desarrollo Sustentable''), established the Peninsular Pronghorn Recovery Project. This project, working in conjunction with zoos, such as the Los Angeles Zoo’s animal husbandry program, has grown the population of the Baja California Pronghorn to now exceed 420 animals, both captive and wild, in the areas of the ''El Vizcaíno'' Desert Biosphere Reserve and The ''Valle De Los Cirios'' Reserve. <ref> Tayles, Melodi. Peninsular Pronghorn. San Diego: San Diego Zoo Global, 2019. PDF. </ref> ==== Cultural Significance ==== Baja California pronghorn have long-standing ties as a source of sustenance to people indigenous to Baja California. The animals, once widespread, were hunted with bows and arrows, eaten, and skinned to make women’s clothing. The indigenous people, the ''Cochimí'', referred to them as ''ammo-gokio'' or ''ammogokió''. <ref>"Pronghorn, Peninsular.” Los Angeles Zoo and Botanical Gardens, www.lazoo.org/animals/mammals/peninsular-pronghorn/#1477087121998-c3c62c95-de4e142a-9e99.</ref> <ref>“Mammals.” Bajacalifology.org - Ethnobiology : Mammals, www.sandiegoarchaeology.org/Laylander/Baja/bio.mammals.htm.</ref> ==='' Leatherback Sea Turtle ''=== [[File:Leatherback sea turtle Tinglar, USVI (5839996547).jpg|400px|Image: 400 pixels]] The largest of all living turtles and is the fourth-heaviest modern reptile behind three crocodiles. It is the only living species in the genus Dermochelys and family Dermochelyidae. It can easily be differentiated from other modern sea turtles by its lack of a bony shell, hence the name. Instead, its carapace is covered by skin and oily flesh. <ref> Sartore, Joel. “Leatherback Sea Turtle.” National Geographic, 24 Sept. 2018, www.nationalgeographic.com/animals/reptiles/l/leatherback-sea-turtle/. </ref> <br> ==== Cultural Significance: ==== The Seri people, a tribe found in [https://en.wikipedia.org/wiki/Mexico Mexico], find the leatherback sea turtle of significant cultural significance because it is one of their five main creators. The Seri people devote ceremonies and fiestas to the turtle when one is caught and then released back into the environment.<br> ==== Ecological Trouble: ==== Leatherbacks have slightly fewer human-related threats than other sea turtle species. Their flesh contains too much oil and fat to be considered palatable, reducing the demand. However, human activity still endangers leatherback turtles in direct and indirect ways. Directly, a few are caught for their meat by subsistence fisheries. Nests are raided by humans in places such as Southeast Asia. In the state of Florida, there have been 603 leatherback strandings between 1980 and 2014. Almost one-quarter (23.5%) of leatherback strandings are due to vessel-strike injuries, which is the highest cause of strandings<ref> https://en.wikipedia.org/wiki/Leatherback_sea_turtle</ref>.<br> The Seri people have noticed the drastic decline in turtle populations over the years and created a conservation movement to help this. The group, made up of both youth and elders from the tribe, is called Grupo Tortuguero Comaac. They use both traditional ecological knowledge and Western technology to help manage the turtle populations and protect the turtle's natural environment. The Seri people have noticed the drastic decline in turtle populations over the years and created a conservation movement to help this. The group, made up of both youth and elders from the tribe, is called Grupo Tortuguero Comaac. They use both traditional ecological knowledge and Western technology to help manage the turtle populations and protect the turtle's natural environment. ==='' Vaquita ''=== [[File:Vaquita6 Olson NOAA.jpg|400px|Image: 400 pixels]] This wonderful aquatic creature named Vaquita is under the Porpoises family which is a long group of marine animals that are mammals that are classified as Phocoenidae. Also the Vaquita, is an endemic animal, that is to say relevant of its location that receives its name “ Vaquita” which in Spanish means “little cow." <ref> The Marine Mammal Center. (2019, January 11). Retrieved May 7, 2020, from https://www.marinemammalcenter.org/science/Working-with-Endangered-Species/vaquita.html </ref> This species appears in the Gulf of Baja California and unfortunately is in danger of extinction. ====Cultural Significance==== The Vaquita is one of the few species of the porpoise endemic which means that it exists only one place in the planet. Because of this it can bring many tourists in the area for ecotourism which is environmental tourism that sees wildlife in its habitat. But because unfortunately the Vaquita is in danger of extinction it can negatively affect the cultural aspect of the areas surrounding the Gulf of Mexico. <ref> Vaquita | Species | WWF. (n.d.). Retrieved May 7, 2020, from https://www.worldwildlife.org/species/vaquita </ref> ====Ecological Trouble==== Unfortunately, the Vaquita is in danger to extinction. Because of this there will be fewer animals for both prey and predators many sea creatures will be affected by this in which the balance of the food chain in the Gulf of Mexico will have to change and adapt with the disappearance of this wonderful aquatic creature. Vaquitas usually eat around a dozen different type of small and medium sized fish in which will have one less predator so their numbers can grow and affect the food chain their and also other larger species such as sharks were the Vaquita’s predator in which they will have one less food source again negatively affecting the food chain. <ref> Vaquita | Species | WWF. (n.d.). Retrieved May 7, 2020, from https://www.worldwildlife.org/species/vaquita </ref> ==='' Spinytail Iguana ''=== [[File:SpinyTailedIguana CtenosauraHemilopha.jpg|400px|Image: 400 pixels]] The Cape Spiny-tail Iguana (Ctenosaura hemilopha) is part of the Iguanidae family. Their name was given because of what they are and how they look. They help scientists by acting as a control group to the rest of the islands’ populations. ==== Range ==== These iguanas are spread out through deserts and subtropical forests in Mexico. They are found in the Sonoran Desert located in Baja California. The spiny-tail iguana lives on the peninsula of Baja California and its distribution can extend to the islands in the Sea of Cortez. They are mostly arboreal meaning that they prefer to live on trees or anything that will keep them from the ground. They can live in abandoned bird nests which can be on cacti or trees. ==== Cultural Significance ==== The cape spiny-tail iguana is said to have a wide distribution because the Seri people transported them everywhere, they went. The Seri people would use the cape spiny-tail iguana as a food source and to maintain the food, taking it with them was important. ==== Description ==== Cape spiny-tail iguanas are sexually dimorphic meaning that the male is larger than the female. The male can grow to be about 100 cm., while the females are about 70cm. They have a long tail that is longer than the body. When young they are a greener color with darker rings around their tail. As they grow older, they start to change to a tanner, brown coloration with darker rings around their tail. The males have larger dewlaps than the females. ==== Threats ==== One of the treats to the spiny-tail iguana is its habitat loss. With humans expanding their communities, the iguana’s habitat is being cut down. Because of this, the iguana is considered a vulnerable species.<ref>[https://www.mexican-fish.com/cape-spiny-tailed-iguana/], Cape spiny-tailed iguana. (2018, December 9). Retrieved from https://www.mexican-fish.com/cape-spiny-tailed-iguana/</ref> ==='' Boojum Tree ''=== [[File:Boojum Tree.jpg|400px|Image: 400 pixels]] '''Fouqueria Coumnaris''', also often referred to as a '''Boojum''' tree or '''''Cirio''''' tree, is a nearly endemic species of stem succulent tree found in the Baja California Peninsula. <ref name="Boojum" /> These trees have a single or branched tapered primary stem. Their primary stems are armored with hundreds of horizontal secondary branches that are not succulents and are armed with spines. When moisture is available to the tree, leaves and secondary branches may grow. However, the trees are usually leafless during arid periods. In relation to moisture received during winter and spring months, the Boojum will elongate its stem. The Boojum is known to bloom in late summer and autumn, bearing clusters of white fragrant flowers or creamy yellow flowers with a honey scent. The tree is a member of the ocotillo family. The Boojum is reported to grow up to 70 feet tall, with its trunk growing up to 24cm thick. <ref name="Boojum" /> <ref name="Wiki Boojum"> "Fouquieria Columnaris." Wikipedia. Wikimedia Foundation, 14 Nov. 2019. Web. </ref> ==== Range ==== The Boojum tree is nearly endemic to the Baja California Peninsula. The tree grows with the help of moist, cool winds from the Pacific Ocean moderating the arid desert climate. The tree can be found in both upper and lower Baja, California. However, it is most commonly found in the subregion of Vizcaíno. Along the Gulf Coast of Sonora, a small population of Boojum exists with help from the cold waters that replicate the influence of the Pacific. <ref name="Boojum" /> ==== Name ==== The plant received its English name from the Southwestern naturalist Godfrey Sykes in 1922. When Sykes encountered the foreign-looking plants, he dubbed them “boojums,” a nod to Lewis Carroll’s poem ''The Hunting of the Snark.'' The Spanish name of ''Cirio'', meaning candle, originates from the plant's long tapered look, similar to that of candles at nearby missions. <ref name="Boojum" /> ==== Cultural Significance ==== An indigenous group of people native to Sonora, the Seri, believe touching the Boojum tree will cause undesirable, strong winds to blow. Furthermore, botanists used to believe mainland patterns of distribution of the plant indicated that the Seri transplanted the boojum further in the interior. However, given the Seri belief about the Boojum, which they call ''cototaj'', this belief has been called into question. <ref name="Wiki Boojum" /> ==== Additional Information ==== The Boojum tree differs from its relatives in the ocotillo family by growing in the winter. Boojum trees were previously believed to only grow inches per year and reach up to 700 years old. Scientists now know that the plants can grow up to as much as 1 to 2 feet during a wet year. Additionally, repeated photography helped discover that the plants only typically live roughly a century. <ref name="Wiki Boojum" /> Large individual Boojum are particularly susceptible to direct hurricane events which cause significant destruction to the Boojum population every few decades. ==== Notable Boojum ==== The tallest Boojum on record was in Montevideo Canyon near Bahai de Los Angeles. It was recorded by Robert Humphrey in the 1970s and at the time, was 81 feet tall. Hurricane Nora passed directly over the large boojum in 1997, however, the mighty tree survived. <ref name="Boojum"> Phillips, Steven John, Patricia Wentworth Comus, and Mark A. Dimmitt. "Flowering Plants of the Sonoran Desert." A Natural History of the Sonoran Desert. Berkeley: U of California, 2015. 222 - 224 Print. </ref> The University of Arizona recently had to remove one of its diseased Boojum trees. The tree was planted in the 1920s or 1930s after a University of Arizona sponsored Baja California trip. The specimen was a noted member of the Krutch Garden and, at 37 feet tall, one of the largest Boojum in the state. Nurserymen plan to attempt to clone the tree using its tips. This process will be documented and is an opportunity for botanists to evaluate opportunities and methods for cloning Boojums. If the precise genotype is successfully saved, it will be reintroduced into Krutch Gardens. <ref> UA News Services. "Ailing Historic Boojum Tree to Be Removed." UANews. University of Arizona, 21 Mar. 2005. Web. </ref> ==== Threats and Conservation ==== Boojum trees are pollinated by many different insects. A study of over 20 years yielded a wide variety of species from the same Boojum trees in both Baja California and Sonora. However, many of these species of insects have not been seen again for many years. This may be caused by a temporal niche separation. Diverse types of pollinators have been recorded every year prompted by unknown environmental circumstances in which further study is needed. <ref name="Boojum" /> Other known threats to boojum include urban sprawl, expansions of agricultural frontiers, climate change, and harvesting for ornamental wood. The El Vizcaíno Biosphere Region was created in 1988. This protected area is 9,625 sq. miles and is the largest protected wildlife refuge in Mexico. It is home to some boojum, as well as many other protected species. The El Vizcaíno Biosphere Region borders on the Valle de los Cirios. <ref> "El Vizcaíno Biosphere Reserve." Wikipedia. Wikimedia Foundation, 25 Feb. 2020. Web. </ref> The Valle de los Cirios, located near Guerrero Negro on the Baja California Peninsula, is the second-largest wildlife protection area in Mexico. This area was deemed a nationally-protected area in 1980 and encompasses over 9,500 sq. miles. The Valle de los Cirios contains a large population of boojum and other endemic flora and fauna. <ref> "Valle De Los Cirios." Wikipedia. Wikimedia Foundation, 26 Apr. 2020. Web. </ref> ==='' Desrt Fig Tree ''=== [[File:Ficus petiolaris - Habitus.jpg|300px|Image: 300 pixels]] [https://en.wikipedia.org/wiki/Baja_California Baja California] has two native species of figs from the Moraceae Family: Ficus Petiolaris, which grows from the [https://www.britannica.com/place/Cape-San-Lucas Cape Region] to the Tinaja de Yubay region, in Central Baja, many of the islands, and parts of Sonora; whereas, Ficus brandegeei has a smaller range from the Cape to a little north of [https://www.visitmexico.com/en/main-destinations/baja-california-sur/loreto Loreto], only. They are both pretty similar, with the largest difference being that the Ficus Petiolaris does not display its branches and leaves with long ¨hairs¨, meanwhile, the Ficus brandegeei does. Both varieties are called Higuera ("Fig" in Spanish), Zalate or Amate ("you love you" in Spanish), or the Desert Fig in English.<ref> Miller, Cheryl. “Desert Fig.” Baja Realty and Investments, www.forsaleinbaja.com/desert-fig.html. </ref><br> ==== Ecological Significance ==== The Baja Ficus grows usually on cliffs or in the cracks of rocks. Trees and plants such as the Ficus, help to breakdown or weather stone, creating soil in its wake. Ficus Petiolaris, as well as three species of cacti in the Baja region (Pachycereus pringlei, Stenocerueus thurberi, and Opuntia cholla) feed on dense layers of microscopic bacteria and fungus that cover the rock surfaces. Then release valuable minerals such as potassium, zinc, magnesium, copper, iron, manganese, and phosphorus during this chemical weathering process<ref> Miller, Cheryl. “Desert Fig.” Baja Realty and Investments, www.forsaleinbaja.com/desert-fig.html.</ref>. This process provides an indispensable supply of inorganic nutrients for other plants that do grow in the soil.<br> In Baja, a tea made from the leaves and small branches is used as an antidote for rattlesnake bites in cattle and mules. A wash is used to treat cuts and infections. This is probably due to the facts that the milky white sap of this tree is natural latex that is toxic, a known allergen and is photosensitive. It is also shown to contain anti-inflammatory and antiseptic chemicals as well. ==='' Ocotillo ''=== [[File:Ocotillo 01.jpg|400px|Image: 400 pixels]]<br> This unique plant named the Ocotillo also known as a Fouquieria Splendens is a tall, greyish/greenish spiky plant from the Plantae family. <ref> LADY BIRD JOHNSON WILDFLOWER CENTER. (n.d.). Fouquieria splendens. Retrieved May 7, 2020, from https://www.wildflower.org/plants/result.php?id_plant=fosp2 </ref> This plant isn't considered a true cactus even though it is covered in thorns and is ingenious to both the Sonoran Desert and the Chihuahuan Desert. ====Cultural Significance==== The Ocotillo does flower but only when it rains and when the flower dries it can be collected and used for tisanes which is an herbal tea. Also, Native American use to use to cut off the flowers when they blossomed and also cut of parts of the root and collect them for when someone in the tribe use to get cut they would apply either the root or the flower on the open cut which slowed down the bleeding. <ref> Munsey, S. (2019, May 14). 10 ocotillo facts that will make you love this desert plant even more. Retrieved May 7, 2020, from https://thisistucson.com/tucsonlife/ocotillo-facts-that-will-make-you-love-this-desert-plant/article_27f6a926-314c-11e8-abf2-1b0322c94205.html </ref> ====Ecological Significance==== Both White-Tailed deer and Mule deer have the Ocotillo in their diet, but white-tail deer tends to eat much more Ocotillo than the Mule deer. Because the Ocotillo does flower both hummingbirds and native carpenter bees are able to get nectar from them which also helps the Ocotillo spread its pollen. <ref> Munsey, S. (2019, May 14). 10 ocotillo facts that will make you love this desert plant even more. Retrieved May 7, 2020, from https://thisistucson.com/tucsonlife/ocotillo-facts-that-will-make-you-love-this-desert-plant/article_27f6a926-314c-11e8-abf2-1b0322c94205.html </ref> Also, it can provide some cover or shelter from the hot desert for smaller mammals, birds and reptiles. ==='' Shaw's Agave ''=== [[File:Agave shawii 1.jpg|400px|Image: 400 pixels]] Shaw’s Agave (Agave shawii) is an agave that was called emally by the native people that used it ==== Range ==== This agave grows in the southernmost part of California and extends to Baja California. They usually grow around the coast, but nowadays, it is hard to find one of these plants in the wild. ==== Cultural Significance ==== Shaw’s Agave is an important part of the Kumeyaay people. They would consume the stalks and roots of the agave after roasting them. The leaves would be dried and beaten to take all the juices and sap out. The fibers that would be left of the leaves would be used for ropes, rabbit nets, sandals, and other things. ==== Description ==== The plant is an agave with leaves that could range from 20 cm to about 51 cm and be almost 8-20 cm wide. The leaves are arranged to form a rosette with a sharp tip on each leaf. They have a stalk in the middle that has flowers and surprisingly, the plant dies after it flowers which can take some years. ==== Threats ==== With the plant only growing on a certain area that ranges between two countries it is greatly affected by the border. These plants are rare to be seen in nature because the area they usually inhabit is being used by humans. <ref>[https://www.sandiego.edu/cas/biology/kumeyaay-garden/plants/shaws-agave.php], Summary of Shaw's agave and its traditional use. (n.d.). Retrieved from https://www.sandiego.edu/cas/biology/kumeyaay-garden/plants/shaws-agave.php</ref> == Geology and Climate == [[File:Devils-Peak Sierra-SanPedroMartir BajaCalifornia Mexico.jpg|400px|Image: 400 pixels]] === Geology === The peninsula of Baja California is located in the northwestern part of Mexico; it covers an area of 71,777.589 km<sup>2</sup>. This peninsula extends to almost 1,300 km from north to south and is a land of steep mountain ranges and coastal valleys. Mexicali is a city just south of the US border, and the capital city of Baja California. The Gulf of California (also known as The Sea of Cortez) separates this peninsula with mainland Mexico and the maximum distance between the two is 250 km.<ref> The Editors of Encyclopaedia Britannica. “Baja California.” Encyclopædia Britannica, Encyclopædia Britannica, Inc., 7 May 2019, www.britannica.com/place/Baja-California-peninsula-Mexico. </ref> The [https://www.britannica.com/place/Pacific-Ocean Pacific Ocean] lies on the west of Baja California. Several NNW to SSE trending mountain ranges are present on this peninsula, and [https://www.summitpost.org/picacho-del-diablo/925851 Picacho del Diablo] is the highest peak on the Baja California peninsula, measuring 3,096 meters (10,157 ft). It is alternately called [https://manchaignota.blogspot.com/2020/01/cerro-de-la-encantada.html Cerro de la Encantada], "Hill of the Enchanted", "Hill of the Bewitched". The peak is located in the Sierra de San Pedro Mártir, part of the Peninsular Ranges. Desert areas comprise about 65% of the peninsula. The largest desert in Baja California is the Vizcaíno Desert, located in the west-central part, that has been designated a protected Biosphere Reserve by the [https://www.un.org/en/about-un/ United Nations]. This peninsula has a variety of types of geological environments like coastal wetlands, sandy beaches, over 100 islands mostly located along the Gulf coast. ====Cape Region==== [[File:Sierra de la Laguna.png|alt=Sierra de la Laguna|400px| Image: 400 pixels]] A region of geologic and ecologic importance commonly referred to as the Cape Region is found stretching from La Paz to Cabo San Lucas. <ref name="JSTOR"> Eisen, Gustav. “Explorations in the Cape Region of Baja California.” Journal of the American Geographical Society of New York, vol. 29, no. 3, 1897, pp. 271–280. JSTOR, www.jstor.org/stable/197262. </ref> The region’s unique geologic origins created an area uniquely adapted to being conducive to a large amount of biodiversity. Within this region lies the notable Sierra de La Laguna Biosphere Reserve. Running through the heart of the desert is the Sierra de la Laguna Mountains. These mountains are part of a broader group of mountain ranges called the Peninsular Ranges stretching from Baja California to Southern California. <ref name="Pen range"> "Peninsular Ranges." Wikipedia. Wikimedia Foundation, 22 Apr. 2020. Web.</ref> This region was once originally part of the Mexican mainland. However, it later was sheared off by geologic activity, becoming an island.<ref name="JSTOR" /> During the Miocene, ten thousand years ago, the previously isolated area reconnected with the peninsula. <ref name="Valero"> Valero, Alejandra, Jan Schipper, and Tom Allnutt. "Sierra De La Laguna Dry Forests." WWF. World Wildlife Fund, n.d. Web. </ref> The result of this moment was the creation of granitic mountains that run southward from the Gulf of California to the Pacific. The mountains are crossed by canyons and valleys and feature large plateaus. <ref name="Valero" /> The geologic origins of this area led to it being one of the most biodiverse regions of Baja California. Flora and fauna evolved on this island in isolation before its collision with the desert. The region features 974 higher plant species reported with 23.2% of those being endemic species, with five endemic Geneva. <ref name="BRI"> "Biosphere Reserve Information - Mexico - SIERRA LA LAGUNA." UNESCO - MAB Biosphere Reserves Directory. United Nations Educational, Scientific and Cultural Organization, 2011. Web. </ref> It also represents highly contrasting ecosystems according to UNESCO, showcasing arid zones, low deciduous forest type, matorrales evergreen oak: Quercus devia (“encino”) woods, pine-evergreen oak mix woods and oases with palms and “guerivos.” <ref name="BRI" /> These ecosystems exist within three distinct ecoregions the Sierra de la Laguna pine-oak forests, the San Lucan xeric scrub, and the Sierra de la Laguna dry forests. <ref name="Pen range" /> ==== Mountains ==== “La Giganta” Mountain Range ([https://kommoss.wordpress.com/2008/01/16/295/ “Sierra de la Giganta”]) lies to the west, extending along the center of the state of Baja California Sur, parallel to the gulf coast<ref> “The Canyons of the Sierra De La Giganta.” A Life Times Two, 10 May 2012, kommoss.wordpress.com/2008/01/16/295/. </ref>. The geology and topography of the Loreto region, extending from Bahía Concepción to Agua Verde, is a coastal belt consisting "mainly of a narrow belt of ridges, valleys, and pediments adjacent to the escarpment, low- to moderate-elevation ranges transverse to the coast, and narrow coastal plains”. ====Volcanos==== [https://www.volcanodiscovery.com/coronado.html Volcán Coronado] is a small stratovolcano at the northern tip of [https://www.bajabound.com/bajaadventures/bajafever/loscoronados.php Coronado Island], 3 km off the eastern coast of Baja California in the Canal de los Ballenas. The roughly 440-m-high volcano forms a 2-km-wide peninsula at the northern end of the elongated NNW-SSE-trending island and contains a 300 x 160 m wide crater. The age of the most recent eruptive activity from Volcán Coronado is not known, although fumarolic activity was reported in September 1539 (Medina et al., 1989).<ref>Medina F, Suarez F, Espindola J M, 1989. Historic and Holocene volcanic centers in NW Mexico. Bull Volc Eruptions, 26: 91-93.</ref> === The Cultural Use of Minerals=== [[File:Sulphur-43107.jpg|Sulphur-43107]] <ref> File:Sulphur-43107.jpg - Wikimedia Commons. (n.d.). In Wikimedia. Retrieved May 7, 2020, from https://commons.wikimedia.org/wiki/File:Sulphur-43107.jpg </ref> Baja California is home to a total of 161 operating mines in the whole Mexican state. A total of 19 different minerals are being mined which are Gold, Tungsten, Copper, Iron, Silver, Phosphorus-Phosphates, Sulfur, Manganese, Lead, Aluminum, Barium-Barite, Graphite, Silica, Zinc, Zirconium, Titanium, Titanium Metal, Molybdenum and Chromium. The mines are spread out through the state of Baja California and are broken into 5 different provinces which is placed depending on its location and what are mined. In the first province deposits of mesothermal sulfates of iron, copper and gold are being mined. The second province corresponds to the gold veins distributed along the whole state. The third province corresponds to deposits of tungsten. The fourth province corresponds to the deposits of manganese sulfites, barite, lead, zinc and silver. The fifth province involves the gold pleasure deposits. Some of the cities in Baja California that have these mines are Tijuana (which has 23 operating mines), Ensenada (which has 13 operating mines) and Mexicali (which has 4 operating mines). More mines are located in other cities and towns throughout the Baja California region. <ref> Wilson, I. F. W. (n.d.). Geology and Mineral Deposits of the Boleo Copper District Baja California, Mexico. Retrieved May 7, 2020, from https://pubs.usgs.gov/pp/0273/report.pdf </ref> === Climate === The Gulf's climate is hot and humid, with abundant sunshine (desert with some rainfall in summer). The median temperature is 24.4 °C (76 °F). The temperatures are hot from June through October. These summer days have highs around 34 °C (93 °F) and high humidity. Such as the city of Loeto, which according to the [https://www.weather.gov National Meteorological Service], Loreto's highest official temperature reading of 44.2 °C (112 °F) was recorded on July 2, 2006; the lowest temperature ever recorded was 0.0 °C (32 °F) on December 15, 1987<ref> http://vivabaja.mx/about-loreto </ref>. In the spring season, the temperatures are moderate and temperate. Autumn and winter months are usually windy. The city is built on relatively flat land with an average elevation is 10 meters (33 ft) above sea level. <ref> https://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=ISONHERM2 </ref> == Land and Water Use == === Land Use === For land usage, unfortunately, there is a lot of trash that is illegally dumped throughout the desert and in the ocean but the trash that is collected, each city in Baja California gathers it and disposes it to its closest landfill in which each large city has their own in their outskirts and the smaller towns around it uses them as well. Landfills are located in San Luis Rio Colorado, Mexicali, Tijuana, Ensenada, San Quintin, Rosarito, Santa Rosalia, Loreto and La Paz. <ref> GOBIERNO DEL ESTADO DE BAJA CALIFORNIA SUR. (n.d.). PROGRAMA ESTATAL PARA LA PREVENCIÓN Y GESTIÓN INTEGRAL DE RESIDUOS PARA EL ESTADO DE BAJA CALIFORNIA SUR. Retrieved May 7, 2020, from https://www.gob.mx/cms/uploads/attachment/file/187449/Baja_California_Sur.pdf </ref> Sewage waste is also disposed of in landfills alongside solid waste. ==== Mining ==== [[File:Salt production in Guerrero Negro.jpg|Salt production in Guerrero Negro|400px]] Mining is one of the primary land uses in the Baja California Region of the Sonoran Desert. It is also one of the most significant challenges to sustainability in the area. Mining sites are widespread throughout the Baja California Peninsula. Gypsum ore is mined on the San Marcos Islands.<ref> "San Marcos Island." USGS - Science for a Changing World. N.p., n.d. Web. https://mrdata.usgs.gov/mrds/show-mrds.php?dep_id=10048952. </ref> Copper and manganese mining is being revived in Santa Rosalia. <ref>"Boleo Project - Mining Technology: Mining News and Views Updated Daily." Mining Technology | Mining News and Views Updated Daily. N.p., 2020. Web. https://www.mining-technology.com/projects/boleoproject/. </ref> Phosphorous mining is present in San Juan De La Costa. <ref>"San Juan De La Costa." USGS - Science for a Changing World. N.p., n.d. Web. https://mrdata.usgs.gov/mrds/show-mrds.php?dep_id=10048963. </ref> Gold and silver were mined in the areas of El Trunfio and Bahia De Los Angeles. <ref> "El Triunfo, Baja California Sur." Wikipedia. Wikimedia Foundation, 01 Oct. 2019. Web.</ref> <ref>"Flores Mine, Bahia De Los Angeles, Ensenada Municipality, Baja California, Mexico." Flores Mine, Bahia De Los Angeles, Ensenada Municipality, Baja California, Mexico. N.p., n.d. Web. https://www.mindat.org/loc-11190.html. </ref> Outside the town of Guerrero Negro, near the edge of Lago Ojo de Liebrea, one of the region's most massive mining expeditions exists, a salt mine producing seven million tons of salt yearly. <ref> “El Vizcaíno Biosphere Reserve, Mexico.” NASA, NASA, earthobservatory.nasa.gov/images/77499/el-vizcaino-biosphere-reserve-mexico. </ref> A notable example of environmental justice was the recall of permits allowing construction of the proposed Los Cardones Mine. The proposed site, owned by the Mexican company Invecture Group and closely affiliated with Vancouver-based Frontera Mining Corporation, consisted of 13,000 hectares of land 65km southeast of the city of La Paz in Baja California and fell within the Sierra de La Laguna Biosphere Reserve. <ref> "Baja California Sur." Earthworks. N.p., 04 Mar. 2019. Web. https://earthworks.org/stories/baja_california_sur/. </ref> Risks anticipated with the site included contaminated ground and drinking water, cyanide pollution and high levels of dust laced with arsenic and heavy metals. <ref> "Baja California Sur." Earthworks. N.p., 04 Mar. 2019. Web. https://earthworks.org/stories/baja_california_sur/. </ref> Local and international protests drew researchers and government officials into the dispute. A team of researchers from N-Gen, the Mexican Commission for Natural Protected Areas (CONANP), the Botanical Research Institute of Texas, UC MEXUS, multiple participating academic institutions, local NGOs, and local community members conducted research into the issue concluding: <blockquote> Our international team of 29 scientists from 19 institutions conducted a biodiversity survey inside the Sierra La Laguna Biosphere Reserve in Baja California Sur, Mexico. This eight-day expedition was undertaken at the request of, and in collaboration with CONANP to document the diversity encountered on ca. 1,235 acres of land currently petitioned for use as the open pit gold mine project Los Cardones. From December 4th to 11th of 2015 the participating scientists documented the presence of 877 species, including 381 plants, 29 mammals, 77 birds, 366 insects, and 24 reptiles and amphibians. The true diversity of the region is expected to be double that documented in the week-long excursion. The majority of the diversity was found associated with the La Junta riparian system at the core of the proposed mine site. Twenty-nine species, protected under Mexican law due to their inclusion on the endangered species list (NOM-059-SEMARNAT-2010), were discovered inside the project footprint, as well as 107 species endemic to the Cape Region. The biodiversity found in and around Arroyo La Junta and its tributaries forms the base of a complex food-web. Based on the high levels of diversity and endemism, especially the multitude of life forms associated with aquatic habitats, the findings of this initial survey support the prior designation by Mexican and international bodies of this region as a protected area. <ref> Vanderplank S, BT Wilder, E Ezcurra. 2016. Arroyo la Junta: Una joya de biodiversidad en la Reserva de la Biosfera Sierra La Laguna / A biodiversity jewel in the Sierra La Laguna Biosphere Reserve. Botanical Research Institute of Texas, Next Generation Sonoran Desert Researchers, and UC MEXUS. 159 pg.</ref> </blockquote> This attention, in conjunction with widespread protests coordinated by local communities and environmental justice groups, spurred governmental action and in 2017 SEMARNAT, Mexico’s central environmental authority, revoked the companies permits to mine. However, estimated reserves of 1.2 million ounces of gold are believed to exist there, leading to speculation mining companies may revise their strategies and renew attacks. <ref> "AMLO Says No to Controversial Mining Project in Baja California Sur." Mexico News Daily. N.p., 04 Mar. 2019. Web. </ref> Though the Los Cardones mine was never started, mining continues to operate and expand throughout the Sonoran Desert and broader regions. In any attempt to create a model for sustainable use of water and land in the Baja California portion of the Sonoran Desert, equal attention and stewardship should be given to the desert areas surrounding the Sierra La Laguna Biosphere Reserve. The Los Cardones project may serve as an example of successful conservation through cohesion and coordination between environmentally conscious citizens, researchers, organizations, and governmental officials. === Water Use === [[File:Wpdms nasa topo gulf of california.jpg|400px|Image: 400 pixels]] The Gulf of California is also known as Sea of Cortez in Mexico and was named after the 16th-century Spanish explorer [https://www.history.com/topics/exploration/hernan-cortes Hernán Cortés]. The Mexican government changed the official name to the Golfo de California (Gulf of California) in the early 20th century, although both names are in vogue and are interchangeably used on maps <ref> History.com Editors. “Hernan Cortes.” History.com, A&amp;E Television Networks, 9 Nov. 2009, www.history.com/topics/exploration/hernan-cortes.</ref>. This gulf is over 1000 km long that extends from the mouth of the Colorado River in the north to the cape at San Lucas in the south<ref> The Editors of Encyclopaedia Britannica. “Cape San Lucas.” Encyclopædia Britannica, Encyclopædia Britannica, Inc., 12 Aug. 2008, www.britannica.com/place/Cape-San-Lucas. </ref>. The Colorado River Delta was once the most important wetland of Western North America now has become almost like a desert due to this river being dammed within the USA. The sea is shallow in the north because sediment brought by the [https://en.wikipedia.org/wiki/Colorado_River Colorado River] forms a huge delta that extends from land into the sea. This gulf south of [https://www.visitmexico.com/en/main-destinations/baja-california-sur/la-paz La Paz] becomes more or less like an ocean, with deep trenches, canyons, and tall seamounts, and meets the Pacific Ocean further south at the southernmost tip of the Baja Peninsula known as Finisterra or the Land’s End.<ref> Kumar, Arun. (2013). Geological history of the Baja California Peninsula, Mexico and the fascinating world of its endemic plants.. Earth Science India (Popular issue). VI. 1-27. </ref> For water usage the water is gathered from the Colorado River in Mexicali Baja California and with a canal system it goes through La Rumorosa which goes to into a reservoir named “El Carrizo” in which Tecate, Rosarito and Tijuana Baja California. In the south most of the water is collected by rainfall in the mountains named “Sierra de las Trincheras” and “El Novillo” in which water is distributed to La Paz and its surrounding towns. <ref> Garcia, L. A. G. (2016, November 30). La ruta del agua (la poca que queda) en Baja California. Retrieved May 7, 2020, from https://www.sandiegored.com/es/noticias/133217/La-ruta-del-agua-la-poca-que-queda-en-Baja-California </ref> [[File:Presa Plutarco Elias Calles &quot;El Novillo&quot;.jpg|400px|Image: 400 pixels]] <ref> File:Presa Plutarco Elias Calles “El Novillo”.jpg - Wikimedia Commons. (n.d.). In Wikimedia. Retrieved May 7, 2020, from https://commons.wikimedia.org/wiki/File:Presa_Plutarco_Elias_Calles_%22El_Novillo%22.jpg </ref> == Opportunites and Threats == [[File:San-felipe-baja-california-2000.jpg|San-felipe-baja-california-2000]] Many opportunities are found in Baja California because it is in the middle of both the Pacific Ocean and the Gulf of California. Because of this tourism is in every city that is in the shore to either of the Pacific Ocean or the Gulf of California. For example, San Felipe is in the shore of the Gulf of California and because of this many people from both the U.S and other parts of Mexico go there to enjoy the beach. <ref> Experience San Felipe. (n.d.). Retrieved May 7, 2020, from https://www.mexperience.com/travel/beaches/san-felipe/ </ref> Also because of the tourism the beaches bring San Felipe they also host an off-road racing event named San Felipe 250 which happens yearly bringing more people to this city. The threats from what the Baja California Peninsula and the Gulf of California suffers from are all done by humans. The principal threats are livestock ranching, salt extraction, and hunting. With ranching many acres of space are taken away in which affected both populations of mule deer and bighorn sheep significantly. With hunting because so much deer type animals are being hunted it has affected the population of Pumas in the area due to they no longer have their main source of food available as much as they were having. And with the salt extraction from the see this has negatively affected the breeding and migration of gray whales. <ref> WWF. (n.d.). Southern North America: Baja California Peninsula in Mexico | Ecoregions | WWF. Retrieved May 7, 2020, from https://www.worldwildlife.org/ecoregions/na1301 </ref> === Climate Change === Climate change looms as the largest ecological threat to the Baja California subregion and the entire Sonoran Desert. Unchecked, the effects of climate change in the Sonoran Desert will be far-reaching and widespread throughout all biomes and ecosystems. The Sonoran Desert already finds itself in a drought with at least a 25 to 40% drop in precipitation over the last 50 years. <ref> Phillips, Steven John, Patricia Wentworth Comus, and Mark A. Dimmitt. "Desert Storms." A Natural History of the Sonoran Desert. Berkeley: U of California, 2015. 49. Print. </ref> The region has been identified as being within a projected “global hot spot” resulting from climate change, with models demonstrating warming of 5.4-10.8 degrees Fahrenheit. <ref> Phillips, Steven John, Patricia Wentworth Comus, and Mark A. Dimmitt. "Desert Storms." A Natural History of the Sonoran Desert. Berkeley: U of California, 2015. 50. Print. </ref> Increased temperatures place strains on entire ecosystems by undermining food webs. Warming temperatures, among many other factors, will increase evapotranspiration rates, stressing primary producers, and the resulting food webs. Slow-moving species such as desert tortoises will have much harder times reacting to the unpredictable weather patterns produced by climate change. <ref> Phillips, Steven John, Patricia Wentworth Comus, and Mark A. Dimmitt. "Conservation Issues in the Sonoran Desert." A Natural History of the Sonoran Desert. Berkeley: U of California, 2015. 117. Print. </ref> Furthermore, species capable of more rapid reaction and migration may attempt to move out of designated protected wildlife areas, such as the Valle de los Cirios area, only to have their movement blocked by human habitat fragmentation. Opportunities to address climate change exist at every moment of every person’s day on a global scale. From choosing a profession that champions global climate change causes or conducts research to a persons simple daily choices, there is a way for everyone to get involved. A plethora of information is widely available for making more sustainable choices. Other ways to help address climate change are to research and donate to the most effective organizations battling climate change. Practicing responsible civics by researching and voting for environmentally friendly legislation and candidates and starting grassroots environmental movements or joining current movements are all ways of addressing climate change. === Invasive Species === [[File:Brassica tournefortii.jpg|400px|Image: 400 pixels]] Sahara mustard weed, a large, hardy fast-growing winter annual, along with a with similar invasive grass, Buffelgrass, threaten many of the endemic flora of Baja California and the Sonoran Desert. Sahara mustard started as a localized population before beginning a massive range expansion. The weed is particularly effective at challenging native cacti and perennial shrubs for resources such as light and soil moisture. Furthermore, the weed possesses the capacity to smother native herbaceous plants. <ref name="NHSD"> Phillips, Steven John, Patricia Wentworth Comus, and Mark A. Dimmitt. "Conservation Issues in the Sonoran Desert." A Natural History of the Sonoran Desert. Berkeley: U of California, 2015. 114. Print. </ref> First recorded in California’s Coachella Valley in 1927, by the 1970s the plant was widespread across the Sonoran Desert and Baja California. Sahara mustard mainly kept to disturbed soil and sandy areas until in the 1990s, when it began invading undisturbed desert. In the twenty-first century, the weed again adapted and began invading the steep desert slopes and rocky soils of the Sonoran. It is now known to cause acres of impenetrable thickets in some places, completely excluding any other annuals. <ref name="NHSD" /> Currently, research is being conducted on the best ways to combat aggressive invasive species such as Sahara mustard weed. The most effective method to date is hand weeding. <ref name = SM> "Sahara Mustard." Center for Invasive Species Research. N.p., 18 Jan. 2020. Web. https://cisr.ucr.edu/invasive-species/sahara-mustard. </ref> Though this method is not considered a tenable long-term solution, it has been shown to be useful while research is being developed. The Bureau of Land Management conducts hand weedings, in which they may be looking for local volunteers. <ref name = SM /> Contacting your local BLM office may be one of the best ways to help fight such invasive species. Furthermore, the U.S. Forest Service recommends detecting, reporting, and mapping known infestations. <ref> Field Guide for Managing Sahara Mustard in the Southwest. Southwestern Region: USDA - United States Department of Agriculture, Feb. 2005. PDF. </ref> === Endangered Species === [[File:Peninsular pronghorn FWS 13059.jpg|400px|Image: 400 pixels]] ''Antilocapra americana peninsularis'', also known as the Baja California pronghorn, is a subspecies of pronghorn endemic to the Baja California Peninsula. The Baja California pronghorn is a critically endangered subspecies according to the IUCN with only an estimated 200 animals remaining in the wild. <ref name="IUCN" /> Combatting climate change may be one of the best ways to help save the pronghorn. High mortality rates, especially during droughts have contributed to the decline of this species. Currently, CONANP (Mexico’s National Commission of Protected Natural Areas) is working with American organizations such as the L.A. Zoo to stabilize the pronghorn through the Peninsular Pronghorn Recovery Program in the El Vizcaino Biosphere Reserve. Consider donating to or contacting these organizations to ask how you can help these animals. Finally, people can raise awareness about the Baja California pronghorn. === Fishing === [[File:Fishing boat off the coast of Naxos.jpg|400px|Image: 400 pixels]] Fishing can be seen as both an opportunity and a threat if the proper precautions aren't taken. The country of Mexico has taken great measures to make sure laws are placed so that overfishing doesn't occur and disrupt marine life. Guaymas is one of the prime examples of how vital fishing can be to an economy. Guaymense fishing occupies 11,800 people in the catch and another 325 are engaged in aquaculture. It contributes 70% of the total state fisheries production, with the main species caught, sardine, shrimp, and squid <ref> Williams, J.H. (August 1996). Baja Boaters Guide II: Sea of Cortez. H.J. Williams Publications. pp. 202–4, 209–211. {{#isbn:0-9616843-8-0}}. </ref>. It has 175 kilometers of coastline where important bays such as Guaymas, Lobos, San Carlos (Mexico), and the Herradura are formed. The municipality has more than 83% of the docks operating in the State. The fleet consists of 359 shrimp vessels, 32 sardineras, 3 escameras, and 910 smaller vessels, for a total of 1,304. 55% of catches are traded in the State and the rest, i.e. 45% has as its final destination the domestic market and the foreign market <ref> https://en.wikipedia.org/wiki/Guaymas </ref>, to the latter, is mainly sent shrimp that has a high price in the international market, which makes guaymense fishing very dependent on the conditions of this market. The population of fishermen in coastal communities has its ancestry by 80% in the same region where the community is located; the rest comes from other localities of the state and about 5 percent from other states, particularly Sinaloa and Nayarit. === Tourism === [[File:Amanecer en Loreto, México. - panoramio.jpg|400px|Image: 400 pixels]] Due to the cities' of the Gulf having some incredible beaches and marine life, they have naturally become popular tourist destinations. Tourism is one of the highest sources of income for many of the coastal cities. One example is the city of Loreto. The city is a tourist resort, catering mostly to American travelers, with daily flights from California to Loreto International Airport<ref> https://ladamianainn.com/loreto-bcs-mexico/</ref>. Many American tourists enjoy fishing in "pangas" for "dorado" (Mahi-mahi or Dolphin Fish). Local restaurants willingly prepare the daily catch of the tourists. Loreto has a museum that coexists alongside the historic, but still active, parish. Loreto has active sister city relationships with the California cities of Hermosa Beach, Cerritos, and Ventura. === Urban Sprawl === [[File:Cabo San Lucas street 1.jpg|Cabo San Lucas street 1|400 px]] Urban sprawl is a current threat to the Sonoran Desert portion of Baja California. Cabo San Lucas is a major tourist destination for Baja California. However, developers now have sourced colonial Loreto as a potential location for a tourist and vacation destination. These developing tourism destinations threaten to bring urban sprawl to the lower half of Baja California, increasing the probability of land conversion and habitat fragmentation, affecting endemic species. Urban sprawl may have secondary detrimental environmental effects. Baja California sources the majority of its energy from power plants, such as those in Rosarito and Ensenada. <ref> "The Opening of Baja California III Ratifies Our Leadership as the Main Private Energy Producer in Mexico." Iberdrola. Iberdrola Corporativa, n.d. Web. </ref> These power plants are massive contributors to man-made climate change. Increases in tourism and resulting urban sprawl will increase demand for energy from these pants, which run off destructive natural gasses supplied by the United States. <ref> Sweedler, Alan. "Climate Change and Energy in the California-Baja California Border Region." (n.d.): n. pag. EPA.gov. Sept. 2015. Web. </ref> <!-- TourBuilder deprecated in 2021 == Google tour == For a further look into cities located in the Gulf Region of the Sonoran Desert please visit for a virtual tour: https://tourbuilder.withgoogle.com/tour/ahJzfmd3ZWItdG91cmJ1aWxkZXJyEQsSBFRvdXIYgIDgmOP-9gkM --> == References == {{Reflist}} {{BookCat}} ccgvi7irbzq905hnmcu6mgxp9nwmaxn User talk:MrJaroslavić 3 417154 4656995 3702792 2026-08-10T08:37:29Z ShakespeareFan00 46022 4656995 wikitext text/x-wiki <div style="border: darkred; background: red; padding: 5px; display:tablel; margin:0 auto;"> <big> Welcome! </big> To leave a message, please click the link below:<br> <big class=plainlinks>[{{fullurl:{{FULLPAGENAMEE}}|action=edit&section=new&preload=User_talk:MrJaroslavić/preload}} Leave a new message] </big> </div> 1gu6hyjead1ckvhvlwgxyjtwfv56fgb 4656996 4656995 2026-08-10T08:37:51Z ShakespeareFan00 46022 4656996 wikitext text/x-wiki <div style="border: darkred; background: red; padding: 5px; display:table; text-align:center; margin:0 auto;"> <big> Welcome! </big> To leave a message, please click the link below:<br> <big class=plainlinks>[{{fullurl:{{FULLPAGENAMEE}}|action=edit&section=new&preload=User_talk:MrJaroslavić/preload}} Leave a new message] </big> </div> f2ptldc2x2vbd1mug6gflzrwqou9r5v The Linux Kernel/Human interfaces 0 421455 4657005 4641709 2026-08-10T09:23:11Z Conan 3188 move hwrng to Security page 4657005 wikitext text/x-wiki <noinclude>{{DISPLAYTITLE:Human interfaces}}</noinclude> {| style="float:right; text-align: center; border-spacing: 0; margin: auto;" cellpadding="5pc" ! bgcolor="#fcd" |human interfaces |- style="" | bgcolor="#ecd" |[[#Text interfaces|text interfaces]] |- style="" | bgcolor="#dcd" |[[#Security|security]] |- style="" | bgcolor="#dcc" |[[#Debugging|debugging]] |- style="" | bgcolor="#cbb" |[[#Multimedia subsystems|multimedia subsystems]] |- style="" | bgcolor="#baa" |[[#HID|human interface devices]], [[#Input_devices|input devices]] |- style="" | bgcolor="#aaa" |[[#HI_device_drivers|HI drivers]] |} Welcome to the first article of this book. The article is named after the {{W|USB human interface device class|USB class}} and the Linux facility for {{w|Human interface device|Human Interface Devices}} (HID). The HID subsystem in Linux supports keyboards, mice, and other {{w|Input device|input devices}}. In addition to input handling, this article also explores topics related to the console, multimedia (or simply media), sound (audio), video, and graphics—key areas of user interaction. Security and debugging are also covered, as they are closely tied to human interaction and user-facing functionality. == Text interfaces == In the world of Linux, text {{w|terminal emulator}}s and {{w|Linux console|console}}s are essential components of the operating system that allow users to interact with applications through the kernel. A text terminal is a device that provides a text-based interface for communicating with the kernel, while the console is the physical device that houses the terminal and displays the output of the kernel. The Linux kernel includes a built-in console driver that provides a basic interface for communicating with the console and controlling the terminal. The console driver also supports various input and output devices, such as keyboards and displays, to enable users to interact with the system through a terminal. The use of text {{w|Computer terminal|terminals}} and {{w|system console}}s in Linux can be traced back to the early days of computing, when {{w|Graphical terminal|graphical user interfaces}} were not yet widely available. Despite the widespread adoption of graphical user interfaces, {{w|Text-based user interface|text-based interfaces}} and consoles remain popular among Linux users and developers for their simplicity, efficiency, and flexibility. Overall, the text terminal and console play a crucial role in the Linux kernel, providing users with a powerful interface for managing and interacting with the operating system. === Char devices === {{The Linux Kernel/id|cdev}} &ndash; "character device" is a type of device driver that provides an implementation for character {{w|device file}} in the /dev directory. The word "device" here means abstract interface, {{w|Proxy pattern|proxy}} to a usually peripheral physical device. A character device is a type of device that can be accessed as a stream of bytes, rather than as a block of data like a block device. Cdev drivers are commonly used for devices that provide a {{w|sequential access|stream}} of data, such as keyboards, mice, terminals, serial ports, and printers. They are also used for devices that provide access to memory-mapped I/O regions, such as frame buffers and network devices. A cdev driver typically consists of a set of functions that implement the low-level I/O operations for the device, such as open, read and write. These functions are called by the kernel when a user space program accesses the character device file. To create a cdev driver, a kernel developer must first initialize a cdev structure using {{The Linux Kernel/id|cdev_init}} or {{The Linux Kernel/id|cdev_alloc}}. The cdev structure contains information about the device, such as its major and minor numbers and the set of I/O functions that the driver implements. Once the cdev structure has been initialized, it can be registered with the kernel using the {{The Linux Kernel/id|cdev_add}} function. This function creates the character device file in the /dev directory and associates it with the cdev driver. You can find a list of registered char devices on the beginning the listing of <big>/proc/devices</big>. [[#Input_devices|Input devices]] keyboard and mouse are examples of char devices. <small>''Tip: Browse the cross-referencing site to explore nearby API and use cases''</small> 💾 ''Historical: It is one of the most simple, fundamental and oldest concepts derived from UNIX. '' ⚲ API : {{The Linux Kernel/include|linux/cdev.h}} :: {{The Linux Kernel/id|dev_t}} - device id consists of {{The Linux Kernel/id|MAJOR}} and {{The Linux Kernel/id|MINOR}} numbers :: {{The Linux Kernel/id|cdev}} - core char device struct :: {{The Linux Kernel/id|cdev_init}} or {{The Linux Kernel/id|cdev_alloc}} :: {{The Linux Kernel/id|cdev_device_add}} - helper function, uses ::: {{The Linux Kernel/id|cdev_add}} - common key function to add a char device to the system. : {{The Linux Kernel/id|register_chrdev}} - ''obviously registers char device'' by '''major''' number, '''name''' and file operations : {{The Linux Kernel/id|unregister_chrdev}} : {{The Linux Kernel/id|alloc_chrdev_region}} / {{The Linux Kernel/id|register_chrdev_region}}, : {{The Linux Kernel/id|unregister_chrdev_region}} : {{The Linux Kernel/include|uapi/linux/major.h}} - static definitions of many major numbers, including obsolete. ⚙️ Internals : {{The Linux Kernel/source|fs/char_dev.c}} &ndash; character device registration : {{The Linux Kernel/id|chrdevs}} 📖 References : {{The Linux Kernel/doc|Char devices|core-api/kernel-api.html#char-devices}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/device_drivers.html Character device drivers, linux-kernel-labs] : [https://www.opensourceforu.com/2011/04/character-device-files-creation-operations/ Character device files, on opensourceforu] 📚 Further reading : [https://sysprog21.github.io/lkmpg/#character-device-drivers LKMPG: Character Device drivers] 💾 ''Historical'' : [http://lwn.net/images/pdf/LDD3/ch03.pdf LDD3:Char Drivers] : [http://lwn.net/images/pdf/LDD3/ch06.pdf LDD3:Advanced Char Driver Operations] : [http://www.xml.com/ldd/chapter/book/ch03.html LDD1:#3] : [http://www.xml.com/ldd/chapter/book/ch05.html LDD1:#5] === Text terminals and console === 🗝️ Acronyms : {{w|Tty (unix)|tty}} - 💾 ''historically TeleTYpewriter'', means just terminal : {{w|Pseudoterminal|pty}} - pseudoterminal : pts - pseudoterminal slave : ptmx - pseudoterminal master ⚲ API : To find out current terminal: :: readlink /proc/self/fd/0 :: {{The Linux Kernel/man|1|tty}} :: {{The Linux Kernel/man|1|who}} -m : {{The Linux Kernel/include|linux/tty.h}} :{{The Linux Kernel/id|register_console}} obviously registers {{The Linux Kernel/id|console}} :: 👁 example {{The Linux Kernel/id|virtio_console}} : {{The Linux Kernel/include|linux/console.h}} : {{The Linux Kernel/man|2|ioctl_console}} ⚙️ Internals : {{The Linux Kernel/source|drivers/tty}} &ndash; TTY layer : {{The Linux Kernel/source|fs/devpts}} &ndash; devpts pseudo-filesystem for PTY slaves : {{The Linux Kernel/source|fs/proc/proc_tty.c}} &ndash; /proc/tty information : {{The Linux Kernel/source|drivers/tty/vt/vt.c}} &ndash; virtual terminal console 📖 References : {{The Linux Kernel/man|4|tty}} &ndash; controlling terminal : {{The Linux Kernel/man|4|ptmx}} and pts &ndash; pseudoterminal master and slave : {{The Linux Kernel/man|7|pty}} &ndash; pseudoterminal interfaces : {{The Linux Kernel/doc|console|driver-api/console.html}} 💾 ''Historical'' : [http://lwn.net/images/pdf/LDD3/ch18.pdf LDD3:TTY Drivers] ==Security== The goal of security is to restrict access through interfaces. From access control and authentication mechanisms to secure boot and memory protection, the Linux kernel employs a variety of techniques to safeguard the system and its users. Basic Linux security is quite simple. It consists of three ownership classes and three access modes. One of the most frequently executed functions is {{The Linux Kernel/id|may_open}}. It rejects access of unauthorized users to open a file. See article [[../Security/]] for advanced features. === Authorization === {{w|Authorization}} is the function of specifying {{w|Computer access control|access}} rights/{{w|Privilege_(computing)|privilege}}s to system resources. The main goal of authorization is prevention of {{w|privilege escalation}} under any circumstances. 🔧 TODO. Keywords: permission, capabilities, ownership, {{w|mitigation}}. ⚲ API : {{The Linux Kernel/include|linux/stat.h}} : {{The Linux Kernel/include|uapi/linux/stat.h}} Basic classic UNIX authorization is based on ownership and tree access modes: reading, writing and execution. Ownership is encoded by owning user id {{The Linux Kernel/id|uid_t}} and owning group id {{The Linux Kernel/id|gid_t}}. {{The Linux Kernel/id|umode_t}} - just typedef used for encoding access mode. {{The Linux Kernel/id|S_IRUSR}} - minimal "read only by user/owner" access mode. {{The Linux Kernel/id|S_IALLUGO}} - full access mode. Please read the source for details for other modes. Binary {{w|Access Control Matrix}} of access modes: {| class="wikitable" |+ !modes !bits !Read !Write !Execute |- |bit offset | |2 |1 |0 |- |'''Others''' |0-2 |or |ow |ox |- |'''Group''' |3-5 |gr |gw |gx |- |'''User''' |6-8 |ur |uw |ux |} : {{The Linux Kernel/man|2|chown}} ↪ {{The Linux Kernel/id|do_fchownat}} changes ownership for file or directory : {{The Linux Kernel/man|2|chmod}} ↪ {{The Linux Kernel/id|do_fchmodat}} changes access mode for file or directory : {{The Linux Kernel/man|2|access}}, {{The Linux Kernel/man|2|faccessat}} ↪ {{The Linux Kernel/id|do_faccessat}} checks access rights Common authorization errors : {{The Linux Kernel/id|EPERM}} &ndash; "Operation not permitted" : {{The Linux Kernel/id|EACCES}} &ndash; "Permission denied" 🚀 Advanced features : {{The Linux Kernel/man|5|acl}} {{The Linux Kernel/id|posix_acl}} : {{The Linux Kernel/man|1|setpriv}} &ndash; run a program with different privilege settings ⚙️ Internals : {{The Linux Kernel/id|may_open}} rejects unauthorized file opening :: {{The Linux Kernel/id|inode_permission}} checks for access rights to a given inode 📖 References : {{w|File-system permissions}} ==== Capabilities ==== {{w|POSIX capabilities}} split the traditional root privilege into distinct units, so a process can hold only the capabilities it needs. ⚲ API: : {{The Linux Kernel/man|7|capabilities}} : {{The Linux Kernel/include|uapi/linux/capability.h}} : {{The Linux Kernel/man|2|capset}}, {{The Linux Kernel/man|2|capget}} &ndash; set/get capabilities of thread(s) : {{The Linux Kernel/man|3|libcap}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/capability.c}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#cap stress-ng --cap] ===Credentials=== 🔧 TODO. Keywords: {{w|authentication}}, user IDs, group IDs, Process group ID, session ID. ⚲ API : {{The Linux Kernel/include|uapi/asm-generic/stat.h}} : {{The Linux Kernel/source|arch/x86/include/uapi/asm/stat.h}} &ndash; x86 stat structure definitions : {{The Linux Kernel/include|linux/cred.h}} :: struct {{The Linux Kernel/id|cred}} - the security context of a task : {{The Linux Kernel/man|1|id}}, {{The Linux Kernel/man|1|test}} - shell utilities : {{The Linux Kernel/man|2|getuid}} ↪ {{The Linux Kernel/id|current_uid}} : {{The Linux Kernel/man|2|getgid}} : {{The Linux Kernel/man|2|geteuid}} is used by utility {{The Linux Kernel/man|1|whoami}} : Real, effective, and saved user/group IDs: :: {{The Linux Kernel/man|2|getresuid}}, getresgid :: {{The Linux Kernel/man|2|setreuid}}, setregid : {{The Linux Kernel/man|2|setfsuid}} - set user identity used for filesystem checks : {{The Linux Kernel/man|2|umask}} - sets file mode creation mask : {{The Linux Kernel/man|1|stat}}, {{The Linux Kernel/man|2|stat}} ↪ {{The Linux Kernel/id|vfs_fstat}}, {{The Linux Kernel/id|vfs_fstatat}} : {{The Linux Kernel/man|2|statx}} ↪ {{The Linux Kernel/id|do_statx}} ⚙️ Internals : {{The Linux Kernel/source|kernel/cred.c}} &ndash; credentials management and transitions : {{The Linux Kernel/id|kstat}} : {{The Linux Kernel/id|make_kuid}} etc : {{The Linux Kernel/id|from_kuid_munged}} etc 📖 References : {{The Linux Kernel/doc|Credentials in Linux|security/credentials.html}} : {{The Linux Kernel/man|7|credentials}} : https://www.geeksforgeeks.org/real-effective-and-saved-userid-in-linux/ === Cryptography === 🔧 TODO 🗝️ Acronyms : AES - {{w|Advanced Encryption Standard}} ⚲ API : {{The Linux Kernel/id|AF_ALG}} - {{The Linux Kernel/doc|User Space Interface|crypto/userspace-if.html}} : {{The Linux Kernel/include|linux/crypto.h}} - Scatterlist Cryptographic API. : {{The Linux Kernel/man|2|getrandom}} &ndash; obtain random bytes : {{The Linux Kernel/include|linux/random.h}} &ndash; kernel random number generation : {{The Linux Kernel/include|crypto}} ⚙️ Internals : {{The Linux Kernel/source|crypto}} &ndash; cryptographic API core : {{The Linux Kernel/source|drivers/crypto}} &ndash; hardware crypto accelerator drivers : {{The Linux Kernel/source|lib/crypto}} &ndash; crypto library helpers : {{The Linux Kernel/source|arch/x86/crypto}} &ndash; x86 optimized crypto implementations : {{The Linux Kernel/source|fs/crypto}} - per-file encryption : {{The Linux Kernel/source|fs/ecryptfs}} eCrypt FS - Encrypted filesystem that operates on the VFS layer. : {{w|dm-crypt}}, {{The Linux Kernel/source|drivers/md/dm-crypt.c}} 📖 References : {{The Linux Kernel/doc|Linux Kernel Crypto API|crypto}} : {{w|Crypto API (Linux)}} : [https://www.kernel.org/doc/Documentation/devicetree/bindings/crypto/ devicetree/bindings/crypto] : {{The Linux Kernel/ltp|kernel|crypto}} === Audit === The Linux [https://wiki.archlinux.org/title/Audit_framework audit framework] records security-relevant events such as system calls, file access, and authentication attempts. The audit daemon (auditd) collects records from the kernel via a netlink socket. ⚲ API : {{The Linux Kernel/man|8|auditctl}} &ndash; configure audit rules : {{The Linux Kernel/man|8|auditd}} &ndash; audit daemon : {{The Linux Kernel/man|7|audit.rules}} : {{The Linux Kernel/include|linux/audit.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/audit.h}} &ndash; audit internal definitions : {{The Linux Kernel/source|kernel/audit.c}} &ndash; audit gateway between kernel and user-space daemon : {{The Linux Kernel/source|kernel/auditsc.c}} &ndash; system-call auditing : {{The Linux Kernel/source|kernel/audit_tree.c}} &ndash; audit directory tree watches : {{The Linux Kernel/source|kernel/audit_watch.c}} &ndash; audit filesystem path watches : {{The Linux Kernel/source|kernel/audit_fsnotify.c}} &ndash; audit fsnotify integration : {{The Linux Kernel/source|kernel/auditfilter.c}} &ndash; audit rule filtering 📖 References : https://wiki.archlinux.org/title/Audit_framework See also [[The_Linux_Kernel/Debugging#eBPF|eBPF and BPF]] === Security subsystems === ==== Seccomp ==== {{w|Seccomp}} (Secure Computing) restricts which system calls a process can make. Seccomp-BPF attaches a {{w|Berkeley Packet Filter|BPF}} program that inspects each syscall number and arguments, returning allow, kill, trap, or errno. Used by [https://github.com/opencontainers/runc runc] ({{w|Open Container Initiative|OCI}} container runtime), browsers (Chrome, Firefox), and systemd to reduce the kernel attack surface of sandboxed processes. ⚲ API: : {{The Linux Kernel/man|2|seccomp}} ↪ {{The Linux Kernel/id|do_seccomp}} : {{The Linux Kernel/man|2|prctl}} with {{The Linux Kernel/id|PR_SET_SECCOMP}} : {{The Linux Kernel/include|linux/seccomp.h}} : {{The Linux Kernel/include|uapi/linux/seccomp.h}} &ndash; {{The Linux Kernel/id|SECCOMP_MODE_FILTER}}, {{The Linux Kernel/id|SECCOMP_RET_ALLOW}}, {{The Linux Kernel/id|SECCOMP_RET_KILL}} ⚙️ Internals: : {{The Linux Kernel/source|kernel/seccomp.c}} : {{The Linux Kernel/id|seccomp_filter}} &ndash; container for seccomp BPF programs 📖 References: : {{The Linux Kernel/doc|Seccomp BPF|userspace-api/seccomp_filter.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Secure stress-ng --seccomp] ==== File sealing ==== File sealing restricts operations on anonymous files created with {{The Linux Kernel/man|2|memfd_create}}. Once sealed, a file cannot be modified in ways forbidden by its seals, providing integrity guarantees for shared memory. Used by Wayland for safe buffer handoff, systemd for sealed service binaries, and kdbus for immutable message payloads. ⚲ API: : {{The Linux Kernel/man|2|memfd_create}} &ndash; create anonymous sealable file : {{The Linux Kernel/man|2|fcntl}} with {{The Linux Kernel/id|F_ADD_SEALS}}, {{The Linux Kernel/id|F_GET_SEALS}} : {{The Linux Kernel/id|F_SEAL_SEAL}}, {{The Linux Kernel/id|F_SEAL_SHRINK}}, {{The Linux Kernel/id|F_SEAL_GROW}}, {{The Linux Kernel/id|F_SEAL_WRITE}} ⚙️ Internals: : {{The Linux Kernel/source|mm/memfd.c}} : {{The Linux Kernel/man|2|fcntl}}({{The Linux Kernel/id|F_ADD_SEALS}}) ↪ {{The Linux Kernel/id|do_fcntl}} ↪ {{The Linux Kernel/id|memfd_fcntl}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#seal stress-ng --seal] ==== Keyrings ==== The kernel keyring service manages cryptographic keys, authentication tokens, and other security data. Keyrings are hierarchical and per-process, used by filesystems (fscrypt), networking (Kerberos, TLS), and module signature verification. ⚲ API: : {{The Linux Kernel/man|2|add_key}}, {{The Linux Kernel/man|2|keyctl}} ↪ {{The Linux Kernel/id|sys_keyctl}}, {{The Linux Kernel/man|2|request_key}} : {{The Linux Kernel/include|keys}} ⚙️ Internals: : {{The Linux Kernel/source|security/keys}} :: {{The Linux Kernel/source|security/keys/keyctl.c}} 📖 References: : {{The Linux Kernel/doc|Kernel Keys|security/keys}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#key stress-ng --key] ==== LSM ==== {{w|Linux Security Modules}} (LSM) is a framework providing hooks for access control implementations. SELinux, AppArmor, Landlock, Yama, and Lockdown are LSM modules. Keyrings (security/keys) and IMA/EVM (security/integrity) are separate subsystems that share the security/ tree but are not LSMs. ⚲ API: : {{The Linux Kernel/include|linux/security.h}} ⚙️ Internals: : {{The Linux Kernel/source|security}} :: {{The Linux Kernel/source|security/security.c}} &ndash; LSM framework core, hook dispatch :: {{The Linux Kernel/source|security/selinux}} &ndash; {{w|SELinux}}, https://selinuxproject.github.io/ :: {{The Linux Kernel/source|security/apparmor}} &ndash; {{w|AppArmor}} :: {{The Linux Kernel/source|security/landlock}} &ndash; Landlock unprivileged sandboxing (since 5.13) :: {{The Linux Kernel/source|security/integrity}} &ndash; IMA integrity measurement and EVM extended verification :: {{The Linux Kernel/source|security/lockdown}} &ndash; kernel lockdown, restricts access to kernel features :: {{The Linux Kernel/source|security/yama}} &ndash; Yama, ptrace scope restrictions : {{The Linux Kernel/include|linux/verification.h}} : {{The Linux Kernel/source|certs}} &ndash; module signing certificates 📖 References: : {{The Linux Kernel/doc|Security|security}} :: {{The Linux Kernel/doc|LSM - Linux Security Modules|security/lsm.html}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#AppArmor stress-ng --apparmor] === ... === Appendix for Security: 🔧 TODO : {{The Linux Kernel/man|2|fcntl}} ↪ {{The Linux Kernel/id|do_fcntl}} : {{w|chroot}}, {{The Linux Kernel/man|2|chroot}} : {{w|Address_space_layout_randomization#Linux|Address space layout randomization}} :: {{The Linux Kernel/man|8|setarch}} / {{The Linux Kernel/man|2|personality}} 📖 References : {{The Linux Kernel/doc|Security-related interfaces|userspace-api/index.html#security-related-interfaces}} :: {{The Linux Kernel/doc|No New Privileges Flag|userspace-api/no_new_privs.html}} :: {{The Linux Kernel/doc|Landlock: unprivileged access control|userspace-api/landlock.html}} :: {{The Linux Kernel/doc|Linux Security Modules|userspace-api/lsm.html}} :: {{The Linux Kernel/doc|Introduction of non-executable mfd|userspace-api/mfd_noexec.html}} :: {{The Linux Kernel/doc|Speculation Control|userspace-api/spec_ctrl.html}} :: {{The Linux Kernel/doc|TEE (Trusted Execution Environment) Userspace API|userspace-api/tee.html}} :: {{The Linux Kernel/doc|Executability check|userspace-api/check_exec.html}} : {{The Linux Kernel/doc|Hardware vulnerabilities|admin-guide/hw-vuln}} : {{The Linux Kernel/ltp|kernel|security}} : {{The Linux Kernel/ltp||cve}} : http://kernsec.org/wiki/index.php/Main_Page == Debugging == See [[The_Linux_Kernel/Debugging|Debugging the Linux kernel]] ==Multimedia subsystems== ⚙️ Internals : {{The Linux Kernel/source|drivers/media}} &ndash; media subsystem (V4L2, DVB, etc.) === Graphics === Old graphics (not to be confused with v4l): ⚲ API : {{The Linux Kernel/include|video}} <!-- : {{The Linux Kernel/include|uapi/video}} old stuff --> ⚙️ Internals : {{The Linux Kernel/source|drivers/video}} &ndash; framebuffer and video drivers ==== {{w|Direct Rendering Manager}} (DRM) ==== DRM is responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations such as configuring the mode setting of the display. User-space programs can use the DRM API to command the GPU to do hardware-accelerated 3D rendering and video decoding, as well as {{w|General-purpose computing on graphics processing units|GPGPU}} computing. ⚲ API : /sys/class/drm/ : {{The Linux Kernel/include|uapi/drm}} :: {{The Linux Kernel/include|uapi/drm/drm.h}} ::: {{The Linux Kernel/id|DRM_IOCTL_BASE}} ::: {{The Linux Kernel/id|drm_version}} ⚙️ Internals : {{The Linux Kernel/source|drivers/gpu/drm}} &ndash; DRM core and drivers : {{The Linux Kernel/include|drm}} : {{The Linux Kernel/include|drm_gem.h}} &ndash; Graphics Execution Manager Driver Interfaces : {{The Linux Kernel/id|drm_dev_register}} registers {{The Linux Kernel/id|drm_device}} === {{w|Advanced Linux Sound Architecture}} (ALSA) === ALSA is a software framework and part of the Linux kernel that provides an API for sound card device drivers. Some of the goals of the ALSA project at its inception were automatic configuration of sound-card hardware and graceful handling of multiple sound devices in a system. The sound servers PulseAudio, JACK (low-latency professional-grade audio editing and mixing) and PipeWire, the higher-level abstraction APIs OpenAL, SDL audio, etc. work on top of ALSA and implemented sound card device drivers. On Linux systems, ALSA succeeded the older {{w|Open Sound System}} (OSS). ⚲ API : /proc/asound/cards, /sys/class/sound/ : {{The Linux Kernel/id|snd_card}} - central struct : {{The Linux Kernel/id|snd_card_new}} : {{The Linux Kernel/id|snd_card_register}} : {{The Linux Kernel/id|snd_device_ops}} : {{The Linux Kernel/id|snd_device_new}} creates an ALSA device component : {{The Linux Kernel/include|uapi/sound/asound.h}} : {{The Linux Kernel/include|sound/core.h}} ⚙️ Internals : {{The Linux Kernel/source|sound}} &ndash; ALSA sound subsystem : {{The Linux Kernel/source|sound/core/device.c}} &ndash; ALSA device management : See [[#Sound SoC - ASoC|ASoC]] 📖 References : {{The Linux Kernel/doc|ALSA (sound)|sound}} : {{The Linux Kernel/doc|Writing an ALSA Driver|sound/kernel-api/writing-an-alsa-driver.html}} : {{The Linux Kernel/ltp|kernel|sound}} === {{w|Video4Linux}} (V4L2) === V4L is a collection of device drivers and an API for supporting realtime video capture on Linux systems. It supports many USB webcams, TV tuners, and related devices, standardizing their output, so programmers can easily add video support to their applications. MythTV, tvtime and Tvheadend are typical applications that use the V4L framework. ⚲ API : {{The Linux Kernel/id|v4l2_device_register}} registers {{The Linux Kernel/id|v4l2_device}} : {{The Linux Kernel/id|video_register_device}} registers {{The Linux Kernel/id|video_device}} : 👁 examples {{The Linux Kernel/source|drivers/media/test-drivers}} 📖 References : {{w|Video4Linux}} : {{The Linux Kernel/doc|media|driver-api/media}} : {{The Linux Kernel/doc|V4L|userspace-api/media/drivers/}} : [https://linuxtv.org/downloads/v4l-dvb-apis-new/driver-api/index.html Media subsystem kernel internal API] ==HID== Generic human interface devices. Don't confuse with [[../System#hiddev|hiddev]]. === Input devices === Input device files are kind of [[#char devices|char devices]] with id {{The Linux Kernel/id|INPUT_MAJOR}}. Classic input devices are keyboard and mouse. ⚲ API : In shell: cat /proc/bus/input/devices : {{The Linux Kernel/include|linux/input.h}} : {{The Linux Kernel/id|devm_input_allocate_device}}, {{The Linux Kernel/id|input_register_device}}, {{The Linux Kernel/id|input_register_handler}}, {{The Linux Kernel/id|input_dev}} : {{The Linux Kernel/id|input_report_key}} {{The Linux Kernel/id|input_sync}} 👁 Examples : {{The Linux Kernel/source|drivers/input/mousedev.c}} &ndash; mouse device emulation : {{The Linux Kernel/source|drivers/input/keyboard/atkbd.c}} &ndash; AT/PS2 keyboard driver <big>⌨️</big> Hands on sudo hexdump /dev/input/mice # dump your mouse movements events from your kernel ⚙️ Internals : {{The Linux Kernel/source|drivers/input/input.c}} &ndash; input core : {{The Linux Kernel/id|input_event}} 📖 References : {{The Linux Kernel/doc|Input|input}} : {{The Linux Kernel/ltp|kernel|input}} === HID devices === 🔧 TODO ⚲ API : {{The Linux Kernel/id|hid_device}} - device report descriptor. Operations: {{The Linux Kernel/id|hid_allocate_device}}, {{The Linux Kernel/id|hid_add_device}} . 👁 Example {{The Linux Kernel/id|usbhid_probe}} : {{The Linux Kernel/include|uapi/linux/hid.h}} : {{The Linux Kernel/include|linux/hid.h}} === Camera === 🔧 TODO ⚲ API : {{The Linux Kernel/include|uapi/linux/uvcvideo.h}} 📖 References : {{The Linux Kernel/doc|UVC|userspace-api/media/drivers/uvcvideo.html}} : {{The Linux Kernel/source|drivers/media/usb/uvc}} &ndash; USB Video Class driver ==HI device drivers== This section is about low level drivers to human interface peripheral devices. ⚲ '''HID''' API : {{The Linux Kernel/include|linux/hidraw.h}} : {{The Linux Kernel/id|module_hid_driver}} registers {{The Linux Kernel/id|hid_driver}} : {{The Linux Kernel/id|hid_hw_start}} ⚙️ Internals : {{The Linux Kernel/id|hid_bus_type}} : {{The Linux Kernel/source|drivers/hid}} &ndash; HID transport drivers : {{The Linux Kernel/source|drivers/hid/hid-core.c}} &ndash; HID core parsing and event handling : {{The Linux Kernel/source|drivers/accessibility}} &ndash; accessibility drivers (speakup) : {{The Linux Kernel/source|drivers/leds}} &ndash; LED class drivers : {{The Linux Kernel/source|samples/uhid/uhid-example.c}} - 👁 example of user mode HID driver : {{The Linux Kernel/source|drivers/input}} : keyboard & mouse, misc, serio, tablet, touchscreen, gameport, joystick :: <big>⌨️</big> Hands on :: echo "module atkbd +pfl" | sudo tee /sys/kernel/debug/dynamic_debug/control '''USB HID''' ⚲ '''HID''' API : {{The Linux Kernel/id|USB_INTERFACE_CLASS_HID}} == {{The Linux Kernel/id|USB_CLASS_HID}} ⚙️ Internals : {{The Linux Kernel/source|drivers/hid/usbhid}} &ndash; USB HID transport :: {{The Linux Kernel/source|drivers/hid/usbhid/usbkbd.c}}: {{The Linux Kernel/id|usb_kbd_driver}} :: {{The Linux Kernel/source|drivers/hid/usbhid/usbmouse.c}}: {{The Linux Kernel/id|usb_mouse_driver}} 📖 References : <!-- find include/ -type f -name '*hid*' | sed 's-include/\(.*\)-* {{The Linux Kernel/include|\1}}-' -->{{The Linux Kernel/doc|USB HID class|hid}} === Display drivers === 🔧 TODO 🗝️ Acronyms : FB - {{w|Linux framebuffer|Framebuffer}} : GPU - {{w|Graphics processing unit}} : TFT (LCD) - {{w|Thin-film-transistor liquid-crystal display}} used for 🤖 embedded devices : MIPI - 📱 {{w|Mobile Industry Processor Interface}} :: DBI - Display Bus Interface :: DSI - {{w|Display Serial Interface}} :: DCS - The Display Command Set ⚲ API : cat /proc/fb : ls -l /sys/class/graphics : {{The Linux Kernel/include|video/mipi_display.h}} : {{The Linux Kernel/include|linux/fb.h}} : {{The Linux Kernel/id|devm_register_framebuffer}} :: {{The Linux Kernel/id|register_framebuffer}} : {{The Linux Kernel/id|FBTFT_REGISTER_DRIVER}} : {{The Linux Kernel/id|fbtft_display}} ⚙️ Internals : {{The Linux Kernel/source|drivers/video}} &ndash; framebuffer and video drivers : {{The Linux Kernel/source|drivers/gpu}} &ndash; GPU and DRM drivers 👁 Examples : {{The Linux Kernel/id|vivid_fb_init}} : {{The Linux Kernel/id|fbtft_register_framebuffer}} 📖 References : {{The Linux Kernel/doc|GPU Driver Developer’s Guide|gpu}} : {{The Linux Kernel/doc|The Frame Buffer Device|fb}} : {{The Linux Kernel/doc|Frame Buffer Library|driver-api/frame-buffer.html}} : [https://lwn.net/Kernel/Index/#Device_drivers-Graphics LWN: Graphics] === Sound SoC - ASoC === ALSA System on Chip (ASoC) layer for 🤖 embedded systems. ASoC is designed to handle complex audio processing and routing on low-power and resource-constrained systems, making it an ideal solution for embedded devices such as smartphones, tablets, and other IoT devices. ASoC provides a comprehensive framework for audio drivers, enabling the creation of modular audio drivers that can be easily integrated with the rest of the kernel. It also supports a wide range of audio interfaces, including I2S, PCM, AC97, and SPDIF, making it highly versatile and capable of handling a variety of audio formats. One of the key features of ASoC is its ability to handle audio routing and processing using Digital Signal Processing (DSP) techniques. This enables ASoC to support advanced audio features such as noise reduction, echo cancellation, and dynamic range compression, among others. Overall, ASoC is a powerful and flexible subsystem that enables Linux to support a wide range of audio hardware in embedded devices. It has become an essential component of many embedded Linux distributions and is widely used in the development of modern audio-enabled devices. ⚲ API : {{The Linux Kernel/include|sound/soc.h}} :: {{The Linux Kernel/id|snd_soc_card}} ::: is registered by {{The Linux Kernel/id|devm_snd_soc_register_card}} ⇾ {{The Linux Kernel/id|snd_soc_register_card}} : {{The Linux Kernel/include|sound/soc-component.h}} :: {{The Linux Kernel/id|snd_soc_component}} ::: {{The Linux Kernel/id|snd_soc_component_driver}} ::: {{The Linux Kernel/id|snd_soc_card}} :::: {{The Linux Kernel/id|snd_card}} :: {{The Linux Kernel/id|snd_soc_register_component}} {{The Linux Kernel/id|snd_soc_component_get_drvdata}} {{The Linux Kernel/id|snd_soc_component_read}} {{The Linux Kernel/id|snd_soc_component_update_bits}} {{The Linux Kernel/id|snd_soc_component_write}} : {{The Linux Kernel/include|sound/soc-dai.h}} - {{The Linux Kernel/doc|DAI - Digital Audio Interface|sound/soc/dai.html}}: {{w|AC97}}, {{w|I2S}}, {{w|PCM}} :: {{The Linux Kernel/id|snd_soc_dai}} {{The Linux Kernel/id|snd_soc_dai_driver}} {{The Linux Kernel/id|snd_soc_dai_get_drvdata}} : {{The Linux Kernel/include|sound/soc-dpcm.h}} - {{The Linux Kernel/doc|DPCM - Dynamic PCM|sound/soc/dpcm.html}} : {{The Linux Kernel/include|sound/soc-dapm.h}} - {{The Linux Kernel/doc|DAPM - Dynamic Audio Power Management|sound/soc/dapm.html}} :: {{The Linux Kernel/id|snd_soc_dapm_route}}, {{The Linux Kernel/id|snd_soc_dapm_to_component}}, {{The Linux Kernel/id|snd_soc_dapm_widget}} 👁 Examples : {{The Linux Kernel/source|sound/soc/generic/simple-card.c}} : {{The Linux Kernel/source|sound/soc/generic/audio-graph-card.c}} uses {{The Linux Kernel/include|sound/graph_card.h}} ⚙️ Internals : {{The Linux Kernel/source|sound/soc}} &ndash; ASoC framework : {{The Linux Kernel/id|snd_soc_card}} :: {{The Linux Kernel/id|snd_soc_dai_link}} 📖 References : {{The Linux Kernel/doc|ASoC - ALSA SoC Layer|sound/soc}} : {{The Linux Kernel/doc|ASoC Core API|sound/kernel-api/alsa-driver-api.html?#asoc}} : https://www.alsa-project.org/wiki/ASoC :: https://www.alsa-project.org/wiki/DAPM 🗝️ Acronyms SAI could be : STM ''Serial'' Audio Interface: {{The Linux Kernel/source|sound/soc/stm/stm32_sai.h}} : Freescale (FSL) ''Synchronous'' Audio Interface: {{The Linux Kernel/source|sound/soc/fsl/fsl_sai.h}} {{BookCat}} {{status|25%}} f8l1u7ermgn8u1ekxc7fqrpla4q57st Calculus/Vector Functions 0 422992 4656869 3807593 2026-08-09T22:31:19Z ShakespeareFan00 46022 4656869 wikitext text/x-wiki == Introduction == If we have a function <math>\vec{f}:\R\to\R^n</math> , we say that <math>\vec{f}</math>'s image (the set <math>\Big\{\vec{f}(t)\Big|t\in\R\Big\}</math> - or some subset of <math>\R</math>) is a ''curve'' in <math>\R^n</math> and <math>\vec{f}</math> is its parametrization. Parameterizations are not necessarily unique - for example, <math>\vec{f}(t)=(\cos(t),\sin(t))</math> such that <math>t\in[0,2\pi)</math> is one parametrization of the unit circle, and <math>\vec{g}(t)=(\cos(at),\sin(at))</math> such that <math>t\in\left[0,\frac{2\pi}{a}\right)</math> is a whole family of parameterizations of that circle. ===Collision and intersection points=== Say we have two different curves. It may be important to consider *points the two curves share - where they ''intersect'' *intersections which occur for the same value of <math>t</math> - where they ''collide''. ==== Intersection points ==== Firstly, we have two parameterizations <math>\vec{f}(t)</math> and <math>\vec{g}(t)</math> , and we want to find out when they intersect, this means that we want to know when the function values of each parametrization are the same. This means that we need to solve :<math>\vec{f}(t)=\vec{g}(s)</math> because we're seeking the function values independent of the times they intersect. For example, if we have <math>\vec{f}(t)=(t,3t)</math> and <math>\vec{g}(t)=(t,t^2)</math> , and we want to find intersection points: :<math>\vec{f}(t)=\vec{g}(s)</math> :<math>(t,3t)=(s,s^2)</math> :<math>t=s\ ,\ 3t=s^2</math> with solutions <math>(t,s)=(0,0)\ ,\ (3,9)</math> So, the two curves intersect at the points <math>(0,0)\ ,\ (3,9)</math> . ==== Collision points ==== However, if we want to know when the points "collide", with <math>\vec{f}(t)</math> and <math>\vec{g}(t)</math> , we need to know when both the function values ''and'' the times are the same, so we need to solve instead :<math>\vec{f}(t)=\vec{g}(t)</math> For example, using the same functions as before, <math>\vec{f}(t)=(t, 3t)</math> and <math>\vec{g}(t)=(t,t^2)</math> , and we want to find collision points: :<math>\vec{f}(t)=\vec{g}(t)</math> :<math>(t,3t)=(t,t^2)</math> :<math>t=t\ ,\ 3t=t^2</math> which gives solutions <math>t=0,3</math> So the collision points are <math>(0,0)\ ,\ (3,9)</math> . We may want to do this to actually model physical problems, such as in ballistics. === Intersection vector functions === We can also use vector functions to represent the curve of intersection of two surfaces. For example, we want to know the curve of intersection of the cylinder <math>x^2+y^2=1</math> and the plane <math>y+z=2</math>.<blockquote>Vector functions rely on parameterizations, so we can rewrite the equation of the cylinder into: <math>\cos^2 t+\sin^2 t=1</math>, where <math>x=\cos t,y=\sin t</math>. From the equation of the plane, we know that <math>z=2-y=2-\sin t</math>. Thus the corresponding vector equation is: <math>\mathbf{r}(t)=\langle \cos t,\sin t,2-\sin t\rangle</math></blockquote> === Limits and Continuity === The limit of a vector function <math>\mathbf{r}</math> is defined by taking the limits of its component functions. {{Calculus/Def|title=The limit of a vector function|text=There is a vector function <math>\mathbf{r}(t)=\langle f(t),g(t),h(t) \rangle</math>. If <math>\lim_{t \rightarrow a}f(t),\lim_{t \rightarrow a}g(t),\lim_{t \rightarrow a}h(t)</math> exist, then :<math>\lim_{t \rightarrow a}\mathbf{r}(t)=\langle \lim_{t \rightarrow a}f(t),\lim_{t \rightarrow a}g(t),\lim_{t \rightarrow a}h(t) \rangle</math>}} And the requirement for continuity is also simple:<blockquote>A vector function <math>\mathbf{r}</math> is continuous at <math>a</math> if <math>\lim_{t\rightarrow a}\mathbf{r}(t)=\mathbf{r}(a)</math>.</blockquote> == Derivatives and Integrals == === Differentiation === Recall that the first derivative of a scalar function <math>f(x)</math> is defined as:<blockquote><math>f'(x)=\lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}</math></blockquote>The first derivative of a vector function <math>\mathbf{r}(t)</math> is defined in much the same way:<blockquote><math>\mathbf{r}'(t)=\lim_{\Delta t\rightarrow 0}\frac{\mathbf{r}(t+\Delta t)-\mathbf{r}(t)}{\Delta t}</math></blockquote>We can use this definition to prove that the derivative of a vector function can be presented as the derivative of its component functions.<blockquote><math>\begin{align} \mathbf{r}'(t) & = \lim_{\Delta t\rightarrow 0}\frac{1}{\Delta t}[\mathbf{r}(t+\Delta t)-\mathbf{r}(t)] \quad \text{definition}\\ & = \lim_{\Delta t\rightarrow 0}\frac{1}{\Delta t}[\langle f(t+\Delta t),g(t+\Delta t),h(t+\Delta t)\rangle-\langle f(t),g(t),h(t) \rangle] \quad \text{component form}\\ & = \lim_{\Delta t\rightarrow 0}\langle \frac{f(t+\Delta t)-f(t)}{\Delta t},\frac{g(t+\Delta t)-g(t)}{\Delta t},\frac{h(t+\Delta t)-h(t)}{\Delta t}\rangle \quad\text{vector addition and multiplication}\\ & = \langle \lim_{\Delta t\rightarrow 0}\frac{f(t+\Delta t)-f(t)}{\Delta t},\lim_{\Delta t\rightarrow 0}\frac{g(t+\Delta t)-g(t)}{\Delta t},\lim_{\Delta t\rightarrow 0}\frac{h(t+\Delta t)-h(t)}{\Delta t}\rangle\quad\text{definition}\\ & = \langle f'(t),g'(t),h'(t)\rangle \quad\text{definition}\\ \end{align} </math></blockquote>Thus, using the same method, we can derive the second derivative and so on. {{Calculus/Def|title=Derivatives of a vector function|text=There is a vector function <math>\mathbf{r}(t)=\langle f(t),g(t),h(t) \rangle</math>. The first derivative of this vector function is: :<math>\mathbf{r}'(t)=\lim_{\Delta t\rightarrow 0}\frac{\mathbf{r}(t+\Delta t)-\mathbf{r}(t)}{\Delta t}= \langle f'(t),g'(t),h'(t)\rangle</math>}}So the <math>n</math>th-order derivative should look like this:<blockquote><math>\mathbf{r}^{(n)}(t)=\langle f^{(n)}(t),g^{(n)}(t),h^{(n)}(t)\rangle</math></blockquote> === Differentiation rules === Just like real-valued functions, there are some differentiation rules in the world of vector functions. The factor that makes vector differentiation rules slight more complicated is the product rule because there are two kinds of multiplication in vectors: dot product and cross product. {{Calculus/Def|title=Differentiation rules for vector functions|text=Suppose <math>\mathbf{u},\mathbf{v}</math> are differentiable vector functions and <math>f</math> is a real-valued function. Then # <math>\frac{d}{dt}[\mathbf{u}(t)+\mathbf{v}(t)]=\mathbf{u}'(t)+\mathbf{v}'(t)\quad</math> (addition) # <math>\frac{d}{dt}[f(t)\mathbf{u}(t)]=f'(t)\mathbf{u}(t)+f(t)\mathbf{u}'(t)\quad</math> (scalar multiplication) # <math>\frac{d}{dt}[\mathbf{u}(t)\cdot\mathbf{v}(t)]=\mathbf{u}'(t)\cdot\mathbf{v}(t)+\mathbf{u}(t)\cdot\mathbf{v}'(t)\quad</math> (dot product) # <math>\frac{d}{dt}[\mathbf{u}(t)\times\mathbf{v}(t)]=\mathbf{u}'(t)\times\mathbf{v}(t)+\mathbf{u}(t)\times\mathbf{v}'(t)\quad</math> (cross product) # <math>\frac{d}{dt}[\mathbf{u}(f(t))]=f'(t)\mathbf{u}'(f(t))\quad</math> (chain rule)}} Naturally, we will prove that those rules are correct. Let us assume that <math>\mathbf{u}(t)=\langle f_1(t),f_2(t),f_3(t)\rangle</math> and <math>\mathbf{v}(t)=\langle g_1(t),g_2(t),g_3(t)\rangle</math>. Rule 1: the addition rule<blockquote><math>\begin{align} \frac{d}{dt}[\mathbf{u}(t)+\mathbf{v}(t)] & = \frac{d}{dt}[\langle f_1(t),f_2(t),f_3(t)\rangle+\langle g_1(t),g_2(t),g_3(t)\rangle]\quad \text{component form} \\ & = \frac{d}{dt}\langle f_1(t)+g_1(t),f_2(t)+g_2(t),f_3(t)+g_3(t)\rangle \quad \text{vector addition}\\ & = \langle \frac{d}{dt}(f_1(t)+g_1(t)),\frac{d}{dt}(f_2(t)+g_2(t)),\frac{d}{dt}(f_3(t)+g_3(t))\rangle \quad\text{distribution}\\ & = \langle f_1'(t)+g_1'(t),f_2'(t)+g_2'(t),f_3'(t)+g_3'(t)\rangle\quad\text{addition rule for real-valued functions}\\ & = \langle f_1'(t),f_2'(t),f_3'(t)\rangle+\langle g_1'(t),g_2'(t),g_3'(t)\rangle\quad\text{vector addition}\\ & = \mathbf{u}'(t)+\mathbf{v}'(t)\quad\text{vector form}\\ \end{align}</math></blockquote>Rule 2: the scalar multiplication rule<blockquote><math>\begin{align} \frac{d}{dt}[f(t)\mathbf{u}(t)] & = \frac{d}{dt}[f(t)\begin{pmatrix} f_1(t)\\f_2(t)\\f_3(t)\end{pmatrix}]\quad\text{component form}\\ & = \frac{d}{dt}\begin{pmatrix} f(t)f_1(t)\\f(t)f_2(t)\\f(t)f_3(t)\end{pmatrix}\quad\text{scalar multiplication}\\ & = \begin{pmatrix} \frac{d}{dt}(f(t)f_1(t))\\ \frac{d}{dt}(f(t)f_2(t))\\ \frac{d}{dt}(f(t)f_3(t))\\ \end{pmatrix}\quad\text{distribution}\\ & = \begin{pmatrix} f'(t)f_1(t)+f(t)f_1'(t)\\ f'(t)f_2(t)+f(t)f_2'(t)\\ f'(t)f_3(t)+f(t)f_3'(t)\\ \end{pmatrix}\quad\text{multiplication rule for real-valued functions}\\ & = \begin{pmatrix} f'(t)f_1(t)\\f'(t)f_2(t)\\f'(t)f_3(t)\end{pmatrix}+ \begin{pmatrix} f(t)f_1'(t)\\f(t)f_2'(t)\\f(t)f_3'(t)\end{pmatrix}\quad\text{vector addition}\\ & = f'(t)\begin{pmatrix} f_1(t)\\f_2(t)\\f_3(t)\end{pmatrix}+f(t)\begin{pmatrix} f_1'(t)\\f_2'(t)\\f_3'(t)\end{pmatrix}\quad\text{scalar multiplication}\\ & = f'(t)\mathbf{u}(t)+f(t)\mathbf{u}'(t)\quad\text{vector form}\\ \end{align}</math></blockquote>Rule 3: the dot product rule<blockquote><math>\begin{align} \frac{d}{dt}[\mathbf{u}(t)\cdot\mathbf{v}(t)] & = \frac{d}{dt}[\langle f_1(t),f_2(t),f_3(t)\rangle \cdot \langle g_1(t),g_2(t),g_3(t)\rangle]\quad\text{component form}\\ & = \frac{d}{dt}(f_1(t)g_1(t)+f_2(t)g_2(t)+f_3(t)g_3(t))\quad\text{dot product}\\ & = \frac{d}{dt}\sum_{i=1}^3f_i(t)g_i(t)\quad\text{simplification}\\ & = \sum_{i=1}^3\frac{d}{dt}f_i(t)g_i(t)\quad\text{distribution}\\ & = \sum_{i=1}^3[f_i'(t)g_i(t)+f_i(t)g_i'(t)]\quad\text{multiplication rule for real-valued functions}\\ & = \sum_{i=1}^3f_i(t)g_i(t)+\sum_{i=1}^3f_i(t)g_i'(t)\quad\text{vector addition}\\ & = \mathbf{u}'(t)\cdot\mathbf{v}(t)+\mathbf{u}(t)\cdot\mathbf{v}'(t)\quad\text{vector form}\\ \end{align}</math></blockquote>Rule 4: the cross product rule<blockquote><math>\begin{align} \frac{d}{dt}[\mathbf{u}(t)\times\mathbf{v}(t)] & = \frac{d}{dt}[\langle f_1(t),f_2(t),f_3(t)\rangle\times\langle g_1(t),g_2(t),g_3(t)\rangle]\quad\text{component form}\\ & = \frac{d}{dt}\begin{vmatrix} \mathbf{\hat{i}} & \mathbf{\hat{j}} & \mathbf{\hat{k}} \\ f_1(t) & f_2(t) & f_3(t) \\ g_1(t) & g_2(t) & g_3(t) \\ \end{vmatrix}\quad\text{cross product}\\ & = \frac{d}{dt}\begin{pmatrix} f_2(t)g_3(t)-f_3(t)g_2(t)\\ f_3(t)g_1(t)-f_1(t)g_3(t)\\ f_1(t)g_2(t)-f_2(t)g_1(t)\\ \end{pmatrix}\quad\\ & = \begin{pmatrix} \frac{d}{dt}(f_2(t)g_3(t)-f_3(t)g_2(t))\\ \frac{d}{dt}(f_3(t)g_1(t)-f_1(t)g_3(t))\\ \frac{d}{dt}(f_1(t)g_2(t)-f_2(t)g_1(t))\\ \end{pmatrix}\quad\text{distribution}\\ & = \begin{pmatrix} f_2'(t)g_3(t)+f_2(t)g_3'(t)-f_3'(t)g_2(t)-f_3(t)g_2'(t)\\ f_3'(t)g_1(t)+f_3(t)g_1'(t)-f_1'(t)g_3(t)-f_1(t)g_3'(t)\\ f_2'(t)g_3(t)+f_2(t)g_3'(t)-f_3'(t)g_2(t)-f_3(t)g_2'(t)\\ \end{pmatrix}\quad\text{multiplication rule for real-valued functions}\\ & = \begin{pmatrix} f_2'(t)g_3(t)-f_3'(t)g_2(t)+f_2(t)g_3'(t)-f_3(t)g_2'(t)\\ f_3'(t)g_1(t)-f_1'(t)g_3(t)+f_3(t)g_1'(t)-f_1(t)g_3'(t)\\ f_2'(t)g_3(t)-f_3'(t)g_2(t)+f_2(t)g_3'(t)-f_3(t)g_2'(t)\\ \end{pmatrix}\quad\text{rearrangement}\\ & = \begin{pmatrix} f_2'(t)g_3(t)-f_3'(t)g_2(t)\\f_3'(t)g_1(t)-f_1'(t)g_3(t)\\f_2'(t)g_3(t)-f_3'(t)g_2(t)\\\end{pmatrix}+ \begin{pmatrix} f_2(t)g_3'(t)-f_3(t)g_2'(t)\\f_3(t)g_1'(t)-f_1(t)g_3'(t)\\f_2(t)g_3'(t)-f_3(t)g_2'(t)\\\end{pmatrix}\quad\text{vector addtion}\\ & = \begin{vmatrix} \mathbf{\hat{i}} & \mathbf{\hat{j}} & \mathbf{\hat{k}} \\ f_1'(t) & f_2'(t) & f_3'(t) \\ g_1(t) & g_2(t) & g_3(t) \\\end{vmatrix}+\begin{vmatrix} \mathbf{\hat{i}} & \mathbf{\hat{j}} & \mathbf{\hat{k}} \\ f_1(t) & f_2(t) & f_3(t) \\ g_1'(t) & g_2'(t) & g_3'(t) \\ \end{vmatrix}\quad\text{cross product}\\ & = \begin{pmatrix} f_1'(t) \\ f_2'(t) \\ f_3'(t)\\\end{pmatrix}\times\begin{pmatrix} g_1(t) \\ g_2(t) \\ g_3(t) \\\end{pmatrix}+ \begin{pmatrix} f_1(t) \\ f_2(t) \\ f_3(t)\\\end{pmatrix}\times\begin{pmatrix} g_1'(t) \\ g_2'(t) \\ g_3'(t) \\\end{pmatrix}\quad\\ & = \mathbf{u}'(t)\times\mathbf{v}(t)+\mathbf{u}(t)\times\mathbf{v}'(t)\quad\text{vector form}\\ \end{align}</math></blockquote>Rule 5: the chain rule<blockquote><math>\begin{align} \frac{d}{dt}[\mathbf{u}(f(t))] & = \frac{d}{dt}\begin{pmatrix} f_1(f(t)) \\ f_2(f(t)) \\ f_3(f(t)) \\\end{pmatrix}\quad\text{component form}\\ & = \begin{pmatrix} \frac{d}{dt}f_1(f(t)) \\ \frac{d}{dt}f_2(f(t)) \\ \frac{d}{dt}f_3(f(t)) \\\end{pmatrix}\quad\text{distribution}\\ & = \begin{pmatrix} f'(t)f_1'(f(t)) \\ f'(t)f_2'(f(t)) \\ f'(t)f_3'(f(t)) \\\end{pmatrix}\quad \text{chain rule for real-valued functions}\\ & = f'(t)\begin{pmatrix} f_1'(f(t)) \\ f_2'(f(t)) \\ f_3'(f(t)) \\\end{pmatrix}\quad\text{scalar multiplication}\\ & = f'(t)\mathbf{u}'(f(t))\quad\text{vector form}\\ \end{align}</math></blockquote><math>\blacksquare</math> ==== Angle between curves ==== [[Image:Inner-product-angle.png|right|thumb]] We can then formulate the concept of the ''angle'' between two curves by considering the angle between the two tangent vectors. If two curves, parametrized by <math>\vec{f_1}</math> and <math>\vec{f_2}</math> intersect at some point, which means that :<math>\vec{f_1}(s)=\vec{f_2}(t)=c</math> the angle between these two curves at <math>c</math> is the angle between the tangent vectors <math>\vec{f_1'}(s)</math> and <math>\vec{f_2'}(t)</math>, using the dot product, is given by :<math>\arccos\left(\frac{\vec{f_1'}(s)\cdot\vec{f_2'}(t)}{\Big\|\vec{f_1'}(s)\Big\|\Big\|\vec{f_2'}(t)\Big\|}\right)</math> === Integration === Similar to real-valued functions, the definite integral of a vector function <math>\mathbf{r}(t)</math> is defined as:<blockquote><math>\begin{align} \int_a^b\mathbf{r}(t)dt & = \lim_{n\rightarrow\infty}\sum_{i=1}^n\mathbf{r}(t_i^*)\Delta t \\ & = \lim_{n\rightarrow\infty}\biggl[\biggl(\sum_{i=1}^nf(t_i^*)\Delta t\biggr)\mathbf{i}+\biggl(\sum_{i=1}^ng(t_i^*)\Delta t\biggr)\mathbf{j}+\biggl(\sum_{i=1}^nh(t_i^*)\Delta t\biggr)\mathbf{k}\biggr]\\ & = \biggl(\int_a^bf(t)dt\biggr)\mathbf{i}+\biggl(\int_a^bg(t)dt\biggr)\mathbf{j}+\biggl(\int_a^bh(t)dt\biggr)\mathbf{k} \end{align} </math></blockquote>We can extend the Fundamental Theorem of Calculus to continuous vector functions as follows: {{Calculus/Def|title=The Fundamental Theorem of Calculus (including vector functions)|text=:<math>\int_a^b\mathbf{r}(t)dt=\mathbf{R}(t)\biggr]_a^b=\mathbf{R}(b)-\mathbf{R}(a)</math>}} For indefinite integrals, the definition is:<blockquote><math>\int\mathbf{r}(t)dt=\biggl(\int f(t)dt\biggr)\mathbf{i}+\biggl(\int g(t)dt\biggr)\mathbf{j}+\biggl(\int h(t)dt\biggr)\mathbf{k}+\mathbf{C} </math></blockquote> === Arc length === Recall that in Chapter {{Calculus/map page|Parametric Integration}}, we deduced the length of a curve with parametric equations <math>\begin{cases} x=f(t) \\ y=g(t) \end{cases} </math>, <math>a\le t\le b </math> should be:<blockquote><math>L=\int_a^b\sqrt{\biggl(\frac{dx}{dt}\biggr)^2+\biggl(\frac{dy}{dt}\biggr)^2}dt </math></blockquote>Since vector functions are fundamentally parametric equations with directions, we can utilize the formula above into the length of a space curve. {{Calculus/Def|title=Arc length of a space curve|text=If the curve has the vector equation <math>\mathbf{r}(t)=\langle f(t),g(t),h(t)\rangle,a\le t\le b</math>, or, equivalently, the parametric equations <math>x=f(t),y=g(t),z=h(t)</math>, where <math>f',g',h'</math> are continuous, then the length of the curve from <math>t=a</math> to <math>t=b</math> is: :<math>L=\int_a^b\sqrt{[f'(t)]^2+[g'(t)]^2+[h'(t)]^2}dt=\int_a^b\sqrt{\biggl(\frac{dx}{dt}\biggr)^2+\biggl(\frac{dy}{dt}\biggr)^2+\biggl(\frac{dx}{dz}\biggr)^2}dt</math>}} For those who prefer simplicity, the formula can be rewritten into:<blockquote><math>L=\int_a^b|\mathbf{r}'(t)|dt\quad </math> or <math>\quad\frac{dL}{dt}=|\mathbf{r}'(t)|</math></blockquote> === Reparametrization === Suppose that there is a vector function which describes the displacement of a particle with respect to time and has the equation:<blockquote><math>\mathbf{r}(t)=\cos t\ \mathbf{i}+\sin t\ \mathbf{j}+t\ \mathbf{k} </math></blockquote>However, for some reason, we do not want to know the displacement of this particle with respect to time. Instead, we want to know its displacement with respect to its traveled distance (<math>s </math>) from <math>(1,0,0) </math> in the direction of increasing <math>t </math>. In order to do so, we need to find a way to describe time as a function of distance. In other words, we need to find <math>t=t(s) </math>. We can use the formula for the arc length to establish the relationship between time and distance because arc length in this case describes the distance traveled by the particle. Before we start calculating, we need to introduce the arc length function. {{Calculus/Def|title=Arc length function|text=Suppose that a piecewise-smooth curve with a vector function <math>\mathbf{r}(t)=\langle f(t),g(t),h(t)\rangle,a \le t \le b</math>, and the curve is traversed exactly once as <math>t</math> increases from <math>a</math> to <math>b</math>. The arc length function <math>s(t)</math> is: :<math>s(t)=\int_a^t\sqrt{\biggl(\frac{dx}{du}\biggr)^2+\biggl(\frac{dy}{du}\biggr)^2+\biggl(\frac{dz}{du}\biggr)^2}du</math>}} According to the definition, the arc length function for our curve <math>\mathbf{r}(t) </math> should be<blockquote><math>s(t)=\int_0^t|\mathbf{r}'(u)|du=\int_0^t\sqrt{(-\sin u)^2+(\cos u)^2+1^2}du=\sqrt{2}u\bigg]_0^t=\sqrt{2}t </math> Note that <math>a=0 </math> because the initial point <math>(1,0,0) </math> corresponds to the parameter value <math>t=0 </math>. Since it is in the direction of increasing <math>t </math>, the integration direction should be from <math>0 </math> to <math>t </math>. <math>t(s)=\frac{s}{\sqrt{2}} </math></blockquote>Then we substitute the original function and get the answer:<blockquote><math>\mathbf{r}(s)=\cos \frac{s}{\sqrt{2}}\ \mathbf{i}+\sin \frac{s}{\sqrt{2}}\ \mathbf{j}+\frac{s}{\sqrt{2}}\ \mathbf{k} </math></blockquote>Reparametrization has important applications in real life because sometimes we want to know a value with respect to different variables. In this case, instead of describing the path of a particle with respect to time, we described its path with respect to its distance, which will be very useful in certain situations. == Curvature == === Terminology === Before we start discussing curvature, there are some important vectors and concepts we need to be at least aware of. ==== The unit tangent vector ==== In the differentiation section of this chapter, we discussed the derivatives of a vector function. We know that <math>\mathbf{v}(t)=\mathbf{r}'(t)</math> at <math>t=t_0</math> is tangent to the curve <math>\mathbf{r}(t)</math> at <math>t=t_0</math>. <math>\mathbf{r}'(t)</math> is called the tangent vector. The unit tangent vector, however, eliminates the aspect of magnitude because it is defined as:<blockquote><math>\mathbf{T}(t)=\frac{\mathbf{r}'(t)}{|\mathbf{r}'(t)|}</math></blockquote>As we can see, the magnitude of the unit tangent vector is always <math>1</math>. We can imagine that <math>\mathbf{r}(t)</math> as the displacement of a particle with respect to time. So, the unit tangent vector can be perceived as the direction of the velocity of the particle with respect to time. It can also be perceived as the direction of the tangential acceleration of the particle with respect to time. We will discuss motion in space in the next section, but this is a useful method to intuitively understand some vectors. ==== The unit normal vector ==== The unit normal vector is defined as<blockquote><math>\mathbf{N}(t)=\frac{\mathbf{T}'(t)}{|\mathbf{T}'(t)|}</math></blockquote>The unit normal is orthogonal to the unit tangent because since <math>|\mathbf{T}(t)|=1</math>, we can get that:<blockquote><math>\frac{d}{dt}|\mathbf{T}(t)|^2=0=\frac{d}{dt}[\mathbf{T}(t)\cdot\mathbf{T}(t)]=2\mathbf{T}'(t)\cdot\mathbf{T}(t)</math> <math>\Leftrightarrow \mathbf{T}'(t)\cdot\mathbf{T}(t)=0</math></blockquote>This means that <math>\mathbf{T}'(t)</math> is orthogonal to <math>\mathbf{T}(t)</math>. Therefore, <math>\mathbf{N}(t)</math> is orthogonal to <math>\mathbf{T}(t)</math>. We can imagine that the unit normal vector is the direction of the normal acceleration of the particle with respect to time. ==== The binormal vector ==== The binormal vector is defined as<blockquote><math>\mathbf{B}(t)=\mathbf{T}(t)\times\mathbf{N}(t)</math></blockquote>The binormal vector is perpendicular to both the unit tangent and the unit normal because of the properties of the cross product. The magnitude of the binormal is always 1 because<blockquote><math>|\mathbf{B}(t)|=|\mathbf{T}(t)||\mathbf{N}(t)|\sin\theta=1</math></blockquote> ==== The normal plane, osculating plane, and the osculating circle ==== * The normal plane is the plane determined by the normal and binormal vectors <math>\mathbf{N}\text{ and }\mathbf{B}</math>. The normal plane consists of all lines that are orthogonal to the tangent vector <math>\mathbf{T}</math>. * The osculating plane is the plane determined by the unit tangent and unit normal <math>\mathbf{T}\text{ and }\mathbf{N}</math>. It is the plane that comes closest to containing the part of the curve near a point where <math>t=t_0</math>. * The osculating circle is the circle that lies in the osculating plane towards the direction of <math>\mathbf{N}</math> with a radius <math>r=\frac{1}{\kappa}</math> (the inverse of the curvature, which we will immediately discuss after this). It best describes how the curve behaves near the point where <math>t=t_0</math> because it shares the same tangent, normal, and curvature at that point. These concepts are very important in the branch of differential geometry and in its applications to the motion of spacecraft. === Curvature === The curvature of a curve at a given point is a measure of how quickly the curve changes direction at that point. We define it to be the magnitude of the rate of change of the unit tangent with respect to arc length. We use arc length so that the curvature will be independent of parametrization.<blockquote>Suppose that a space curve has vector function <math>\mathbf{r}</math>, unit tangent vector <math>\mathbf{T}</math>, and arc length <math>s</math>. The curvature of this curve is: <math>\kappa=\biggl|\frac{d\mathbf{T}(s)}{ds}\biggr|</math>.</blockquote>There are two other ways to express the curvature. We can express curvature in terms of <math>t</math> instead of <math>s</math> by utilizing the chain rule (recall that <math>\frac{dL}{dt}=|\mathbf{r}'(t)|</math>):<blockquote><math>\kappa=\biggl|\frac{d\mathbf{T}}{ds}\biggr|=\Biggl|\frac{\frac{d\mathbf{T}}{ds}\frac{ds}{dt}}{\frac{ds}{dt}}\Biggr|=\Biggl|\frac{\frac{d\mathbf{T}(t)}{dt}}{\frac{ds}{dt}}\Biggr|=\frac{|\mathbf{T}'(t)|}{|\mathbf{r}'(t)|}</math></blockquote>The third way is more complicated to deduce, but it is often more convenient to apply because it only requires <math>\mathbf{r}(t)</math> and its derivatives.<blockquote><math>\kappa(t)=\frac{|\mathbf{r}'(t)\times\mathbf{r}''(t)|}{|\mathbf{r}'(t)|^3}</math></blockquote>And now for the proof for this theorem:<blockquote>According to the definition of the unit tangent vector, we know that <math>\mathbf{r}'=|\mathbf{r}'|\mathbf{T}</math>. So the second derivative of <math>\mathbf{r}</math> should be:<blockquote><math>\begin{align} \mathbf{r}'' & = (|\mathbf{r}'|\ \mathbf{T})' \\ & = |\mathbf{r}''|\ \mathbf{T}+|\mathbf{r}'|\ \mathbf{T}' \quad\text{the product rule}\\ \end{align}</math></blockquote>Now we calculate <math>\mathbf{r}'\times\mathbf{r}''</math>.<blockquote><math>\begin{align} \mathbf{r}'\times\mathbf{r}'' & = \bigl(|\mathbf{r}'|\mathbf{T}\bigr)\times\bigl(|\mathbf{r}''|\ \mathbf{T}+|\mathbf{r}'|\ \mathbf{T}' \bigr)\quad\text{substitution} \\ & = \bigl(|\mathbf{r}'|\mathbf{T}\times|\mathbf{r}''|\mathbf{T}\bigr)+\bigl(|\mathbf{r}'|\mathbf{T}\times|\mathbf{r}'|\mathbf{T}'\bigr)\quad\text{distribution} \\ & = |\mathbf{r}'||\mathbf{r}''|(\mathbf{T}\times\mathbf{T})+|\mathbf{r}'|^2(\mathbf{T}\times\mathbf{T}')\quad\text{rearrangement} \\ & = |\mathbf{r}'|^2(\mathbf{T}\times\mathbf{T}') \quad\text{realizing that }\mathbf{T}\times\mathbf{T}=0 \\ \end{align}</math></blockquote>And then we calculate <math>|\mathbf{r}'\times\mathbf{r}''|</math>.<blockquote><math>\begin{align} |\mathbf{r}'\times\mathbf{r}''| & = |\mathbf{r}'|^2|\mathbf{T}\times\mathbf{T}'|\quad\text{substitution} \\ & = |\mathbf{r}'|^2|\mathbf{T}||\mathbf{T}'|\sin\theta \quad\text{the magnitude for the cross product} \\ & = |\mathbf{r}'|^2|\mathbf{T}'| \quad\text{when you realize }|\mathbf{T}|=1\text{ and }\mathbf{T}\perp\mathbf{T}' \\ \end{align}</math></blockquote>We rearrange the equation into:<blockquote><math>|\mathbf{T}'|=\frac{|\mathbf{r}'\times\mathbf{r}''|}{|\mathbf{r}'|^2}</math></blockquote>Since <math>\kappa=\frac{|\mathbf{T}'|}{|\mathbf{r}'|}</math>, we can substitute <math>|\mathbf{T}'|</math> with <math>\frac{|\mathbf{r}'\times\mathbf{r}''|}{|\mathbf{r}'|^2}</math> and get: <math>\kappa=\frac{|\mathbf{r}'\times\mathbf{r}''|}{|\mathbf{r}'|^3}</math></blockquote>Here is a little summary on ways to calculate the curvature. {| class="wikitable" style="margin:0 auto;" !Definition !With parametrization with respect to <math>\mathbf{t}</math> !In terms of <math>\mathbf{r}(t)</math> and its derivatives |- |align=center|<math>\kappa=\biggl|\frac{d\mathbf{T}}{ds}\biggr|</math> |align=center|<math>\kappa=\frac{|\mathbf{T}'|}{|\mathbf{r}'|}</math> |align=center|<math>\kappa=\frac{|\mathbf{r}'\times\mathbf{r}''|}{|\mathbf{r}'|^3}</math> |} == Motion in space == === Velocity and acceleration === Remember in 2-dimensional calculus, we mentioned that a particle with displacement function <math>f(x)</math> has velocity <math>f'(x)</math> and acceleration <math>f''(x)</math>. In vector functions, the definition is basically the same. Suppose a particle moves through space so that its position vector at time <math>t</math> is <math>\mathbf{r}(t)</math>, its velocity function and acceleration function are:<blockquote><math>\mathbf{v}(t)=\lim_{h\rightarrow 0}\frac{\mathbf{r}(t+h)-\mathbf{r}(t)}{h}=\mathbf{r}'(t)\quad</math> and <math>\quad\mathbf{a}(t)=\lim_{h\rightarrow 0}\frac{\mathbf{v}(t+h)-\mathbf{v}(t)}{h}=\mathbf{v}'(t)=\mathbf{r}''(t)</math></blockquote>Simply put: <math>\mathbf{r}''(t)=\mathbf{v}'(t)=\mathbf{a}(t)</math>. The speed of the particle ignores the direction. It is the magnitude of the velocity vector: <math>|\mathbf{v}(t)|</math>. The distance traveled by the particle from <math>t=a \text{ to } b</math> is <math>\int_a^b|\mathbf{v}(t)|dt</math>, which is also the formula for the arc length. With the help of the Fundamental Theorem of Calculus, we can deduce the velocity function and position function when we know the particle's acceleration.<blockquote><math>\mathbf{v}(t)=\mathbf{v}(t_0)+\int_{t_0}^t\mathbf{a}(u)du\quad</math> and <math>\quad\mathbf{r}(t)=\mathbf{r}(t_0)+\int_{t_0}^t\mathbf{v}(u)du</math></blockquote> === Tangential and normal acceleration === We can split the acceleration vector into two components: the tangential acceleration <math>a_T</math> and the normal acceleration <math>a_N</math>. The tangential acceleration faces the same direction as the unit tangent vector (<math>\mathbf{T}</math>), and the normal acceleration faces the same direction as the unit normal vector (<math>\mathbf{N}</math>). Since both <math>\mathbf{T}</math> and <math>\mathbf{N}</math> are unit vectors, the acceleration vector can be written as the sum of two vectors:<blockquote><math>\mathbf{a}=a_T\mathbf{T}+a_N\mathbf{N}</math></blockquote>Our goal is to figure out how to describe the two components.<blockquote>Recall that <math>\mathbf{T}=\frac{\mathbf{v}}{|\mathbf{v}|}</math>, thus<blockquote><math>\mathbf{v}=|\mathbf{v}|\mathbf{T}</math></blockquote>Now we differentiate both sides of the equation,<blockquote><math>\begin{align} \mathbf{v}' & = \bigl(|\mathbf{v}|\mathbf{T}\bigr)' \\ & = |\mathbf{v}|'\mathbf{T}+|\mathbf{v}|\mathbf{T}'\\ \end{align}</math></blockquote>So we get <math>\mathbf{a}=|\mathbf{v}|'\mathbf{T}+|\mathbf{v}|\mathbf{T}'</math>. <blockquote>Recall that <math>\kappa=\frac{\big|\mathbf{T}'\big|}{\big|\mathbf{r}'\big|}=\frac{\big|\mathbf{T}'\big|}{\big|\mathbf{v}\big|}</math>, thus <math>\big|\mathbf{T}'\big|=\kappa|\mathbf{v}|</math>.</blockquote><blockquote>Recall that <math>\mathbf{N}=\frac{\mathbf{T}'}{\big|\mathbf{T}'\big|}</math>, thus <math>\mathbf{T}'=\big|\mathbf{T}'\big|\mathbf{N}=\kappa|\mathbf{v}|\mathbf{N}</math>.</blockquote>We substitute <math>\mathbf{T}'</math> for <math>\kappa|\mathbf{v}|\mathbf{N}</math> to yield: <math>\mathbf{a}=|\mathbf{v}|'\mathbf{T}+\kappa|\mathbf{v}|^2\mathbf{N}</math></blockquote>That leaves us with:<blockquote><math>a_T=|\mathbf{v}|'\quad</math> and <math>\quad a_N=\kappa|\mathbf{v}|^2</math></blockquote> <math>\blacksquare</math> Of course, it will be more convenient if those components can be written in terms if <math>\mathbf{r}(t)</math> and its derivatives. Suppose that <math>\theta</math> is the angle between <math>\mathbf{T}</math> and <math>\mathbf{a}</math>, then we can write <math>a_T,a_N</math> like this:<blockquote><math>\begin{align} a_T & = |\mathbf{a}(t)|\cos\theta \\ & = \frac{|\mathbf{v}(t)||\mathbf{a}(t)|\cos\theta}{|\mathbf{v}(t)|} \quad\text{algebraic manipulation}\\ & = \frac{\mathbf{v}(t)\cdot\mathbf{a}(t)}{|\mathbf{v}(t)|}\quad\text{dot product}\\ & = \frac{\mathbf{r}'(t)\cdot\mathbf{r}''(t)}{|\mathbf{r}'(t)|}\quad\text{in terms of }\mathbf{r}(t)\text{ and its derivatives}\\ \end{align}</math><math>\begin{align} a_N & = |\mathbf{a}(t)|\sin\theta \\ & = \frac{|\mathbf{v}(t)||\mathbf{a}(t)|\sin\theta}{|\mathbf{v}(t)|} \quad\text{algebraic manipulation}\\ & = \frac{|\mathbf{v}(t)\times\mathbf{a}(t)|}{|\mathbf{v}(t)|}\quad\text{cross product}\\ & = \frac{|\mathbf{r}'(t)\times\mathbf{r}''(t)|}{|\mathbf{r}'(t)|}\quad\text{in terms of }\mathbf{r}(t)\text{ and its derivatives}\\ \end{align}</math></blockquote> <math>\blacksquare</math> To sum it up:<blockquote><math>a_T=|\mathbf{v}|'=\frac{\mathbf{r}'(t)\cdot\mathbf{r}''(t)}{|\mathbf{r}'(t)|}\quad</math> and <math>\quad a_N=\kappa|\mathbf{v}|^2= \frac{|\mathbf{r}'(t)\times\mathbf{r}''(t)|}{|\mathbf{r}'(t)|}</math></blockquote> == Expansion == We only discussed vector functions with three variables <math>\mathbf{r}(t)=\langle f(t),g(t),h(t)\rangle</math>. How about expanding our understanding of vector functions into <math>n</math> variables? Suppose we have a curve with vector function:<blockquote><math>\mathbf{r}(t)= \begin{pmatrix} f_1(t) \\ f_2(t) \\ \vdots \\ f_n(t) \\ \end{pmatrix}</math></blockquote> === Limits === The limit of a vector function is defined as:<blockquote><math>\lim_{t\rightarrow c} \mathbf{r}(t)= \begin{pmatrix} \lim_{t\rightarrow c} f_1(t) \\ \lim_{t\rightarrow c} f_2(t) \\ \vdots \\ \lim_{t\rightarrow c} f_n(t) \\ \end{pmatrix}</math></blockquote> === Differentiation and integration === The derivative of a vector function is defined as:<blockquote><math>\mathbf{r}'(t)=\lim_{\Delta t\rightarrow 0}\frac{\mathbf{r}(t+\Delta t)-\mathbf{r}(t)}{\Delta t}</math>, thus <math>\quad\mathbf{r}'(t)= \begin{pmatrix} f_1'(t) \\ f_2'(t) \\ \vdots \\ f_n'(t) \\ \end{pmatrix}</math></blockquote>All differentiation rules apply. We can expand integration into:<blockquote><math>\int\mathbf{r}(t)dt= \begin{pmatrix} \int f_1(t)dt \\ \int f_2(t)dt \\ \vdots \\ \int f_n(t)dt \\ \end{pmatrix} +\mathbf{C} </math></blockquote>Then, the arc length will become:<blockquote><math>L=\int_a^b|\mathbf{r}'(t)|dt\quad </math>or <math>\quad L=\int_a^b \sqrt{[f_1'(t)]^2+[f_2'(t)]^2+\cdots+[f_n'(t)]^2}dt </math></blockquote>{{BookCat}} l0fncx3c52uwz1b0l8cujbvn124iq03 User:MorpheusKafka/US Immigration Law 2 423372 4656973 4655205 2026-08-10T08:18:08Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656973 wikitext text/x-wiki {| style="width:100%; margin-bottom: .6em; -moz-border-radius: 4px; text-align:center; border: 1px solid #50A6C2; background-color:#F0F8FF; padding: .6em .6em .6em .6em;" | width="100px" | [[File:Constitution of the United States - DPLA - 9ca804144bd5965e992ae3528bc3c6a3 (page 1).jpg|100px|frameless]] | <span style="font-family: bitstream; color: #bb1b00; font-size: x-large;+2"">'''US IMMIGRATION LAW'''</span><br/> | width="100px" | [[File:Scale of justice 2.svg|75px|frameless]] |} {{Book Search|prefix=User:MorpheusKafka/US Immigration Law}} {{USLawTOC}} {{Reading level|advanced}} [[File:US Supreme Court.JPG|250px|frameless|right]] {|style="width:65%;" | style="background-color: cream; border: solid 1px gray; padding: 1em;" valign="top" | This book is ''currently a userspace draft.'' The '''United States Immigration Law''' book provides an explanation of the structure of the laws of the United States relating to citizenship, nationality, immigration, residence, and permission to work. Though the book does not assume existing legal education, it does aim to describe the subject in a fairly high level of detail and may not be suitable for readers who need a quick explanation of a particular concept. The main goals of the book are to enable the reader to: * understand the structure and modern history of US immigration law; * understand the types of benefits and statuses one may hold obtain the law; * understand the immigration obligations of individuals and employers; |} {|style="width:65%;" | style="background-color: cream; border: solid 1px gray; padding: 1em;" valign="top" | This book is not intended as an instruction manual for filling out immigration forms, nor is it intended as legal advice to you. Be sure to consult with a qualified immigration law practitioner. This book is not intended as a practice manual for attorneys, and may not discuss all possible challenges or arguments that could be raised in any particular case. This book will also not extensively cover historical provisions of law that have become obsolete or no longer in active use. |} {| style="width:65%;" | style="background-color: cream; border: solid 1px gray; padding: 1em;" valign="top" | == Chapters == {{col-begin}} {{col-break}} * [[/Mens rea/]] {{stage|25%|2018-01-01}} * [[/Actus reus/]] {{stage|25%|2018-01-01}} * [[/Summary/]] {{stage|25%|2018-01-01}} {{col-break}} * [[/Preliminary offenses/]] {{stage|25%|2018-01-01}} * [[/Search and seizure/]] {{stage|25%|2018-01-01}} * [[/Defenses/]] {{stage|25%|2017-12-31}} {{col-break}} {{col-end}} |} {{center/top}} {| style="width:65%;" | style="background-color: cream; border: solid 1px gray; padding: 1em;" valign="top"| {{center|[[File:CC-BY-SA Yellow.svg]] [[File:GFDL Yellow.svg]]}}{{center|This book is dual licensed under the GFDL and Creative Commons Attribution-ShareAlike 3.0 Unported License.}} |} {{message box|image=Stop hand.png|alt=stop sign|backgroundcolor=white|heading=Legal Disclaimer|message=This book contains legal information, which is for educational purposes only, and should not be construed as legal advice; please consult a qualified legal professional prior to making legal decisions. See '''[[Wikibooks:Legal disclaimer]]''' for the full disclaimer.}} {{center/end}} <!-- {{Alphabetical|C}} --> <!-- {{Shelves|Immigration law}} --> <!-- {{status|25%}} --> __NOTOC__ __NOEDITSECTION__ aq545isuqnoka7hcnluj7pa3ivdcm84 Sustainability and Sense of Place in the Sonoran Desert/Lower Colorado River Valley 0 424775 4656888 4614310 2026-08-10T04:13:51Z CommonsDelinker 49843 Removing [[:c:File:Desierto_de_altar.png|Desierto_de_altar.png]], it has been deleted from Commons by [[:c:User:Krd|Krd]] because: No license since 2 August 2026. 4656888 wikitext text/x-wiki =[[Overview of Elasticity of Materials/Example Problems|Overview]]: Lower Colorado River Valley subregion= ==Introduction:== The desert is seen by many as a dry, empty place. However, the biodiversity of the Lower Colorado River Valley encompasses much more than just sand and heat. Throughout this voyage, we will explore the unique geological structures that make up the Lower Colorado River Valley. We will see just how humans have utilized the land and water from the region, as well as the rich, cultural stories that have lived throughout the Lower Colorado River Valley for years. From Baja California to the Parker Dam, we will see the marvelous aspects of this region while focusing on the species, their habitats, and their stories. During this journey, themes will be presented including history and culture, geology and climate, biodiversity, and water and land use. Beginning with history and culture in Yuma, AZ, and ending with water and land use at the U.S./Mexico border wall, these themes will develop an awareness and understanding of sense of place within the Sonoran Desert. Just as this land is connected within itself, so are people connected to this land. Here in the Lower Colorado River Valley it is important to work hard to retain respect for this land, not only to sustain the earth but to sustain the communities living within it. Although many efforts are being made to preserve our ecosystem, there continues to be struggles in preservation. Diminishing levels of water in the Colorado River and immediate threats to wildlife and riparian areas such as the border wall are problems that have no current solution. If efforts are not immediately taken to resolve the detrimental issues addressed below, all the beauty and diversity the Sonoran Desert contains may be lost forever. ==A. History/Culture== [[File:Ocean to Ocean Bridge, Yuma, AZ.jpg|thumb|Ocean-to-ocean bridge crossing over the Colorado River]] === 1. Ocean-to-Ocean Bridge === The Ocean-to-Ocean bridge in Yuma, AZ, begins the journey toward discovering a sense of place in the Sonoran Desert. The Ocean-to-Ocean bridge is one of the most popular and well-known landmarks in Yuma, AZ. Yuma has a significant history and this bridge is one piece of that history. Before dams were built all along the Colorado River, there was a significant river presence in Yuma. The river was much larger and harder to get across over most of the length of the river. The major exception to this was here in Yuma, AZ. What became known as the Yuma Crossing was the most tame and safest part of the river. For a while, ferry boats would take people across the river from Arizona into California. However, in 1915 the Ocean-to-Ocean bridge was constructed and was the first bridge constructed over the Colorado River. Today, one can see the newly constructed bridge right next to the original bridge that was constructed in 1915. The bridge is now the focal point of Gateway Park, a park right on the bank of the Colorado where one can walk the trails through native trees and shrubs. While the Ocean-to-Ocean bridge is the gateway to Yuma's history and culture, the Yuma Territorial Prison is the foundation to what would become an important city in the southwest.<ref>Flashback Friday: The Day Yuma's Ocean-to-Ocean Bridge opened to traffic. (n.d.). Retrieved April 06, 2021, from <nowiki>https://azdot.gov/adot-blog/flashback-friday-day-yumas-ocean-ocean-bridge-opened-traffic</nowiki></ref><ref>Ocean to Ocean Bridge – connecting a Cross-Country Highway. (2020, August 11). Retrieved April 06, 2021, from <nowiki>https://photobyjohnbo.wordpress.com/2020/08/18/ocean-to-ocean-bridge/</nowiki></ref>[[File:Yuma-Yuma Territorial Prison-1875-8-2.jpg|thumb|Inside one of the jail cells made with the original iron material. ]] === 2. Yuma Territorial Prison === The next stop in Yuma, AZ, is another historical and culturally important landmark, the Yuma Territorial Prison. Overlooking the Colorado River, sits the ruins of this famous prison. Although it is no longer in use, it is a significant landmark and museum that cements it into Yuma's history and culture. After the discovery of gold in California, many set out to head west. Since Yuma was located in the Colorado’s narrowest point in 1849, immigrants had to cross Yuma in order to arrive to the California gold fields. However, many were not fortunate enough to find gold in California and set out to find a new beginning. Travelers had already become familiar with Yuma during their journey, cementing it as a new home for many of them. It was seen as an oasis in the desert due to the presence of the mighty Colorado River. Travelers became comforted with the idea of finding water and escaping the dangers of freezing. By 1858, Yuma had experienced an economic boom and this surge in the economy lead to a rise in the population which helped establish Yuma County in 1871. The Yuma Territorial Prison budget was around $25,000 and the prison was officially authorized by the legislature in 1875, it saw its first 7 inmates on July 1st, 1876. For 33 years the prison ran consecutively until overcrowding forced all prisoners to relocate to Florence, Arizona. Throughout the years, many facilities used this building for different reasons. For example, Yuma High School used it from 1910 to 1914 after their school burned down, earning them the name Yuma “criminals." From 1939-1960, the location operated as both a museum and prison area after the locals raised funds in an effort to preserve this piece of history. The citizens were in favor of turning the territorial prison into a state park and the city board agreed to accept the funds in order to fulfill the citizens’ wishes. Later, land ownership disputes would end up delaying the park’s opening. Eventually, the city of Yuma sold the building for one dollar. This prison holds a deep history for Yumans and is another manmade landmark that led to the development of the city as it is today. It has carried and contributed to much of Yuma’s history and culture. As the story of Yuma carries along, we see the  prevalence of the Yuma Territorial Prison throughout it. It is a reminder of where Yuma came from and all that it has become since then.<ref>Park History. (n.d.). Retrieved April 06, 2021, from <nowiki>https://azstateparks.com/yuma-territorial/about-the-prison/park-history</nowiki></ref>[[File:A-4Ms VMA-311 take off MCAS Yuma 1982.JPEG|thumb|MCAS Yuma 1982]] ===3. MCAS Yuma=== Our next stop in Yuma, AZ, is at the Marine Corps Air Station which was established in 1928. In 1948, the air base was built to train marines for World War II. The base became a flight school that taught multi-engine trainees, AT-6 engine trainees, and B-17 flying fortresses. After the war, the area was taken over by nature. The area remained this way until 1951 where the base was rebuilt and training resumed. When cadets graduate, they are ready for assignments and combat training. During World War II, landing and flying fields were necessary and eight were built in Yuma as a result. In 1959, the Navy took over the base and Col. L. Davis became the first commanding officer. Today, the population of the base consists of 6,592 military, 5,531 family members, 2,651 civilians, and 5,000 transients. MCAS Yuma is significant because of the number of people it has brought to Yuma, AZ. Not only has it brought many people to this city, it has diversified the population and created an ideal retirement location for veterans and their families. While this area is important to Yuma's history, it also has an environmental impact that is not always recognized. The MCAS of Yuma covers about 3,000 acres in Yuma County. This area is home to many species, including the flat-tailed horned lizard which, although it did not get categorized as an endangered species until 2011, has been noted as "threatened" and as a "species of special concern" by the State of Arizona (Hollingsworth & Stepek, 2012). These classifications caused some organizations to mobilize their efforts to conduct surveys and collect data for population and environment analysis. One such survey was conducted by the cooperation and collaboration of the San Diego Natural History Museum, the Arizona Department of Game and Fish, and MCAS Yuma. These studies focused on the numbers of flat-tailed horned lizards within nine-hectare for ten days, marking and recapturing the subjects. This study's goal was to provide information such as yearly survival, recruitment, and population growth. This survey averaged an estimation of 15 lizards by nine-hectare plot, which is a significant decrease from the Arizona Game and Fish Department's estimate of 76-77 adults per nine-hectare. However, the difference could be due to misreading subadults for adult populations. Studies such as these are important to highlight the species and diversity found within MCAS Yuma's land and will allow any issues or necessary actions regarding this species to be addressed.<ref>Hollingsworth, B. D., & Stepek, M. A. (2012). ''FLAT-TAILED HORNED LIZARD (Phrynosoma mcallii) SURVEYS ON MARINE CORPS AIR STATION YUMA, ARIZONA''.</ref><ref>''MCAS Yuma  In-depth Overview''. Military Installations. (n.d.). <nowiki>https://installations.militaryonesource.mil/in-depth-overview/mcas-yuma</nowiki>.</ref><ref>''MCAS historic overview''. Living in Yuma, Arizona. (2018, March 2). <nowiki>http://southwestlivingyuma.yumawebteam.com/unique-to-yuma/mcas-historic-overview/</nowiki>.</ref> [[File:Typhoon Texas Waterpark Austin 2020 b.jpg|thumb|201x201px|Typhoon texas waterpark]] === 4. West Wetlands Park === West Wetlands Park in Yuma, AZ, is the next stop through the journey of discovering a sense of place in the Sonoran Desert. For locals, West Wetlands Park has been an escape and a comfort, a place to enjoy a peaceful walk or to have a family picnic. What was once a landfill is now a beautifully restored recreation area that has been divided into an "Upper" and "Lower" bench. The Upper Bench consists of roadways, playgrounds, a fishing pond, picnic ramadas, a hummingbird garden, and lighted pathways. On the other end, the focus of the development of the Lower Bench has been on restoring and preserving native trees, grasses, flowers, and shrubs and on building a riparian habitat. Parks and recreation areas such as West Wetlands provide a home for native plants and animals to live and thrive since the development and growth of the city of Yuma over the years has altered the original state of the region. The designation of the Yuma Crossing National Heritage Area and restoration of important landmarks such as the Ocean-to-Ocean bridge has helped to preserve not only the environment, but also the history and culture of this area.<ref>Visit Yuma. (n.d.). Retrieved April 06, 2021, from <nowiki>https://www.visityuma.com/about-yuma/history/</nowiki></ref><ref>Yuma West Wetlands. (n.d.). Retrieved April 06, 2021, from <nowiki>https://www.yumaheritage.com/west-wetlands.html</nowiki></ref> [[File:Border wall in the Imperial Sand Dunes, 20 miles west of Yuma, AZ - 48537282671.jpg|thumb|255x255px|Imperial Sand Dunes, 20 miles west of Yuma]] === 5. Imperial Sand Dunes === The Imperial Sand Dunes are a naturally occurring phenomena in the Sonoran Desert. These dunes are not only used for recreational sports such as motor cross but have also become a unique filming location for several major films including ''Star Wars: Return of the Jedi'' and ''Jumanji: The Next Level.'' The Imperial Dunes are located about twenty miles outside of Yuma and extend for about 40 miles. This unique location typically welcomes one million visitors per year including those looking to take breathtaking photos of the dunes and of themselves in the dunes. Anyone who grew up in Yuma or around Imperial Valley knows about these dunes since many drove past them on their way to El Centro and San Diego. When thinking about what sense of place in the Sonoran Desert means, its important to remember that  places such as the dunes that we do not think of or see everyday are actually features of the Sonoran Desert that contribute to its overall beauty and magnificence. Another location that contributes to the magnificence of the Sonoran Desert is the Imperial National Wildlife Refuge where native riparian areas and wetlands are restored and protected.<ref>Imperial Sand Dunes National Recreation Area. (n.d.). Retrieved April 06, 2021, from <nowiki>https://www.visityuma.com/things-to-do/imperial-sand-dunes/</nowiki></ref> ==B. Geology/Climate== [[File:Sierra Estrella Mountains (32083172683).jpg|thumb|Southwest of Phoenix AZ]] ===1. Estrella Mountains=== The Sierra Estrella mountains are constantly sunny all year long. Due to the favorable weather, the mountains are best known for their outdoor activities. The natural terrain provides visitors with a picturesque background. Clear skies are conducive to stargazing events twice a year at the Estella Mountains Regional Park. The northwest facing mountain consists of 38 km compact ridges and is 559 m above sea level near the junction of the Gila and Salt Rivers. Its highest peak elevation is 1,375 m (unnamed peaks) and the Montezuma Peak which is 1,323 m. There have been recordings that multiple pits were filled with sandy sediment, this sediment is known as quartzofeldspathic sandstone. The Sierra Estrella rocks were likely uprooted by the detachment faults between 25 and 15 Ma. Over time, the rocks became deeply slanted in several areas by fluvial streams. Ultimately, the Estrella Mountains are just one of the many geologic formations within the Sonoran Desert. Another notable geologic feature are the Peninsular Ranges which are located from Southern California to the tip of the Baja California Peninsula.<ref>Melchiorre, E. B. (1992, September). ''Geowgy and Mineral Resources of the Sierra Estrella, Maricopa County, Arizona''. <nowiki>http://repository.azgs.az.gov/sites/default/files/dlio/files/2010/u14/ofr-92-15_report_sierraestrella.pdf</nowiki>.</ref> [[File:San Francisco de la Sierra Canyon 270.jpg|thumb|306x306px|Baja California Peninsula Ranges ]] ===2. Peninsular Ranges=== The Peninsular Ranges would perhaps not be as prominent if the Baja California Peninsula did not form over the years through plate tectonics. The Baja California Peninsula was once part of the North American plate; however, the constant shifting of the plates that make up the earth cause landmasses to separate from each other, and this process often results in mountain ranges. The Peninsular Ranges are a geographical feature stretching from Southern California to the tip of Baja California. The overall climate of the area surrounding the Peninsular Ranges is moderate year round, with cooler conditions higher up in the mountains. The rocks of these ranges are mostly Mesozoic granitic rocks. There are other interesting geologic features within the Sonoran Desert that make it so unique. One such feature is the Pinacate Peaks, located south of the United States-Mexico border.<ref>Mueller, K., Kier, G., Rockwell, T., & Jones, C. H. (2009). Quaternary rift flank uplift of the Peninsular Ranges in Baja and southern California by removal of mantle lithosphere. ''Tectonics,'' ''28''(5).</ref><ref>Langeheim, V. E., & Jachens, R. C. (2003). Crustal structure of the Peninsular Ranges batholith from magnetic data: Implications for Gulf of California rifting. ''Geophysical Research Letters,'' ''30''(11).</ref> ===3. Pinacate Peaks=== The Pinacate Peaks, located south of the United States-Mexico border, form part of a large volcanic field that is of great value to the Sonoran Desert's geology and climate. The Pinacate region contains at least ten volcanic craters, with the last volcanic activity occurring about 11,000 years ago. The region contains volcano types such as Pyroclastic cones, maars, and tuff rings. These surreal earth formations are an example of the versatility of landscapes found in the Sonoran Desert. The climate can be described as arid with most rain pouring from convective storms, regardless of the season. The relatively large volumes of precipitation concentrated in small areas creates flash flooding, a crucial factor in geomorphic processes. This area has a range of temperatures from zero degrees Celsius (during rare winter freezes) and over fifty degrees Celsius. In earlier years, people avoided the area because its warm climate and ground would reduce vegetation. The formation of these features in the land have been a subject of study for many years. There are a significant number of people who want to explore and identify all the geologic formations that have created this landscape.<ref>NASA. (n.d.). ''Earth Matters - What A Wonderful World: Pinacate Peaks''. NASA. <nowiki>https://earthobservatory.nasa.gov/blogs/earthmatters/2017/11/10/what-a-wonderful-world-pinacate-peaks/</nowiki>.</ref><ref>Wood, C. A. (1974). Reconnaissance geophysics and geology of the Pinacate craters, Sonora, Mexico. ''Bulletin Volcanologique'', ''38''(1).</ref> === 4. Gran Desierto de Altar === The Gran Desierto de Altar is located in Sonora, Mexico. It covers approximately 5,700 square kilometers and is one of the major sub-ecoregions of the Sonoran Desert. Although most of it is in Sonora, Mexico, the gran Desierto de Altar extends across the broder into Organ Pipe Cactus National Monument and Cabeza Prieta National Wildlife Refuge. Being North America’s largest field of active sand dunes, the Gran Desierto de Altar is home to various types of dunes, the tallest standing 200 meters tall. Here, linear, crescent-shaped (barchans), and star shaped dunes can be found. These can be categorized as simple, compound or complex, depending on seasonal changes in the direction and strength of the wind. Crescent-shaped complex dunes and star-shaped dunes are a rare type of sand dune that only exist in certain locations around the world. These dunes can reach as high as 200 meters high and can occur both singly and in long ridges up to 48 kilometers in length. The sand needed to form and maintain these dunes come from the fluvial and deltaic sediments of the Colorado River delta, the beaches of the Sea of Cortez, the River Sonoyta, and the smaller river and stream fans formed in those parts of the reserve where there are volcanic and granitic mountains. The geological history of the Gran Desierto is intimately linked to the opening of the Sea of Cortez and the capture of the ancestral Colorado River. Prior to the opening of the Sea of Cortez, vast amounts of sediment accumulated in this region brought by rivers of which little trace remains today. The creation of the Sea of Cortez shortened the rivers and increased their average gradient, causing them to cut into the pre-existing landscape leaving behind river terraces, remnants of the former higher level floodplains.<ref>The landforms of the EL pinacate and Gran Desierto DE Altar BIOSPHERE Reserve: Geo-mexico, the geography of Mexico. (2019, April 14). Retrieved April 13, 2021, from <nowiki>https://geo-mexico.com/?p=10003</nowiki></ref>[[File:Puerto Penasco.jpg|thumb|260x260px|Puerto Peñasco Ariel view]] === 5. Puerto Peñasco === Located near the Pinacate Biosphere Reserve, sits the famously known, Puerto Penasco, also commonly known as Rocky Point. As is its name, Rocky Point is surrounded by extensive mountain ranges and shares many of its geological characteristics with that of the Pinacate Biosphere Reserve. Such characteristics include the remnants of ancient volcanoes that can be found on the beaches of Puerto Penasco and inactive volcano peaks that can be seen throughout the entire state. These mountains, along with the two nearby islands, create a barrier for the region that prevent extreme weather events from happening, however, do not make it impossible. Due to phenomena, El Nino, Puerto Penasco still experiences tropical storms and hurricanes that reach the northern Sea of Cortez. Such disasters are rare but cause significant damages when they occur. Rocky Point is known for its warm weather temperatures. During the summer, Puerto Penasco experiences hot and humid climates while in the winter it exhibits itself to be cold and dry. Temperatures range from 109°F in the summer to 51.8°F in the winter. This generally good weather brings many tourists during late May to late June.  The hot season starts from June 14 to October 4 averaging at about 89 degrees Fahrenheit. The cooler season starts on November 27 and ends March 8 averaging below 73 degrees Fahrenheit. Its temperatures are highly influenced by the nearby Sea of Cortez. The Sea of Cortez experiences very warm water temperatures, ranging from 75°F in the summer to 61°F in the winter. This direct influence also contributes to the rainfall of Puerto Penasco. Puerto Penasco is located on the northwest fringe of the North American Monsoon 6 circulation pattern, which in turn, causes Puerto Penasco to experience substantial seasonality in precipitation, specifically in July and August. These summer monsoon rains come from the Sea of Cortez, often in masses of water-laden air called “Gulf Surges.” However, annual precipitation is minimal due to its location in the rain shadow of the mountains of northern Mexico’s Baja California peninsula.<ref>Average Weather in Puerto Peñasco. (n.d.). Retrieved April 06, 2021, from <nowiki>https://weatherspark.com/y/2368/Average-Weather-in-Puerto-Pe%C3%B1asco-Mexico-Year-Round</nowiki></ref><ref>The Sea of Cortez. (n.d.). <nowiki>https://www.rickbrusca.com/http___www.rickbrusca.com_index.html/Sea_of_Cortez.html</nowiki>.</ref><ref>The Udall Center for studies in Public Policy. (2012, January). ''Moving Forward from Vulnerability to Adaptation: Climate Change, Drought, and water Demand in the Urbanizing Southwestern United States and Northern Mexico''. <nowiki>http://udallcenter.arizona.edu/sarp/pdf/Ch3_PuertoPenasco.pdf</nowiki>.</ref> == C. Biodiversity == [[File:Pirin - hiking trail from Vihren.jpg|thumb|267x267px|Hiking trail from Vihren Peak ]] ===1. Telegraph Pass Trail=== Telegraph Pass has become a wide attraction for anyone in Yuma, Arizona. Its 5.3 mile trail provides unique scenery from which it has gained its popularity. Along the way, people are able to enjoy the various wildlife that the desert of Yuma has to offer, from its native cacti to its reptilian friends, the biodiversity within the Telegraph Pass Trail is a representation of Yuma County. The plants and animals that are located here are similar to those that are located within Yuma County. Throughout the trail, the scenery provides a variety of floras, from cacti, to shrubs, to trees. These varieties of plants include shrubs such as brittle brush, ocotillo, creosote bush, trees such as the Ironwood and Palo Verde tree, and cacti such as the saguaro and beavertail cactus. The trail is also home to wildlife that is native to Yuma. For example, you may encounter the western diamondback rattlesnake, chuckwallas, desert horned lizards, roadrunners, coyotes, the black-throated sparrow bird, and so forth. The trail's warm weather conditions allow for such wildlife to flourish along the path. It provides the appropriate circumstances for these species to inhabit the area and satisfy their needs. The Telegraph Pass Trail has become the place for species to live and for the community to learn about the astonishing wildlife that exists within this area.<ref>National wildlife REFUGES - welcome To yuma, Arizona - on the river's edge. (n.d.). Retrieved April 15, 2021, from <nowiki>https://www.visityuma.com/things-to-do/outdoors-and-nature/national-wildlife-refuges/?view=list&sort=qualityScore</nowiki></ref><ref>Yuma, Arizona desert plants. (n.d.). Retrieved April 15, 2021, from <nowiki>https://www.azmetro.com/yumaplants.html</nowiki></ref> [[File:Mountain lion (36767015074).jpg|thumb|263x263px|Mountain lion at the Kofa National Wildlife Refuge]] ===2. Kofa Wildlife Refuge=== Heading out of Yuma up Highway 95, there is a large wildlife refuge, the Kofa National Wildlife Refuge. The refuge was established in 1939 and encompasses over 665,400 acres of the Yuma Desert region of the Sonoran Desert. The refuge is currently home to a diverse range of wildlife and plants. Some of the notable plant species within the Kofa Wildlife Refuge include the saguaro cactus, prickly pear, cholla, hedgehog, pincushion, and barrel cacti. Within the refuge in Palm Canyon, California palms are dispersed throughout and continue to thrive even though they used to live under much wetter and cooler conditions. There are quite a few animal species that make this part of the Sonoran Desert their home. These include badgers, foxes, ground squirrels, pocket mice, and kangaroo rats. However, their are many mammals, reptiles and amphibians, and birds who call the Kofa Wildlife Refuge their home. Mammals such as the ringtail and mountain lion, bighorn sheep and mule deer, and bats each have found places in the desert to call home. Amphibians and reptiles including the Gila monster, the western diamondback rattlesnake, chuckwalla, desert horned lizard, desert iguana, and the red spotted toad have also found sanctuary in this wildlife refuge. Birds including white-winged doves, cactus wrens, northern flickers, canyon towhees, phainopeplas, Gambel's quails, turkey vultures, and golden eagles thrive in their desert oasis, some through the protection of the largest saguaro cacti. Although many believe that the Sonoran Desert is desolate and void of life, plenty of wildlife and flora and fauna are dependent on it for their survival; in turn, they populate it with beauty and life. A little over one hundred miles to the west, the Imperial Sand Dunes cut through the desert and bring a uniqueness and landscape that cannot be matched anywhere else in the United States.<ref>Camping in the Kofa National Wildlife REFUGE ARIZONA. (2020, June 06). Retrieved April 08, 2021, from <nowiki>https://www.loveyourrv.com/camping-in-the-kofa-national-wildlife-refuge-arizona/</nowiki></ref><ref>Kofa National Wildlife Refuge. (2020, April 30). Retrieved April 08, 2021, from <nowiki>https://www.arizonahighways.com/scenic-drives/kofa-national-wildlife-refuge</nowiki></ref><ref>Wildlife & habitat - KOFA - U.S. fish and Wildlife Service. (n.d.). Retrieved April 08, 2021, from <nowiki>https://www.fws.gov/refuge/Kofa/wildlife_and_habitat/index.html</nowiki></ref> [[File:Imperial national wildlife refuge.jpg|thumb|355x355px|Imperial National Wildlife Refuge]] ===3. Imperial National Wildlife Refuge=== The Imperial National Wildlife Refuge is located 30 miles from the Colorado River where it divides in two. This refuge offers resources to help restore native riparian habitats as well as wetlands in order to help migratory birds and other species. These riparian zones are important because they recharge groundwater, store floodwater, and aid in water quality. Ultimately, these zones provide a biodiversity hotspot for plants and wildlife. During the spring and fall the greatest variety of birds can be observed at the refugee. Some year-around birds that are observed include the ladder-backed/Gila woodpeckers, Verdin, Crissal Thrasher, and Abert’s Towhee. The size of this location is 49.3 square miles, 31,558 acres. In total, over 275 different species have been noted at the refuge. Other species that are part of the conservation status and use the habitat within this location include the sandhill crane and willow flycatchers. During the winter, Canada geese, tundra swan, and bald eagle. Some conservation concerns are the loss of cottonwood, willow, and marshlands resulting in the loss of habitats. In order to combat this, projects are being implemented to restore the riparian areas. While it is important to protect riparian areas such as the Imperial National Wildlife Refuge, it is equally important to protect our water, including the Salton Sea and rivers such as the Colorado.<ref>Jennie. (2016, February 08). Imperial National Wildlife Refuge IBA. Retrieved April 06, 2021, from <nowiki>http://aziba.org/?page_id=411www.fws.gov%2Frefuge%2Fimperial%2F</nowiki></ref><ref>''Home - Imperial - U.S. Fish and Wildlife Service''. U.S. Fish & Wildlife Service. (n.d.). <nowiki>https://www.fws.gov/refuge/Imperial/</nowiki>.</ref> [[File:Wildflowers at Anza Borrego desert state park.jpg|thumb|Wildflowers at Anza-Borrego Desert Park]] === 4. Anza-Borrego Desert Park === A few miles west of the Salton Sea, the Anza-Borrego Desert Park provides a home to many flora, fauna, and wildlife. The Anza-Borrego Desert Park is known for its beautiful wildflowers that bloom every year during the spring and early summer. The blooming starts in late February in the lowest part of the region and moves towards higher land in May. Flowers tend to grow everywhere except sandy regions, rocky hillsides, high mountains, and badlands. The plants are grouped into four primary groups: agave and yuccas, bushes, cacti, and wildflowers. Due to the lack of rainfall in this region, especially within the past year, the length of time the flowers are in bloom has been significantly shorter. Additionally, increasing temperatures are affecting these plants negatively. The Anza-Borrego Desert Park is also home to many species of animals. One of these popular species includes the peninsular bighorn sheep. Listed as an endangered animal in 1998, this species mainly resides in low elevation areas that are dry and rocky. In order to prevent the animals from being disturbed, the park closes areas--such as Coyote Creek--to vehicles from June to October. Closing designated areas to vehicle traffic allows the sheep to navigate the land to find watering areas. Since these sheep are an endangered species, it is also important to consistently verify the population levels; therefore, the sheep are counted and monitored frequently to ensure the population is not decreasing. Another distinctive animal to the Anza-Borrego Desert Park is the deer mule. Unlike the bighorn sheep, deer mules are mostly located in higher elevations. These mammals tend not to stray far from a water source and they generally hunt at dawn or dusk. Mountain lions, bobcats, and coyotes are the natural predator of the deer mule; in fact, one sound that is heard very often in this region is the yelping of coyotes. Other animals that can be found in this park include the desert kit fox, black-tailed jackrabbit, desert cottontail, antelope squirrel, and the kangaroo rat. Unfortunately for this beautiful park and its wildlife, the Salton Sea may have a negative impact on it. This park is very close to the Salton Sea, almost as close as the nearby cities of Brawley and El Centro. As the Salton Sea dries up, the lake beds, or "playa," become more and more exposed and the salty playa becomes wind-borne. This wind-borne dust has created dangerous air quality for the people who live in this area and the wildlife that find solace in parks such as the Anza-Borrego.<ref>''Wildflowers''. The Anza-Borrego Foundation. (2021, March 17). <nowiki>https://theabf.org/explore-anza-borrego/wildflowers/</nowiki>.</ref><ref>Wildlife of the Anza-Borrego Desert. (n.d.). <nowiki>https://www.abdnha.org/wildlife-of-anza-borrego.htm</nowiki>.</ref> [[File:Pinacate volcanic field.jpg|thumb|El Pinacate Volcanic field ]] === 5. El Pinacate y Gran Desierto de Altar Biosphere Reserve === El Pinacate and Gran Desierto de Altar Biosphere Reserve is home to a wide variety of diverse mosaic habitats and animals. It is a combination of volcanic landscapes, which are locate within El Pinacate, and sand dunes, which are located in the Gran Desierto de Altar. Many species are endemic to the Sonoran Desert. They feature sophisticated physiological and behavioral adaptations to the extreme environmental conditions. For example, this can be seen through the Pronghorn’s ability to feed on thorny cactus species or the extremely long seed dormancy of most plants. It currently holds 560 species of vascular plants, including an endemic plant restricted to the volcanic shield. This would include, for example, the sculptural elephant tree. The reserve is home to more than 540 species of vascular plants, 44 mammals, over 200 birds, more than 40 reptiles, as well as several amphibians and even two endemic species of freshwater fish. The biosphere reserve is home to animals such as the Sonoran pronghorn, the bighorn sheep, the mule deer, the gray fox, the Gila monster, and the desert tortoise. The reserve also exhibits large caves in which the migratory lesser long nosed bat resides in. The name of the reserve itself comes from the name of the desert stink beetles showing just how important its biodiversity is to the area. Such richness in biodiversity comes from the unusual freshwater regime located within the reserve. The minimal precipitation it receives favors the permanent water availability in what are called “tinajas.” Some of the tinajas contain water year round which serves as a crucial resource for wildlife year round.<ref>Posted by TB at 6:49 am, 15, M., Says:, M., 15, T., & Says:, T. (2018, April 17). Mexico's El pinacate and Gran Desierto DE Altar Biosphere reserve in SONORA GETS UNESCO World heritage STATUS: Geo-mexico, the geography of Mexico. Retrieved April 06, 2021, from <nowiki>https://geo-mexico.com/?p=9841</nowiki></ref> [[File:The sunrise in the Organ Pipe Cactus desert.jpg|thumb|251x251px|Sunrise at Organ Pipe Cactus Reserve]] === 6. Organ Pipe Cactus Reserve === One of the first images that comes to mind when a desert is mentioned is tall, green cacti. The Organ Pipe Cactus International Biosphere Reserve is of great importance to the biodiversity of the Lower Colorado River Valley region and the Sonoran Desert as a whole. This reserve contains various species of wildflowers, trees, shrubs, and other essential animals. These elements culminate in a space that hosts magnificent forms of life and diversity. Some of the species that make up the biodiversity include the Palmer Indian mallow, Rayless golden head, and desert agave, among other wildflowers. Various trees and shrubs are also evident in this reserve including creosote, brittle-bush, jojoba, palo verde, and cacti towering high above. The Quitobaquito Springs and pond is a significant body of water within the Organ Pipe Cactus Reserve and it holds cultural significance and historical relevance. The challenges presented to the pupfish and its habitat have led to the current protection and tracking of this species and its environment. After monitoring these species, there was a noticeable decrease in its population of about four times its population numbers between 1975 and 1981. In 1993, some growth was observed, and new monitoring and managing procedures continue to take place to preserve this species. One of the current threats to the Quitobaquito Springs is the U.S./Mexico border wall. Construction was heavily increased between 2016 and 2019 and this construction has had an immediate impact on bird populations here. In fact, the disappearance of 47 different bird species, including some endangered species has been documented by ecologists. Manmade structures such as the border wall almost always have negative impacts on wildlife, water, and the land in general.<ref>Ecologists Claim Birds Disappearing From Quitobaquito Springs Due To Border Wall Construction. (n.d.). <nowiki>https://www.nationalparkstraveler.org/2020/09/ecologists-claim-birds-disappearing-quitobaquito-springs-due-border-wall-construction</nowiki>.</ref><ref>Pearson, G., & Conner, C. (2000). The Quitobaquito Desert Pupfish, An Endangered Species within Organ Pipe Cactus National Monument: Historical Significance and Management Challenges. ''Natural Resources Journal'', ''40''(2), 379–410.</ref><ref>U.S. Department of the Interior. (n.d.). ''Organ Pipe Cactus International Biosphere Reserve''. National Parks Service. <nowiki>https://www.nps.gov/orpi/learn/nature/biosphere.htm</nowiki>.</ref> ==D. Water/Land Use== [[File:Verde River near Clarkdale, Arizona.jpg|thumb|256x256px|Verde River, AZ]] ===1. "El Rio" Local Gathering Spot=== Our next stop on this journey takes us across the U.S./Mexico border and into San Luis Rio Colorado Sonora. "El Rio" is the standard way for locals to refer to the area directly under the Mexican Federal Highway 2, which connects transit from San Luis Rio Colorado and Mexicali. Since the early 1900s, the Colorado River has been completely or nearly completely drained for irrigation. The once formidable Colorado River is usually dry or forms a small stream in this area: An excerpt from Water is for Fighting Over, and Other Myths About Water in the West states: "...it is not just San Luis, it is San Luis ''Rio Colorado''. It is the only city that has the name Rio Colorado, Campa, technical director of the city's water utility, told me as we strolled the river's sandy bottom on a warm spring morning. It took imagination to grasp at what Campa was getting at. Nineteenth century steamboats once passed this spot. The Colorado was once a river here. No more. The only thing capable of navigating the Rio Colorado's bed that day was a four-wheeler with fat tires" (2019). This description accurately depicts what the Colorado River looks like the majority of the time. What was once a free-flowing, mighty river, is now barely a stream. It is a completely different space due to the increased number of people on the weekends, whether the zone is dry or some water is released. Whoever visits the area is likely to partake in activities such as racing and drinking, among others. Many people think of these activities as a way of taking the name given to their city and making it their own, they are creating memories that will link them to this place permanently. Locals have many different ways of interpreting what "El Rio" means to them. Some hold on to the history that it represents, such as the formation of the city. While others prefer to redefine what "El Rio" means to them by creating new traditions and memories with this piece of land.<ref>J, F. (2019). Water is for fighting over: and other myths about water in the west. ''Island Press''.</ref><ref>Redondo, L., & Garcia, C. (2021). Interviews with residents of San Luis Rio Colorado, SON "El Rio" significance in their personal life.</ref>[[File:Salton Sea 03 2013.jpg|thumb|274x274px|Salton Sea 2013]] ===2. Salton Sea=== As part of the Colorado River Delta, the Salton Sea stands as the largest lake in California. It is located in the southern riverside and the northern imperial counties in southern California. Throughout history, the Salton Sea has regularly filled and dried out due to its elevation level. However, the most recent version of the Salton Sea was formed when the Colorado River floodwater breached an irrigation canal being constructed in Imperial Valley in 1905 this water flowed freely into the Salton Basin for 18 months. The sea has since been maintained by agricultural runoff from the Imperial and Coachella valleys. Today, the Salton Sea functions both as a sump for agricultural runoff and as an important wildlife area. The nutrient-rich runoff includes a high volume of salt and helps support a vibrant aquatic community, home to fish and wildlife. In the past, the Salton Sea also was a popular spot for recreational boating and fishing. At one time, the Colorado River Delta’s wetlands and riparian habitat spanned nearly 2 million acres and stretched from the northern tip of the Gulf of California to Southern California’s Salton Sea, providing rich habitat for more than 200 plant species, countless fish, hundreds of species of migratory birds and waterfowl, and wildlife such as deer, quail, raccoons, bobcats, and even jaguars. Due to the significant loss of wetlands in California and other areas, the Salton Sea ecosystem has become one of the most important wetlands for many species of migratory birds and supports some of the highest levels of avian biodiversity in the southwestern United States. The Salton Sea’s National Wildlife Refuge has over 380 species of birds, among the highest totals of all national refuges. The Salton Sea provides an important habitat for several endangered species including the desert pupfish, Yuma clapper rail, and the brown pelican. Despite the Salton Sea's importance for many species, including endangered species, the Salton Sea has recently faced many complications. Due to its formation as a landlocked body of water and its continued contamination of agricultural runoff, the Salton Sea has become toxic to not only the wildlife, but also human beings. With the sea already saltier then the Pacific Ocean, salt continues to build up. Reduced water supply, minimal rainfall, and evaporation have also significantly lowered the water levels in the already quite shallow Salton Sea. Not only have such situations placed a risk to the wildlife habitat, but have also affected nearby communities. Exposed lake beds, known as the “playa,” have led to serious issues with the local air quality. The sandy substance holds a century’s worth of agricultural runoff. Unfortunately, the environmental problems of the Salton Sea have expanded further than just the local region. It is no longer affecting only the community around it since wind-born dust has spread the poor air quality to many parts of Southern California, into Arizona, and even to nearby parks such as the Anza-Borrego Desert Park. With the Salton Sea receding, the “playa” only gets larger, releasing more contaminated particles into the air. This situation is causing air pollution and poor quality of life for the the wildlife and people it used to support.<ref>''Background Information on the Salton Sea''. CDFW Prod. (n.d.). <nowiki>https://wildlife.ca.gov/Regions/6/Salton-Sea-Program/Background</nowiki>.</ref><ref>Salton Sea Description. (n.d.). <nowiki>http://www.sci.sdsu.edu/salton/Salton%20Sea%20Description.html</nowiki>.</ref><ref>''Salton Sea''. Water Education Foundation. (n.d.). <nowiki>https://www.watereducation.org/aquapedia/salton-sea</nowiki>.</ref> [[File:PARKER DAM ON THE COLORADO RIVER - NARA - 548936.tif|thumb|Parker Dam, May 1972]] ===3. Parker Dam=== Our next stop in our tour of the Sonoran Desert is an important one that pertains to water use. The Parker Dam is about 155 miles downstream of the Hoover Dam and is important because it brings water and power to the residents of the Lower Colorado River Valley. The main purpose of this dam is to store water and eventually pump it to the Central Arizona Project Aqueducts. The Central Arizona Project delivers 488 billion gallons of water from the Colorado River out to communities, agriculture, and wildlife use. Funded by the Metropolitan Water District of Southern California, the Parker Dam helps deliver water to the Los Angeles and San Diego area. Without this water source, these places would not thrive and grow in population. Parker Dam is the deepest dam in the world it is no surprise that it is able to pump large amounts of water that supports one of the most populated places on earth. Housing four hydroelectric generating unit, the Parker Power plants can produce about 30,000 kilowatts per unit and these units are non-polluting. Around 50% of the power output is used for the pumping of water through the aqueducts. The other 50% is promoted by the Western Area Power Administration. The Parker Dam is often recognized as one of the greatest uses of water in Arizona especially because it provides water to so many people and utilizes hydropower to generate electricity. However, this is just one perspective on the Parker Dam. A more pessimistic but realistic perspective recognizes that the dam disrupts the natural flow of the Colorado River and is used to transport water to states that are miles away from the Colorado River. While hydropower is a great renewable source of energy, water is not so renewable. The more we use our water, the more we will experience long periods of drought, and the more the climate will change, and not for the better.<ref>Parker Dam Lake Havasu Reservoir. (n.d.). Retrieved April 06, 2021, from <nowiki>https://www.desertusa.com/colorado/parker_dam/du_parkerdam.html#:~:text=Parker%20Dam's%20primary%20purpose%20is,211%20billion%20gallons%20of%20water</nowiki></ref>[[File:London Bridge Lake Havasu, aerial view 1973, Film0 A 6-11-b.jpg|thumb|Lake Havasu London Bridge Ariel view 1973 ]] === 4. Lake Havasu === According to Lake Havasu’s 2020 water conservation plan, the land uses within the city are residential, commercial, industrial, recreational, resort, and underdeveloped. Residential land is scattered throughout the city while commercial and industrial are condensed parallel to main traffic routes. Residential and resorts are located throughout the shoreline and island. Four detailed plans have been set in place to address future growth patterns of this region. The city’s main water source comes from the Colorado River. Lake Havasu City has 4<sup>th</sup> priority Colorado River water entitlement that totals 28,581.7 acre-feet/year. Around 3,500 ac-ft are withheld for future Native American water use. Lake Havasu continues to secure thousands of acre-feet within other subcontracts. In order to lower the city's allocation request, the city plans to practice the reuse of wastewater for landscape and land irrigation. All water passes a 48-inch pipeline to go to the city's water treatment plant. The water is eventually treated with ferric chloride where it then goes through sand filter processes containing a bacteria and ultraviolet radiant system to disinfect the water. While many images of Lake Havasu portray summer vacations full of jet skis and family boats, the reality of Lake Havasu is not as bright. Lake Havasu faces many of the same difficulties as Parker Dam because it is also connected to the Colorado River. Water levels continue to decrease as more and more water is used for agriculture in Arizona and California and for ornamental grass in suburbs. Even with the wastewater treatment plans, it may be too little too late unless heavy restrictions are placed on what the Colorado River water can or cannot be used for.<ref>A. (2019, December 10). Lake Havasu City Water Conservation Plan. Retrieved April 10, 2021.</ref> [[File:PaloVerdeNuclearGeneratingStation.jpg|thumb|Palo Verde Nuclear Generating station Ariel view ]] === 5. Palo Verde Nuclear Generating Station === The Palo Verde plant treats millions of gallons of wastewater. The plant plans to extend this treatment to the Buckeye groundwater to reduce the amount of waste. Buckeye's water is high in mineral and salt content, making it difficult for the general public to use. In using these sources that other facilities do not use, wastewater would be reduced by twenty percent. Palo Verde is located about one hour's drive west of Phoenix. It is the largest nuclear generating station in the country. According to the plant manager, Rick Lange, the plant uses about 40,000 gallons of water every minute in the winter. On the other hand, the plant uses about 60,000 gallons of water every minute in the summer. The waste water the plant plans to utilize will aid habitat restoration. In the future, the station will treat even dirtier water and has found the funds for these plans. Currently, the station is working to get approval from the state and farmers near the area. Additionally, new cooling technology has been developed to work on different water options.<ref>News, M. S. C. (2020, February 26). ''Why Palo Verde, the country's largest nuclear plant, is cutting its wastewater use''. Cronkite News - Arizona PBS. <nowiki>https://cronkitenews.azpbs.org/2020/02/25/palo-verde-nuclear-water-use/</nowiki>.</ref> [[File:Border Wall 732.jpg|thumb|Border wall between the US and Mexico under construction ]] === 6. U.S./Mexico Border Wall === Circling back around to where we started this journey in Yuma, AZ, we arrive at the border wall between the United States and Mexico. The border wall establishes the international boundary between the U.S. and Mexico and has been present in most of the area for many years. However, in the past four years, border wall construction has increased tremendously, affecting much of the land in which it is found. Additionally, much of the water around the area has contributed to the construction of the border wall. The Arizona portion of the wall alone required approximately 50 million gallons of water to complete. This water is used for dust control purposes as well as in making concrete bases to hold the towering steel slats. The border wall has brought many concerns in regard to the degradation of the surrounding land. Environmental impacts such as erosion, soil compaction, ecosystem fragmentation, and flooding have been under crucial observation. The U.S./Mexico border wall has demonstrated itself to have a negative impact on the environment. The area in which the border wall is located is considered one of the most ecologically diverse wildlife migration corridors in all of North America. More than 450 rare species live in these areas, many of which cannot be found anywhere else in the world. However, through its establishment and construction, the border wall has destroyed much of the land's wildlife habitats. At least 700 neotropical birds, mammals, and insects migrate through the borderlands each year. This however, has been limited due to the continued construction of the U.S./Mexico border wall. Ultimately, the wall has inhibited the movement of wildlife, reducing their ability to navigate towards food and water. The border wall not only inhibits animals from navigating to areas within their habitat, but also causes species to abandon their habitats, specifically in the Quitobaquito Springs within the Organ Pipe Cactus National Monument in southern Arizona. The enhanced construction of the border wall within the past four years has come within 120 feet of the Quitobaquito Springs and has resulted in the disappearance of about 47 species of birds, including some endangered species such as the willow flycatcher. The U.S./Mexico border wall has many implications politically and culturally, but just as important, if not more so, are the implications it has on the environment in all aspects.<ref>''The Ecological Impacts of a Border Wall''. The Ecological Impacts of a Border Wall | Environmental Law Institute. (2017, April 4). <nowiki>http://www.eli.org/vibrant-environment-blog/ecological-impacts-border-wall</nowiki>.</ref><ref>Ecologists Claim Birds Disappearing From Quitobaquito Springs Due To Border Wall Construction. (n.d.). <nowiki>https://www.nationalparkstraveler.org/2020/09/ecologists-claim-birds-disappearing-quitobaquito-springs-due-border-wall-construction</nowiki>.</ref><ref>Guardian News and Media. (2019, December 29). ''Water-guzzling demands of Trump's border wall threaten fish species''. The Guardian. <nowiki>https://www.theguardian.com/environment/2019/dec/29/trump-border-wall-water-fish-species-threatened</nowiki>.</ref><ref>McCallum, J. W., Rowcliffe, J. M., & Cuthill, I. C. (n.d.). ''Conservation on International Boundaries: The Impact of Security Barriers on Selected Terrestrial Mammals in Four Protected Areas in Arizona, USA''. PLOS ONE. <nowiki>https://journals.plos.org/plosone/article?id=10.1371%2Fjournal.pone.0093679</nowiki>.</ref><ref>Worland, J. (2017, January 26). ''Donald Trump Border Wall Proposal Would Harm the Environment''. Time. <nowiki>https://time.com/4650178/donald-trump-border-wall-environment/</nowiki>.</ref> {{BookCat}} tajl4imdmfje13q2w70u4k8a45f3dqf The Linux Kernel/Security 0 438686 4657004 4654520 2026-08-10T09:23:09Z Conan 3188 hwrng and TPM sections 4657004 wikitext text/x-wiki {{DISPLAYTITLE:Security support in Linux kernel}} == New features == === Lockdown === Since Linux 5.4. ⚲ API: : /sys/kernel/security/lockdown : {{The Linux Kernel/man|7|kernel_lockdown}} &ndash; kernel image access prevention feature === Landlock === Landlock allows to sandbox applications. 👁 example: {{The Linux Kernel/source|samples/landlock/sandboxer.c}} 📚 References: : {{The Linux Kernel/doc|Landlock: unprivileged access control|userspace-api/landlock.html}} : {{The Linux Kernel/doc|Landlock|security/landlock.html}} === Randomize kernel stack offset === : {{The Linux Kernel/include|linux/randomize_kstack.h}} : {{The Linux Kernel/id|add_random_kstack_offset}} == Cryptographic API == See [[The Linux Kernel/Human interfaces#Cryptography|Cryptography]] for the full crypto API section. : /proc/crypto &ndash; registered algorithms with driver, module, priority and selftest status : /proc/sys/crypto/fips_enabled &ndash; indicates FIPS 140 mode is active : [https://github.com/sosreport/sos/blob/main/sos/report/plugins/crypto.py sos crypto plugin] &ndash; diagnostics collection for crypto subsystem == {{w|Hardware random number generator}} == ⚲ API : /dev/hwrng – hwrng device : /sys/class/misc/hw_random/rng_current – active hwrng : /sys/class/misc/hw_random/rng_available – available hwrngs : {{The Linux Kernel/include|linux/hw_random.h}} – {{The Linux Kernel/id|devm_hwrng_register}}, {{The Linux Kernel/id|hwrng_register}} Sources: : {{w|RDRAND}} / RDSEED – x86 on-chip, see [[The_Linux_Kernel/Multitasking/Architectures#CPU_feature_flags|CPU features]] : Intel/AMD chipset RNG : [[#TPM|TPM]] – also provides hwrng : VirtIO – virtual hwrng for guests ⚙️ Internals : {{The Linux Kernel/source|drivers/char/hw_random}} – hwrng drivers == {{w|Trusted Platform Module|TPM}} == A Trusted Platform Module is a hardware security chip that provides secure key storage, platform integrity measurement (measured boot), and hardware random number generation. ⚲ API : /dev/tpm0 – TPM device node : /dev/tpmrm0 – TPM resource manager (recommended, handles sessions) : /sys/class/tpm/ : {{The Linux Kernel/include|linux/tpm.h}} ⚙️ Internals : {{The Linux Kernel/source|drivers/char/tpm}} – TPM subsystem : {{The Linux Kernel/source|security/integrity/ima}} – {{The Linux Kernel/doc|Integrity Measurement Architecture|security/IMA-templates.html}}, uses TPM for measured boot : {{The Linux Kernel/source|drivers/char/tpm/tpm-chip.c}} – {{The Linux Kernel/id|tpm_hwrng_read}}, TPM as hwrng source 📖 References : {{The Linux Kernel/doc|TPM FIFO interface driver|security/tpm/tpm_ftpm_tee.html}} : {{w|Trusted Platform Module}} == Hardware vulnerability mitigations == CPU {{w|Speculative execution|speculative execution}} mitigations for vulnerabilities like {{w|Spectre (security vulnerability)|Spectre}}, {{w|Microarchitectural Data Sampling|MDS}}, {{w|Retbleed|SRSO}}, {{w|Virtual machine escape|VMSCAPE}}. These mitigations can impact real-time latency. 🗝️ Acronyms : IBPB &ndash; {{w|Indirect Branch Prediction Barrier}}, flushes branch predictor on context switches to prevent cross-process speculation attacks : IBRS &ndash; Indirect Branch Restricted Speculation : STIBP &ndash; Single Thread Indirect Branch Predictors : SSBD &ndash; {{w|Speculative Store Bypass|Speculative Store Bypass Disable}} ⚲ API : /sys/devices/system/cpu/vulnerabilities/ ⚙️ Internals : {{The Linux Kernel/source|arch/x86/kernel/cpu/bugs.c}} &ndash; x86 CPU bug mitigations 📖 References : {{The Linux Kernel/doc|Hardware vulnerabilities|admin-guide/hw-vuln}} {{BookCat}} fkv7cpmo8grjmyyoxfvv8rwm25musy3 Rust for the Novice Programmer/Hello World 0 441885 4656944 4083706 2026-08-10T07:31:03Z ~2026-43794-46 3620426 Formatting improvements 4656944 wikitext text/x-wiki == Hello World! == It is a tradition in programming that the first program people see is one that prints 'Hello World'. Make a folder to store your learning exercises in and inside make a folder. You can call it anything you want but an example name might be <code>hello_world</code>. # Open the terminal inside this folder. # Type <code>cargo init</code>. # You should notice the following things inside the folder: * <code>.git</code> (you might not see this if you have hidden items turned off) * .<code>gitignore</code> * <code>Cargo.toml</code> * <code>src</code> folder, inside which is main.rs For now we will only concern ourselves with <code>main.rs</code> which is inside <code>src</code> so open this in your text editor. Inside you will see: <syntaxhighlight lang=rust> fn main() { println!("Hello, world!"); } </syntaxhighlight> What does this mean? * <code>fn</code> is short for 'function'. We will revisit this later, for now just know it is a collection of code. * <code>fn main()</code> means it is a function called 'main'. * The main function is special as it is the start point of your program. * The braces <code>{</code> and <code>}</code> indicate the beginning and end of the function. * Then the line <code>println!("Hello, world!");</code> is made up of different parts: * <code>println!</code> is the name of the function being called. We don't need to know that much except the stuff between <code>(</code> and <code>)</code> will be printed to the terminal. * Then the <code>"</code> <code>"</code> quotes around <code>"Hello, world!"</code> indicates the stuff inside is some text. To run this, type <code>cargo run</code> in the terminal.<br>You should see the lines showing the code being compiled, then the text<br> Hello, world! being printed to the terminal!<br> You can try changing the text within the "" quotes to see different messages being printed! [[Rust for the Novice Programmer/Numbers|Next - numbers in Rust]] {{Status|100%}} {{BookCat}} enmr09lmdttowwj8lshr2czxzbwk5eu Rust for the Novice Programmer/Numbers 0 441992 4656945 4083708 2026-08-10T07:33:28Z ~2026-43794-46 3620426 Formatting improvements 4656945 wikitext text/x-wiki == Numbers == Computers are great at handling numbers.<br> Here, we will see how to do basic mathematical operations in Rust. First, let's copy the steps from the previous page to ensure we have a clean slate to begin with: # Make a new folder in your projects folder, call it something like "numbers" # Open a terminal inside that new folder and type <code>cargo init</code> # Open <code>src/main.rs</code> in your text editor Now to print out a number, we have to change the <code>println!("Hello, world!");</code> line.<br>To print out a number we will change it to <syntaxhighlight lang=rust> println!("{}", 5); </syntaxhighlight> If we type <code>cargo run</code> in the terminal now, we will see 5 in the terminal. What is this?<br> Note there aren't <code>""</code> quotes around 5, that means it is a number.<br> However, <code>println!()</code> expects some text (normally called a 'string') inside it, so instead we put <code>"{}"</code> where the <code>{}</code> braces are a placeholder for the next input. That next input being the 5 we put after the comma. Thus, the 5 is printed to the terminal. This might seem odd but it is helpful for doing more complex things. Now, what maths things can we do? The most obvious things to do are the basic operations: addition, subtraction, multiplication and division. Addition is simple: put a <code>+</code> between two numbers, so <syntaxhighlight lang=rust> println!("{}", 5+4); </syntaxhighlight> will print out 9 to the terminal. Subtraction is equally simple with a <code>-</code> between the numbers, <syntaxhighlight lang=rust> println!("{}", 5-1); </syntaxhighlight> will print out 4 to the terminal. Multiplication is the same idea, but uses the <code>*</code> symbol: <syntaxhighlight lang=rust> println!("{}", 5*3); </syntaxhighlight> will print out 15 to the terminal. Division uses the <code>/</code> symbol but functions a little strangely: <syntaxhighlight lang=rust> println!("{}", 15/3); </syntaxhighlight> will print out 5 to the terminal. However, <syntaxhighlight lang=rust> println!("{}", 15/6); </syntaxhighlight> doesn't print out 2.5 but instead prints out 2. The reason for this will be explained later, but the mechanic is that the number is rounded down to the nearest whole number. But this is quite inconvenient to include these calculations in the <code>println!()</code> statements, what's a better way to organise our code? [[Rust for the Novice Programmer/Variables|Next: Variables]] {{Status|100%}} {{BookCat}} k722a2ksp72s20u4rr4faa9cap4im2f Rust for the Novice Programmer/Variables 0 442004 4656947 4540225 2026-08-10T07:36:57Z ~2026-43794-46 3620426 Formatting improvements 4656947 wikitext text/x-wiki == Variables == What if we wanted to not have the calculation inside the <code>println!()</code> line. To solve this, we can use variables. Variables allow you to store values for later use. Here's an example: <syntaxhighlight lang=rust> let number = 5; </syntaxhighlight> First, <code>let</code> is a special keyword that means the thing is a variable. <code>number</code> here is the name of the variable so we can refer to it later. <code>=</code> shows we are putting in the variable. The 5 is the value we are putting in. This means that later when we put in <code>number</code>, it will refer to the number 5. The semicolon <code>;</code> is as before, indicating the end of the line. For example <syntaxhighlight lang=rust> let number = 5; println!("{}", number); </syntaxhighlight> will print out the 5 we put into <code>number</code>. Why is this good? The advantage of this is now we have the value separated out it is easier to change. So we could change the line to <syntaxhighlight lang=rust> let number = 5 + 4; </syntaxhighlight> and the <code>println!()</code> line would print out the new value of number, which is 9. ==== Changing Variables ==== One interesting thing about Rust is that variables are '''immutable''' by default. This means they cannot be changed after being created. However, you can set a variable as '''mutable''' (able to be changed) by using the <code>mut</code> keyword. <syntaxhighlight lang=rust> let mut number = 5; number = 8; println!("{}", number); </syntaxhighlight> This will print out the value 8 since it overrides the value 5 and in fact the value 5 does absolutely nothing here. If you run this, the compiler will tell you <code>warning: value assigned to `number` is never read</code> since it is quite smart but also quite pedantic in checking for strange things in your code. If you did want to put the variable earlier but put the value later you could do this: <syntaxhighlight lang=rust> let number; number = 8; println!("{}", number); </syntaxhighlight> Note that number no longer needs to have <code>mut</code> since it is only being set to a value once so it is not being changed. However, you cannot use it before you set a value to it. For example, <syntaxhighlight lang=rust> let number; println!("{}", number); number = 8; </syntaxhighlight> This will give you an error when you run <code>cargo run</code> on it since the compiler works out number doesn't have a value in it when you try to print it. Here are some things you can do with changing variables:<br> You can do mathematical equations in order: <syntaxhighlight lang=rust> let mut x = 10; x = x * x; x = x + 5; println!("{}", x); </syntaxhighlight> Here we have a variable with the name <code>x</code>. This is shorter and easier to type, but is less descriptive so might not tell you or other people what this number is for later. Also note we are using the last value of <code>x</code> each time we set the next value of <code>x</code>. This computes x<sup>2</sup> + 5 with x = 10, which gives 105. You can change the <code>x</code> value and it will compute the same equation for the different values of x. One last thing for now: that <code>x = x * number</code> or <code>x = x + number</code> is quite a common thing to do, so there is a way to shorten this: <syntaxhighlight lang=rust> let mut x = 10; x *= x; x += 5; println!("{}", x); </syntaxhighlight> This program does the same thing. For the basic operations, you can use them with <code>=</code> to shorten it. [[Rust for the Novice Programmer/Comments|Next up: Comments]] {{Status|100%}} {{BookCat}} cmyjhu4xhexaz2qez6s4x4blblpcooh Rust for the Novice Programmer/Comments 0 442029 4656948 4083712 2026-08-10T07:37:54Z ~2026-43794-46 3620426 Formatting improvements 4656948 wikitext text/x-wiki == Comments == We're beginning to have a few lines in our code, and sometimes it can awkward to organise properly. One useful tip is that you can put notes or annotations to your code that explains what it does. This is done with comments, with which there are two ways in Rust: # using <code>//</code> before a line means that the rest of the line is ignored by the compiler # using <code>/*</code> means that all the rest of the code will be ignored by the compiler until it finds <code>*/</code> For example: <syntaxhighlight lang=rust> fn main() { //the next section calculates x^2 + 5 and prints it out let mut x = 10; x *= x; x += 5; println!("{}", x); } </syntaxhighlight> Here the comment is used to annotate what the next section does. We can also use these comments to stop code from being run temporarily without removing it entirely. For example: <syntaxhighlight lang=rust> fn main() { let mut x = 10; /*x *= x; x += 5;*/ println!("{}", x); } </syntaxhighlight> Here the value 10 will be printed since the two lines have the <code>/* */</code> comments around them so they are not run. Comments are just generally useful and will be used in later sections to annotate code. [[{{BOOKNAME}}/Numbers and data types|Next: More numbers and data types]] {{Status|100%}} {{BookCat}} aaihfn0mbj3cc0ldg6c1agnmmxkqpc7 Rust for the Novice Programmer/Functions 0 442112 4656955 4083717 2026-08-10T07:46:05Z ~2026-43794-46 3620426 Formatting improvements 4656955 wikitext text/x-wiki == Functions == Let's say we wanted to do the x<sup>2</sup> + 5 again but to y with a starting value of 7. What would that look like? <syntaxhighlight lang=rust> fn main() { let mut x = 10; x *= x; x += 5; println!("{}", x); let mut y = 7; y *= y; y += 5; println!("{}", y); } </syntaxhighlight> This will work, but say we wanted to change it to x<sup>2</sup> + 8 for both of them. This means we would have to change it in both locations. This doesn't seem like too much effort here, but these patterns of wanting to do the same things, just with slightly different values is very common. Therefore we can separate this out into a function. Let's take one of them first: <syntaxhighlight lang=rust> fn print_value() { let mut x = 10; x *= x; x += 5; println!("{}", x); } </syntaxhighlight> This will work, except the point of a function is to take in input(s) that can have different values. The way to put an input into a function is to put it inside the <code>()</code> brackets. You put the name of the input, similar to the name of a variable, then you have to explicitly write out the type of the input. <syntaxhighlight lang=rust> fn calc_value(input: i32) { let mut value = input; value *= value; value += 5; println!("{}", value); } </syntaxhighlight> Note that we set value to the value of input. This means since we use the <code>mut</code> keyword, we can modify the value inside the function. Alternatively we could put <code>mut</code> before <code>input</code> and then input would be modifiable. Next we can change <code>main()</code> to <syntaxhighlight lang=rust> fn main() { calc_value(10); calc_value(7); } </syntaxhighlight> This means the code is a lot easier to modify and separate out, making it easier to read and edit later. An alternative way might be if we wanted to not print out inside the function and instead output the different value, so that the <code>main()</code> function can print it out or do anything it wants with it. This is called returning and you specify the return value with <code>-> type</code>. For example, the function will return an integer, so we return <code>i32</code> by adding <code>-> i32</code> after the <code>()</code> but before the <code>{}</code>. <syntaxhighlight lang=rust> fn calc_value(input: i32) -> i32 { let mut value = input; value *= value; value += 5; return value; } </syntaxhighlight> Then we print the values in the <code>main()</code> function as so: <syntaxhighlight lang=rust> fn main() { let value1 = calc_value(10); let value2 = calc_value(7); println!("{}", value1); println!("{}", value2); } </syntaxhighlight> This lets us do more interesting things, like chaining function calls together. For example we can change the main to: <syntaxhighlight lang=rust> fn main() { let mut value = calc_value(10); value = calc_value(value); println!("{}", value); } </syntaxhighlight> This does the x<sup>2</sup> + 5 on 10 twice, so we get 11030. This has just been a rough overview of functions and their usefulness. [[{{BOOKNAME}}/If statements and booleans|Next: if statements and booleans]] {{Status|100%}} {{BookCat}} khfpyul1iw370s5m8gvc0ag8ornvsth Rust for the Novice Programmer/Numbers and data types 0 442191 4656954 4083714 2026-08-10T07:42:01Z ~2026-43794-46 3620426 Formatting improvements 4656954 wikitext text/x-wiki == Numbers and data types == ===== Basic explanation of number representation ===== One thing to keep in mind is that at a fundamental level, all computers are doing are moving 1s and 0s around. We call a single value a 'bit'. Normally, computers are built to work in sections of 8 bits at a time and each one is called a 'byte'. The specifics of this aren't relevant right now, except that the number types in Rust are built using these bytes. The default number type is <code>i32</code>. The <code>i</code> stands for integer, where an integer is a whole number (positive or negative), and the <code>32</code> is the number of bits used to represent this number, which is equivalent to 4 bytes. The integer types in Rust are <code>i8</code>, <code>i16</code>, <code>i32</code> and <code>i64</code>, for each the number corresponds to the number of bits in it. There's also what are called unsigned integers which are integers that only represent positive values (including 0). Correspondingly, they are <code>u8</code>, <code>u16</code>, <code>u32</code> and <code>u64</code>. Remember earlier where we said division was a little strange? How when we did <code>15/6</code> we got 2 out instead of 2.5? This is the reason, since the two numbers involved in the division are integers, the output will be an integer too. Since an integer can only store whole numbers, the output will not store the .5 extra. If we want values that can store decimals we use what are called floating-point numbers. These are numbers that store decimal values in them. In Rust, there are two floating point types, <code>f32</code> and <code>f64</code>. You can get a floating point easily by adding a .0 after a number. Note that the default floating-point type will be <code>f64</code> in this case For example: <syntaxhighlight lang=rust> fn main() { let number = 15.0 / 6.0; println!("{}", number); } </syntaxhighlight> Now the output we get is 2.5 as expected. How do we choose a specific type that we want? We can do this by adding a colon then the type after the name as shown here: <syntaxhighlight lang=rust> let number: i16 = 3 + 4; println!("{}", number); </syntaxhighlight> Here we are using a 16-bit integer to store the value 7 then print it. Why do we want different types?<br> Rust is a language that allows you as the programmer quite a lot of control over what you are doing. Using smaller number types as needed can save space since fewer bits are used. [[{{BOOKNAME}}/Functions|Next: Functions]] {{Status|100%}} {{BookCat}} 0dwg592eqn9mv9b6hdfciquo1681f9w Rust for the Novice Programmer/If statements and booleans 0 442294 4656957 4445585 2026-08-10T07:48:47Z ~2026-43794-46 3620426 Formatting improvements 4656957 wikitext text/x-wiki == If Statements and Booleans == One fundamental concept is that we might want to do something different depending on something. For example, we might want to cap a number at a certain threshold, say 10. Thus, if the number is higher than 10, we want to set it to 10. To express this, we use what are called if statements. an if statement uses what are called booleans. A boolean is a value of either true or false. In Rust it is shortened to <code>bool</code> to make it quicker to type. For example: <syntaxhighlight lang=rust> fn main() { let number = 5; let is_six: bool = number == 6; } </syntaxhighlight> Here we are using <code>==</code> which checks whether the two things on the left and right of it are equal. If they are it becomes true, otherwise it becomes false. Since 5 is not equal to 6, <code>is_six</code> will be <code>false</code>. There are other things like <code>==</code>, called 'operators' since they operate on inputs. The most common ones are <code>==</code> which compares if two things are the same, <code>!=</code> which compares if two things are not the same, <code>></code> which compares if the left thing is greater than the right thing, <code>>=</code> which compares if the left thing is greater than or equal to the right thing and the reverse for <code><</code> and <code><=</code>. We use these in <code>if</code> statements by putting a boolean in and if the boolean is <code>true</code>, we will go inside the <code>{}</code> of the if statement, otherwise not. <syntaxhighlight lang=rust> fn main() { let mut number = 5; let is_six: bool = number == 6; if is_six { number += 4; } println!("{}", number); } </syntaxhighlight> So here, since <code>is_six</code> is <code>false</code>, we won't go inside the if braces and the number printed out will be 5. If however, we changed it to: <syntaxhighlight lang=rust> fn main() { let mut number = 5; let is_five: bool = number == 5; if is_five { number += 4; } println!("{}", number); } </syntaxhighlight> Then since the number is equal to 5, <code>is_five</code> is <code>true</code> and we go inside the braces, causing number to be equal to 9 at the end. This is quite verbose so normally the boolean value wouldn't be put into a variable and would go directly into the if statement as follows: <syntaxhighlight lang=rust> fn main() { let mut number = 5; if number == 5 { number += 4; } println!("{}", number); } </syntaxhighlight> This is quicker to write, more concise and easier to change later so is generally preferred. Let's say we wanted to add 4 if the number was equal to 6, and subtract 4 if the number wasn't equal to 6. How would we do this? We could do a second if statement using the <code>!=</code> not equals operator like this: <syntaxhighlight lang=rust> fn main() { let mut number = 5; if number == 6 { number += 4; } if number != 6 { number -= 4; } println!("{}", number); } </syntaxhighlight> This will work, but is quite long and awkward to read and change. Instead we use the <code>else</code> operator: <syntaxhighlight lang=rust> fn main() { let mut number = 5; if number == 6 { number += 4; } else { number -= 4; } println!("{}", number); } </syntaxhighlight> Here, since number isn't equal to 6, we go to the else and subtract 4 so number is equal to 1. We can also combine if and else to do different things: For example, let's say we wanted to add 4 if number was less than 7, subtract 4 if number was greater than 9 and add 1 otherwise. This would be awkward to do as separate if statements, since if the number was 6, it is less than 7 so we would add 4, making it 10, which means we would then subtract 4 from it since it is greater than 9. Therefore, using else statements to separate each section into its own block is convenient. We can do that behaviour as follows: <syntaxhighlight lang=rust> fn main() { let mut number = 5; if number < 7 { number += 4; } else if number > 9 { number -= 4; } else { number += 1; } println!("{}", number); } </syntaxhighlight> And the number ends up as '''9'''. Let's go back to the example at the start of capping a number at 10. Now we can do that and we can express it as a function. <syntaxhighlight lang=rust> fn cap_at_10(input: i32) -> i32 { if input > 10 { return 10; } else { return input; } } </syntaxhighlight> Then we can use this in <code>main()</code> as follows: <syntaxhighlight lang=rust> fn main() { let mut number = 8; number = cap_at_10(number); let mut number2 = 14; number2 = cap_at_10(number2); println!("{}", number); println!("{}", number2); } </syntaxhighlight> This will print out 8 and 10 since the 8 is less than 10, we go to the <code>else {}</code> part of the if statement, so just return 8 from the function. While with 14, it is greater than 10 so we go to the <code>if {}</code> part of the if statement, so return 10. A key point about all these programming things is that they are quite simple. Their power comes from using them together. From little things big things grow! [[{{BOOKNAME}}/Loops and Iteration|Next: Loops and iteration]] {{Status|100%}} {{BookCat}} ozwd76sjn3hkyd3d4eu5kno1nfmobz6 User:GoreyCat/Sandbox 2 444626 4656857 4649934 2026-08-09T22:13:33Z ShakespeareFan00 46022 4656857 wikitext text/x-wiki =Specific Books= [[User:GoreyCat/AlgebraSandbox]]<br> *[[User:GoreyCat/AlgebrTOC]]<br> [[User:GoreyCat/GeometrySandbox]] =Book Covers= <div style="text-align: center;"><span style = "font-size:500%;color:#f3d64f;font-family:serif">ARITHMETIC</span></div> <div style="text-align: center;"><span style = "font-size:500%;color:red;font-family:serif">ALGEBRA</span></div> <div style="text-align: center;"><span style = "font-size:500%;color:blue;font-family:serif">GEOMETRY</span></div> <div style="text-align: center;"><span style = "font-size:500%;color:green;font-family:serif">CALCULUS</span></div> <div style="text-align: center;"><span style = "font-size:500%;color:orange;font-family:serif">NUMBER THEORY</span></div> <div style="text-align: center;"><span style = "font-size:500%;color:purple;font-family:serif">PROBABILITY</span></div> <div style="text-align: center;"><span style = "font-size:500%;color:teal;font-family:serif">VECTORS</span></div> <div style="text-align: center;"><span style = "font-size:500%;color:magenta;font-family:serif">ABSTRACT ALGEBRA</span></div> =Algebra/Contributing= {{Calculus/Top Nav|Introduction|Precalculus}} Notes on contributing to the [[Calculus]] textbook. This is the [[Wikibooks:Local manuals of style]] for the [[Calculus]] textbook. ==Note to new contributors== The guidelines given below are intended to keep the organization and style of the book consistent, to reduce the need to rework edits, and to communicate best practices. It is not intended to be a barrier to contributions by would-be contributors. If you have something to contribute but don't have time to read up on all the guidelines given below, go ahead and make your contribution. Other experienced contributors can touch up your edits afterwards so that they conform to the guidelines. ==Structure== The structure currently being implemented is as follows: *The book is divided into chapters and sections, with related sections grouped into supersections (e.g. [[Calculus/Integration techniques|Integration Techniques]] within the [[Calculus/Integration|Integration]] chapter). These sections are listed on the [[Calculus|main page]]. *Each section is assigned a section number. *"==" should be the highest level header used in any section. "=" is reserved for major divisions within the print version of the book. *Each page including exercises links to a corresponding page of solutions. *Pages of solutions are organized based on their corresponding page of exercises (exercises set one has a corresponding set one of solutions, etc.). ==Conventions== *Use <nowiki>{{Newpage}}</nowiki> templates to separate chapters and sections in the print version. *Section titles should use [[wikt:title case|title casing]] while sub-section headers should use [[wikt:sentence case|sentence casing]]. Named theorems should be capitalized (e.g. Mean Value Theorem). *All content pages and section pages should include the <nowiki>{{Calculus/Top Nav}}</nowiki> template at the top and bottom of the page. This template links to the previous and next section or content page. The order of pages defined by the links in the <nowiki>{{Calculus/Top Nav}}</nowiki> template should agree with all tables of contents. *All content pages and section pages should include <nowiki>{{Calculus/TOC}}</nowiki> just below the bottom <nowiki>{{Calculus/Top Nav}}</nowiki> template. *Whenever you want to refer to a section by its section number, use <nowiki>{{Calculus/map page|[Section-Name]}}</nowiki>. Then any changes in the ordering of sections can be done easily by changing the <nowiki>{{Calculus/map page}}</nowiki> template. *Exercises are sequentially numbered within each section. *Solutions should be complete and logical. Particularly important steps should be noted and described in words as well as being shown symbolically. ''Naming Convention: Calculus/[Section-Name]/Solutions'' (ex. Calculus/Differentiation/Solutions) *Give each figure a figure number. Figure numbering restarts with each new section. *Use <nowiki>{{nowrap begin}}</nowiki> and <nowiki>{{nowrap end}}</nowiki> for inline math text that shouldn't be broken up across lines. *Link figure references in the text to the figure's file using <nowiki>{{nowrap begin}}[[:File:Name-of_File|Figure ''k'']]{{nowrap end}}</nowiki>. *Use "\left(" and "\right)" for parenthesis, "\left|" and "\right|" for absolute values, etc. This makes the LaTeX render better in many cases. *Use an invisible delimiter (i.e. "\.") with "\|_a^b" for evaluating the antiderivative of an definite integral. The invisible delimiter causes the size of the vertical bar to be sized according to the size of the expression being evaluated. *Use question-answer templates for exercises like this: :'''<nowiki>{{question-answer|question=1. Question-goes-here|answer={{noprint|Answer-goes-here}}}}</nowiki>''' :The noprint template prevents the answer from appearing with the exercise in the print version. *Solutions (as opposed to answers) go on the solutions page like this: :'''<nowiki>{{question-answer|question=1. Question-goes-here|answer=Answer-goes-here}}</nowiki>''' :Bold the answer using either <nowiki>'''Answer'''</nowiki> or <nowiki><math>\mathbf{Answer}</math></nowiki> so that people using the print version can quickly find the answer. *Prefer \frac{a}{b} to {a\over b}. Using consistent markup reduces the need to do multiple searches on different search terms if looking for a particular fraction. *Use a single space between sentences unless there is a specific reason to do otherwise. Extra whitespace is ignored anyway, so adding extra whitespace only adds to the size of the page without changing its appearance. If you need to add extra whitespace for layout, use "&amp;nbsp;" (the html code for a space) within text or "\,", "\quad", or "\qquad" within <nowiki><math></nowiki> tags for small, medium, and large spaces, respectively. ==Templates== See [[:{{BOOKCATEGORY}}/Templates]] for a list of all [[Calculus]] textbook templates. ===<nowiki>{{Calculus/Top Nav}}</nowiki>=== {{tlx|Calculus/Top Nav|Limits|Infinite Limits}} produces this navigation box: {{Calculus/Top Nav|Limits|Infinite Limits}} All [[Calculus]] content pages should include this at the top of the page and at the bottom just above the {{nowrap begin}}<nowiki>{{Calculus/TOC}}</nowiki>{{nowrap end}} template. ===<nowiki>{{Calculus/TOC}}</nowiki>=== {{tlx|Calculus/TOC}} produces this navigation box: {{Calculus/TOC}} All [[Calculus]] content pages should include this at the bottom of the page. This also adds the page to [[:{{BOOKCATEGORY}}|the book category]]. ===<nowiki>{{Calculus/map page}}</nowiki>=== {{tlx|Calculus/map page|Algebra}} returns the section number for the [[Calculus/Algebra|Algebra]] section, i.e. {{Calculus/map page|Algebra}}. Use this template when you want to refer to a section by its section number. If you re-order the sections, edit the <nowiki>{{Calculus/map page}}</nowiki> template to reflect the new ordering. That way all references in the book will be updated to return the correct section number. ===<nowiki>{{Calculus/Def}}</nowiki>=== {{tlx|Calculus/Def|text{{=}}My definition here.}} produces a box for important text: {{Calculus/Def|text=My definition here.}} Use this to introduce significant new definitions and concepts. See [[Calculus/Limits#Informal definition of a limit]], where the informal definition of a limit is inside such a box. ===<nowiki>{{Calculus/Stub}}</nowiki>=== {{tlx|Calculus/Stub}} produces a stub notice, signifying that the given page or section is too short. ==On inclusiveness vs. exclusiveness== An Extensions section is included for further topics. Any study beyond fairly basic calculus should be in this section. We should aim to include more than is necessary and ensure that our readers are aware of this. The book should be structured so that J. Random Student can find a rigorous course in the essentials of calculus but also include further study of the topic that readers can pick and choose topics from, as their interests warrant. ==TODO== *ADD MORE, ORGANIZE MORE. *Provide a more in-depth Precalculus section. *Create problem sets (preferably original, rigorous and realistic). *Create answer sets. {{Calculus/Top Nav|Introduction|Precalculus}} {{Calculus/TOC}} === Pie Chart === Pie charts are best used to compare parts to the whole by percentages. By measuring the number of '''degrees''' that a piece of the pie chart is, one can find the percentage it represents. {{TrigBoxOpen}} <math>\mbox{degrees} = \mbox{percent} \cdot\frac{360}{100}</math> {{TrigBoxClose}} which simplifies to degrees * 18 / 5 === Bar Chart === Bar charts are best for plotting the change in something over a period of time. It is nearly the same as a line chart, except that the points are not connected, and instead extend to the bottom of the chart. {{{{BOOKTEMPLATE}}/Page}} '''Solving linear inequalities''' involves finding solutions to expressions where the quantities are ''not'' equal. A number on the number line is always '''greater''' than any number on its left and '''smaller''' than any number on its right. The symbol "<" is used to represent "is less than", and ">" to represent "is greater than". For example: <--|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----> -5 -4 -3 -2 -1 0 1 2 3 4 5 From the number line, we can easily tell that 3 is greater than -2, because 3 is on the right side of -2 (or -2 is on the left of 3). We write it as <math>3>-2</math> (or as <math>-2<3</math>). We can also derive that any positive number is always greater than negative number. Consider any two numbers, ''a'' and ''b''. One and only one of the following statements can be true: # <math>a>b</math>, # <math>a=b</math>, or # <math>a<b</math> This is the [[Wikipedia:Law of trichotomy|Law of Trichotomy]]. For an inequality with one unknown, there may be many (sometimes infinite) possible solutions. == Properties == * '''Transitive property''': ::For any three numbers <math>x</math>, <math>y</math>, <math>z</math>, if <math>x>y</math> and <math>y>z</math>, then <math>x>z</math>. * '''Additive property''': ::In an inequality, we can add or subtract the same value from both sides, without changing the sign (i.e. ">" or "<"). That is to say, for any three numbers <math>x</math>, <math>y</math> and <math>p</math>, if <math>x>y</math>, then <math>x+p>y+p</math> and <math>x-p>y-p</math>. * '''Multiplicative property''' ::We can multiply or divide both sides by a '''positive''' number without changing the sign. For example, if we have any two numbers <math>x</math> and <math>y</math>, and another positive number <math>p</math>, then if <math>x>y</math>, then <math>x \cdot p>y \cdot p</math> and <math>\frac {x} {p}> \frac {y} {p}</math>. :: When we multiply or divide both sides by a '''negative''' number, we have to change the sign of the inequality (i.e, ">" change to "<" and vice versa). So if we are given two numbers <math>x</math> and <math>y</math>, and another negative number <math>p</math>, then if <math>x>y</math>, <math>x \cdot p<y \cdot p</math> and <math>\frac {x} {p}< \frac {y} {p}</math>. Now we can go on to solve any linear inequalities. == Solving Inequalities == Solving inequalities is almost the same as solving linear equations. Let's consider an example: <math>x+4<13</math>. All we have to do is to subtract 4 on both sides. We will then get <math>x<9</math>, and that is the answer! Note, however, what you get is not a single answer, but a ''set'' of solutions, i.e., any number that satisfies the condition <math>x<9</math> (any number that is less than 9) can be a solution to the inequality. It is very convenient to represent the solution using the number line: <-------------------o <-+-----+-----+-----+-----+-----+--> 6 7 8 9 10 11 ('''Note:''' the open circle ("o") shows that the value 9 is not included in the solution set, as the inequality of this equation is ''less than 9'', not ''less than or equal to 9''. When we deal with less (greater) than or equal to (≤ or ≥) later on, we use a closed circle ("●") to show that the value is included in the solution set.) Let us try another more complicated question: <math>3x-2\ge2(x-3)</math>. First, you may want to expand the right hand side: <math>3x-2\ge2x-6</math>. Then we can simply rearrange the terms so that all the unknown variables are on one side of the equation, usually the left hand side: <math>3x-2x\ge-6+2</math>. Hence we can easily get the answer: <math>x\ge-4</math>. This solution is represented on the number line below. Note that the solution requires a closed circle ("●"), because the <math>x</math> is greater than ''or equal to'' 4. ●-------------------> <-+-----+-----+-----+-----+-----+--> -6 -5 -4 -3 -2 -1 === Inequalities with a variable in the denominator=== For example consider the inequality :<math>\frac{2}{x-1}<2\,</math> In this case one cannot multiply the right hand side by <math>(x-1)</math> because the value of x is unknown. Since x may be either positive or negative, you can't know whether to leave the inequality sign as <math><</math> (ie less than), or reverse it to > (ie greater than). The method for solving this kind of inequality involves four steps: # Find out when the denominator is equal to zero. In the above example the denominator equals zero when <math>x=1</math>. # Pretend the inequality sign is an <math>=</math> sign and solve it as such: <math>\frac{2}{x-1}=2\,</math>, so <math>x=2</math>. # Plot the points <math>x=1</math> and <math>x=2</math> on a number line with an unfilled circle because the original equation included < (it would have been a filled circle if the original equation included <math>\le</math> or <math>\ge</math>). You now have three regions: <math>x<1</math>, <math>1<x<2</math>, and <math>x>2</math>. # Test each region independently. in this case test if the inequality is true for <math>1<x<2</math> by picking a point in this region (e.g. <math>x=1.5</math>) and trying it in the original inequation. For x=1.5 the original inequation doesn't hold. So then try for <math>1>x>2)</math> (e.g. <math>x=3)</math>). In this case the original inequation holds, and so the solution for the original inequation is <math>1>x>2)</math>. ==Compound Inequalities== A compound inequality is a pair of inequalities related by the words ''and'' or ''or''. In an ''and'' inequality, both inequalities must be satisfied. All possible solution values will be located between two defined numbers, and if this is impossible, the compound inequality simply has no solutions. Consider this example: <math>x+6\ge2</math> '''and''' <math>x\le2</math>. First, solve the first inequality for x to get <math>x\ge-4</math>. All ''and'' inequalities can be rewritten as one inequality, like this: <math>-4\le</math><math>x\le2</math> (write x between two ≤'s or <'s or both with the smaller number on the left and the larger number on the right). Now, we can graph this inequality on a number line as a line segment. Remember, all solutions to ≤ or ≥ must be graphed with closed circles. Interpret this graphic as "all numbers between -4 and 2, including -4 and 2." ●-----------------● <-+-----+-----+-----+-----+-----+--> -6 -4 -2 0 2 4 Now, let us consider ''or'' inequalities. ''Or'' inequalities usually do not have a set of solutions that satisfies both. Instead, they usually have two sets of infinite numbers that are solutions to each one. Because of this, ''or'' graphs define which numbers satisfy '''either''' equation. For example: <math>x\;<1</math> '''or''' <math>x-1\ge2</math>. First, solve for x in the second inequality to get <math>x\ge3</math>. Now, graph the two inequalities on the same number line. Remember to use open and closed circles accordingly. <-------------o ●--------> <-+-----+-----+-----+-----+-----+--> -1 0 1 2 3 4 ==Solving Inequalities with Absolute Value== Since <math>'''|x| = |-x|'''</math> A inequality involving absolute value will have to solved in two parts. Solving <math>'''|x-6| < 5'''</math> The first part would be <math>'''x-6 < 5'''</math> which gives <math> x < 11 </math>. The second part would be <math> '''-(x-6) < 5''' </math> which solved yields <math>x > 1</math>. So the answer to <math>|x-6| < 5</math> is <math>1<x<11</math> ●----------------------------><-----------------------------● <-+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--> 0 1 2 3 4 5 6 7 8 9 10 11 12 ==Graphing Linear Inequalities== The graphing of linear inequalities is very similar to the graphing of linear functions. A linear inequality is written in '''Previous:'''&nbsp;[[Algebra/Solving equations|Solving equations]] <br> '''Next:'''&nbsp;[[Algebra/Quadratic functions|Quadratic functions]] == The Natural Numbers == Mathematics requires, in order to avoid confusion or absurdity, an unambiguous definition of vocabulary. While this is true of any science, in mathematics this is achieved ''absolutely'' through the abstraction of concepts. However, the full description of math as above requires time, and is nowhere elementary. Also, in order to have a true ''axiomization'', a math built up from the roots, we will have to use the strongest, in the logical sense, statements possible. This makes them powerful for proofs but often sacrifices intuitiveness. Thus, we will concentrate on the later, only rarely using rigour, as necessary. To do mathematics we must start by finding a way to think about numbers that is as above, unambiguous, while at the same time obvious and natural. We thus come up with the natural numbers. Intuitively, we define these as the set '''N''' = { 1, 2, 3, ... }. We will say a number is a natural number if it belongs to this set. Soon we will find this needs to be expanded even for elementary treatment, but this set alone already has some interesting properties. If there is a set A such that if we pick an arbitrary number, call it x, and x &isin; '''N''', we say A &sube; '''N'''. In words, A is a subset of '''N'''. By x &isin; A we mean that x is "in" A, or that x is an element of A. While we have not defined properly a set, membership or inclusion, we have already a feel for what '''N''' ought to be like. == Mathematical induction == === Principle of mathematical induction === ''Let A &sube; '''N''' with the following properties:'' (i) <math>1\in A</math> (ii) <math>n\in A</math> implies <math>n+1\in A</math> ''Then A ='' '''N''' === Remark === The principle of mathematical induction is implied by the 'least element principle' (2.1). For, assume that '''1.1''' holds and let ''B'' be the set of all elements of '''N''' ''not'' in ''A''. If ''B'' has any elements (that is, is not empty) then it must have a least one. Call this least element ''n''. Then, by (i), <math>n\ne 1</math>. Thus ''n - 1'' is a natural number and is not in ''B'' and so is in ''A''. By (ii), <math>n=(n-1)+1</math> is a natural number which is in ''A''. But now ''n'' is in both ''A'' and ''B'' which is impossible. So ''B'' must have been empty. That is, ''A ='' '''N'''. This serves as a fundamental property of the natural numbers, and we, further defining order, will call these numbers well-ordered, primarily because of this principle. In more rigorous terms, we would have to identify a separate axiom, called the axiom of induction, which encompasses this property. However, for our current purposes, this is sufficient. === Principle of mathematical induction (modified) === ''Let A be a set of natural numbers which has the following properties:'' (i) ''The natural number ''<math>n_0</math>'' is in A'' (ii) ''If'' <math>n\ge n_0</math> ''and'' <math>n\in A</math>, ''then'' <math>n+1\in A</math> ''Then A contains all natural number'' <math>n\ge n_0</math> == Numbers == In this section, we shall describe some of the more commonly occurring types of numbers together with some of their properties. ===Types of Numbers=== ====Natural Numbers, N==== As already mentioned, these are just ordinary counting numbers 1,2,3,4,...,29... . Note that zero has not been included in this set. This varies with different books or mathematicians and may include zero as a natural number. An important property of the natural numbers is the ordering. Note that natural numbers come with an idea of size so that we can talk about larger and smaller natural numbers. ====Integers, Z==== By the integers, we mean the natural numbers together with their negatives and zero. Although we all, presumably, have a reasonably clear practical idea of how to work with the integers, there are definite problems as to what they actually are. Referring to such things as the 'number line' does not solve these problems because it relies heavily on our intuition. One way that mathematicians solve this problem is to make an artificial construction which produces an artificial object with the properties we expect of the integers. Although we do not use this in everyday mathematics, it gives a precise definition which we can use to justify our use of negative numbers and also provides a model we can use when we wish to develop quite new constructions which are not so intuitively reasonable. We shall not describe this for the integers but will give a brief description next of a similar process starting with the integers and producing the rational numbers. ====Rational Numbers, Q==== With the integers, we have a number system which is closed under addition, multiplication and subtraction. The next step is to produce a collection numbers which is also closed under division (except by zero). This is the rational numbers. Again we should all be able to manipulate rational numbers but there is some problem with what they actually mean. For example, what does it mean to say that <math>\frac{2}{3}=\frac{4}{6}=\frac{6}{9}</math>? We usually want the equals sign to denote the fact that two things are identical and the ''symbols'' <math>\frac{2}{3}</math> and <math>\frac{4}{6}</math> are certainly not identical. So we redefine what we mean by ''equality of fractions''. Let us consider the set of ordered pairs of integers with the second integer non-zero; that is, <div style="text-align: center;"> <math>\mathbb{Q}'=\{(x,y):a,b\in \mathbb{Z}</math> and <math>b \ne 0\}</math> </div> (An ordered pair is just a pair in which it is specified which comes first and which second.) We want these ordered pairs to represent rational numbers but on a many-to-one basis. So we redefine equality of these ordered pairs by <div style="text-align: center;"> <math>(a,b)\equiv (c,d)</math> if and only if ad = bc </div> (Read this as (a,b) is ''equivalent to'' (c,d).) This corresponds to the usual definition of equality of fractions. We can then think of one rational number as being represented by a collection of ordered pairs of integers all equivalent to each other. Two ordered pairs represent the same rational number exactly when they are equivalent. WE can then go on to define, in terms of the ordered pairs, the usual operations of addition, subtraction, multiplication and division. For example, <div style="text-align: center;"> (a,b) + (c,d) = (ad+bc,bd) </div> We will define addition of rational numbers by taking an ordered pair for each number and then adding these ordered pairs. There is still a problem however. We need to be sure (without checking each case) that, for example, because <math>(2,3)\equiv (4,6)\equiv (6,9)</math>, then also <div style="text-align: center;"> <math>(2,3)+(5,6)\equiv (4,6)+(5,6)\equiv (6,9)+(5,6)</math> </div> ===What is order?=== Again, as we try to find a way to define, based on the already established ideas of addition, and the intuitive idea of order, in what sense is a number larger than another. In what way can we arrange the numbers? With '''N''' this is easy, we say, if a, b are natural numbers, a < b if there is a natural number c such that a + c = b. From the principle of induction, we can thus order '''N''' in the following manner: 1, 2, 3, ... As has been done before with our intuition. With '''Z''', we run into a problem, where do we start? Since the principle of induction does not apply on '''Z''' as a whole, we have to write it as ..., -1, 0, 1, ..., leaving "..." on both sides. However, the definition, as before, applies. With '''Q''', clearly <math>\frac{1}{2}</math> > <math>\frac{1}{3}</math>, yet <math>\frac{1}{6}</math> is not in '''N''' and so our definition fails. The new definition would be '''Definition: (Order on Q)''' ''Let a, b be rational numbers, then a < b if there is a positive rational number c such that a + c = b.'' We call a rational c positive if it is equivalent to a rational <math>\frac{n}{m}</math> such that n and m are both natural. In other words, if c = <math>\frac{p}{q}</math>, then c is positive if ''pq'' is a natural number. A simple exercise would be to show these are equivalent. (Note: Statements are equivalent if each implies the other.) Any set such that for each two elements in it we can definitely say a < b, a > b, or a = b is called totally ordered. ===The least element property=== ''Any non-empty subset of the natural numbers has a least element.'' The words 'any non-empty subset' mean that the subset we take should have at least one element in it. Any set with the least element property is called well-ordered. Thus '''N''' is well-ordered as above, while '''Z''' and '''Q''' are not. ===Order properties of natural numbers=== (i) ''There is no largest natural number''. (ii) ''There are natural numbers which are nearest neighbours in the sense that there is no natural number strictly between them.'' ===Not finished yet...=== == Proofs == ===Definition=== A proof is simply a mathematical argument designed to convince the reader of some fact. However an intuitive proof differs from an inductive proof. The former being a fact that can be assumed to be an observable constant from daily experiences (e.g. when two test tubes of milk are poured into one beaker, then if we divide the final volume again into the two beakers, we should get full test tubes again (almost). This explains why ½+½ will still be 1. Since this follows from intuition/observation/experience alone it can be considered an intuitive proof.). The latter, inductive proof, is of the type where many intuitive proofs can be combined to get the desired result. For example, we know that pouring two test tubes of milk gave us two units in the beaker, so if the volume of the test tube can be regarded as a unit volume, then ''n'' such test tubes will give us a total of ''n'' units of milk in the beaker. '''Mathematical proof''' itself is based on natural logic and philosophy. Modern mathematics generally assumes most proofs to be absolute, not without reason though. This allows them to engage in complex problems using purely inductive reasoning. However the basis for all that still remains natural philosophy and logic. This is reflected in Newton's title to a relatively abstract mathematical treatment of his work being titled as 'Principles of natural philosophy'. ===Mathematical terms=== '''and''' - 'A and B' means that both A is true '''and''' B is true '''not''' - This has the usual meaning in English; note that not(not(A)) is the same as A '''or''' - This is always what is called 'inclusive or'. That is 'A or B' means that either A is true or B is true '''or both'''. '''for all''' - This has the usual meaning in English '''there exists''' - This has the usual meaning in English '''implies; if-then''' - These kinds of statements are at the centre of mathematical reasoning. '''if and only if; equivalent''' - 'A implies B' and 'B implies A' '''Theorem, Proposition, Lemma''' - They all mean roughly the same thing but are in decreasing order of importance. '''Corollary''' - Something which follows easily from a Theorem but for which the statement is not entirely obvious from the statement of the Theorem. == Summation Notation == The summation notation is a convenient abbreviation for sums of several real numbers. If <math>a_1</math>,<math>a_2</math>,...,<math>a_n</math> are reals, we define <div style="text-align: center;"> <math>\sum_{k=1}^n a_k = a_1+a_2+...+a_n</math> </div> The ''summation index k'' is often called a ''dummy index'', as it can be replaced by any other letter: <div style="text-align: center;"> <math>\sum_{k=1}^n a_k = \sum_{i=1}^n a_i = \sum_{j=1}^n a_j</math>, etc. </div> Sometimes it is convenient to start summation from 0 instead of 1, or from some other integral value. For instance, <div style="text-align: center;"> <math>\sum_{k=0}^3 x_k = x_0+x_1+x_2+x_3</math>, or <math>\sum_{j=2}^5 j^3 = 2^3+3^3+4^3+5^3</math>, etc. </div> The most important properties of the summation notation can be summarized as <math>\sum_{k=1}^n (a_k+b_k) = \sum_{k=1}^n a_k +\sum_{k=1}^n b_k </math> (additive property) <math>\sum_{k=1}^n (ca_k) = c \sum_{i=1}^n (a_k)</math> (homogeneous property) <math>\sum_{k=1}^n a_k = \sum_{k=0}^{n-1} a_{k+1} = \sum_{k=2}^{n+1} a_{k-1}</math> (index translation) <math>\sum_{k=1}^n (a_k-a_{k-1}) = a_n-a_0</math> (telescoping) {{BookCat}} {{{{BOOKTEMPLATE}}/Page}} <noinclude>{{navigation|Book=Algebra |current=Function_Graphing |previous=Functions |next=Systems of Equations }}</noinclude> == Functions have an Independent Variable and a Dependent Variable == When we look at a function such as &nbsp;<math>f(x) = \frac {1}{2}x,</math> &nbsp;we call the variable that we are changing—in this case &nbsp;<math>x\,</math>&nbsp;--the independent variable. We assign the value of the function to a variable we call the dependent variable. The reason that we say that &nbsp;<math>x\,</math> &nbsp;is independent is because we can pick any value for which the function is defined—in this case real &nbsp;<math>\mathbb{R}</math> &nbsp;is implied—as an input into the function. Once we pick the value of the independent variable the same result will always come out of the function. We say the result is assigned to the dependent variable, since it depends on what value we placed into the function. Equating &nbsp;<math>y\,</math> &nbsp;with our function &nbsp;<math>y = \frac {1}{2}x,</math> &nbsp;then &nbsp;<math> 2y = 2(\frac {1}{2}x),</math> &nbsp;then &nbsp;<math> 2y = x,\,</math> &nbsp;then &nbsp;<math> g(y)= 2y.\,</math> The independent variable is now &nbsp;<math>y\,</math> &nbsp;and the dependent variable &nbsp;<math>x.\,</math> *'''Note:''' <u>this is a very unusual case</u> where the ordered pair &nbsp;<math>(g(y),y)\,</math> &nbsp;is reverse mapped &nbsp;<math>y\mapsto x\,</math> &nbsp;and corresponding reverses (dependent, independent), (range, domain), and now &nbsp;<math>x\,</math> &nbsp;must be singular for each and every &nbsp;<math>y\,</math> &nbsp;corresponding to an <u>horizontal</u> line test of function! It would be less desireable to rotate or swap the positions of axes, the order of coordinate pairs &nbsp;<math>(x,y)\,</math> &nbsp;and (abscissa, ordinate). Have we used Algebra to change the nature of the function? Let's look at the results for three functions {| class="wikitable" |- ! &nbsp; <math>f(x) = \frac{1}{2}x</math> &nbsp; !! &nbsp; <math>g(y) = 2y\,</math> &nbsp; !! &nbsp; <math>h(x)=2x\,</math> &nbsp; |- | {| class="wikitable" |- ! &nbsp; <math>x\,</math> !! &nbsp; <math>f(x)\,</math> &nbsp; |- | &nbsp; &nbsp; <math>2\,</math> || &nbsp; &nbsp; <math>1\,</math> |- | &nbsp; &nbsp; <math>0\,</math> || &nbsp; &nbsp; <math>0\,</math> |- | &nbsp; <math>-2\,</math> &nbsp; || &nbsp; <math>-1\,</math> |} || {| class="wikitable" |- ! &nbsp; <math>y\,</math> !! &nbsp; <math>g(y)\,</math> &nbsp; |- | &nbsp; &nbsp; <math>1\,</math> || &nbsp; &nbsp; <math>2\,</math> |- | &nbsp; &nbsp; <math>0\,</math> || &nbsp; &nbsp; <math>0\,</math> |- | &nbsp; <math>-1\,</math> &nbsp;|| &nbsp; <math>-2\,</math> |} || {| class="wikitable" |- ! &nbsp; <math>x\,</math> &nbsp; !! &nbsp; <math>h(x)\,</math> &nbsp; |- | &nbsp; &nbsp; <math>1\,</math> || &nbsp; &nbsp; <math>2\,</math> |- | &nbsp; &nbsp; <math>0\,</math> || &nbsp; &nbsp; <math>0\,</math> |- | &nbsp; <math>-1\,</math> &nbsp; || &nbsp; <math>-2\,</math> |} |} If we look at the table above we can see that the independent variable for &nbsp;<math>f(x)\,</math> &nbsp;gives the same results as the dependent variable of &nbsp;<math>g(y).\,</math> &nbsp;We can see what this means when we look at the values for &nbsp;<math>h(x).\,</math> &nbsp;The function &nbsp;<math>g(y)\,</math> &nbsp;is the same as the function &nbsp;<math>f(x),\,</math> &nbsp;but when we switch which variable we use as the independent variable between &nbsp;<math>g(y)\,</math> &nbsp;and &nbsp;<math>h(x)\,</math> &nbsp;we see that we have discovered that &nbsp;<math>g(y)\,</math> &nbsp;and &nbsp;<math>h(x)\,</math> &nbsp;are inverse functions. Let's take a look at how we can draw functions in &nbsp;<math> x\, </math> &nbsp;and &nbsp;<math> y\, </math> &nbsp;and then come back and look at this idea of independent and dependent variables again. === Explicit and Implicit Functions === Variables like &nbsp;<math>x\,</math> &nbsp;and &nbsp;<math>y\,</math> &nbsp;formulate a 'relation' using simple algebra. &nbsp;<math>f,\,</math> &nbsp; <math>g,\,</math> &nbsp;and &nbsp; <math>h\,</math> &nbsp;commonly denote functions. Function notation &nbsp;<math>f(x),\,</math> &nbsp;read "eff of ex", denotes a function with 'explicit' dependence on the independent variable &nbsp;<math>x.\,</math> &nbsp;By assigning variable &nbsp;<math>y\,</math> &nbsp;to &nbsp;<math>f(x),\,</math> &nbsp; <math>y=f(x),\,</math> &nbsp; <math> y\,</math> &nbsp;is now an 'implicit' function of &nbsp; <math>x\,</math> &nbsp;using equation notation. If &nbsp;<math>f(x) \,</math> &nbsp;is &nbsp;<math>\frac{x}{2},</math> &nbsp;then &nbsp;<math>y=\frac{x}{2}</math> &nbsp; [ <math>y(x)\,</math> &nbsp;would denote an 'explicit' function of &nbsp;<math>x\,</math> ]. A relation is also a function when the dependent variable has one and only one value for each and every independent variable value. == The Cartesian Coordinate System == The Cartesian Coordinate System is a uniform rectangular grid used for plane graph plots. It's named after pioneer of analytic geometry, 17th century French mathematician René Descartes, whose Latinized name was Renatus Cartesius. Recall that each point has a unique location, different from every other point. We know that a line is a collection of points. If we pick a direction of travel for the line that starts at a point then all of the other points can be thought of as either behind our starting point or ahead of it. Finally, a plane can be thought of as a collection of lines that are parallel to each other. We can draw another line that is composed of one point from each of the lines that we chose to fill our plane. If we do this then we can locate the other lines as behind or ahead of the line with the point we chose to start on. Descartes decided to pick a line and call it the &nbsp;<math> x\,</math> -axis, and to then pick a line perpendicular to this line and call it the &nbsp;<math> y\,</math> -axis. He then labeled this intersection point &nbsp;<math> (0,0)\,</math> &nbsp;and origin '''O'''. The points to the left (or behind) of this point each represent a negative number that we label as &nbsp;<math>(-x,0).\,</math> &nbsp;The points to the right (or ahead) of this point each represent a positive number that we label as &nbsp;<math> (x,0).\,</math> &nbsp;The points on the &nbsp;<math> y\,</math> -axis that are above &nbsp;<math> 0,0\,</math> &nbsp;are labeled as positive &nbsp;<math> (0,y),\,</math> &nbsp;and the points on the &nbsp;<math> y\,</math> -axis below &nbsp;<math> 0,0\,</math> &nbsp;are labeled as negative &nbsp;<math> (0,-y).\,</math> &nbsp;A point is plotted as a location on the plane using its coordinates from the grid formed by the &nbsp;<math> x\,</math> &nbsp;and &nbsp;<math> y\,</math> -axes. If you draw a line perpendicular to the &nbsp;<math> x\,</math> -axis from a point you pick then that point has the same &nbsp;<math> x\,</math> -coordinate as the point where that line crosses the &nbsp;<math> x\,</math> -axis. If you draw a line perpendicular to the &nbsp;<math> y\,</math> -axis from your point then it has the same &nbsp;<math> y\,</math> -coordinate as the point where that line crosses the &nbsp;<math> y\,</math> -axis. If you need to sharpen your knowledge in this area, this link/section should help: [[Algebra/The Coordinate (Cartesian) Plane|The Coordinate (Cartesian) Plane]] An equation and its graph can be referred to as equal. This is true since a graph is a representation of a specific equation. This is because an equation is a group of one or more variables along with one or more numbers and an equal sign ( &nbsp;<math>x=1,\,</math> &nbsp;<math>y=x+1,\,</math> &nbsp;and &nbsp;<math>y=x^2+2x+1\,</math> &nbsp;are all examples of equations). Since variables were introduced as way of representing the many possible numbers that could be plugged into the equation. A graph of an equation is a way of drawing the relationship between the numbers that can be input (the independent variable) and the possible outputs that would be produced. For example, in the equation: &nbsp;<math>y=x+2,\,</math> &nbsp;we could choose to make the &nbsp;<math> x\,</math> &nbsp;the independent variable and the output number would be two more than the input number every time. The graph of this equation would be a picture showing this relationship. On the graph, each &nbsp;<math> y\,</math> -value (the vertical axis) would be two higher than the (horizontal) &nbsp;<math> x\,</math> -value that is plugged in because of the &nbsp;<math> +\, 2\,</math> &nbsp;in the equation. == Linear Equations and Functions == This section shows the different ways we can algebraically write a linear function. We will spend some time looking at a way called the "slope intercept form" that has the equation &nbsp;<math> y = f(x) = m x + b\,.\, </math> *[[Algebra/Linear Equations and Functions|Linear Equations and Functions]] Unless a domain for &nbsp;<math> x \, </math> &nbsp;is otherwise stated, the domain for linear functions will be assumed to be all real numbers &nbsp;<math>\mathbb{R}</math> &nbsp;and so the lines in graphs of all linear functions extend infinitely in both directions. Also in linear functions with all real number domains, the range of a linear function may cover the entire set of real numbers for &nbsp;<math> y\,,\, </math> &nbsp;one exception is when the slope &nbsp;<math> m=0 \, </math> &nbsp;and the function equals a constant. In such cases, the range is simply the constant. Another would be a squaring function where the range would be non-negative when &nbsp;<math>b=0\,.\,</math> == The ''y''-intercept constant ''b'' == It was shown that &nbsp;<math>y=f(x)=mx+b\,</math> &nbsp;has infinite solutions (in the UK, &nbsp;<math>y=mx+c\,;\,</math> &nbsp;also common &nbsp;<math>y=ax+b\,,\,</math> &nbsp;<math>y=a_1x+a_0\,</math> &nbsp;and &nbsp;<math>y=-\frac{A}{B}x-\frac{C}{B}\,</math> ). Points &nbsp;<math>(x,y)\,</math> &nbsp;will be mapped with independent variable &nbsp;<math>x\,</math> &nbsp;assuming the horizontal axis and &nbsp;<math>y\,</math> &nbsp;vertical on a Cartesian grid. By assigning &nbsp;<math>x\,</math> &nbsp;to a value and evaluating &nbsp;<math>y\,,\,</math> &nbsp;a (single) point coordinate solution is found. When &nbsp;<math>x=0\,,\,</math> &nbsp;then by [[wikipedia:zero-product property|zero-product property]] term &nbsp;<math>m\times x=0\,</math> , &nbsp;and by [[wikipedia:additive identity|additive identity]] terms &nbsp;<math>0+b=b=y\,.\,</math> &nbsp;The point &nbsp;<math>(0,b)\,</math> &nbsp;is the unique member of the line (linear equation's solution) where the y-axis is 'intercepted'. More about intercepts link: &nbsp;[[Algebra/Intercepts|The &nbsp;<math>x\,</math> &nbsp;and &nbsp;<math>y\,</math> &nbsp;Intercepts]] == What does the m tell us when we have the equation <math> y = f(x) = m x + b \, </math> ? == <math> m \, </math> &nbsp;is a constant called the '''slope''' of the line. Slope indicates the steepness of the line. ==== Slope ==== Two separate points fixed anywhere defines a unique straight line containing the points. Confining this study to plane geometry ('''<math>R^2</math>''') and fixing coordinates for unique points at &nbsp;<math>(x_{1},y_{1})\,</math> &nbsp;and &nbsp;<math>(x_{2},y_{2})\,</math> &nbsp;a straight line is defined relating two variables in a linear-equation mappable on a graph-plot. When the two points are identical, infinite lines result, even in a single plane. When &nbsp;<math>x_{1}=x_{2}\,</math> &nbsp;then a vertical-line mere relation is defined, not a function. Functions are equation-relations evaluating to singularly unique dependent values. Only when (iff) &nbsp;<math>x_{1}\neq x_{2},\,</math> &nbsp;then is the line containing the points a linear 'function' of &nbsp;<math>x.\,</math> For a linear function, the slope can be determined from any two known points of the line. The slope corresponds to an increment or change in the vertical direction divided by a corresponding increment or change in the horizontal direction between any different points of the straight line. <br /> Let <math>\Delta y=\,</math> increment or change in the <math>y\,</math> -direction (vertical) and<br /> Let <math> \Delta x=\,</math> increment or change in the <math>x\,</math> -direction (horizontal).<br /> For two points &nbsp;<math>(x_{1},y_{1})\,</math> &nbsp;and &nbsp;<math>(x_{2},y_{2}),\,</math> &nbsp;the slope of the function line m is given by: <math>m = \frac {\Delta y}{\Delta x} = \frac {y_2 - y_1}{x_2 - x_1} </math> *This formula is called the formula for slope measure but is sometimes referred to as the slope formula. For a linear function, fixing two unique points of the line or fixing the slope and any one point of the line is enough to determine the line and identify it by an equation. There is an equation form for a linear function called the '''point-slope form''' of a line<sup>2</sup> which uses the slope &nbsp;<math>m\,</math> &nbsp;and any one point &nbsp;<math>(x_{1},y_{1})\,</math> &nbsp;to determine a valid equation for the function's line: <math> y - y_1 = m (x - x_1) \, </math><br /> [[Algebra/Slope]] [[Algebra/The Pythagorean Theorem|The Pythagorean Theorem and The Distance Formula]] == Other forms of linear equations? == [[Algebra/Standard Form and Solving Slope]] === Intercept Form of a Line === There is one more general form of a linear function we will cover. This is the '''intercept form''' of a line, where the constants a and b are such that (a,0) is the x-intercept point and (0,b) is the <br />y-intercept point. <div class="center"><math>\frac {x}{a} + \frac {y}{b} = 1 \qquad </math> &nbsp;&nbsp;&nbsp;where a ≠ 0 and b ≠ 0</div> Neither constant a nor b can equal 0 because division by 0 is not allowed. The intercept form of a line cannot be applied when the linear function has the simplified form y = m x because the <br />y-intercept ordinate cannot equal 0. Multiplying the intercept form of a line by the constants a and b will give <div class="center"><math>b x + a y = a b \ </math></div> which then becomes equivalent to the general linear equation form A x + B y + C where A = b, B = a, and C = ab. We now see that neither A nor B can be 0, therefore the intercept form cannot represent horizontal or vertical lines. Multiplying the intercept form of a line by just b gives <div class="center"><math>\frac {b}{a} x + y = b</math></div> if we subtract <div class="center"><math>\frac {b}{a} x</math></div> we get: <div class="center"><math>y = b - \frac {b}{a} x</math></div> which can, in turn, be rearranged to: <div class="center"><math>y = - \frac {b}{a} x + b</math></div> which becomes equivalent to the slope-intercept form where the slope m = -b/a. ---- '''Example:''' A graphed line crosses the x-axis at -3 and crosses the y-axis at -6. What equation can represent this line? What is the slope? '''Solution:''' intercept form: <math> \qquad \frac {x}{-3} + \frac {y}{-6} = 1</math> Multiplying by -6 gives <math>\frac {-6}{-3} x + y = -6</math> :<math>y = -2 x - 6 \ </math> so we see the slope m = -2. [[File:Intercept Form Example1.PNG|Line y = -2 x – 6 showing intercepts]]<small> &nbsp;&nbsp;&nbsp;&nbsp; Graph of y = - 2x – 6 showing intercepts.</small> The line can also be written as <math>-6 x - 3 y = (-3)(-6) \ </math> <div class="center"><math>6 x + 3 y = -18 \ </math></div> ---- '''Example:''' Can the equation <div class="center"><math>\frac {x}{2} + \frac {y}{4} = 0</math></div> be transformed into an intercept form of a line, (x/a) + (y/b) =1, to find the intercepts? '''Solution:''' No, no amount of valid mathematical manipulation can transform it into the intercept form. Instead multiplying by 4, then subtracting 2x gives <div class="center"><math>y = -2 x \ </math></div> which is of the form y = m x where m = -2. The line intersects the axes at (0,0). Since the intercepts are both 0, the general intercept form of a line cannot be used. [[File:Intercept Form Example2.PNG|Line y = -2 x crossing through (0,0)]] ---- '''Example''': Find the slope and function of the line connecting the points (2,1) and (4,4). '''Solution''': When calculating the slope of a straight line from two points with the preceding formula, it does not matter which is point 1 and which is point 2. Let's set (x<sub>1</sub>,y<sub>1</sub>) as (2,1) and (x<sub>2</sub>,y<sub>2</sub>) as (4,4). Then using the two-point formula for the slope m: <div class="center"><math> m = \frac {4 - 1}{4 - 2} = \frac { 3 }{ 2 }</math></div> [[File:Slope From 2Points.PNG]] '''Using the point-slope form:''' One substitutes the coordinates for either point into the point-slope form as x<sub>1</sub> and y<sub>1</sub>. For simplicity, we will use x<sub>1</sub>=2 and y<sub>1</sub>=1. <div class="center"><math> y - 1 = \frac {3}{2} (x - 2)</math></div> <div class="center"><math> y - 1 = \frac {3}{2} x - 3 \, </math></div> <div class="center"><math> \ y = \frac {3}{2} x - 2 </math></div> ---- '''Using the slope-intercept form:''' Alternatively, one can solve for b, the y-intercept ordinate, in the general form of a linear function of one variable, y = m x + b. <div class="center"><math> b = y - m x \ </math></div> Knowing the slope m, take any known point on the line and substitute the point coordinates and m into this form of a linear function and calculate b. In this example, (x<sub>1</sub>,y<sub>1</sub>) is used. :<math> b = y_1 - m x_1 \, </math> :<math> b = 1 - \frac {3}{2} \cdot 2 = 1 - 3 = -2 </math> Now the constants m and b are both known and the function is written as <div class="center"><math> y = \frac {3}{2} x - 2 </math> &nbsp;&nbsp;&nbsp;&nbsp; or alternatively as &nbsp;&nbsp;&nbsp;&nbsp; <math> f(x) = \frac {3}{2} x - 2 </math></div> <small>__________<u>end of example</u>__________</small> For another explanation of slope look here: [[Algebra/Slope|Slope]] ---- '''Example''': Graph the equation 5x + 2y = 10 and calculate the slope. '''Solution''': This fits the general form of a linear equation, so finding two different points are enough to determine the line. To find the x-intercept, set y = 0 and solve for x. <div class="center"><math> 5x + 2 \cdot 0 = 10 = 5x \ </math></div> <div class="center"><math> x = 10/5 = 2 \ </math></div> so the x-intercept point is (2,0). To find the y-intercept, set x = 0 and solve for y. <div class="center"><math> 5 \cdot 0 + 2y = 10 = 2y \ </math></div> <div class="center"><math> y = 10/2 = 5 \ </math></div> so the y-intercept point is (0,5). Drawing a line through (2,0) and (0,5) would produce the following graph. [[File:Linear Equation Intercepts.PNG|Line 5x + 2y = 10 showing intercepts]] <small>Graph of 5x + 2y = 10 showing intercepts</small> To determine the slope m from the two points, one can set (x<sub>1</sub>,y<sub>1</sub>) as (2,0) and (x<sub>2</sub>,y<sub>2</sub>) as (0,5), or vice versa and calculate as follows: <div class="center"><math>m = \frac {y_2 - y_1}{x_2 - x_1} = \frac {5 - 0}{0 - 2} = - \frac {5}{2} = - 2.5 </math></div> <small>__________<u>end of example</u>__________</small> == Summary of General Equation Forms of a Line == The most general form applicable to all lines on a two-dimensional Cartesian graph is <div class="center"><math>A x + B y = C \ </math></div> with three constants, A, B, and C. These constants are not unique to the line because multiplying the whole equation by a constant factor gives a new set of valid constants for the same line. When B = 0, the rest of the equation represents a vertical line, which is not a function. If B ≠ 0, then the line is a function. Such a linear function can be represented by the '''slope-intercept form''' which has two constants. slope-intercept form: <div class="center"><math>y = m x + b \ </math></div> The two constants, m and b, used together are unique to the line. In other words, a certain line can have only one pair of values for m and b in this form. The '''point-slope form''' given here <div class="center"><math> y - y_1 = m (x - x_1) \, </math></div> uses three constants; m is unique for a given line; x<sub>1</sub> and y<sub>1</sub> are not unique and can be from any point on the line. The point-slope cannot represent a vertical line. The '''intercept form''' of a line, given here, <div class="center"><math>\frac {x}{a} + \frac {y}{b} = 1</math> &nbsp;&nbsp;&nbsp;a ≠ 0 and b ≠ 0</div> uses two unique constants which are the x and y intercepts, but cannot be made to represent horizontal or vertical lines or lines crossing through (0,0). It is the least applicable of the general forms in this summary. Of the last three general forms of a linear function, the slope-intercept form is the most useful because it uses only constants unique to a given line and can represent any linear function. All of the problems in this book and in mathematics in general can be solved without using the point-slope form or the intercept form unless they are specifically called for in a problem. Generally, problems involving linear functions can be solved using the slope-intercept form <br />(y = m x + b) and the formula for slope. == Discontinuity in Otherwise Linear Equations == Let variable&nbsp;''y'' be dependent upon a function of independent variable&nbsp;''x'' :<math>y=f(x)\, ,</math>&nbsp; also&nbsp; <math>y(x)=f \,.</math> ''y'' is also the function&nbsp;''f'', and ''x'' is also the argument&nbsp;(&nbsp;). Let ''y'' be the expressed quotient function :<math>y=\frac{2x^2-5x+3}{x-1} .</math> The graph of ''y'''s solution plots a continuous straight line set of points '''except''' for the point where ''x'' would be 1. Evaluation of the denominator with <math>x=1</math> results in division by zero, an undefined condition not a member element of '''R''' and outside algebraic closure. ''y'' has a '''discontinuity''' (break) and no solution at point 1,-1. It becomes important to treat each side of a break separately in advanced studies.<br />[[File:Discontinuous Linear Function.PNG]] ''y'''s otherwise linear form can be expressed by an equation '''removed''' of its '''discontinuity'''. Factor <math>x-1</math> from the <math>2x^2-5x+3</math> numerator (use '''synthetic division'''). :<math>y=\frac{2x^2-5x+3}{x-1} .</math> :<math>y=\frac{(2x-3)(x-1)}{(x-1)} .</math> :<math>y=2x-3 \,,\;x\neq1</math>&nbsp;&nbsp;(for all x except 1) . Reducing its (x-1) [[Wikipedia:multiplicative inverse|multiplicative inverse]] factors (reciprocals) to [[Wikipedia:multiplicative identity|multiplicative identity]] (unity) leaves the <math>(2 x - 3)</math> factor (with implied universal-factor 1/1). Limiting this simpler function's domain; 'all <math>x</math> except <math>x = 1</math>, where ''x'' is undefined' or simply 'and x ≠ 1' (implying 'and '''R<sup>''2''</sup>''' '); equates it to the original function. This expression is a linear function of x, with slope m = 2 and a y-intercept ordinate of -3. The expression <math>2x-3</math> evaluates to -1 at x = 1, but function y is undefined (division by zero) at that point. There is a '''discontinuity''' for function y at x = 1. Practically the function has a sort of one-point hole (a skip), shown on the graph as a small hollow circle around that point. Lines, rays and line segments (and arcs, chords and curves) are shown discontinuous by dashed or dotted lines. Note: non-linear equations may also be discontinuous—see the subsequent graph plot of the reciprocal function y = 1/x, in which y is discontinuous at x = 0 not just for a point, but over a 'double' [[Wikipedia:asymptote|asymptotic]] [[Wikipedia:extremum|extremum]] '''pole''' along the y-axis. As x is evaluated at smaller magnitudes (both – and +) closer to zero, y approaches no definition in both the – and + mappings of the function. '''Example:''' What would the graph of the following function look like? :<math>y = \frac {x^2 - 4}{x + 2} .</math> '''Solution:''' :<math>y = \frac {x^2 - 4}{x + 2} = \frac {(x + 2)(x - 2)}{(x + 2)} .</math> Reduce the reciprocal (x + 2) factors to unity. This makes y = x – 2 for all x except x = -2, where there is a discontinuity. The line y = x – 2 would have a slope m = 1 and a <br />y-intercept ordinate of -2. So for the final answer , we graph a line with a slope of 1 and a y-intercept of -2, and we show a discontinuity at x = -2, where y would otherwise have been equal to -4. [[File:Example Discontinuity Linear Function.PNG]] '''Example:''' Write a function which would be graphed as a line the same as y = 2 x – 3 except with two discontinuities, one at x = 0 and another at x = 1. '''Solution:''' The function must have a denominator with the factors <div class="center">denominator = (x – 0)(x – 1) = x (x – 1) .</div> to have 'zeros' at the two x values. The function's numerator also gets the factors preserving an overall factor of unity, the expressions are multiplied out: <div class="center"><math>y = \frac {(2 x - 3) x (x - 1)}{x (x - 1)}= \frac {2 x^3 - 5 x^2 + 3 x}{x^2 - x} . </math></div> <small>__________<u>end of example</u>__________</small> b2gytxsfrc2pc37lja0fopaggjlnf89 Algebra/Cover 0 445943 4656817 4649549 2026-08-09T16:12:40Z ShakespeareFan00 46022 4656817 wikitext text/x-wiki {{Chapter navigation||Chapter 0}} <div style="text-align: center;"><span style = "font-size:500%;color:red;font-family:serif">ALGEBRA</span></div> = '''Welcome To Algebra!''' = This Wikibook helps you to learn algebra. If you wish to read this book, click the link above. {{BookCat}} tpjxtejh32x4c8q43ryunxrdxjzql1s User talk:Xeverything11/updates 3 452115 4656881 4656216 2026-08-10T02:24:44Z MediaWiki message delivery 1188004 /* Wikipedia translation of the week: 2026-33 */ new section 4656881 wikitext text/x-wiki <noinclude> {{User:Xeverything11/tabs}} {{User:Xeverything11/header|Welcome to|Xeverything11's|updates talk page!|archives= * [[User talk:Xeverything11/archives/2022|2022]] * [[User talk:Xeverything11/archives/2023|2023]] }} </noinclude> __NOTOC__ {{User:MiszaBot/config |archive = User talk:Xeverything11/archives/%(year)d |algo = old(60d) |counter = 1 |minthreadsleft = 1 |minthreadstoarchive = 1 }} == Tech News: 2023-03 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/03|Translations]] are available. '''Problems''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] The URLs in "{{int:last}}" links on page history now contain <bdi lang="zxx" dir="ltr"><code><nowiki>diff=prev&oldid=[revision ID]</nowiki></code></bdi> in place of <bdi lang="zxx" dir="ltr"><code><nowiki>diff=[revision ID]&oldid=[revision ID]</nowiki></code></bdi>. This is to fix a problem with links pointing to incorrect diffs when history was filtered by a tag. Some user scripts may break as a result of this change. [https://phabricator.wikimedia.org/T243569] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-17|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-01-18|en}}. It will be on all wikis from {{#time:j xg|2023-01-19|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Some [[mw:Special:MyLanguage/Talk pages project/Usability|changes to the appearance of talk pages]] have only been available on <code>{{ns:1}}:</code> and <code>{{ns:3}}:</code> namespaces. These will be extended to other talk namespaces, such as <code>{{ns:5}}:</code>. They will continue to be unavailable in non-talk namespaces, including <code>{{ns:4}}:</code> pages (e.g., at the Village Pump). You can [[Special:Preferences#mw-prefsection-editing-discussion|change your preferences]] ([[Special:Preferences#mw-prefsection-betafeatures|beta feature]]). [https://phabricator.wikimedia.org/T325417] *On Wikisources, when an image is zoomed or panned in the Page: namespace, the same zoom and pan settings will be remembered for all Page: namespace pages that are linked to a particular Index: namespace page. [https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ProofreadPage/+/868841] * The Vector 2022 skin will become the default for the English Wikipedia desktop users. The change will take place on January 18 at 15:00 UTC. [[:en:w:Wikipedia:Vector 2022|Learn more]]. '''Future changes''' * The 2023 edition of the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey]], which invites contributors to make technical proposals and vote for tools and improvements, starts next week on 23 January 2023 at 18:00 UTC. You can start drafting your proposals in [[m:Community Wishlist Survey/Sandbox|the CWS sandbox]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:11, 17 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24381020 --> == Tech News: 2023-04 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/04|Translations]] are available. '''Problems''' * Last week, for ~15 minutes, all wikis were unreachable for logged-in users and non-cached pages. This was caused by a timing issue. [https://wikitech.wikimedia.org/wiki/Incidents/2023-01-17_MediaWiki] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-24|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-01-25|en}}. It will be on all wikis from {{#time:j xg|2023-01-26|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * If you have the Beta Feature for [[mw:Special:MyLanguage/Talk pages project|DiscussionTools]] enabled, the appearance of talk pages will add more information about discussion activity. [https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/Usability#Status][https://phabricator.wikimedia.org/T317907] * The 2023 edition of the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey]] (CWS), which invites contributors to make technical proposals and vote for tools and improvements, starts on Monday 23 January 2023 at [https://zonestamp.toolforge.org/1674496814 18:00 UTC]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:46, 23 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24418874 --> == Tech News: 2023-05 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/05|Translations]] are available. '''Problems''' * Last week, for ~15 minutes, some users were unable to log in or edit pages. This was caused by a problem with session storage. [https://wikitech.wikimedia.org/wiki/Incidents/2023-01-24_sessionstore_quorum_issues] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.21|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-31|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-01|en}}. It will be on all wikis from {{#time:j xg|2023-02-02|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] Wikis that use localized numbering schemes for references need to add new CSS. This will help to show citation numbers the same way in all reading and editing modes. If your wiki would prefer to do it yourselves, please see the [[mw:Special:MyLanguage/Parsoid/Parser Unification/Cite CSS|details and example CSS to copy from]], and also add your wiki to the list. Otherwise, the developers will directly help out starting the week of February 5. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 31 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24455949 --> == Wikipedia translation of the week: 2023-06 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sweden Finns' Day]] '''<br /> <small>''([[:fi:Ruotsinsuomalaisten päivä]]) ([[:sv:Sverigefinnarnas dag]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sverigefinskaflaggan.svg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Sweden Finns' Day''' (Finnish: Ruotsinsuomalaisten päivä, Swedish: Sverigefinnarnas dag) is an anniversary celebrated in Sweden on 24 February. The anniversary of the calendar was approved by the Swedish Academy in 2010 and was celebrated for the first time in 2011. February 24 was chosen as the birthday of Carl Axel Gottlund, a collector of folk poetry and a defender of the status of the Finnish language. The purpose of the day is to celebrate the Sweden Finns and to recognize their history, language and culture as a prominent part of Sweden's cultural heritage. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:04, 6 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24491747 --> == Tech News: 2023-06 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/06|Translations]] are available. '''Recent changes''' * In the [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Vector 2022 skin]], logged-out users using the full-width toggle will be able to see the setting of their choice even after refreshing pages or opening new ones. This only applies to wikis where Vector 2022 is the default. [https://phabricator.wikimedia.org/T321498] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-08|en}}. It will be on all wikis from {{#time:j xg|2023-02-09|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Previously, we announced when some wikis would be in read-only for a few minutes because of a switch of their main database. These switches will not be announced any more, as the read-only time has become non-significant. Switches will continue to happen at 7AM UTC on Tuesdays and Thursdays. [https://phabricator.wikimedia.org/T292543#8568433] * Across all the wikis, in the Vector 2022 skin, logged-in users will see the page-related links such as "What links here" in a [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Features/Page_tools|new side menu]]. It will be displayed on the other side of the screen. This change had previously been made on Czech, English, and Vietnamese Wikipedias. [https://phabricator.wikimedia.org/T328692] *[[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey 2023]] will stop receiving new proposals on [https://zonestamp.toolforge.org/1675706431 Monday, 6 February 2023, at 18:00 UTC]. Proposers should complete any edits by then, to give time for [[m:Special:MyLanguage/Community_Wishlist_Survey/Help_us|translations]] and review. Voting will begin on Friday, 10 February. '''Future changes''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] Gadgets and user scripts will be changing to load on desktop and mobile sites. Previously they would only load on the desktop site. It is recommended that wiki administrators audit the [[MediaWiki:Gadgets-definition|gadget definitions]] prior to this change, and add <bdi lang="zxx" dir="ltr"><code>skins=…</code></bdi> for any gadgets which should not load on mobile. [https://phabricator.wikimedia.org/T328610 More details are available]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 10:21, 6 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24491749 --> == Wikipedia translation of the week: 2023-07 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Delivery robot]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Woman Takes Groceries from Dax Delivery Robot.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> A '''delivery robot''' is an autonomous robot that provides "last mile" delivery services. An operator may monitor and take control of the robot remotely in certain situations that the robot cannot resolve by itself such as when it is stuck in an obstacle. Delivery robots can be used in different settings such as food delivery, package delivery, hospital delivery, and room service. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:26, 13 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24515453 --> == Tech News: 2023-07 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/07|Translations]] are available. '''Problems''' * On wikis where patrolled edits are enabled, changes made to the [[mw:Special:MyLanguage/Growth/Communities/How to configure the mentors' list|mentor list]] by autopatrolled mentors are not correctly marked as patrolled. It will be fixed later this week. [https://phabricator.wikimedia.org/T328444] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-15|en}}. It will be on all wikis from {{#time:j xg|2023-02-16|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * The Reply tool and other parts of [[mw:Special:MyLanguage/Help:DiscussionTools#Mobile|DiscussionTools]] will be deployed for all editors using the mobile site. You can [[mw:Special:MyLanguage/Talk_pages_project/Mobile#Status_Updates|read more about this decision]]. [https://phabricator.wikimedia.org/T298060] '''Future changes''' * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T328287][https://phabricator.wikimedia.org/T327920][https://wikitech.wikimedia.org/wiki/Deployments] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:49, 14 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24540832 --> == Wikipedia translation of the week: 2023-08 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Buddha Dhatu Jadi]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Swarno Mandir.JPG|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Buddha Dhatu Jadi''' (Bengali: বুদ্ধ ধাতু জাদি; Burmese: ဗုဒ္ဓဓာတုစေတီ also known as the Bandarban Golden Temple) is located close to Balaghata town, in Bandarban City, in Bangladesh. Dhatu are the material remains of a holy person, and in this temple the relics belong to Buddha. It is the largest Theravada Buddhist temple in Bangladesh and has the second-largest Buddha statue in the country. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:18, 20 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24581813 --> == Tech News: 2023-08 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/08|Translations]] are available. '''Problems''' * Last week, during planned maintenance of Cloud Services, unforeseen complications forced the team to turn off all tools for 2–3 hours to prevent data corruption. Work is ongoing to prevent similar problems in the future. [https://phabricator.wikimedia.org/T329535] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-22|en}}. It will be on all wikis from {{#time:j xg|2023-02-23|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). *The voting phase for the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey 2023]] ends on [https://zonestamp.toolforge.org/1677261621 24 February at 18:00 UTC]. The results of the survey will be announced on 28 February. '''Future changes''' * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T328287][https://phabricator.wikimedia.org/T327920][https://wikitech.wikimedia.org/wiki/Deployments] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:58, 21 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24570514 --> == Wikipedia translation of the week: 2023-09 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Alina Scholtz]] '''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Alina Scholtz''' (24 September 1908 – 25 February 1996) was a Polish landscape architect, known as one of country's pioneers in developing the field. Throughout her career she worked on various public and private projects for cemeteries, parks and green spaces. Some of her most noted works include the grounds of a villa on Kielecka Street in Warsaw for which she won a Silver Medal at the 1937 World Exhibition in Paris, the memorial cemetery to the victims of the Palmiry massacre, and landscaping projects along the East-West traffic route of Warsaw. In addition to her design work, she served as one of the founding members of the International Federation of Landscape Architects. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:04, 27 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24617511 --> == Tech News: 2023-09 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/09|Translations]] are available. '''Problems''' * Last week, in some areas of the world, there were problems with loading pages for 20 minutes and saving edits for 55 minutes. These issues were caused by a problem with our caching servers due to unforseen events during a routine maintenance task. [https://wikitech.wikimedia.org/wiki/Incidents/2023-02-22_wiki_outage][https://wikitech.wikimedia.org/wiki/Incidents/2023-02-22_read_only] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-01|en}}. It will be on all wikis from {{#time:j xg|2023-03-02|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:47, 27 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24634242 --> == Wikipedia translation of the week: 2023-10 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Mary Nzimiro]] '''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Mary Nzimiro''', birthname Mary Nwametu Onumonu, MBE (1898–1993) was a pioneering Nigerian businesswoman, politician and women's activist. In 1948, she was appointed principal representative of the United Africa Company (UAC) for Eastern Nigeria, while maintaining textile and cosmetics retail outlets of her own in Port Harcourt, Aba and Owerri. By the early 1950s, she was among the richest individuals in West Africa, becoming a resident of the exclusive Bernard Carr Street in Port Harcourt. On the political front, she was a member of the influential National Council of Nigeria and the Cameroons, becoming a member of its executive committee in 1957 and vice-president of the NCNC Estern Women's Association in 1962. During the Nigerian Civil War (1967–1970), she organized Igbo women in support of the Biafrans. As a result she lost most of her property in Port Harcourt and returned to her native Oguta where she died in 1993. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:47, 6 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24636259 --> == Tech News: 2023-10 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/10|Translations]] are available. '''Recent changes''' * The Community Wishlist Survey 2023 edition has been concluded. Community Tech has [[m:Special:MyLanguage/Community Wishlist Survey 2023/Results|published the results]] of the survey and will provide an update on what is next in April 2023. * On wikis which use [[mw:Special:MyLanguage/Writing_systems|LanguageConverter]] to handle multiple writing systems, articles which used custom conversion rules in the wikitext (primarily on Chinese Wikipedia) would have these rules applied inconsistently in the table of contents, especially in the Vector 2022 skin. This has now been fixed. [https://phabricator.wikimedia.org/T306862] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-08|en}}. It will be on all wikis from {{#time:j xg|2023-03-09|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * A search system has been added to the [[Special:Preferences|Preferences screen]]. This will let you find different options more easily. Making it work on mobile devices will happen soon. [https://phabricator.wikimedia.org/T313804] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:50, 6 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24676916 --> == Wikipedia translation of the week: 2023-11 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Elizabeth Langdon Williams]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Elizabeth Langdon Williams.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Elizabeth Langdon Williams''' (February 8, 1879 in Putnam, Connecticut – 1981 in Enfield, New Hampshire) was an American human computer and astronomer whose work helped lead to the discovery of Pluto, or Planet X. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:21, 13 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24700408 --> == Tech News: 2023-11 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/11|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.27|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-15|en}}. It will be on all wikis from {{#time:j xg|2023-03-16|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-cbk_zamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cdowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cebwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ckbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-csbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T304542][https://phabricator.wikimedia.org/T304550] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:20, 13 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24700189 --> == Wikipedia translation of the week: 2023-12 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:I Didn't Raise My Boy to Be a Soldier]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Peerless Quartet - I Didn't Raise my Boy to be a Soldier.ogg|300px|center]] <div style="text-align:left; padding: .4em;"> an American anti-war song that was influential within the pacifist movement that existed in the United States before it entered World War I. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:31, 20 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24720571 --> == Tech News: 2023-12 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/12|Translations]] are available. '''Problems''' * Last week, some users experienced issues loading image thumbnails. This was due to incorrectly cached images. [https://phabricator.wikimedia.org/T331820] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-22|en}}. It will be on all wikis from {{#time:j xg|2023-03-23|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] A link to the user's [[{{#special:CentralAuth}}]] page will appear on [[{{#special:Contributions}}]] — some user scripts which previously added this link may cause conflicts. This feature request was [[:m:Community Wishlist Survey 2023/Admins and patrollers/Add link to CentralAuth on Special:Contributions|voted #17 in the 2023 Community Wishlist Survey]]. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The [[{{#special:AbuseFilter}}]] edit window will be resizable and larger by default. This feature request was [[:m:Community Wishlist Survey 2023/Anti-harassment/Make the AbuseFilter edit window resizable and larger by default|voted #80 in the 2023 Community Wishlist Survey]]. * There will be a new option for Administrators when they are unblocking a user, to add the unblocked user’s user page to their watchlist. This will work both via [[{{#special:Unblock}}]] and via the API. [https://phabricator.wikimedia.org/T257662] '''Meetings''' * You can join the next meeting with the Wikipedia mobile apps teams. During the meeting, we will discuss the current features and future roadmap. The meeting will be on [https://zonestamp.toolforge.org/1679677204 24 March at 17:00 (UTC)]. See [[mw:Special:MyLanguage/Wikimedia Apps/Office Hours|details and how to join]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:26, 21 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24732558 --> == Wikipedia translation of the week: 2023-13 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:es:Diana Aguavil]]'''<br /> <small>''([[:en:Diana Aguavil]]) ([[:pt:Diana Aguavil]]) ''</small> </div> Please be bold and help translate this article! ---- [[File:Diana Aguavil.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Diana Alexandra Aguavil Calazacón''' (born 7 August 1983) is an Ecuadorian indigenous leader, since 25 August 2018, the first female governor of the Tsáchila nationality after 104 years of male administrations and winning the 2018 Tsáchila election. She was also the second woman to become a candidate. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:39, 27 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24758626 --> == Tech News: 2023-13 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/13|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] condition limit was increased from 1000 to 2000. [https://phabricator.wikimedia.org/T309609] * [[:m:Special:MyLanguage/Global AbuseFilter#Locally disabled actions|Some Global AbuseFilter]] actions will no longer apply to local projects. [https://phabricator.wikimedia.org/T332521] * Desktop users are now able to subscribe to talk pages by clicking on the {{int:discussiontools-newtopicssubscription-button-subscribe-label}} link in the {{int:toolbox}} menu. If you subscribe to a talk page, you receive [[mw:Special:MyLanguage/Notifications|notifications]] when new topics are started on that talk page. This is separate from putting the page on your watchlist or subscribing to a single discussion. [https://phabricator.wikimedia.org/T263821] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-29|en}}. It will be on all wikis from {{#time:j xg|2023-03-30|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). '''Future changes''' * You will be able to choose [[mw:Special:MyLanguage/VisualEditor/Diffs|visual diffs]] on all [[m:Special:MyLanguage/Help:Page history|history pages]] at the Wiktionaries and Wikipedias. [https://phabricator.wikimedia.org/T314588] * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] The legacy [[mw:Mobile Content Service|Mobile Content Service]] is going away in July 2023. Developers are encouraged to switch to Parsoid or another API before then to ensure service continuity. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/4MVQQTONJT7FJAXNVOFV3WWVVMCHRINE/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:14, 28 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24780854 --> == Tech News: 2023-14 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/14|Translations]] are available. '''Recent changes''' * The system for automatically creating categories for the [[mw:Special:MyLanguage/Extension:Babel|Babel]] extension has had several important changes and fixes. One of them allows you to insert templates for automatic category descriptions on creation, allowing you to categorize the new categories. [https://phabricator.wikimedia.org/T211665][https://phabricator.wikimedia.org/T64714][https://phabricator.wikimedia.org/T170654][https://phabricator.wikimedia.org/T184941][https://phabricator.wikimedia.org/T33074] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-05|en}}. It will be on all wikis from {{#time:j xg|2023-04-06|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Some older [[w:en:Web browser|Web browsers]] will stop being able to use [[w:en:JavaScript|JavaScript]] on Wikimedia wikis from this week. This mainly affects users of Internet Explorer 11. If you have an old web browser on your computer you can try to upgrade to a newer version. [https://phabricator.wikimedia.org/T178356] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The deprecated <bdi lang="zxx" dir="ltr"><code>jquery.hoverIntent</code></bdi> module has been removed. This module could be used by gadgets and user scripts, to create an artificial delay in how JavaScript responds to a hover event. Gadgets and user scripts should now use jQuery <bdi lang="zxx" dir="ltr"><code>hover()</code></bdi> or <bdi lang="zxx" dir="ltr"><code>on()</code></bdi> instead. Examples can be found in the [[mw:Special:MyLanguage/ResourceLoader/Migration_guide_(users)#jquery.hoverIntent|migration guide]]. [https://phabricator.wikimedia.org/T311194] * Some of the links in [[{{#special:SpecialPages}}]] will be re-arranged. There will be a clearer separation between links that relate to all users, and links related to your own user account. [https://phabricator.wikimedia.org/T333242] * You will be able to hide the [[mw:Special:MyLanguage/Talk pages project/Replying|Reply button]] in archived discussion pages with a new <bdi lang="zxx" dir="ltr"><code><nowiki>__ARCHIVEDTALK__</nowiki></code></bdi> magic word. There will also be a new <bdi lang="zxx" dir="ltr"><code>.mw-archivedtalk</code></bdi> CSS class for hiding the Reply button in individual sections on a page. [https://phabricator.wikimedia.org/T249293][https://phabricator.wikimedia.org/T295553][https://gerrit.wikimedia.org/r/c/mediawiki/extensions/DiscussionTools/+/738221] '''Future changes''' * The Vega software that creates data visualizations in pages, such as graphs, will be upgraded to the newest version in the future. Graphs that still use the very old version 1.5 syntax may stop working properly. Most existing uses have been found and updated, but you can help to check, and to update any local documentation. [[phab:T260542|Examples of how to find and fix these graphs are available]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:40, 3 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24820268 --> == Tech News: 2023-15 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/15|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] In the visual editor, it is now possible to edit captions of images in galleries without opening the gallery dialog. This feature request was [[:m:Community Wishlist Survey 2023/Editing/Editable gallery captions in Visual Editor|voted #61 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T190224] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] You can now receive notifications when another user edits your user page. See the "{{int:Echo-category-title-edit-user-page}}" option in [[Special:Preferences#mw-prefsection-echo|your Preferences]]. This feature request was [[:m:Community Wishlist Survey 2023/Anti-harassment/Notifications for user page edits|voted #3 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T3876] '''Problems''' * There was a problem with all types of CentralNotice banners still being shown to logged-in users even if they had [[Special:Preferences#mw-prefsection-centralnotice-banners|turned off]] specific banner types. This has now been fixed. [https://phabricator.wikimedia.org/T331671] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-12|en}}. It will be on all wikis from {{#time:j xg|2023-04-13|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-arywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dinwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dsbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-elwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-emlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-etwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-euwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-extwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tumwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ffwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiu_vrowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fjwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frpwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-furwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gcrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-glwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-glkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gomwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gotwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-guwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gvwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T304551][https://phabricator.wikimedia.org/T308133] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:05, 10 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24851886 --> == Wikipedia translation of the week: 2023-16 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Lucy Salani]]'''<br /> <small>''([[:en:Lucy Salani]]) ([[:fr:Lucy Salani]]) ''</small> </div> Please be bold and help translate this article! ---- [[File:Lucy Salani.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lucy Salani''' was an Italian activist and is considered the only Italian transgender person to have survived the Nazi concentration camps. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:06, 17 April 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-16 == <section begin="technews-2023-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/16|Translations]] are available. '''Recent changes''' * You can now see [[mw:Special:MyLanguage/Help:Extension:Kartographer#Show_nearby_articles|nearby articles on a Kartographer map]] with the button for the new feature "{{int:Kartographer-sidebar-nearbybutton}}". Six wikis have been testing this feature since October. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Geoinformation/Nearby_articles#Implementation][https://phabricator.wikimedia.org/T334079] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The [[m:Special:GlobalWatchlist|Special:GlobalWatchlist]] page now has links for "{{int:globalwatchlist-markpageseen}}" for each entry. This feature request was [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Button to mark a single change as read in the global watch list|voted #161 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334246] '''Problems''' * At Wikimedia Commons, some thumbnails have not been getting replaced correctly after a new version of the image is uploaded. This should be fixed later this week. [https://phabricator.wikimedia.org/T331138][https://phabricator.wikimedia.org/T333042] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] For the last few weeks, some external tools had inconsistent problems with logging-in with OAuth. This has now been fixed. [https://phabricator.wikimedia.org/T332650] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-19|en}}. It will be on all wikis from {{#time:j xg|2023-04-20|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:55, 18 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24881071 --> == Wikipedia translation of the week: 2023-17 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ca:María Fernanda Castro Maya]]'''<br /> <small>''([[:pt:María Fernanda Castro Maya]]) ([[:eu:María Fernanda Castro Maya]]) ''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''María Fernanda Castro Maya''' is a Mexican self-advocate disability rights activist. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:55, 24 April 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-17 == <section begin="technews-2023-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/17|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The date-selection menu on pages such as [[{{#special:Contributions}}]] will now show year-ranges that are in the current and past decade, instead of the current and future decade. This feature request was [[m:Community Wishlist Survey 2023/Miscellaneous/Change year range shown in date selection popup|voted #145 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334316] '''Problems''' * Due to security issues with the [[mw:Special:MyLanguage/Extension:Graph|Graph extension]], graphs have been disabled in all Wikimedia projects. Wikimedia Foundation teams are working to respond to these vulnerabilities. [https://phabricator.wikimedia.org/T334940] * For a few days, it was not possible to save some kinds of edits on the mobile version of a wiki. This has been fixed. [https://phabricator.wikimedia.org/T334797][https://phabricator.wikimedia.org/T334799][https://phabricator.wikimedia.org/T334794] '''Changes later this week''' * All wikis will be read-only for a few minutes on April 26. This is planned for [https://zonestamp.toolforge.org/1682517653 14:00 UTC]. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.6|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-26|en}}. It will be on all wikis from {{#time:j xg|2023-04-27|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * The Editing team plans an A/B test for [[mw:Special:MyLanguage/Talk pages project/Usability|a usability analysis of the Talk page project]]. The [[mw:Special:MyLanguage/Talk pages project/Usability/Analysis|planned measurements are available]]. Your wiki [[phab:T332946|may be invited to participate]]. Please suggest improvements to the measurement plan at [[mw:Talk:Talk pages project/Usability|the discussion page]]. * [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2023-2024|The Wikimedia Foundation annual plan 2023-2024 draft is open for comment and input]] until May 19. The final plan will be published in July 2023 on Meta-wiki. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:04, 24 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24933592 --> == Wikipedia translation of the week: 2023-18 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sonia Orbuch]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Sonia Shainwald Orbuch''' (born Sarah Shainwald, May 24, 1925 – September 30, 2018) was an American Holocaust educator. During the Second World War she was a Jewish resistance fighter in eastern Poland. Orbuch hid in the forests of Poland with her family during the Second World War. She joined a group of Soviet partisans, being renamed Sonia in case she was captured, and helped fight against the Germans. After the war, she returned home, where she met her future husband. After having a daughter in a refugee camp in Germany, the family eventually emigrated to the United States. She spent the rest of life in public engagement, speaking about her experiences and in 2009, published her autobiography, Here, There Are No Sarahs: A Woman's Courageous Fight Against the Nazis and Her Bittersweet Fulfillment of the American Dream. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 06:24, 1 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-18 == <section begin="technews-2023-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/18|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The content attribution tools [[mw:Special:MyLanguage/Who Wrote That?|Who Wrote That?]], [[xtools:authorship|XTools Authorship]], and [[xtools:blame|XTools Blame]] now support the French and Italian Wikipedias. More languages will be added in the near future. This is part of the [[m:Community Wishlist Survey 2023/Reading/Extend "Who Wrote That?" tool to more wikis|#7 wish in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T243711][https://phabricator.wikimedia.org/T270490][https://phabricator.wikimedia.org/T334891] * The [[:commons:Special:MyLanguage/Commons:Video2commons|Video2commons]] tool has been updated. This fixed several bugs related to YouTube uploads. [https://github.com/toolforge/video2commons/pull/162/commits] * The [[{{#special:Preferences}}]] page has been redesigned on mobile web. The new design makes it easier to browse the different categories and settings at low screen widths. You can also now access the page via a link in the Settings menu in the mobile web sidebar. [https://www.mediawiki.org/wiki/Moderator_Tools/Content_moderation_on_mobile_web/Preferences] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-02|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-03|en}}. It will be on all wikis from {{#time:j xg|2023-05-04|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:45, 2 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24966974 --> == Wikipedia translation of the week: 2023-19 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Nadia Ghulam]]'''<br /><small>''([[:fr:Nadia Ghulam]]) ([[:es:Nadia Ghulam]]) ([[:ca:Nadia Ghulam]])''</small> </div> Please be bold and help translate this article! ---- [[File:Nadia Ghulam (cropped).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Nadia Ghulam Dastgir''' is an Afghan woman who spent ten years posing as her dead brother to evade the Taliban's strictures against women. Her book about her experiences, written with Agnès Rotger and published in 2010, El secret del meu turbant (The Secret of My Turban), won the Prudenci Bertrana Prize for fiction. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:37, 8 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24966177 --> == Tech News: 2023-19 == <section begin="technews-2023-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/19|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] Last week, Community Tech released the first update for providing [[m:Special:MyLanguage/Community Wishlist Survey 2022/Better diff handling of paragraph splits|better diffs]], the #1 request in the 2022 Community Wishlist Survey. [[phab:T324759|This update]] adds legends and tooltips to inline diffs so that users unfamiliar with the blue and yellow highlights can better understand the type of edits made. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] When you close an image that is displayed via MediaViewer, it will now return to the wiki page instead of going back in your browser history. This feature request was [[m:Community Wishlist Survey 2023/Reading/Return to the article when closing the MediaViewer|voted #65 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T236591] * The [[mw:Special:MyLanguage/Extension:SyntaxHighlight|SyntaxHighlight]] extension now supports <bdi lang="en" dir="ltr"><code>wikitext</code></bdi> as a selected language. Old alternatives that were used to highlight wikitext, such as <bdi lang="en" dir="ltr"><code>html5</code></bdi>, <bdi lang="en" dir="ltr"><code>moin</code></bdi>, and <bdi lang="en" dir="ltr"><code>html+handlebars</code></bdi>, can now be replaced. [https://phabricator.wikimedia.org/T29828] * [[mw:Special:MyLanguage/Manual:Creating pages with preloaded text|Preloading text to new pages/sections]] now supports preloading from localized MediaWiki interface messages. [https://cs.wikipedia.org/wiki/User_talk:Martin_Urbanec_(WMF)?action=edit&section=new&preload=MediaWiki:July Here is an example] at the {{int:project-localized-name-cswiki/en}} that uses <bdi lang="zxx" dir="ltr"><code><nowiki>preload=MediaWiki:July</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T330337] '''Problems''' * Graph Extension update: Foundation developers have completed upgrading the visualization software to Vega5. Existing community graphs based on Vega2 are no longer compatible. Communities need to update local graphs and templates, and shared lua modules like <bdi lang="de" dir="ltr">[[:de:Modul:Graph]]</bdi>. The [https://vega.github.io/vega/docs/porting-guide/ Vega Porting guide] provides the most comprehensive detail on migration from Vega2 and [https://www.mediawiki.org/w/index.php?title=Template:Graph:PageViews&action=history here is an example migration]. Vega5 has currently just been enabled on mediawiki.org to provide a test environment for communities. [https://phabricator.wikimedia.org/T334940#8813922] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.8|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-10|en}}. It will be on all wikis from {{#time:j xg|2023-05-11|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Until now, all new OAuth apps went through manual review. Starting this week, apps using identification-only or basic authorizations will not require review. [https://phabricator.wikimedia.org/T67750] '''Future changes''' * During the next year, MediaWiki will stop using IP addresses to identify logged-out users, and will start automatically assigning unique temporary usernames. Read more at [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/Updates|IP Editing: Privacy Enhancement and Abuse Mitigation/Updates]]. You can [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation#What should it look like?|join the discussion]] about the [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/Updates#What will temporary usernames look like?|format of the temporary usernames]]. [https://phabricator.wikimedia.org/T332805] * There will be an [[:w:en:A/B testing|A/B test]] on 10 Wikipedias where the Vector 2022 skin is the default skin. Half of logged-in desktop users will see an interface where the different parts of the page are more clearly separated. You can [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/2023-05 Zebra9 A/B test|read more]]. [https://phabricator.wikimedia.org/T333180][https://phabricator.wikimedia.org/T335972] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] <code>jquery.tipsy</code> will be removed from the MediaWiki core. This will affect some user scripts. Many lines with <code>.tipsy(</code> can be commented out. <code>OO.ui.PopupWidget</code> can be used to keep things working like they are now. You can [[phab:T336019|read more]] and [[:mw:Help:Locating broken scripts|read about how to find broken scripts]]. [https://phabricator.wikimedia.org/T336019] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:36, 9 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24998636 --> == Wikipedia translation of the week: 2023-20 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Purple Day]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Epilepsy Warrior Brooch May 2018 Purple Day.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Purple Day''' is a global grassroots event that was formed with the intention to increase worldwide awareness of epilepsy, and to dispel common myths and fears of this neurological disorder. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:17, 15 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25000361 --> == Tech News: 2023-20 == <section begin="technews-2023-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/20|Translations]] are available. '''Problems''' * Citations that are automatically generated based on [[d:Q33057|ISBN]] are currently broken. This affects citations made with the [[mw:Special:MyLanguage/Help:VisualEditor/User_guide/Citations-Full#Automatic|VisualEditor Automatic tab]], and the use of the citoid API in gadgets and user scripts. Work is ongoing to restore this feature. [https://phabricator.wikimedia.org/T336298] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-17|en}}. It will be on all wikis from {{#time:j xg|2023-05-18|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-gorwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hakwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hifwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hsbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-htwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-igwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ilowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-inhwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jvwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308134] '''Future changes''' * There is a recently formed team at the Wikimedia Foundation which will be focusing on experimenting with new tools. Currently they are building [[m:Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI|a prototype ChatGPT plugin that allows information generated by ChatGPT to be properly attributed]] to the Wikimedia projects. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadget and userscript developers should replace <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> with <bdi lang="zxx" dir="ltr"><code>mediawiki.cookie</code></bdi>. The <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> library will be removed in ~1 month, and staff developers will run a script to replace any remaining uses at that time. [https://phabricator.wikimedia.org/T336018] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:45, 15 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25011501 --> == Tech News: 2023-21 == <section begin="technews-2023-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/21|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The "recent edits" time period for page watchers is now 30 days. It used to be 180 days. This was a [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Change information about the number of watchers on a page|Community Wishlist Survey proposal]]. [https://phabricator.wikimedia.org/T336250] '''Changes later this week''' * An [[mw:special:MyLanguage/Growth/Positive reinforcement#Impact|improved impact module]] will be available at Wikipedias. The impact module is a feature available to newcomers [[mw:Special:MyLanguage/Growth/Feature summary#Newcomer homepage|at their personal homepage]]. It will show their number of edits, how many readers their edited pages have, how many thanks they have received and similar things. It is also accessible by accessing Special:Impact. [https://phabricator.wikimedia.org/T336203] * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-24|en}}. It will be on all wikis from {{#time:j xg|2023-05-25|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W21"/> 16:55, 22 May 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25028325 --> == Wikipedia translation of the week: 2023-22 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Valencian Art Nouveau]]'''<br /> <small>''([[:es:Modernismo valenciano]])''</small> </div> Please be bold and help translate this article! ---- [[File:Santuario Novelda.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Valencian Art Nouveau''' (Spanish: modernismo valenciano, Valencian: modernisme valencià), is the historiographic denomination given to an art and literature movement associated with the Art Nouveau in the Valencian Community, in Spain. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:46, 29 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25074014 --> == Tech News: 2023-22 == <section begin="technews-2023-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/22|Translations]] are available. '''Recent changes''' * Citations can once again be added automatically from ISBNs, thanks to Zotero's ISBN searches. The current data sources are the Library of Congress (United States), the Bibliothèque nationale de France (French National Library), and K10plus ISBN (German repository). Additional data source searches can be [[mw:Citoid/Creating Zotero translators|proposed to Zotero]]. The ISBN labels in the [[mw:Special:MyLanguage/Help:VisualEditor/User_guide/Citations-Full#Automatic|VisualEditor Automatic tab]] will reappear later this week. [https://phabricator.wikimedia.org/T336298#8859917] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The page [[{{#special:EditWatchlist}}]] now has "{{int:watchlistedit-normal-check-all}}" options to select all the pages within a namespace. This feature request was [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Watchlist edit - "check all" checkbox|voted #161 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334252] '''Problems''' * For a few days earlier this month, the "Add interlanguage link" item in the Tools menu did not work properly. This has now been fixed. [https://phabricator.wikimedia.org/T337081] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.11|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-31|en}}. It will be on all wikis from {{#time:j xg|2023-06-01|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * VisualEditor will be switched to a new backend on [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/small.dblist small] and [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/medium.dblist medium] wikis this week. Large wikis will follow in the coming weeks. This is part of the effort to move Parsoid into MediaWiki core. The change should have no noticeable effect on users, but if you experience any slow loading or other strangeness when using VisualEditor, please report it on the phabricator ticket linked here. [https://phabricator.wikimedia.org/T320529] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:04, 29 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25079963 --> == Wikipedia translation of the week: 2023-23 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:pt:Alessandra Korap]]'''<br /> <small>''([[:en:Alessandra Korap]]) ''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Alessandra Korap''' is an indigenous leader and Brazilian environmental activist from the Munduruku ethnic group. Her main work is defending the demarcation of indigenous territory and denouncing the illegal exploitation and activities of the mining and logging industries. Alessandra is internationally recognized for her work. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:33, 5 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25111481 --> == Tech News: 2023-23 == <section begin="technews-2023-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/23|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Help:Extension:RealMe|RealMe]] extension allows you to mark URLs on your user page as verified for Mastodon and similar software. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] Citation and footnote editing can now be started from the reference list when using the visual editor. This feature request was [[m:Community Wishlist Survey 2023/Citations/Allow citations to be edited in the references section with VisualEditor|voted #2 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T54750] * Previously, clicking on someone else's link to Recent Changes with filters applied within the URL could unintentionally change your preference for "{{int:Rcfilters-group-results-by-page}}". This has now been fixed. [https://phabricator.wikimedia.org/T202916#8874081] '''Problems''' * For a few days last week, some tools and bots returned outdated information due to database replication problems, and may have been down entirely while it was being fixed. These issues have now been fixed. [https://phabricator.wikimedia.org/T337446] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.12|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-06|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-07|en}}. It will be on all wikis from {{#time:j xg|2023-06-08|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Bots will no longer be prevented from making edits because of URLs that match the [[mw:Special:MyLanguage/Extension:SpamBlacklist|spam blacklist]]. [https://phabricator.wikimedia.org/T313107] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:52, 5 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25114640 --> == Wikipedia translation of the week: 2023-24 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cassinga Day]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Cassinga Day''' is a national public holiday in Namibia remembering the Cassinga Massacre. Commemorated annually on 4 May, the date "remembers those (approximately 600) killed in 1978 when the South African Defence Force attacked a SWAPO base at Cassinga in southern Angola". <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:07, 12 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25111481 --> == Tech News: 2023-24 == <section begin="technews-2023-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/24|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The content attribution tools [[mw:Special:MyLanguage/Who Wrote That?|Who Wrote That?]], [[xtools:authorship|XTools Authorship]], and [[xtools:blame|XTools Blame]] now support the Dutch, German, Hungarian, Indonesian, Japanese, Polish and Portuguese Wikipedias. This was the [[m:Community Wishlist Survey 2023/Reading/Extend "Who Wrote That?" tool to more wikis|#7 wish in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334891] * The [[mw:Special:MyLanguage/Structured Data Across Wikimedia/Search Improvements#Search Preview panel|Search Preview panel]] has been deployed on four Wikipedias (Catalan, Dutch, Hungarian and Norwegian). The panel will show an image related to the article (if existing), the top sections of the article, related images (coming from MediaSearch on Commons), and eventually the sister projects associated with the article. [https://phabricator.wikimedia.org/T306341] * The [[:mw:Special:MyLanguage/Help:Extension:RealMe#Verifying_a_link_on_non-user_pages|RealMe]] extension now allows administrators to verify URLs for any page, for Mastodon and similar software. [https://phabricator.wikimedia.org/T324937] * The default project license [https://lists.wikimedia.org/hyperkitty/list/wikimediaannounce-l@lists.wikimedia.org/thread/7G6XPWZPQFLZ2JANN3ZX6RT4DVUI3HZQ/ has been officially upgraded] to CC BY-SA 4.0. The software interface messages have been updated. Communities should feel free to start updating any mentions of the old CC BY-SA 3.0 licensing within policies and related documentation pages. [https://phabricator.wikimedia.org/T319064] '''Problems''' * For three days last month, some Wikipedia pages edited with VisualEditor or DiscussionTools had an unintended <code><nowiki>__TOC__</nowiki></code> (or its localized form) added during an edit. There is [[mw:Parsoid/Deployments/T336101_followup|a listing of affected pages sorted by wiki]], that may still need to be fixed. [https://phabricator.wikimedia.org/T336101] * Currently, the "{{int:Visualeditor-dialog-meta-categories-defaultsort-label}}" feature in VisualEditor is broken. Existing <code><nowiki>{{DEFAULTSORT:...}}</nowiki></code> keywords incorrectly appear as missing templates in VisualEditor. Developers are exploring how to fix this. In the meantime, those wishing to edit the default sortkey of a page are advised to switch to source editing. [https://phabricator.wikimedia.org/T337398] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Last week, an update to the delete form may have broken some gadgets or user scripts. If you need to manipulate (empty) the reason field, replace <bdi lang="zxx" dir="ltr"><code>#wpReason</code></bdi> with <bdi lang="zxx" dir="ltr" style="white-space: nowrap;"><code>#wpReason > input</code></bdi>. See [https://cs.wikipedia.org/w/index.php?title=MediaWiki%3AGadget-CleanDeleteReasons.js&diff=22859956&oldid=12794189 an example fix]. [https://phabricator.wikimedia.org/T337809] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.13|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-13|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-14|en}}. It will be on all wikis from {{#time:j xg|2023-06-15|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * VisualEditor will be switched to a new backend on English Wikipedia on Monday, and all other [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/large.dblist large] wikis on Thursday. The change should have no noticeable effect on users, but if you experience any slow loading or other strangeness when using VisualEditor, please report it on the phabricator ticket linked here. [https://phabricator.wikimedia.org/T320529] '''Future changes''' * From 5 June to 17 July, the Foundation's [[:mw:Wikimedia Security Team|Security team]] is holding a consultation with contributors regarding a draft policy to govern the use of third-party resources in volunteer-developed gadgets and scripts. Feedback and suggestions are warmly welcome at [[m:Special:MyLanguage/Third-party resources policy|Third-party resources policy]] on meta-wiki. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:52, 12 June 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25133779 --> == Tech News: 2023-25 == <section begin="technews-2023-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/25|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Flame graphs are now available in WikimediaDebug. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/JXNQD3EHG5V5QW5UXFDPSHQG4MJ3FWJQ/][https://techblog.wikimedia.org/2023/06/08/flame-graphs-arrive-in-wikimediadebug/] '''Changes later this week''' * There is no new MediaWiki version this week. * There is now a toolbar search popup in the visual editor. You can trigger it by typing <code>\</code> or pressing <code>ctrl + shift + p</code>. It can help you quickly access most tools in the editor. [https://commons.wikimedia.org/wiki/File:Visual_editor_toolbar_search_feature.png][https://phabricator.wikimedia.org/T66905] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:09, 19 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25159510 --> == Wikipedia translation of the week: 2023-26 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Rawon]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Rawon Setan.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Rawon''' (Javanese: ꦫꦮꦺꦴꦤ꧀) is an Indonesian beef soup. Originating from East Java, rawon utilizes the black keluak nut as the main seasoning, which gives a dark color and nutty flavor to the soup. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:18, 26 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25177056 --> == Tech News: 2023-26 == <section begin="technews-2023-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/26|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Action API modules and Special:LinkSearch will now add a trailing <bdi lang="zxx" dir="ltr"><code>/</code></bdi> to all <bdi lang="zxx" dir="ltr"><code>prop=extlinks</code></bdi> responses for bare domains. This is part of the work to remove duplication in the <code>externallinks</code> database table. [https://phabricator.wikimedia.org/T337994] '''Problems''' * Last week, search was broken on Commons and Wikidata for 23 hours. [https://phabricator.wikimedia.org/T339810][https://wikitech.wikimedia.org/wiki/Incidents/2023-06-18_search_broken_on_wikidata_and_commons] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.15|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-27|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-28|en}}. It will be on all wikis from {{#time:j xg|2023-06-29|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Minerva skin now applies more predefined styles to the <bdi lang="zxx" dir="ltr"><code>.mbox-text</code></bdi> CSS class. This enables support for mbox templates that use divs instead of tables. Please make sure that the new styles won't affect other templates in your wiki. [https://gerrit.wikimedia.org/r/c/mediawiki/skins/MinervaNeue/+/930901/][https://phabricator.wikimedia.org/T339040] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadgets will now load on both desktop and mobile by default. Previously, gadgets loaded only on desktop by default. Changing this default using the <bdi lang="zxx" dir="ltr"><code>|targets=</code></bdi> parameter is also deprecated and should not be used. You should make gadgets work on mobile or disable them based on the skin (with the <bdi lang="zxx" dir="ltr"><code>|skins=</code></bdi> parameter in <bdi lang="en" dir="ltr">MediaWiki:Gadgets-definition</bdi>) rather than whether the user uses the mobile or the desktop website. Popular gadgets that create errors on mobile will be disabled by developers on the Minerva skin as a temporary solution. [https://phabricator.wikimedia.org/T127268] * All namespace tabs now have the same browser [[m:Special:MyLanguage/Help:Keyboard_shortcuts|access key]] by default. Previously, custom and extension-defined namespaces would have to have their access keys set manually on-wiki, but that is no longer necessary. [https://phabricator.wikimedia.org/T22126] * The review form of the Flagged Revisions extension now uses the standardized [[mw:Special:MyLanguage/Codex|user interface components]]. [https://phabricator.wikimedia.org/T191156] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] How media is structured in the parser's HTML output will change in the coming weeks at [[:wikitech:Deployments/Train#Thursday|group2 wikis]]. This change improves the accessibility of content. You may need to update your site-CSS, or userscripts and gadgets. There are [[mw:Special:MyLanguage/Parsoid/Parser_Unification/Media_structure/FAQ|details on what code to check, how to update the code, and where to report any related problems]]. [https://phabricator.wikimedia.org/T314318] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:19, 26 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25202311 --> == Wikipedia translation of the week: 2023-27 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hook echo]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Tornadic classic supercell radar.gif|center|300px]] <div style="text-align:left; padding: .4em;"> A '''hook echo''' is a pendant or hook-shaped weather radar signature as part of some supercell thunderstorms. It is found in the lower portions of a storm as air and precipitation flow into a mesocyclone, resulting in a curved feature of reflectivity. The echo is produced by rain, hail, or even debris being wrapped around the supercell <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:18, 3 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25241057 --> == Tech News: 2023-27 == <section begin="technews-2023-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/27|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the rolling out of the [[m:Community Wishlist Survey 2022/Multimedia and Commons/Audio links that play on click|audio links that play on click]] wishlist proposal, [https://noc.wikimedia.org/conf/highlight.php?file=dblists/small.dblist small wikis] will now be able to use the [[mw:Special:MyLanguage/Help:Extension:Phonos#Inline audio player mode|inline audio player]] that is implemented by the [[mw:Extension:Phonos|Phonos]] extension. [https://phabricator.wikimedia.org/T336763] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] From this week all gadgets automatically load on mobile and desktop sites. If you see any problems with gadgets on your wikis, please adjust the [[mw:Special:MyLanguage/Extension:Gadgets#Options|gadget options]] in your gadget definitions file. [https://phabricator.wikimedia.org/T328610] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.16|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-05|en}}. It will be on all wikis from {{#time:j xg|2023-07-06|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:51, 3 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25231546 --> == Tech News: 2023-28 == <section begin="technews-2023-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/28|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Structured Data Across Wikimedia/Section-level Image Suggestions|Section-level Image Suggestions feature]] has been deployed on seven Wikipedias (Portuguese, Russian, Indonesian, Catalan, Hungarian, Finnish and Norwegian Bokmål). The feature recommends images for articles on contributors' watchlists that are a good match for individual sections of those articles. * [[:m:Special:MyLanguage/Global AbuseFilter|Global abuse filters]] have been enabled on all Wikimedia projects, except English and Japanese Wikipedias (who opted out). This change was made following a [[:m:Requests for comment/Make global abuse filters opt-out|global request for comments]]. [https://phabricator.wikimedia.org/T341159] * [[{{#special:BlockedExternalDomains}}]] is a new tool for administrators to help fight spam. It provides a clearer interface for blocking plain domains (and their subdomains), is more easily searchable, and is faster for the software to process for each edit on the wiki. It does not support regex (for complex cases), nor URL path-matching, nor the [[MediaWiki:Spam-whitelist|MediaWiki:Spam-whitelist]], but otherwise it replaces most of the functionalities of the existing [[MediaWiki:Spam-blacklist|MediaWiki:Spam-blacklist]]. There is a Python script to help migrate all simple domains into this tool, and more feature details, within [[mw:Special:MyLanguage/Manual:BlockedExternalDomains|the tool's documentation]]. It is available at all wikis except for Meta-wiki, Commons, and Wikidata. [https://phabricator.wikimedia.org/T337431] * The WikiEditor extension was updated. It includes some of the most frequently used features of wikitext editing. In the past, many of its messages could only be translated by administrators, but now all regular translators on translatewiki can translate them. Please check [https://translatewiki.net/wiki/Special:MessageGroupStats?group=ext-wikieditor&messages=&x=D#sortable:0=asc the state of WikiEditor localization into your language], and if the "Completion" for your language shows anything less than 100%, please complete the translation. See [https://lists.wikimedia.org/hyperkitty/list/wikitech-ambassadors@lists.wikimedia.org/thread/D4YELU2DXMZ75PGELUOKXXMFF3FH45XA/ a more detailed explanation]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.17|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-12|en}}. It will be on all wikis from {{#time:j xg|2023-07-13|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * The default protocol of [[{{#special:LinkSearch}}]] and API counterparts has changed from http to both http and https. [https://phabricator.wikimedia.org/T14810] * [[{{#special:LinkSearch}}]] and its API counterparts will now search for all of the URL provided in the query. It used to be only the first 60 characters. This feature was requested fifteen years ago. [https://phabricator.wikimedia.org/T17218] '''Future changes''' * There is an experiment with a [[:w:en:ChatGPT|ChatGPT]] plugin. This is to show users where the information is coming from when they read information from Wikipedia. It has been tested by Wikimedia Foundation staff and other Wikimedians. Soon all ChatGPT plugin users can use the Wikipedia plugin. This is the same plugin which was mentioned in [[m:Special:MyLanguage/Tech/News/2023/20|Tech News 2023/20]]. [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI] * There is an ongoing discussion on a [[m:Special:MyLanguage/Third-party resources policy|proposed Third-party resources policy]]. The proposal will impact the use of third-party resources in gadgets and userscripts. Based on the ideas received so far, policy includes some of the risks related to user scripts and gadgets loading third-party resources, some best practices and exemption requirements such as code transparency and inspectability. Your feedback and suggestions are warmly welcome until July 17, 2023 on [[m:Talk:Third-party resources policy|on the policy talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:54, 10 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25278797 --> == Wikipedia translation of the week: 2023-29 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Esther Cooper Jackson]]'''<br /> <small>''([[:fr:Esther Cooper Jackson]]) ([[:simple:Esther Cooper Jackson]])''</small> </div> Please be bold and help translate this article! ---- [[File:Esther Cooper Jackson, 1968, Great Barrington.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Esther Victoria Cooper Jackson''' was an American civil rights activist and social worker. She was one of the founding editors of the magazine Freedomways. She also was an organizational and executive secretary at the Southern Negro Youth Congress. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:14, 17 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25266525 --> == Tech News: 2023-29 == <section begin="technews-2023-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/29|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] We are now serving 1% of all global user traffic from [[w:en:Kubernetes|Kubernetes]] (you can [[wikitech:MediaWiki On Kubernetes|read more technical details]]). We are planning to increment this percentage regularly. You can [[phab:T290536|follow the progress of this work]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.18|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-19|en}}. It will be on all wikis from {{#time:j xg|2023-07-20|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki [[mw:Special:MyLanguage/Help:System_message|system messages]] will now look for available local fallbacks, instead of always using the default fallback defined by software. This means wikis no longer need to override each language on the [[mw:Special:MyLanguage/Manual:Language#Fallback_languages|fallback chain]] separately. For example, English Wikipedia doesn't have to create <bdi lang="zxx" dir="ltr"><code>en-ca</code></bdi> and <bdi lang="zxx" dir="ltr"><code>en-gb</code></bdi> subpages with a transclusion of the base pages anymore. This makes it easier to maintain local overrides. [https://phabricator.wikimedia.org/T229992] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The <bdi lang="zxx" dir="ltr"><code>action=growthsetmentorstatus</code></bdi> API will be deprecated with the new MediaWiki version. Bots or scripts calling that API should use the <bdi lang="zxx" dir="ltr"><code>action=growthmanagementorlist</code></bdi> API now. [https://phabricator.wikimedia.org/T321503] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:08, 17 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25289122 --> == Wikipedia translation of the week: 2023-30 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cut of pork]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:American Pork Cuts.svg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''cuts of pork''' are the different parts of the pig which are consumed as food by humans. The terminology and extent of each cut varies from country to country. There are between four and six primal cuts, which are the large parts in which the pig is first cut: the shoulder (blade and picnic), loin, belly (spare ribs and side) and leg <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:21, 24 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25318972 --> == Tech News: 2023-30 == <section begin="technews-2023-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/30|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] On July 18, the Wikimedia Foundation launched a survey about the [[:mw:Technical_decision_making|technical decision making process]] for people who do technical work that relies on software that is maintained by the Foundation or affiliates. If this applies to you, [https://wikimediafoundation.limesurvey.net/885471 please take part in the survey]. The survey will be open for three weeks, until August 7. You can find more information in [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/Q7DUCFA75DXG3G2KHTO7CEWMLCYTSDB2/|the announcement e-mail on wikitech-l]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-26|en}}. It will be on all wikis from {{#time:j xg|2023-07-27|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:20, 25 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25332248 --> == Wikipedia translation of the week: 2023-31 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Gunhild Cross]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Gunhildkorset.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Gunhild Cross''' (Danish: Gunhildkorset), named for its first owner, Gunhild, a daughter of Svend III of Denmark, is a mid-12th-century crucifix carved in walrus tusk and with both Latin and Runic inscriptions. It is now in the collection of the National Museum of Denmark. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:48, 31 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25380210 --> == Tech News: 2023-31 == <section begin="technews-2023-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/31|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Synchronizer|Synchronizer]] tool is now available to keep Lua modules synced across Wikimedia wikis, along with [[mw:Multilingual Templates and Modules|updated documentation]] to develop global Lua modules and templates. * The tag filter on [[{{#special:NewPages}}]] and revision history pages can now be inverted. For example, you can hide edits that were made using an automated tool. [https://phabricator.wikimedia.org/T334337][https://phabricator.wikimedia.org/T334338] * The Wikipedia [[:w:en:ChatGPT|ChatGPT]] plugin experiment can now be used by ChatGPT users who can use plugins. You can participate in a [[:m:Talk:Wikimedia Foundation Annual Plan/2023-2024/Draft/Future Audiences#Announcing monthly Future Audiences open "office hours"|video call]] if you want to talk about this experiment or similar work. [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI] '''Problems''' * It was not possible to generate a PDF for pages with non-Latin characters in the title, for the last two weeks. This has now been fixed. [https://phabricator.wikimedia.org/T342442] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-01|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-02|en}}. It will be on all wikis from {{#time:j xg|2023-08-03|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Tuesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-kawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kaawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kabwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kbdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kbpwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-knwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kshwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kwwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308135] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:54, 31 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25362228 --> == Wikipedia translation of the week: 2023-32 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Polyura athamas]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Close wing mud-puddling position of Charaxes bharata (C.& R. Felder,1867) - Indian Nawab.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''''Polyura athamas''''', the common nawab, is a species of fast-flying canopy butterfly found in tropical Asia. It belongs to the Charaxinae (rajahs and nawabs) in the brush-footed butterfly family (Nymphalidae). <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 03:14, 7 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25410866 --> == Tech News: 2023-32 == <section begin="technews-2023-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/32|Translations]] are available. '''Recent changes''' * Mobile Web editors can now [[mw:Special:MyLanguage/Reading/Web/Advanced_mobile_contributions#August_1,_2023_-_Full-page_editing_added_on_mobile|edit a whole page at once]]. To use this feature, turn on "{{int:Mobile-frontend-mobile-option-amc}}" in your settings and use the "{{int:Minerva-page-actions-editfull}}" button in the "{{int:Minerva-page-actions-overflow}}" menu. [https://phabricator.wikimedia.org/T203151] '''Changes later this week''' * There is no new MediaWiki version this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:21, 7 August 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25420038 --> == Wikipedia translation of the week: 2023-33 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Women's page]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:"Doings in Pittsburg Society" The Pittsburg Press February 1, 1920.png|center|300px]] <div style="text-align:left; padding: .4em;"> The '''women's page''' (sometimes called home page or women's section) of a newspaper was a section devoted to covering news assumed to be of interest to women. Women's pages started out in the 19th century as society pages and eventually morphed into features sections in the 1970s. Although denigrated during much of that period, they had a significant impact on journalism and in their communities. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:51, 14 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-33 == <section begin="technews-2023-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/33|Translations]] are available. '''Recent changes''' * The Content translation system is no longer using Youdao's [[mw:Special:MyLanguage/Help:Content_translation/Translating/Initial_machine_translation|machine translation service]]. The service was in place for several years, but due to no usage, and availability of alternatives, it was deprecated to reduce maintenance overheads. Other services which cover the same languages are still available. [https://phabricator.wikimedia.org/T329137] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-15|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-16|en}}. It will be on all wikis from {{#time:j xg|2023-08-17|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-lawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ladwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lbewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lezwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lfnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-liwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lijwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lmowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ltgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-maiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-map_bmswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mdfwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kywiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308136] <!-- TODO replace wiki codes --> '''Future changes''' * A few gadgets/user scripts which add icons to the Minerva skin need to have their CSS updated. There are more details available including a [[phab:T344067|search for all existing instances and how to update them]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 06:00, 15 August 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25428668 --> == Wikipedia translation of the week: 2023-34 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Insect toxin]]'''<br /> <small>''([[:de:Insektengift]])''</small> </div> Please be bold and help translate this article! ---- [[File:PDB 1lmr EBI.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Insect toxins''' are various protein toxins produced by insect species. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:32, 21 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-34 == <section begin="technews-2023-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/34|Translations]] are available. '''Recent changes''' * The [https://gdrive-to-commons.toolforge.org/ GDrive to Commons Uploader] tool is now available. It enables [[m:Special:MyLanguage/GDrive to Commons Uploader|securely selecting and uploading files]] from your Google Drive directly to Wikimedia Commons. [https://phabricator.wikimedia.org/T267868] * From now on, we will announce new Wikimedia wikis in Tech News, so you can update any tools or pages. ** Since the last edition, two new wikis have been created: *** a Wiktionary in [[d:Q7121294|Pa'O]] ([[wikt:blk:|<code>wikt:blk:</code>]]) [https://phabricator.wikimedia.org/T343540] *** a Wikisource in [[d:Q34002|Sundanese]] ([[s:su:|<code>s:su:</code>]]) [https://phabricator.wikimedia.org/T343539] ** To catch up, the next most recent six wikis are: *** Wikifunctions ([[f:|<code>f:</code>]]) [https://phabricator.wikimedia.org/T275945] *** a Wiktionary in [[d:Q2891049|Mandailing]] ([[wikt:btm:|<code>wikt:btm:</code>]]) [https://phabricator.wikimedia.org/T335216] *** a Wikipedia in [[d:Q5555465|Ghanaian Pidgin]] ([[w:gpe:|<code>w:gpe:</code>]]) [https://phabricator.wikimedia.org/T335969] *** a Wikinews in [[d:Q3111668|Gungbe]] ([[n:guw:|<code>n:guw:</code>]]) [https://phabricator.wikimedia.org/T334394] *** a Wiktionary in [[d:Q33522|Kabardian]] ([[wikt:kbd:|<code>wikt:kbd:</code>]]) [https://phabricator.wikimedia.org/T333266] *** a Wikipedia in [[d:Q35570|Fante]] ([[w:fat:|<code>w:fat:</code>]]) [https://phabricator.wikimedia.org/T335016] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-22|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-23|en}}. It will be on all wikis from {{#time:j xg|2023-08-24|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] There is an existing [[mw:Stable interface policy|stable interface policy]] for MediaWiki backend code. There is a [[mw:User:Jdlrobson/Stable interface policy/frontend|proposed stable interface policy for frontend code]]. This is relevant for anyone who works on gadgets or Wikimedia frontend code. You can read it, discuss it, and let the proposer know if there are any problems. [https://phabricator.wikimedia.org/T344079] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W34"/> 15:25, 21 August 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25497111 --> == Wikipedia translation of the week: 2023-35 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Manchester Blitz]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Air Raid Damage in Britain- Manchester HU49833.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Manchester Blitz''' (also known as the Christmas Blitz) was the heavy bombing of the city of Manchester and its surrounding areas in North West England during the Second World War by the German Luftwaffe. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:16, 28 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-35 == <section begin="technews-2023-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/35|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Community Wishlist Survey 2022/Better diff handling of paragraph splits|better diff handling of paragraph splits]], improved detection of splits is being rolled out. Over the last two weeks, we deployed this support to [[wikitech:Deployments/Train#Groups|group0]] and group1 wikis. This week it will be deployed to group2 wikis. [https://phabricator.wikimedia.org/T341754] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] All [[{{#special:Contributions}}]] pages now show the user's local edit count and the account's creation date. [https://phabricator.wikimedia.org/T324166] * Wikisource users can now use the <bdi lang="zxx" dir="ltr"><code>prpbengalicurrency</code></bdi> label to denote Bengali currency characters as page numbers inside the <bdi lang="zxx" dir="ltr"><code><nowiki><pagelist></nowiki></code></bdi> tag. [https://phabricator.wikimedia.org/T268932] * Two preferences have been relocated. The preference "{{int:visualeditor-preference-visualeditor}}" is now shown on the [[Special:Preferences#mw-prefsection-editing|"{{int:prefs-editing}}" tab]] at all wikis. Previously it was shown on the "{{int:prefs-betafeatures}}" tab at some wikis. The preference "{{int:visualeditor-preference-newwikitexteditor-enable}}" is now also shown on the "{{int:prefs-editing}}" tab at all wikis, instead of the "{{int:prefs-betafeatures}}" tab. [https://phabricator.wikimedia.org/T335056][https://phabricator.wikimedia.org/T344158] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.24|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-29|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-30|en}}. It will be on all wikis from {{#time:j xg|2023-08-31|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] New signups for a Wikimedia developer account will start being pushed towards <bdi lang="en" dir="ltr">[https://idm.wikimedia.org/ idm.wikimedia.org]</bdi>, rather than going via Wikitech. [[wikitech:IDM|Further information about the new system is available]]. * All right-to-left language wikis, plus Korean, Armenian, Ukrainian, Russian, and Bulgarian Wikipedias, will have a link in the sidebar that provides a short URL of that page, using the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]]. This feature will come to more wikis in future weeks. [https://phabricator.wikimedia.org/T267921] '''Future changes''' * The removal of the [[mw:Special:MyLanguage/Extension:DoubleWiki|DoubleWiki extension]] is being discussed. This extension currently allows Wikisource users to view articles from multiple language versions side by side when the <bdi lang="zxx" dir="ltr"><code><=></code></bdi> symbol next to a specific language edition is selected. Comments on this are welcomed at [[phab:T344544|the phabricator task]]. * A proposal has been made to merge the second hidden-categories list (which appears below the wikitext editing form) with the main list of categories (which is further down the page). [[phab:T340606|More information is available on Phabricator]]; feedback is welcome! '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:00, 28 August 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25510866 --> == Wikipedia translation of the week: 2023-36 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ghana Independence Act 1957]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> The '''Ghana Independence Act 1957''' is an Act of the Parliament of the United Kingdom that granted the Gold Coast fully responsible government within the British Commonwealth of Nations under the name of Ghana <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:18, 4 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-36 == <section begin="technews-2023-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/36|Translations]] are available. '''Recent changes''' * [[m:Wikisource_EditInSequence|EditInSequence]], a feature that allows users to edit pages faster on Wikisource has been moved to a Beta Feature based on community feedback. To enable it, you can navigate to the [[Special:Preferences#mw-prefsection-betafeatures|beta features tab in Preferences]]. [https://phabricator.wikimedia.org/T308098] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Special:MyLanguage/Community Wishlist Survey 2022/Generate Audio for IPA|Generate Audio for IPA]] and [[m:Community Wishlist Survey 2022/Multimedia and Commons/Audio links that play on click|Audio links that play on click]] wishlist proposals, the [[mw:Special:MyLanguage/Help:Extension:Phonos#Inline_audio_player_mode|inline audio player mode]] of [[mw:Extension:Phonos|Phonos]] has been deployed to all projects. [https://phabricator.wikimedia.org/T336763] * There is a new option for Administrators when they are changing the usergroups for a user, to add the user’s user page to their watchlist. This works both via [[{{#special:UserRights}}]] and via the API. [https://phabricator.wikimedia.org/T272294] * One new wiki has been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q34318|Talysh]] ([[w:tly:|<code>w:tly:</code>]]) [https://phabricator.wikimedia.org/T345166] '''Problems''' * The [[mw:Special:MyLanguage/Extension:LoginNotify|LoginNotify extension]] was not sending notifications since January. It has now been fixed, so going forward, you may see notifications for failed login attempts, and successful login attempts from a new device. [https://phabricator.wikimedia.org/T344785] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-05|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-06|en}}. It will be on all wikis from {{#time:j xg|2023-09-07|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-mhrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-miwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-minwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrjwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mtwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mwlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-myvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mznwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nahwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-napwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ndswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nds_nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-novwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nqowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nrmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nsowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ocwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-olowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-omwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-orwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-oswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pagwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-papwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pcdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pdcwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pflwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pihwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pmswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pnbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pntwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pswiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308137][https://phabricator.wikimedia.org/T308138] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:34, 4 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25566983 --> == Wikipedia translation of the week: 2023-37 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Betrayal trauma]]'''<br /> <small>''([[:sv:Svektrauma]]) ([[:ar:صدمة الخيانة]]) ([[:ko:배신 트라우마]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Betrayal trauma''' is defined as a trauma perpetrated by someone with whom the victim is close to and reliant upon for support and survival. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:49, 11 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-37 == <section begin="technews-2023-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/37|Translations]] are available. '''Recent changes''' * [[mw:Special:MyLanguage/ORES|ORES]], the revision evaluation service, is now using a new open-source infrastructure on all wikis except for English Wikipedia and Wikidata. These two will follow this week. If you notice any unusual results from the Recent Changes filters that are related to ORES (for example, "{{int:ores-rcfilters-damaging-title}}" and "{{int:ores-rcfilters-goodfaith-title}}"), please [[mw:Talk:Machine Learning|report them]]. [https://phabricator.wikimedia.org/T342115] * When you are logged in on one Wikimedia wiki and visit a different Wikimedia wiki, the system tries to log you in there automatically. This has been unreliable for a long time. You can now visit the login page to make the system try extra hard. If you feel that made logging in better or worse than it used to be, your feedback is appreciated. [https://phabricator.wikimedia.org/T326281] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-13|en}}. It will be on all wikis from {{#time:j xg|2023-09-14|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Special:MyLanguage/Technical decision making|Technical Decision-Making Forum Retrospective]] team invites anyone involved in the technical field of Wikimedia projects to signup to and join [[mw:Technical decision making/Listening Sessions|one of their listening sessions]] on 13 September. Another date will be scheduled later. The goal is to improve the technical decision-making processes. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Special:MyLanguage/Community Wishlist Survey 2022/Better diff handling of paragraph splits|Better diff handling of paragraph splits]] wishlist proposal, the inline switch widget in diff pages is being rolled out this week to all wikis. The inline switch will allow viewers to toggle between a unified inline or two-column diff wikitext format. [https://phabricator.wikimedia.org/T336716] '''Future changes''' * All wikis will be read-only for a few minutes on 20 September. [[m:Special:MyLanguage/Tech/Server switch|This is planned at 14:00 UTC.]] More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T345263] * The Enterprise API is launching a new feature called "[http://breakingnews-beta.enterprise.wikimedia.com/ breaking news]". Currently in BETA, this attempts to identify likely "newsworthy" topics as they are currently being written about in any Wikipedia. Your help is requested to improve the accuracy of its detection model, especially on smaller language editions, by recommending templates or identifiable editing patterns. See more information at [[mw:Special:MyLanguage/Wikimedia Enterprise/Breaking news|the documentation page]] on MediaWiki or [[m:Special:MyLanguage/Wikimedia Enterprise/FAQ#What is Breaking News|the FAQ]] on Meta. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:08, 11 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25589064 --> == Wikipedia translation of the week: 2023-38 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:es:Genocidio del Putumayo]]'''<br /> <small>''([[:en:Putumayo genocide]]) ([[:ca:Genocidi del Putumayo]])''</small></div> Please be bold and help translate this article! ---- [[File:The Putumayo - the devil's paradise, travels in the Peruvian Amazon Region and an account of the atrocities committed upon the Indians therein (1913) (14782203995).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Putumayo genocide''' is the term which is used in reference to the enslavement, massacres and ethnocide of the indigenous population of the Amazon at the hands of the Peruvian Amazon Company, specifically in the area between the Putumayo River and the Caquetá River during the Amazon rubber boom period from 1879 to 1912. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 03:38, 18 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25599361 --> == Tech News: 2023-38 == <section begin="technews-2023-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/38|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki now has a [[mw:Stable interface policy/frontend|stable interface policy for frontend code]] that more clearly defines how we deprecate MediaWiki code and wiki-based code (e.g. gadgets and user scripts). Thank you to everyone who contributed to the content and discussions. [https://phabricator.wikimedia.org/T346467][https://phabricator.wikimedia.org/T344079] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.27|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-20|en}}. It will be on all wikis from {{#time:j xg|2023-09-21|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * All wikis will be read-only for a few minutes on September 20. [[m:Special:MyLanguage/Tech/Server switch|This is planned at 14:00 UTC.]] [https://phabricator.wikimedia.org/T345263] * All wikis will have a link in the sidebar that provides a short URL of that page, using the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]]. [https://phabricator.wikimedia.org/T267921] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The team investigating the Graph Extension posted [[mw:Extension:Graph/Plans#Proposal|a proposal for reenabling it]] and they need your input. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:20, 18 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25623533 --> == Tech News: 2023-39 == <section begin="technews-2023-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/39|Translations]] are available. '''Recent changes''' * The Vector 2022 skin will now remember the pinned/unpinned status for the Table of Contents for all logged-out users. [https://phabricator.wikimedia.org/T316060] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.28|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-26|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-27|en}}. It will be on all wikis from {{#time:j xg|2023-09-28|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui</nowiki></code></bdi> modules are now deprecated as part of the move to Vue.js and Codex. There is a [[mw:Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. More [[phab:T346468|details are available in the task]] and your questions are welcome there. * Gadget definitions will have a [[mw:Special:MyLanguage/Extension:Gadgets#Options|new "namespaces" option]]. The option takes a list of namespace IDs. Gadgets that use this option will only load on pages in the given namespaces. '''Future changes''' * New variables will be added to [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]]: <code><bdi lang="zxx" dir="ltr">global_account_groups</bdi></code> and <code><bdi lang="zxx" dir="ltr">global_account_editcount</bdi></code>. They are available only when an account is being created. You can use them to prevent blocking automatic creation of accounts when users with many edits elsewhere visit your wiki for the first time. [https://phabricator.wikimedia.org/T345632][https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:AbuseFilter/Rules_format] '''Meetings''' * You can join the next meeting with the Wikipedia mobile apps teams. During the meeting, we will discuss the current features and future roadmap. The meeting will be on [https://zonestamp.toolforge.org/1698426015 27 October at 17:00 (UTC)]. See [[mw:Special:MyLanguage/Wikimedia_Apps/Office_Hours#October_2023|details and how to join]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:51, 26 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25655264 --> == Tech News: 2023-40 == <section begin="technews-2023-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/40|Translations]] are available. '''Recent changes''' * There is a new [[Special:Preferences#mw-prefsection-rendering-advancedrendering|user preference]] for "{{int:tog-forcesafemode}}". This setting will make pages load without including any on-wiki JavaScript or on-wiki stylesheet pages. It can be useful for debugging broken JavaScript gadgets. [https://phabricator.wikimedia.org/T342347] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadget definitions now have a [[mw:Special:MyLanguage/Extension:Gadgets#Options|new "<var>contentModels</var>" option]]. The option takes a list of page content models, like <code><bdi lang="zxx" dir="ltr">wikitext</bdi></code> or <code><bdi lang="zxx" dir="ltr">css</bdi></code>. Gadgets that use this option will only load on pages with the given content models. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.29|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-03|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-04|en}}. It will be on all wikis from {{#time:j xg|2023-10-05|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Vector 2022 skin will no longer use the custom styles and scripts of Vector legacy (2010). The change will be made later this year or in early 2024. See [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Loading Vector 2010 scripts|how to adjust the CSS and JS pages on your wiki]]. [https://phabricator.wikimedia.org/T331679] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:27, 3 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25686930 --> == Tech News: 2023-41 == <section begin="technews-2023-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/41|Translations]] are available. '''Recent changes''' * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q33291|Fon]] ([[w:fon:|<code>w:fon:</code>]]) [https://phabricator.wikimedia.org/T347935] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.30|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-10|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-11|en}}. It will be on all wikis from {{#time:j xg|2023-10-12|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-swwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-wawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-warwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-wowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xalwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xhwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xmfwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-yiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-yowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zeawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zh_min_nanwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zuwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308139] * At some wikis, newcomers are suggested images from Commons to add to articles without any images. Starting on Tuesday, newcomers at these wikis will be able to add images to unillustrated article sections. The specific wikis are listed under "Images recommendations" [[mw:Special:MyLanguage/Growth/Deployment table|at the Growth team deployment table]]. You can [[mw:Special:MyLanguage/Help:Growth/Tools/Add an image|learn more about this feature.]] [https://phabricator.wikimedia.org/T345940] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] In the mobile web skin (Minerva) the CSS ID <bdi lang="zxx" dir="ltr"><code><nowiki>#page-actions</nowiki></code></bdi> will be replaced with <bdi lang="zxx" dir="ltr"><code><nowiki>#p-views</nowiki></code></bdi>. This change is to make it consistent with other skins and to improve support for gadgets and extensions in the mobile skin. A few gadgets may need to be updated; there are [https://phabricator.wikimedia.org/T348267 details and search-links in the task]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:39, 9 October 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25712895 --> == Wikipedia translation of the week: 2023-42 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Athyma nefte]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:VB 019 Color Sergeant UP.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''''Athyma nefte''''', the colour sergeant, is a species of brush-footed butterfly found in tropical South and Southeast Asia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:58, 16 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25693965 --> == Tech News: 2023-42 == <section begin="technews-2023-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/42|Translations]] are available. '''Recent changes''' * The [[m:Special:MyLanguage/Help:Unified login|Unified login]] system's edge login should now be fixed for some browsers (Chrome, Edge, Opera). This means that if you visit a new sister project wiki, you should be logged in automatically without the need to click "Log in" or reload the page. Feedback on whether it's working for you is welcome. [https://phabricator.wikimedia.org/T347889] * [[mw:Special:MyLanguage/Manual:Interface/Edit_notice|Edit notices]] are now available within the MobileFrontend/Minerva skin. This feature was inspired by [[w:en:Wikipedia:EditNoticesOnMobile|the gadget on English Wikipedia]]. See more details in [[phab:T316178|T316178]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-17|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-18|en}}. It will be on all wikis from {{#time:j xg|2023-10-19|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * In 3 weeks, in the Vector 2022 skin, code related to <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>#p-namespaces</nowiki></code></bdi> that was deprecated one year ago will be removed. If you notice tools that should appear next to the "Discussion" tab are then missing, please tell the gadget's maintainers to see [[phab:T347907|instructions in the Phabricator task]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:47, 16 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25745824 --> == Wikipedia translation of the week: 2023-43 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Typhoon Rusa]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Rusa 2002-08-27 0350Z.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Typhoon Rusa''' was the most powerful typhoon to strike South Korea in 43 years. It was the 21st JTWC tropical depression, the 15th named storm, and the 10th typhoon of the 2002 Pacific typhoon season. It developed on August 22 from the monsoon trough in the northwestern Pacific Ocean, well to the southeast of Japan. For several days, Rusa moved to the northwest, eventually intensifying into a powerful typhoon. On August 26, the storm moved across the Amami Islands of Japan, where Rusa left 20,000 people without power and caused two fatalities. Across Japan, the typhoon dropped torrential rainfall peaking at 902 mm (35.5 in) in Tokushima Prefecture. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:50, 23 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25693965 --> == Tech News: 2023-43 == <section begin="technews-2023-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/43|Translations]] are available. '''Recent changes''' * There is a new [[mw:Special:MyLanguage/Wikimedia Language engineering/Newsletter/2023/October|Language and internationalization newsletter]], written quarterly. It contains updates on new feature development, improvements in various language-related technical projects, and related support work. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Source map support has been enabled on all wikis. When you open the debugger in your browser's developer tools, you should be able to see the unminified JavaScript source code. [https://phabricator.wikimedia.org/T47514] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-24|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-25|en}}. It will be on all wikis from {{#time:j xg|2023-10-26|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:17, 23 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25782286 --> == Wikipedia translation of the week: 2023-44 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hein Eersel]]'''<br /> <small>''([[:nl:Hein Eersel]]) ([[:it:Hein Eersel]])''</small> </div> Please be bold and help translate this article! ---- [[File:HeinEersel.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Christiaan Hendrik "Hein" Eersel''' was a Surinamese linguist and cultural researcher. He served as Minister of Education and Population Development in the cabinet of acting Prime Minister Arthur Johan May. He was also the first chancellor of the University of Suriname. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:09, 30 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-44 == <section begin="technews-2023-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/44|Translations]] are available. '''Recent changes''' * The Structured Content team, as part of its project of [[:commons:Commons:WMF support for Commons/Upload Wizard Improvements|improving UploadWizard on Commons]], made some UX improvements to the upload step of choosing own vs not own work ([[phab:T347590|T347590]]), as well as to the licensing step for own work ([[phab:T347756|T347756]]). * The Design Systems team has released version 1.0.0 of [[wmdoc:codex/latest/|Codex]], the new design system for Wikimedia. See the [[mw:Special:MyLanguage/Design_Systems_Team/Announcing_Codex_1.0|full announcement about the release of Codex 1.0.0]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-31|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-01|en}}. It will be on all wikis from {{#time:j xg|2023-11-02|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). * Listings on category pages are sorted on each wiki for that language using a [[:w:en:International Components for Unicode|library]]. For a brief period on 2 November, changes to categories will not be sorted correctly for many languages. This is because the developers are upgrading to a new version of the library. They will then use a script to fix the existing categories. This will take a few hours or a few days depending on how big the wiki is. You can [[mw:Special:MyLanguage/Wikimedia Technical Operations/ICU announcement|read more]]. [https://phabricator.wikimedia.org/T345561][https://phabricator.wikimedia.org/T267145] * Starting November 1, the impact module (Special:Impact) will be upgraded by the Growth team. The new impact module shows newcomers more data regarding their impact on the wiki. It was tested by a few wikis during the last few months. [https://phabricator.wikimedia.org/T336203] '''Future changes''' * There is [[mw:Special:MyLanguage/Extension:Graph/Plans#Roadmap|a proposed plan]] for re-enabling the Graph Extension. You can help by reviewing this proposal and [[mw:Extension_talk:Graph/Plans#c-PPelberg_(WMF)-20231020221600-Update:_20_October|sharing what you think about it]]. * The WMF is working on making it possible for administrators to [[mw:Special:MyLanguage/Community_configuration_2.0|edit MediaWiki configuration directly]]. This is similar to previous work on Special:EditGrowthConfig. [[phab:T349757|A technical RfC is running until November 08, where you can provide feedback.]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:21, 30 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25801989 --> == Tech News: 2023-45 == <section begin="technews-2023-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/45|Translations]] are available. '''Recent changes''' * In the Vector 2022 skin, the default font-size of a number of navigational elements (tagline, tools menu, navigational links, and more) has been increased slightly to match the font size used in page content. [https://phabricator.wikimedia.org/T346062] '''Problems''' * Last week, there was a problem displaying some recent edits on [https://noc.wikimedia.org/conf/highlight.php?file=dblists/s5.dblist a few wikis], for 1-6 hours. The edits were saved but not immediately shown. This was due to a database problem. [https://phabricator.wikimedia.org/T350443] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-08|en}}. It will be on all wikis from {{#time:j xg|2023-11-09|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). * The Growth team will reassign newcomers from former mentors to [[mw:Special:MyLanguage/Growth/Structured mentor list|the currently active mentors]]. They have also changed the notification language to be more user-friendly. [https://phabricator.wikimedia.org/T330071][https://phabricator.wikimedia.org/T327493] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:06, 6 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25838105 --> == Wikipedia translation of the week: 2023-45 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Reclaim the Night]]'''<br /> <small>''([[:de:Reclaim the Night]])''</small> </div> Please be bold and help translate this article! ---- [[File:Reclaim the Night 2014.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Reclaim the Night''' is a movement started in Leeds in 1977 as part of the Women's Liberation Movement. Marches demanding that women be able to move throughout public spaces at night took place across England until the 1990s. Later, the organisation was revived and sponsors annual and national marches against rape and violence against women. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:40, 8 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Wikipedia translation of the week: 2023-46 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ishe Komborera Africa]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Ishe Komborera Africa.mp3|center|300px|]] <div style="text-align:left; padding: .4em;"> "'''Ishe Komborera Africa'''" (Shona for: God Bless Africa), also called "Ishe Komborera Zimbabwe" (Shona for: God Bless Zimbabwe), was the Zimbabwean national anthem from 1980 to 1994. It was the country's first national anthem after gaining independence in 1980. It is a translation of 19th-century South African schoolteacher Enoch Sontonga's popular African hymn "Nkosi Sikelel' iAfrika" into Zimbabwe's native Shona and Ndebele languages. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:38, 13 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-46 == <section begin="technews-2023-W46"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/46|Translations]] are available. '''Recent changes''' * Four new wikis have been created: ** a Wikipedia in [[d:Q7598268|Moroccan Amazigh]] ([[w:zgh:|<code>w:zgh:</code>]]) [https://phabricator.wikimedia.org/T350216] ** a Wikipedia in [[d:Q35159|Dagaare]] ([[w:dga:|<code>w:dga:</code>]]) [https://phabricator.wikimedia.org/T350218] ** a Wikipedia in [[d:Q33017|Toba Batak]] ([[w:bbc:|<code>w:bbc:</code>]]) [https://phabricator.wikimedia.org/T350320] ** a Wikiquote in [[d:Q33151|Banjar]] ([[q:bjn:|<code>q:bjn:</code>]]) [https://phabricator.wikimedia.org/T350217] '''Problems''' * Last week, users who previously visited Meta-Wiki or Wikimedia Commons and then became logged out on those wikis could not log in again. The problem is now resolved. [https://phabricator.wikimedia.org/T350695] * Last week, some pop-up dialogs and menus were shown with the wrong font size. The problem is now resolved. [https://phabricator.wikimedia.org/T350544] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-15|en}}. It will be on all wikis from {{#time:j xg|2023-11-16|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). '''Future changes''' * Reference Previews are coming to many wikis as a default feature. They are popups for references, similar to the [[mw:Special:MyLanguage/Page Previews|PagePreviews feature]]. [[m:WMDE Technical Wishes/ReferencePreviews#Opt-out feature|You can opt out]] of seeing them. If you are [[Special:Preferences#mw-prefsection-gadgets|using the gadgets]] Reference Tooltips or Navigation Popups, you won’t see Reference Previews. [[phab:T282999|Deployment]] is planned for November 22, 2023. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Canary (also known as heartbeat) events will be produced into [https://stream.wikimedia.org/?doc#/streams Wikimedia event streams] from December 11. Streams users are advised to filter out these events, by discarding all events where <bdi lang="zxx" dir="ltr"><code><nowiki>meta.domain == "canary"</nowiki></code></bdi>. Updates to [[mw:Special:MyLanguage/Manual:Pywikibot|Pywikibot]] or [https://github.com/ChlodAlejandro/wikimedia-streams wikimedia-streams] will discard these events by default. [https://phabricator.wikimedia.org/T266798] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/46|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:52, 13 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25859263 --> == Wikipedia translation of the week: 2023-47 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Bhagavata Mela]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Bhagavata Mela''' is a classical Indian dance that is performed in Tamil Nadu, particularly the Thanjavur area. It is choreographed as an annual Vaishnavism tradition in Melattur and nearby regions, and celebrated as a dance-drama performance art. The dance art has roots in a historic migration of practitioners of Kuchipudi, another Indian classical dance art, from Andhra Pradesh to the kingdom of Tanjavur. The term Bhagavata, state Brandon and Banham, refers to the Hindu text Bhagavata Purana. Mela is a Sanskrit word that means "gathering, meeting of a group" and connotes a folk festival. The traditional Bhagavata Mela performance acts out the legends of Hinduism, set to the Carnatic style music. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:38, 04:07, 20 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-47 == <section begin="technews-2023-W47"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/47|Translations]] are available. '''Changes later this week''' * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-quwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rmywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-roa_rupwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-roa_tarawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ruewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rwwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sahwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-satwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-shwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-siwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-skwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-slwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-smwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sqwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-srwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-srnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-stwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-stqwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-suwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-szlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tcywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tetwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-thwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-towiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tpiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ttwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-twwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tyvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-udmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ugwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-uzwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vecwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vepwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vlswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vowiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308141][https://phabricator.wikimedia.org/T308142][https://phabricator.wikimedia.org/T308143] * The Vector 2022 skin will have some minor visual changes to drop-down menus, column widths, and more. These changes were added to four Wikipedias last week. If no issues are found, these changes will proceed to all wikis this week. These changes will make it possible to add new menus for readability and dark mode. [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Updates#November_2023:_Visual_changes,_more_deployments,_and_shifting_focus|Learn more]]. [https://phabricator.wikimedia.org/T347711] '''Future changes''' * There is [[mw:Extension talk:Graph/Plans#Update: 15 November|an update on re-enabling the Graph Extension]]. To speed up the process, Vega 2 will not be supported and only [https://phabricator.wikimedia.org/T335325 some protocols] will be available at launch. You can help by sharing what you think about the plan. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/47|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:55, 21 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25884616 --> == Wikipedia translation of the week: 2023-48 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Zanskari]]'''<br /> <small>''([[:en:Zaniskari]])''</small> </div> Please be bold and help translate this article! ---- [[File:Zaniskari Horse in Ladakh, India.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Zaniskari''' or '''Zanskari''' is a breed of small mountain horse or pony from Ladakh, in northern India. It is named for the Zanskar valley or region in Kargil district. It is similar to the Spiti breed of Himachal Pradesh, but is better adapted to work at high altitude. Like the Spiti, it shows similarities to the Tibetan breeds of neighbouring Tibet. It is of medium size, and is often grey in colour. The breed is considered endangered, as there are only a few hundred alive today, and a conservation programme has been started at Padum, Zanskar, in the Kargil district of Ladakh. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:44, 27 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-48 == <section begin="technews-2023-W48"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/48|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-29|en}}. It will be on all wikis from {{#time:j xg|2023-11-30|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). There is no new MediaWiki version next week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki's JavaScript system will now allow <bdi lang="zxx" dir="ltr"><code>async</code>/<code>await</code></bdi> syntax in gadgets and user scripts. Gadget authors should remember that users' browsers may not support it, so it should be used appropriately. [https://phabricator.wikimedia.org/T343499] * The deployment of "[[mw:Special:MyLanguage/Help:Growth/Tools/Add_a_link|Add a link]]" announced [[m:Special:MyLanguage/Tech/News/2023/47|last week]] was postponed. It will resume this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/48|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:09, 27 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25906379 --> == Wikipedia translation of the week: 2023-49 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sheikh Hussein]]'''<br /> <small>''([[:fr:Sheikh Hussein]]) ([[:it:Scec Hussèn]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sheikh Hussein.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Sheikh Hussein''' is a town in south-eastern Ethiopia. The site has been recorded in the tentative list for UNESCO World Heritage List since 2011 as a religious, cultural and historical site. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:34, 4 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25921616 --> == Tech News: 2023-49 == <section begin="technews-2023-W49"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/49|Translations]] are available. '''Recent changes''' * The spacing between paragraphs on Vector 2022 has been changed from 7px to 14px to match the size of the text. This will make it easier to distinguish paragraphs from sentences. [https://phabricator.wikimedia.org/T351754] * The "{{int:Visualeditor-dialog-meta-categories-defaultsort-label}}" feature in VisualEditor is working again. You no longer need to switch to source editing to edit <bdi lang="zxx" dir="ltr"><code><nowiki>{{DEFAULTSORT:...}}</nowiki></code></bdi> keywords. [https://phabricator.wikimedia.org/T337398] '''Changes later this week''' * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * On 6 December, people who have the enabled the preference for "{{int:Discussiontools-preference-visualenhancements}}" will notice the [[mw:Special:MyLanguage/Talk pages project/Usability|talk page usability improvements]] appear on pages that include the <bdi lang="zxx" dir="ltr"><code><nowiki>__NEWSECTIONLINK__</nowiki></code></bdi> magic word. If you notice any issues, please [[phab:T352232|share them with the team on Phabricator]]. '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Toolforge [[wikitech:News/Toolforge Grid Engine deprecation|Grid Engine shutdown process]] will start on December 14. Maintainers of [[toolforge:grid-deprecation|tools that still use this old system]] should plan to migrate to Kubernetes, or tell the team your plans on Phabricator in the task about your tool, before that date. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/VIWWQKMSQO2ED3TVUR7KPPWRTOBYBVOA/] * Communities using [[mw:Special:MyLanguage/Structured_Discussions|Structured Discussions]] are being contacted regarding [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|the upcoming deprecation of Structured Discussions]]. You can read more about this project, and share your comments, [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|on the project's page]]. '''Events''' * Registration & Scholarship applications are now open for the [[mw:Special:MyLanguage/Wikimedia Hackathon 2024|Wikimedia Hackathon 2024]] that will take place from 3–5 May in Tallinn, Estonia. Scholarship applications are open until 5 January 2024. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/49|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:50, 4 December 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25914435 --> == Wikipedia translation of the week: 2023-50 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Applaudissements aux fenêtres pendant la pandémie de Covid-19]]'''<br /> <small>''([[:es:Aplauso por los trabajadores de la salud]]) ([[:gl:Aplauso ao persoal sanitario]])''</small> </div> Please be bold and help translate this article! ---- [[File:Koronabirus konfinamendua Lasarten 2020-03-29.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> During the COVID-19 pandemic, applauding daily at a scheduled hour was a gesture of acclamation, recognition and gratitude towards health professionals in tribute to their work at the time. This habit emerged in January 2020 in Wuhan, where the pandemic originated, and then spread to several cities around the world during the quarantines and sanitary cordons ordered as preventive measures, Italy being the first one. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:26, 11 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25925561 --> == Tech News: 2023-50 == <section begin="technews-2023-W50"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/50|Translations]] are available. '''Recent changes''' * On Wikimedia Commons, there are some minor user-interface improvements for the "choosing own vs not own work" step in the UploadWizard. This is part of the Structured Content team's project of [[:commons:Commons:WMF support for Commons/Upload Wizard Improvements|improving UploadWizard on Commons]]. [https://phabricator.wikimedia.org/T352707][https://phabricator.wikimedia.org/T352709] '''Problems''' * There was a problem showing the [[mw:Special:MyLanguage/Growth/Personalized first day/Newcomer homepage|Newcomer homepage]] feature with the "impact module" and their page-view graphs, for a few days in early December. This has now been fixed. [https://phabricator.wikimedia.org/T352352][https://phabricator.wikimedia.org/T352349] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-12-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-12-13|en}}. It will be on all wikis from {{#time:j xg|2023-12-14|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * [[File:Octicons-tools.svg|15px|link=]] The [https://wikimediafoundation.limesurvey.net/796964 2023 Developer Satisfaction Survey] is seeking the opinions of the Wikimedia developer community. Please take the survey if you have any role in developing software for the Wikimedia ecosystem. The survey is open until 5 January 2024, and has an associated [[foundation:Legal:December_2023_Developer_Satisfaction_Survey|privacy statement]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/50|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:13, 12 December 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25945501 --> == Wikipedia translation of the week: 2023-51 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Jamaica Bay Wildlife Refuge]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Aerial view of Subway Island, July 2019.JPG|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Jamaica Bay Wildlife Refuge''' is a wildlife refuge in New York City managed by the National Park Service as part of Gateway National Recreation Area. It is composed of the open water and intertidal salt marshes of Jamaica Bay. It lies entirely within the boundaries of New York City, divided between the boroughs of Brooklyn to the west and Queens to the east. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:05, 18 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25951007 --> == Tech News: 2023-51 == <section begin="technews-2023-W51"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/51|Translations]] are available. '''Tech News''' * The next issue of Tech News will be sent out on 8 January 2024 because of [[w:en:Christmas and holiday season|the holidays]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-12-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-12-20|en}}. It will be on all wikis from {{#time:j xg|2023-12-21|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). There is no new MediaWiki version next week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting December 18, it won't be possible to activate Structured Discussions on a user's own talk page using the Beta feature. The Beta feature option remains available for users who want to deactivate Structured Discussions. This is part of [[mw:Structured Discussions/Deprecation|Structured Discussions' deprecation work]]. [https://phabricator.wikimedia.org/T248309] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] There will be full support for redirects in the Module namespace. The "Move Page" feature will leave an appropriate redirect behind, and such redirects will be appropriately recognized by the software (e.g. hidden from [[{{#special:UnconnectedPages}}]]). There will also be support for [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Renaming or moving modules|manual redirects]]. [https://phabricator.wikimedia.org/T120794] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The MediaWiki JavaScript documentation is moving to a new format. During the move, you can read the old docs using [https://doc.wikimedia.org/mediawiki-core/REL1_41/js/ version 1.41]. Feedback about [https://doc.wikimedia.org/mediawiki-core/master/js/ the new site] is welcome on the [[mw:Talk:JSDoc_WMF_theme|project talk page]]. * The Wishathon is a new initiative that encourages collaboration across the Wikimedia community to develop solutions for wishes collected through the [[m:Special:MyLanguage/Community Wishlist Survey|Community Wishlist Survey]]. The first community Wishathon will take place from 15–17 March. If you are interested in a project proposal as a user, developer, designer, or product lead, you can [[m:Special:MyLanguage/Event:WishathonMarch2024|register for the event and read more]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/51|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:18, 18 December 2023 (UTC) <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25959059 --> == Wikipedia translation of the week: 2023-52 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Plant blindness]]'''<br /> <small>''([[:fr:Cécité botanique]]) ([[:de:Pflanzenblindheit]])''</small> </div> Please be bold and help translate this article! ---- [[File:Plant blindness 0323.png|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Plant blindness''' is an informally-proposed form of cognitive bias, which in its broadest meaning, is a human tendency to ignore plant species. This includes such phenomena as not noticing plants in the surrounding environment, not recognizing the importance of plant life to the whole biosphere and to human affairs, a philosophical view of plants as an inferior form of life to animals and/or the inability to appreciate the unique features or aesthetics of plants. Related terms include plant‐neglect, zoo-centrism, and zoo‐chauvinism. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:58, 25 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25971304 --> == Wikipedia translation of the week: 2024-02 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pax airship disaster]]'''<br /> <small>''([[:pt:Catástrofe do dirigível Pax]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sim new-mcclures-magazine 1902-09 19 5 (page 75 crop).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''''Pax''''' '''airship disaster''' was the explosion of the ''Pax'' airship on May 12, 1902, in Paris, which killed the Brazilian inventor Augusto Severo and the French mechanic Georges Saché. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 12:14, 8 January 2024 (UTC)'' </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26033876 --> == Tech News: 2024-02 == <section begin="technews-2024-W02"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/02|Translations]] are available. '''Recent changes''' * [https://mediawiki2latex.wmflabs.org/ mediawiki2latex] is a tool that converts wiki content into the formats of LaTeX, PDF, ODT, and EPUB. The code now runs many times faster due to recent improvements. There is also an optional Docker container you can [[b:de:Benutzer:Dirk_Hünniger/wb2pdf/install#Using_Docker|install]] on your local machine. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The way that Random pages are selected has been updated. This will slowly reduce the problem of some pages having a lower chance of appearing. [https://phabricator.wikimedia.org/T309477] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.13|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-10|en}}. It will be on all wikis from {{#time:j xg|2024-01-11|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/02|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W02"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:20, 9 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26026251 --> == Wikipedia translation of the week: 2024-03 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Conversion to Islam]]'''<br /> <small>''([[:fr:Conversion à l'islam]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sahadah-Topkapi-Palace.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Conversion to Islam''' is accepting Islam as a religion or faith and rejecting any other religion or irreligion. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:11, 15 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26044632 --> == Tech News: 2024-03 == <section begin="technews-2024-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/03|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Pages that use the JSON [[mw:Special:MyLanguage/Manual:ContentHandler|contentmodel]] will now use tabs instead of spaces for auto-indentation. This will significantly reduce the page size. [https://phabricator.wikimedia.org/T326065] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] and personal user scripts may now use JavaScript syntax introduced in ES6 (also known as "ES2015") and ES7 ("ES2016"). MediaWiki validates the source code to protect other site functionality from syntax errors, and to ensure scripts are valid in all [[mw:Special:MyLanguage/Compatibility#Browsers|supported browsers]]. Previously, Gadgets could use the <bdi lang="zxx" dir="ltr"><code><nowiki>requiresES6</nowiki></code></bdi> option. This option is no longer needed and will be removed in the future. [https://phabricator.wikimedia.org/T75714] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Manual:Bot passwords|Bot passwords]] and [[mw:Special:MyLanguage/OAuth/Owner-only consumers|owner-only OAuth consumers]] can now be restricted to allow editing only specific pages. [https://phabricator.wikimedia.org/T349957] * You can now [[mw:Special:MyLanguage/Extension:Thanks|thank]] edits made by bots. [https://phabricator.wikimedia.org/T341388] * An update on the status of the Community Wishlist Survey for 2024 [[m:Special:MyLanguage/Community Wishlist Survey/Future Of The Wishlist/January 4, 2024 Update|has been published]]. Please read and give your feedback. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.14|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-17|en}}. It will be on all wikis from {{#time:j xg|2024-01-18|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting on January 17, it will not be possible to login to Wikimedia wikis from some specific old versions of the Chrome browser (versions 51–66, released between 2016 and 2018). Additionally, users of iOS 12, or Safari on Mac OS 10.14, may need to login to each wiki separately. [https://phabricator.wikimedia.org/T344791] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> module was deprecated and replaced with the <bdi lang="zxx" dir="ltr"><code>mediawiki.cookie</code></bdi> module last year. A script has now been run to replace any remaining uses, and this week the temporary alias will be removed. [https://phabricator.wikimedia.org/T354966] '''Future changes''' * Wikimedia Deutschland is working to [[m:WMDE Technical Wishes/Reusing references|make reusing references easier]]. They are looking for people who are interested in participating in [https://wikimedia.sslsurvey.de/User-research-into-Reusing-References-Sign-up-Form-2024/en/ individual video calls for user research in January and February]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:13, 16 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26074460 --> == Wikipedia translation of the week: 2024-04 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kinder der Landstrasse]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Kinderdlandstrasse plakat.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Kinder der Landstrasse''' (literally: Children of the Country Road) was a project implemented by the Swiss foundation Pro Juventute from 1926 to 1973. The project aimed to assimilate the itinerant Yenish people in Switzerland by forcibly removing their children from their parents and placing them in orphanages or foster homes. Approximately 590 children were affected by this program. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:02, 22 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26044632 --> == Tech News: 2024-04 == <section begin="technews-2024-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/04|Translations]] are available. '''Problems''' * A bug in UploadWizard prevented linking to the userpage of the uploader when uploading. It has now been fixed. [https://phabricator.wikimedia.org/T354529] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.15|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-24|en}}. It will be on all wikis from {{#time:j xg|2024-01-25|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:04, 23 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26096197 --> == Wikipedia translation of the week: 2024-05 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Qurm Nature Reserve]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Al-Qurm Wetlands.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Qurm Nature Reserve''' is a national nature reserve in Muscat Governorate, Oman. Located on the Gulf of Oman coast, the reserve protects a mangrove forest and the surrounding wetland in a small estuary within the urban area of Qurm. Established in 1975, the reserve has been designated as an Important Bird Area since 1994, and as a protected Ramsar site since 2013. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:03, 29 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26149847 --> == Tech News: 2024-05 == <section begin="technews-2024-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/05|Translations]] are available. '''Recent changes''' * Starting Monday January 29, all talk pages messages' timestamps will become a link. This link is a permanent link to the comment. It allows users to find the comment they are looking for, even if this comment was moved elsewhere. This will affect all wikis except for the English Wikipedia. You can read more about this change [https://diff.wikimedia.org/2024/01/29/talk-page-permalinks-dont-lose-your-threads/ on Diff] or [[mw:Special:MyLanguage/Help:DiscussionTools#Talk_pages_permalinking|on Mediawiki.org]].<!-- The Diff post will be published on Monday morning UTC--> [https://phabricator.wikimedia.org/T302011] * There are some improvements to the CAPTCHA to make it harder for spam bots and scripts to bypass it. If you have feedback on this change, please comment on [[phab:T141490|the task]]. Staff are monitoring metrics related to the CAPTCHA, as well as secondary metrics such as account creations and edit counts. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.16|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-31|en}}. It will be on all wikis from {{#time:j xg|2024-02-01|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] On February 1, a link will be added to the "Tools" menu to download a [[w:en:QR code|QR code]] that links to the page you are viewing. There will also be a new [[{{#special:QrCode}}]] page to create QR codes for any Wikimedia URL. This addresses the [[m:Community Wishlist Survey 2023/Mobile and apps/Add ability to share QR code for a page in any Wikimedia project|#19 most-voted wish]] from the [[m:Community Wishlist Survey 2023/Results|2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T329973] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] which only work in some skins have sometimes used the <bdi lang="zxx" dir="ltr"><code>targets</code></bdi> option to limit where you can use them. This will stop working this week. You should use the <bdi lang="zxx" dir="ltr"><code>skins</code></bdi> option instead. [https://phabricator.wikimedia.org/T328497] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:31, 29 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26137870 --> == Wikipedia translation of the week: 2024-06 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Timurid architecture]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Gur-e-Amir Mausolueum - Samarkand - Uzbekistan (7488414078).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Timurid architecture''' was an important stage in the architectural history of Iran and Central Asia during the late 14th and 15th centuries. The Timurid Empire (1370–1507), founded by Timur (d. 1405) and conquering most of this region, oversaw a cultural renaissance. In architecture, the Timurid dynasty patronized the construction of palaces, mausoleums, and religious monuments across the region. Their architecture is distinguished by its grand scale, luxurious decoration in tilework, and sophisticated geometric vaulting. This architectural style, along with other aspects of Timurid art, spread across the empire and subsequently influenced the architecture of other empires from the Middle East to the Indian subcontinent. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:23, 5 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26169542 --> == Tech News: 2024-06 == <section begin="technews-2024-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/06|Translations]] are available. '''Recent changes''' *The mobile site history pages now use the same HTML as the desktop history pages. If you hear of any problems relating to mobile history usage please point them to [[phab:T353388|the phabricator task]]. *On most wikis, admins can now block users from making specific actions. These actions are: uploading files, creating new pages, moving (renaming) pages, and sending thanks. The goal of this feature is to allow admins to apply blocks that are adequate to the blocked users' activity. [[m:Special:MyLanguage/Community health initiative/Partial blocks#action-blocks|Learn more about "action blocks"]]. [https://phabricator.wikimedia.org/T242541][https://phabricator.wikimedia.org/T280531] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.17|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-06|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-07|en}}. It will be on all wikis from {{#time:j xg|2024-02-08|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Talk pages permalinks that included diacritics and non-Latin script were malfunctioning. This issue is fixed. [https://phabricator.wikimedia.org/T356199] '''Future changes''' * [[m:WMDE Technical Wishes/ReferencePreviews#24WPs|24 Wikipedias]] with [[mw:Special:MyLanguage/Reference_Tooltips|Reference Tooltips]] as a default gadget are encouraged to remove that default flag. This would make [[mw:Special:MyLanguage/Help:Reference_Previews|Reference Previews]] the new default for reference popups, leading to a more consistent experience across wikis. For [[m:WMDE Technical Wishes/ReferencePreviews#46WPs|46 Wikipedias]] with less than 4 interface admins, the change is already scheduled for mid-February, [[m:Talk:WMDE Technical Wishes/ReferencePreviews#Reference Previews to become the default for previewing references on more wikis.|unless there are concerns]]. The older Reference Tooltips gadget will still remain usable and will override this feature, if it is available on your wiki and you have enabled it in your settings. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/ReferencePreviews#Reference_Previews_to_become_the_default_for_previewing_references_on_more_wikis][https://phabricator.wikimedia.org/T355312] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:22, 5 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26180971 --> == Wikipedia translation of the week: 2024-07 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Adoration of the Magi (Fra Angelico and Filippo Lippi)]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Fra Angelico, Fra Filippo Lippi, The Adoration of the Magi.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''''Adoration of the Magi''''' is a tondo, or circular painting, of the Adoration of the Magi assumed to be that recorded in 1492 in the Palazzo Medici Riccardi in Florence as by Fra Angelico. It dates from the mid-15th century and is now in the National Gallery of Art in Washington D.C. Most art historians think that Filippo Lippi painted more of the original work, and that it was added to some years after by other artists, as well as including work by assistants in the workshops of both the original masters. It has been known as the Washington Tondo and Cook Tondo after Herbert Cook, and this latter name in particular continues to be used over 50 years after the painting left the Cook collection. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 07:00, 12 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26187446 --> == Tech News: 2024-07 == <section begin="technews-2024-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/07|Translations]] are available. '''Recent changes''' * The [[d:Wikidata:SPARQL query service/WDQS graph split|WDQS Graph Split experiment]] is working and loaded onto 3 test servers. The team in charge is testing the split's impact and requires feedback from WDQS users through the UI or programmatically in different channels. [https://www.wikidata.org/wiki/Wikidata_talk:SPARQL_query_service/WDQS_graph_split][https://phabricator.wikimedia.org/T356773][https://www.wikidata.org/wiki/User:Sannita_(WMF)] Users' feedback will validate the impact of various use cases and workflows around the Wikidata Query service. [https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/WDQS_backend_update/October_2023_scaling_update][https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual#Federation] '''Problems''' *There was a bug that affected the appearance of visited links when using mobile device to access wiki sites. It made the links appear black; [[phab:T356928|this issue]] is fixed. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.18|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-13|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-14|en}}. It will be on all wikis from {{#time:j xg|2024-02-15|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] As work continues on the grid engine deprecation,[https://wikitech.wikimedia.org/wiki/News/Toolforge_Grid_Engine_deprecation] tools on the grid engine will be stopped starting on February 14th, 2024. If you have tools actively migrating you can ask for an extension so they are not stopped. [https://wikitech.wikimedia.org/wiki/Portal:Toolforge/About_Toolforge#Communication_and_support] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 05:49, 13 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26223994 --> == Wikipedia translation of the week: 2024-08 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:nl:Graf met de handjes]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Weg langs het kerkhof tegenover 1, Roermond.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The monument '''Van Gorkum-Van Aefferden''', more well known as the "'''grave with the little hands'''" is a monumental Tombstone in the Dutch city of Roermond. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 13:24, 19 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26260848 --> == Tech News: 2024-08 == <section begin="technews-2024-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/08|Translations]] are available. '''Recent changes''' * If you have the "{{int:Tog-enotifwatchlistpages}}" option enabled, edits by bot accounts no longer trigger notification emails. Previously, only minor edits would not trigger the notification emails. [https://phabricator.wikimedia.org/T356984] * There are changes to how user and site scripts load for [[mw:Special:MyLanguage/Skin:Vector/2022| Vector 2022]] on specific wikis. The changes impacted the following Wikis: all projects with [[mw:Special:MyLanguage/Skin:Vector|Vector legacy]] as the default skin, Wikivoyage, and Wikibooks. Other wikis will be affected over the course of the next three months. Gadgets are not impacted. If you have been affected or want to minimize the impact on your project, see [[Phab:T357580| this ticket]]. Please coordinate and take action proactively. *Newly auto-created accounts (the accounts you get when you visit a new wiki) now have the same local notification preferences as users who freshly register on that wiki. It is effected in four notification types listed in the [[phab:T353225|task's description]]. *The maximum file size when using [[c:Special:MyLanguage/Commons:Upload_Wizard|Upload Wizard]] is now 5 GiB. [https://phabricator.wikimedia.org/T191804] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-20|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-21|en}}. It will be on all wikis from {{#time:j xg|2024-02-22|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Selected tools on the grid engine have been [[wikitech:News/Toolforge_Grid_Engine_deprecation|stopped]] as we prepare to shut down the grid on March 14th, 2024. The tool's code and data have not been deleted. If you are a maintainer and you want your tool re-enabled reach out to the [[wikitech:Portal:Toolforge/About_Toolforge#Communication_and_support|team]]. Only tools that have asked for extension are still running on the grid. * The CSS <bdi lang="zxx" dir="ltr"><code>[https://developer.mozilla.org/en-US/docs/Web/CSS/filter filter]</code></bdi> property can now be used in HTML <bdi lang="zxx" dir="ltr"><code>style</code></bdi> attributes in wikitext. [https://phabricator.wikimedia.org/T308160] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:37, 19 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26254282 --> == Wikipedia translation of the week: 2024-09 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Doorway effect]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> The '''doorway effect''' is a known psychological event where a person's short-term memory declines when passing through a doorway moving from one location to another when it would not if they had remained in the same place. People experience this effect by forgetting what they were going to do, thinking about, or planning upon entering a different room. This is thought to be due to the change in one's physical environment, which is used to distinguish boundaries between remembered events: memories of events encountered in the present environment are more accessible than those beyond it. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:30, 26 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26260848 --> == Tech News: 2024-09 == <section begin="technews-2024-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/09|Translations]] are available. '''Recent changes''' * The [[mw:Special:MyLanguage/VisualEditor_on_mobile|mobile visual editor]] is now the default editor for users who never edited before, at a small group of wikis. [[mw:Special:MyLanguage/VisualEditor_on_mobile/VE_mobile_default#A/B_test_results| Research ]] shows that users using this editor are slightly more successful publishing the edits they started, and slightly less successful publishing non-reverted edits. Users who defined the wikitext editor as their default on desktop will get the wikitext editor on mobile for their first edit on mobile as well. [https://phabricator.wikimedia.org/T352127] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Special:MyLanguage/ResourceLoader/Core modules#mw.config|mw.config]] value <code>wgGlobalGroups</code> now only contains groups that are active in the wiki. Scripts no longer have to check whether the group is active on the wiki via an API request. A code example of the above is: <bdi lang="zxx" dir="ltr"><code>if (/globalgroupname/.test(mw.config.get("wgGlobalGroups")))</code></bdi>. [https://phabricator.wikimedia.org/T356008] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-27|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-28|en}}. It will be on all wikis from {{#time:j xg|2024-02-29|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * The right to change [[mw:Special:MyLanguage/Manual:Tags|edit tags]] (<bdi lang="zxx" dir="ltr"><code>changetags</code></bdi>) will be removed from users in Wikimedia sites, keeping it by default for admins and bots only. Your community can ask to retain the old configuration on your wiki before this change happens. Please indicate in [[phab:T355639|this ticket]] to keep it for your community before the end of March 2024. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:23, 26 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26294125 --> == Wikipedia translation of the week: 2024-10 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sissieretta Jones]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:1899 poster of Mme. M. Sissieretta Jones.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Matilda Sissieretta Joyner Jones''' (January 5, 1868, or 1869 – June 24, 1933) was an American soprano. She sometimes was called "The Black Patti" in reference to Italian opera singer Adelina Patti. Jones' repertoire included grand opera, light opera, and popular music <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:33, 4 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26313143 --> == Tech News: 2024-10 == <section begin="technews-2024-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/10|Translations]] are available. '''Recent changes''' * The <bdi lang="zxx" dir="ltr"><code>Special:Book</code></bdi> page (as well as the associated "Create a book" functionality) provided by the old [[mw:Special:MyLanguage/Extension:Collection|Collection extension]] has been removed from all Wikisource wikis, as it was broken. This does not affect the ability to download normal books, which is provided by the [[mw:Special:MyLanguage/Extension:Wikisource|Wikisource extension]]. [https://phabricator.wikimedia.org/T358437] * [[m:Wikitech|Wikitech]] now uses the next-generation [[mw:Special:MyLanguage/Parsoid|Parsoid]] wikitext parser by default to generate all pages in the Talk namespace. Report any problems on the [[mw:Talk:Parsoid/Parser_Unification/Known_Issues|Known Issues discussion page]]. You can use the [[mw:Special:MyLanguage/Extension:ParserMigration|ParserMigration]] extension to control the use of Parsoid; see the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|ParserMigration help documentation]] for more details. * Maintenance on [https://etherpad.wikimedia.org etherpad] is completed. If you encounter any issues, please indicate in [[phab:T316421|this ticket]]. * [[File:Octicons-tools.svg|12px|link=|alt=| Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] allow interface admins to create custom features with CSS and JavaScript. The <bdi lang="zxx" dir="ltr"><code>Gadget</code></bdi> and <bdi lang="zxx" dir="ltr"><code>Gadget_definition</code></bdi> namespaces and <bdi lang="zxx" dir="ltr"><code>gadgets-definition-edit</code></bdi> user right were reserved for an experiment in 2015, but were never used. These were visible on Special:Search and Special:ListGroupRights. The unused namespaces and user rights are now removed. No pages are moved, and no changes need to be made. [https://phabricator.wikimedia.org/T31272] * A usability improvement to the "Add a citation" in Wikipedia workflow has been made, the insert button was moved to the popup header. [https://phabricator.wikimedia.org/T354847] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.21|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-05|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-06|en}}. It will be on all wikis from {{#time:j xg|2024-03-07|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * All wikis will be read-only for a few minutes on March 20. This is planned at 14:00 UTC. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T358233] * The HTML markup of headings and section edit links will be changed later this year to improve accessibility. See [[mw:Special:MyLanguage/Heading_HTML_changes|Heading HTML changes]] for details. The new markup will be the same as in the new Parsoid wikitext parser. You can test your gadget or stylesheet with the new markup if you add <bdi lang="zxx" dir="ltr"><code>?useparsoid=1</code></bdi> to your URL ([[mw:Special:MyLanguage/Help:Extension:ParserMigration#Selecting_a_parser_using_a_URL_query_string|more info]]) or turn on Parsoid read views in your user options ([[mw:Special:MyLanguage/Help:Extension:ParserMigration#Enabling_via_user_preference|more info]]). * '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:47, 4 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26329807 --> == Wikipedia translation of the week: 2024-11 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Preventative Coup of November 11]]'''<br /> <small>''([[:es:Golpe de Estado en Brasil de 1955]])''</small> </div> Please be bold and help translate this article! ---- [[File:Exército na casa de Café Filho.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Preventative Coup of November 11''' sometimes called the '''1955 Brazilian coup d'état''' or referred to as an "anti-coup" or a "counter-coup" (Portuguese: ''Novembrada, Movimento de 11 de Novembro, Contragolpe, Golpe Preventivo do Marechal Lott'') was a series of military and political events led by Henrique Teixeira Lott that resulted in Nereu Ramos assuming the presidency of Brazil until being peacefully succeeded by Juscelino Kubitschek a few months later. The bloodless coup removed Carlos Luz from the presidency because he was suspected of plotting to prevent Kubitschek from taking office. As a result of the tensions, Brazil had three presidents in the span of a single week. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:04, 11 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26366849 --> == Tech News: 2024-11 == <section begin="technews-2024-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/11|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-13|en}}. It will be on all wikis from {{#time:j xg|2024-03-14|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * After consulting with various communities, the line height of the text on the [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva skin]] will be increased to its previous value of 1.65. Different options for typography can also be set using the options in the menu, as needed. [https://phabricator.wikimedia.org/T358498] *The active link color in [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva]] will be changed to provide more consistency with our other platforms and best practices. [https://phabricator.wikimedia.org/T358516] * [[c:Special:MyLanguage/Commons:Structured data|Structured data on Commons]] will no longer ask whether you want to leave the page without saving. This will prevent the “information you’ve entered may not be saved” popups from appearing when no information have been entered. It will also make file pages on Commons load faster in certain cases. However, the popups will be hidden even if information has indeed been entered. If you accidentally close the page before saving the structured data you entered, that data will be lost. [https://phabricator.wikimedia.org/T312315] '''Future changes''' * All wikis will be read-only for a few minutes on March 20. This is planned at 14:00 UTC. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T358233][https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:04, 11 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26374013 --> == Wikipedia translation of the week: 2024-12 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hojang Taret]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Hojang Taret''' is a classical Meitei language play based on Euripides's ancient Greek tragedy The Phoenician Women. It is directed by Oasis Sougaijam and produced by The Umbilical Theatre in Imphal, Kangleipak. It depicts the moral ambiguities of conflict between brothers resulting to the ruination of the ancient city of Thebes. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:52, 18 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26366849 --> == Tech News: 2024-12 == <section begin="technews-2024-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/12|Translations]] are available. '''Recent changes''' * The notice "Language links are at the top of the page" that appears in the [[mw:Special:MyLanguage/Skin:Vector/2022|Vector 2022 skin]] main menu has been removed now that users have learned the new location of the Language switcher. [https://phabricator.wikimedia.org/T353619] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[m:Special:MyLanguage/IP_Editing:_Privacy_Enhancement_and_Abuse_Mitigation/IP_Info_feature|IP info feature]] displays data from Spur, an IP addresses database. Previously, the only data source for this feature was MaxMind. Now, IP info is more useful for patrollers. [https://phabricator.wikimedia.org/T341395] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Toolforge Grid Engine services have been shut down after the final migration process from Grid Engine to Kubernetes. [https://wikitech.wikimedia.org/wiki/Obsolete:Toolforge/Grid][https://wikitech.wikimedia.org/wiki/News/Toolforge_Grid_Engine_deprecation][https://techblog.wikimedia.org/2022/03/14/toolforge-and-grid-engine/] * Communities can now customize the default reasons for undeleting a page by creating [[MediaWiki:Undelete-comment-dropdown]]. [https://phabricator.wikimedia.org/T326746] '''Problems''' * [[m:Special:MyLanguage/WMDE_Technical_Wishes/RevisionSlider|RevisionSlider]] is an interface to interactively browse a page's history. Users in [[mw:Special:MyLanguage/Extension:RevisionSlider/Developing_a_RTL-accessible_feature_in_MediaWiki_-_what_we%27ve_learned_while_creating_the_RevisionSlider|right-to-left]] languages reported RevisionSlider reacting wrong to mouse clicks. This should be fixed now. [https://phabricator.wikimedia.org/T352169] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-20|en}}. It will be on all wikis from {{#time:j xg|2024-03-21|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * All wikis will be read-only for a few minutes on March 20. This is planned at [https://zonestamp.toolforge.org/1710943200 14:00 UTC]. [https://phabricator.wikimedia.org/T358233][https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:40, 18 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26410165 --> == Wikipedia translation of the week: 2024-13 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Magna Lykseth-Skogman]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Magna Lykseth in Tristan och Isolde at Kungliga Operan 1909 - SMV - GL164.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Magna Elvine Lykseth-Skogman''' (6 February 1874 – 13 November 1949), also known as Magna Lykseth-Schjerven, was a Norwegian-born Swedish operatic soprano. After making her début at the Royal Swedish Opera in 1901 as Santuzza in Cavalleria rusticana, she was engaged there until 1918 becoming the company's prima donna. She performed leading roles in a wide range of operas but is remembered in particular for her Wagnerian interpretations, creating Brünnhilde in the Swedish premières of Siegfried and Götterdämmerung, and Isolde in 1909. Considered to be one of the most outstanding Swedish opera singers of her generation, she was awarded the Litteris et Artibus medal in 1907 and became a member of the Royal Swedish Academy of Music in 1912 <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:00, 25 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26447450 --> == Tech News: 2024-13 == <section begin="technews-2024-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/13|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] An update was made on March 18th 2024 to how various projects load site, user JavaScript and CSS in [[mw:Special:MyLanguage/Skin:Vector/2022|Vector 2022 skin]]. A [[phab:T360384|checklist]] is provided for site admins to follow. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.24|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-26|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-27|en}}. It will be on all wikis from {{#time:j xg|2024-03-28|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:57, 25 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26446209 --> == Wikipedia translation of the week: 2024-14 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lidder Valley]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Pahalgam Valley.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Lidder Valley''' or Liddar Valley is a Himalayan sub-valley that forms the southeastern corner of Anantnag district in Indian-administered Kashmir. The Lidder River flows down the valley. The entrance to the valley lies 7 km northeast from Anantnag town and 62 km southeast from Srinagar, the summer capital of Jammu and Kashmir. It is a 40-km-long gorge valley with an average width of 3 km. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:15, 1 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26509189 --> == Tech News: 2024-14 == <section begin="technews-2024-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/14|Translations]] are available. '''Recent changes''' * Users of the [[mw:Special:MyLanguage/Reading/Web/Accessibility_for_reading|reading accessibility]] beta feature will notice that the default line height for the standard and large text options has changed. [https://phabricator.wikimedia.org/T359030] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-02|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-03|en}}. It will be on all wikis from {{#time:j xg|2024-04-04|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * The Wikimedia Foundation has an annual plan. The annual plan decides what the Wikimedia Foundation will work on. You can now read [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2024-2025/Product & Technology OKRs#Draft Key Results|the draft key results]] for the Product and Technology department. They are suggestions for what results the Foundation wants from big technical changes from July 2024 to June 2025. You can [[m:Talk:Wikimedia Foundation Annual Plan/2024-2025/Product & Technology OKRs|comment on the talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:36, 2 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26462933 --> == Wikipedia translation of the week: 2024-15 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Operation Kraai]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Overzicht van het vliegveld te Djokja vanuit de 'Control Tower', Bestanddeelnr 5128.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Operation Kraai''' (Operation Crow) was a Dutch military offensive against the de facto Republic of Indonesia in December 1948 after negotiations failed. With the advantage of surprise the Dutch managed to capture the Indonesian Republic's temporary capital, Yogyakarta, and seized Indonesian leaders such as de facto Republican President Sukarno. This apparent military success was however followed by guerrilla warfare, while the violation of the Renville Agreement ceasefire diplomatically isolated the Dutch, leading to the Dutch–Indonesian Round Table Conference and recognition of the United States of Indonesia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:47, 8 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26550154 --> == Tech News: 2024-15 == <section begin="technews-2024-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/15|Translations]] are available. '''Recent changes''' * Web browsers can use tools called [[:w:en:Browser extension|extensions]]. There is now a Chrome extension called [[m:Future Audiences/Experiment:Citation Needed|Citation Needed]] which you can use to see if an online statement is supported by a Wikipedia article. This is a small experiment to see if Wikipedia can be used this way. Because it is a small experiment, it can only be used in Chrome in English. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] A new [[mw:Special:MyLanguage/Help:Edit Recovery|Edit Recovery]] feature has been added to all wikis, available as a [[Special:Preferences#mw-prefsection-editing|user preference]]. Once you enable it, your in-progress edits will be stored in your web browser, and if you accidentally close an editing window or your browser or computer crashes, you will be prompted to recover the unpublished text. Please leave any feedback on the [[m:Special:MyLanguage/Talk:Community Wishlist Survey 2023/Edit-recovery feature|project talk page]]. This was the #8 wish in the 2023 Community Wishlist Survey. * Initial results of [[mw:Special:MyLanguage/Edit check|Edit check]] experiments [[mw:Special:MyLanguage/Edit_check#4_April_2024|have been published]]. Edit Check is now deployed as a default feature at [[phab:T342930#9538364|the wikis that tested it]]. [[mw:Talk:Edit check|Let us know]] if you want your wiki to be part of the next deployment of Edit check. [https://phabricator.wikimedia.org/T342930][https://phabricator.wikimedia.org/T361727] * Readers using the [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva skin]] on mobile will notice there has been an improvement in the line height across all typography settings. [https://phabricator.wikimedia.org/T359029] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-10|en}}. It will be on all wikis from {{#time:j xg|2024-04-11|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * New accounts and logged-out users will get the [[mw:Special:MyLanguage/VisualEditor|visual editor]] as their default editor on mobile. This deployment is made at all wikis except for the English Wikipedia. [https://phabricator.wikimedia.org/T361134] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:38, 8 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26564838 --> == Wikipedia translation of the week: 2024-16 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ru:Павильон Росси]]'''<br /> <small>''([[:en:Rossi Pavilion]])&#32;([[:fr:Pavillon Rossi]])''</small> </div> Please be bold and help translate this article! ---- [[File:Rossi's Pavilion in Mikhailovsky Garden. Saint-Petersburg. 1825..jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Rossi Pavilion''' (Russian: Павильон Росси) is a pavilion on the bank of the Moyka River in the Mikhailovsky Garden in Saint Petersburg. It was designed by architect Carlo Rossi in the early 1820s and built in 1825 during his redevelopment of the garden. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:53, 15 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26565118 --> == Tech News: 2024-16 == <section begin="technews-2024-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/16|Translations]] are available. '''Problems''' * Between 2 April and 8 April, on wikis using [[mw:Special:MyLanguage/Extension:FlaggedRevs|Flagged Revisions]], the "{{Int:tag-mw-reverted}}" tag was not applied to undone edits. In addition, page moves, protections and imports were not autoreviewed. This problem is now fixed. [https://phabricator.wikimedia.org/T361918][https://phabricator.wikimedia.org/T361940] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-17|en}}. It will be on all wikis from {{#time:j xg|2024-04-18|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[mw:Special:MyLanguage/Help:Magic words#DEFAULTSORT|Default category sort keys]] will now affect categories added by templates placed in [[mw:Special:MyLanguage/Help:Cite|footnotes]]. Previously footnotes used the page title as the default sort key even if a different default sort key was specified (category-specific sort keys already worked). [https://phabricator.wikimedia.org/T40435] * A new variable <bdi lang="zxx" dir="ltr"><code>page_last_edit_age</code></bdi> will be added to [[Special:AbuseFilter|abuse filters]]. It tells how many seconds ago the last edit to a page was made. [https://phabricator.wikimedia.org/T269769] '''Future changes''' * Volunteer developers are kindly asked to update the code of their tools and features to handle [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]]. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers/2024-04 CTA|Learn more]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Four database fields will be removed from database replicas (including [[quarry:|Quarry]]). This affects only the <bdi lang="zxx" dir="ltr"><code>abuse_filter</code></bdi> and <bdi lang="zxx" dir="ltr"><code>abuse_filter_history</code></bdi> tables. Some queries might need to be updated. [https://phabricator.wikimedia.org/T361996] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:29, 15 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26564838 --> == Wikipedia translation of the week: 2024-17 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Devorà Ascarelli]]'''<br /> <small>''([[:it:Debora Ascarelli]])&#32;([[:es:Devorà Ascarelli]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Devorà Ascarelli''' was a 16th-century Italian poet living in Rome, Italy. Ascarelli may have been the first Jewish woman to have a book of her own work published. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:35, 22 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-17 == <section begin="technews-2024-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/17|Translations]] are available. '''Recent changes''' * Starting this week, newcomers editing Wikipedia [[mw:Special:MyLanguage/Growth/Positive reinforcement#Leveling up 3|will be encouraged]] to try structured tasks. [[mw:Special:MyLanguage/Growth/Feature summary#Newcomer tasks|Structured tasks]] have been shown to [[mw:Special:MyLanguage/Growth/Personalized first day/Structured tasks/Add a link/Experiment analysis, December 2021|improve newcomer activation and retention]]. [https://phabricator.wikimedia.org/T348086] * You can [[m:Special:MyLanguage/Coolest Tool Award|nominate your favorite tools]] for the fifth edition of the Coolest Tool Award. Nominations will be open until May 10. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-24|en}}. It will be on all wikis from {{#time:j xg|2024-04-25|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * This is the last warning that by the end of May 2024 the Vector 2022 skin will no longer share site and user scripts/styles with old Vector. For user-scripts that you want to keep using on Vector 2022, copy the contents of [[{{#special:MyPage}}/vector.js]] to [[{{#special:MyPage}}/vector-2022.js]]. There are [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Loading Vector 2010 scripts|more technical details]] available. Interface administrators who foresee this leading to lots of technical support questions may wish to send a mass message to your community, as was done on French Wikipedia. [https://phabricator.wikimedia.org/T362701] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:28, 22 April 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26647188 --> == Wikipedia translation of the week: 2024-18 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:1989 Serbian general election]]'''<br /> <small>''([[:sr:Председнички избори у Србији 1989.]])&#32;([[:vi:Tổng tuyển cử Serbia 1989]])''</small></div> Please be bold and help translate this article! ---- [[File:Parliament of SR Serbia (1989–1991).svg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''General elections were held in Serbia''', a constituent federal unit of SFR Yugoslavia, on 12 November 1989 to elect the president of the presidency of the Socialist Republic of Serbia and delegates of the Assembly of SR Serbia. Voting for delegates also took place on 10 and 30 November 1989. In addition to the general elections, local elections were held simultaneously. These were the first direct elections conducted after the adoption of the 1974 Yugoslav Constitution and the delegate electoral system, and the last elections conducted under a one-party system. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:32, 29 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-18 == <section begin="technews-2024-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/18|Translations]] are available. '''Recent changes''' [[File:Talk_pages_default_look_(April_2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages changed for the following wikis: {{int:project-localized-name-azwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-idwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-thwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ukwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-viwiki/en}}. These wikis participated to a test, where 50% of users got the new design, for one year. As this test [[Mw:Special:MyLanguage/Talk pages project/Usability/Analysis|gave positive results]], the new design is deployed on these wikis as the default design. It is possible to opt-out these changes [[Special:Preferences#mw-prefsection-editing|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). The deployment will happen at all wikis in the coming weeks. [https://phabricator.wikimedia.org/T341491] * Seven new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q33014|Betawi]] ([[w:bew:|<code>w:bew:</code>]]) [https://phabricator.wikimedia.org/T357866] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35708|Kusaal]] ([[w:kus:|<code>w:kus:</code>]]) [https://phabricator.wikimedia.org/T359757] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35513|Igala]] ([[w:igl:|<code>w:igl:</code>]]) [https://phabricator.wikimedia.org/T361644] ** a {{int:project-localized-name-group-wiktionary}} in [[d:Q33541|Karakalpak]] ([[wikt:kaa:|<code>wikt:kaa:</code>]]) [https://phabricator.wikimedia.org/T362135] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q9228|Burmese]] ([[s:my:|<code>s:my:</code>]]) [https://phabricator.wikimedia.org/T361085] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q9237|Malay]] ([[s:ms:|<code>s:ms:</code>]]) [https://phabricator.wikimedia.org/T363039] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q8108|Georgian]] ([[s:ka:|<code>s:ka:</code>]]) [https://phabricator.wikimedia.org/T363085] * You can now [https://translatewiki.net/wiki/Support#Early_access:_Watch_Message_Groups_on_Translatewiki.net watch message groups/projects] on [[m:Special:MyLanguage/translatewiki.net|Translatewiki.net]]. Initially, this feature will notify you of added or deleted messages in these groups. [https://phabricator.wikimedia.org/T348501] * Dark mode is now available on all wikis, on mobile web for logged-in users who opt into the [[Special:MobileOptions|advanced mode]]. This is the early release of the feature. Technical editors are invited to [https://night-mode-checker.wmcloud.org/ check for accessibility issues on wikis]. See [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|more detailed guidelines]]. '''Problems''' * [[mw:Special:MyLanguage/Help:Extension:Kartographer|Kartographer]] maps can use an alternative visual style without labels, by using <bdi lang="zxx" dir="ltr"><code><nowiki>mapstyle="osm"</nowiki></code></bdi>. This wasn't working in previews, creating the wrong impression that it wasn't supported. This has now been fixed. [https://phabricator.wikimedia.org/T362531] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-01|en}}. It will be on all wikis from {{#time:j xg|2024-05-02|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:34, 30 April 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26689057 --> == Wikipedia translation of the week: 2024-19 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Heinrich Bünting]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Heinrich Bünting''' (1545 – 1606) was a Protestant pastor and theologian. He is best known for his book of woodcut maps titled Itinerarium Sacrae Scripturae (Travel book through Holy Scripture) first published in 1581. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:27, 6 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-19 == <section begin="technews-2024-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/19|Translations]] are available. '''Recent changes''' [[File:Talk_pages_default_look_(April_2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages changed for all wikis, except for Commons, Wikidata and most Wikipedias ([[m:Special:MyLanguage/Tech/News/2024/18|a few]] have already received this design change). You can read the detail of the changes [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. It is possible to opt-out these changes [[Special:Preferences#mw-prefsection-editing|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). The deployment will happen at remaining wikis in the coming weeks. [https://phabricator.wikimedia.org/T352087][https://phabricator.wikimedia.org/T319146] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Interface admins now have greater control over the styling of article components on mobile with the introduction of the <code>SiteAdminHelper</code>. More information on how styles can be disabled can be found [[mw:Special:MyLanguage/Extension:WikimediaMessages#Site_admin_helper|at the extension's page]]. [https://phabricator.wikimedia.org/T363932] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] has added article body sections in JSON format and a curated short description field to the existing parsed Infobox. This expansion to the API is also available via Wikimedia Cloud Services. [https://enterprise.wikimedia.com/blog/article-sections-and-description/] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-08|en}}. It will be on all wikis from {{#time:j xg|2024-05-09|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * When you look at the Special:Log page, the first view is labelled "All public logs", but it only shows some logs. This label will now say "Main public logs". [https://phabricator.wikimedia.org/T237729] '''Future changes''' * A new service will be built to replace [[mw:Special:MyLanguage/Extension:Graph|Extension:Graph]]. Details can be found in [[mw:Special:MyLanguage/Extension:Graph/Plans|the latest update]] regarding this extension. * Starting May 21, English Wikipedia and German Wikipedia will get the possibility to activate "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]". This is part of the [[phab:T304110|progressive deployment of this tool to all Wikipedias]]. These communities can [[mw:Special:MyLanguage/Growth/Community configuration|activate and configure the feature locally]]. [https://phabricator.wikimedia.org/T308144] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:45, 6 May 2024 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26729363 --> == Wikipedia translation of the week: 2024-20 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:var(--background-color-backdrop-dark, #DDDDDD); border:1px solid #BBBBBB; color:var(--color-inverted, #000000); padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ruyan (district)]]'''<br /> <small>''([[:fa:رویان (طبرستان)]])''</small> </div> Please be bold and help translate this article! ---- [[File:Northern Iran and its surroundings during the Iranian intermezzo.svg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Ruyan''' (Persian: رویان), later known as Rustamdar (رستمدار), was the name of a mountainous district that encompassed the western part of Tabaristan/Mazandaran, a region on the Caspian coast of northern Iran. In Iranian mythology, Ruyan appears as one of the places that the legendary archer Arash shot his arrow from, reaching the edge of Khorasan to mark the border between Iran and Turan. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:39, 13 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26755244 --> == Tech News: 2024-20 == <section begin="technews-2024-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/20|Translations]] are available. '''Recent changes''' * On Wikisource there is a special page listing pages of works without corresponding scan images. Now you can use the new magic word <bdi lang="zxx" dir="ltr"><code>__EXPECTWITHOUTSCANS__</code></bdi> to exclude certain pages (list of editions or translations of works) from that list. [https://phabricator.wikimedia.org/T344214] * If you use the [[Special:Preferences#mw-prefsection-editing|user-preference]] "{{int:tog-uselivepreview}}", then the template-page feature "{{int:Templatesandbox-editform-legend}}" will now also work without reloading the page. [https://phabricator.wikimedia.org/T136907] * [[mw:Special:Mylanguage/Extension:Kartographer|Kartographer]] maps can now specify an alternative text via the <bdi lang="zxx" dir="ltr"><code><nowiki>alt=</nowiki></code></bdi> attribute. This is identical in usage to the <bdi lang="zxx" dir="ltr"><code><nowiki>alt=</nowiki></code></bdi> attribute in the [[mw:Special:MyLanguage/Help:Images#Syntax|image and gallery syntax]]. An exception for this feature is wikis like Wikivoyage where the miniature maps are interactive. [https://phabricator.wikimedia.org/T328137] * The old [[mw:Special:MyLanguage/Extension:GuidedTour|Guided Tour]] for the "[[mw:Special:MyLanguage/Edit Review Improvements/New filters for edit review|New Filters for Edit Review]]" feature has been removed. It was created in 2017 to show people with older accounts how the interface had changed, and has now been seen by most of the intended people. [https://phabricator.wikimedia.org/T217451] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-15|en}}. It will be on all wikis from {{#time:j xg|2024-05-16|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[{{#special:search}}]] results page will now use CSS flex attributes, for better accessibility, instead of a table. If you have a gadget or script that adjusts search results, you should update your script to the new HTML structure. [https://phabricator.wikimedia.org/T320295] '''Future changes''' * In the Vector 2022 skin, main pages will be displayed at full width (like special pages). The goal is to keep the number of characters per line large enough. This is related to the coming changes to typography in Vector 2022. [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates|Learn more]]. [https://phabricator.wikimedia.org/T357706] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Two columns of the <bdi lang="zxx" dir="ltr"><code>[[mw:Special:MyLanguage/Manual:pagelinks table|pagelinks]]</code></bdi> database table (<bdi lang="zxx" dir="ltr"><code>pl_namespace</code></bdi> and <bdi lang="zxx" dir="ltr"><code>pl_title</code></bdi>) are being dropped soon. Users must use two columns of the new <bdi lang="zxx" dir="ltr"><code>[[mw:special:MyLanguage/Manual:linktarget table|linktarget]]</code></bdi> table instead (<bdi lang="zxx" dir="ltr"><code>lt_namespace</code></bdi> and <bdi lang="zxx" dir="ltr"><code>lt_title</code></bdi>). In your existing SQL queries: *# Replace <bdi lang="zxx" dir="ltr"><code>JOIN pagelinks</code></bdi> with <bdi lang="zxx" dir="ltr"><code>JOIN linktarget</code></bdi> and <bdi lang="zxx" dir="ltr"><code>pl_</code></bdi> with <bdi lang="zxx" dir="ltr"><code>lt_</code></bdi> in the <bdi lang="zxx" dir="ltr"><code>ON</code></bdi> statement *# Below that add <bdi lang="zxx" dir="ltr"><code>JOIN pagelinks ON lt_id = pl_target_id</code></bdi> ** See <bdi lang="en" dir="ltr">[[phab:T222224]]</bdi> for technical reasoning. [https://phabricator.wikimedia.org/T222224][https://phabricator.wikimedia.org/T299947] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:59, 13 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26762074 --> == Wikipedia translation of the week: 2024-21 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Turlough (lake)]]'''<br /> <small>''([[:de:Turlough]])&#32;([[:no:Turlough]])''</small> </div> Please be bold and help translate this article! ---- [[File:Carran Turlough.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''turlough''' is a seasonal or periodic water body found mostly in limestone karst areas of Ireland, west of the River Shannon. [...] The water bodies fill and empty with the changes in the level of the water table, usually being very low or empty during summer and autumn and full in the winter. As groundwater levels drop the water drains away underground through cracks in the karstic limestone. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:31, 20 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26789673 --> == Tech News: 2024-21 == <section begin="technews-2024-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/21|Translations]] are available. '''Recent changes''' * The [[mw:Special:MyLanguage/Extension:Nuke|Nuke]] feature, which enables administrators to mass delete pages, will now correctly delete pages which were moved to another title. [https://phabricator.wikimedia.org/T43351] * New changes have been made to the UploadWizard in Wikimedia Commons: the overall layout has been improved, by following new styling and spacing for the form and its fields; the headers and helper text for each of the fields was changed; the Caption field is now a required field, and there is an option for users to copy their caption into the media description. [https://commons.wikimedia.org/wiki/Commons:WMF_support_for_Commons/Upload_Wizard_Improvements#Changes_to_%22Describe%22_workflow][https://phabricator.wikimedia.org/T361049] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.6|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-22|en}}. It will be on all wikis from {{#time:j xg|2024-05-23|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML used to render all headings [[mw:Heading_HTML_changes|is being changed to improve accessibility]]. It will change on 22 May in some skins (Timeless, Modern, CologneBlue, Nostalgia, and Monobook). Please test gadgets on your wiki on these skins and [[phab:T13555|report any related problems]] so that they can be resolved before this change is made in all other skins. The developers are also considering the introduction of a [[phab:T337286|Gadget API for adding buttons to section titles]] if that would be helpful to tool creators, and would appreciate any input you have on that. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:04, 20 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26786311 --> == Wikipedia translation of the week: 2024-22 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Geiranger Church]]'''<br /> <small>''([[:no:Geiranger kirke]])''</small> </div> Please be bold and help translate this article! ---- [[File:Iglesia parroquial, Geiranger, Noruega, 2019-09-07, DD 84-97 PAN.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Geiranger Church''' (Norwegian: Geiranger kyrkje) is a parish church of the Church of Norway in Stranda Municipality in Møre og Romsdal county, Norway. It is located in the village of Geiranger, and the end of the famous Geirangerfjorden. It is the church for the Geiranger parish which is part of the Nordre Sunnmøre prosti (deanery) in the Diocese of Møre. The white, wooden church was built in an octagonal design in 1842 using plans drawn up by the architect Hans Klipe. The church seats about 165 people. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:48, 27 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26828106 --> == Tech News: 2024-22 == <section begin="technews-2024-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/22|Translations]] are available. '''Recent changes''' * Several bugs related to the latest updates to the UploadWizard on Wikimedia Commons have been fixed. For more information, see [[:phab:T365107|T365107]] and [[:phab:T365119|T365119]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] In March 2024 a new [[mw:ResourceLoader/Core_modules#addPortlet|addPortlet]] API was added to allow gadgets to create new portlets (menus) in the skin. In certain skins this can be used to create dropdowns. Gadget developers are invited to try it and [[phab:T361661|give feedback]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Some CSS in the Minerva skin has been removed to enable easier community configuration. Interface editors should check the rendering on mobile devices for aspects related to the classes: <bdi lang="zxx" dir="ltr"><code>.collapsible</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.multicol</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.reflist</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.coordinates</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.topicon</code></bdi>. [[phab:T361659|Further details are available on replacement CSS]] if it is needed. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-29|en}}. It will be on all wikis from {{#time:j xg|2024-05-30|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * When you visit a wiki where you don't yet have a local account, local rules such as edit filters can sometimes prevent your account from being created. Starting this week, MediaWiki takes your global rights into account when evaluating whether you can override such local rules. [https://phabricator.wikimedia.org/T316303] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:15, 28 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26832205 --> == Wikipedia translation of the week: 2024-23 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Guillermo Larrazábal]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Guillermo Larrazábal Arzubide''' (10 February 1907 – 1983) was a Spanish stained glass artist who was active in Ecuador. He is considered Ecuador's most important stained glass artist. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:14, 3 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26828106 --> == Tech News: 2024-23 == <section begin="technews-2024-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/23|Translations]] are available. '''Recent changes''' * It is now possible for local administrators to add new links to the bottom of the site Tools menu without JavaScript. [[mw:Manual:Interface/Sidebar#Add or remove toolbox sections|Documentation is available]]. [https://phabricator.wikimedia.org/T6086] * The message name for the definition of the tracking category of WikiHiero has changed from "<bdi lang="zxx" dir="ltr"><code>MediaWiki:Wikhiero-usage-tracking-category</code></bdi>" to "<bdi lang="zxx" dir="ltr"><code>MediaWiki:Wikihiero-usage-tracking-category</code></bdi>". [https://gerrit.wikimedia.org/r/c/mediawiki/extensions/wikihiero/+/1035855] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q5317225|Kadazandusun]] ([[w:dtp:|<code>w:dtp:</code>]]) [https://phabricator.wikimedia.org/T365220] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.8|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-05|en}}. It will be on all wikis from {{#time:j xg|2024-06-06|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * Next week, on wikis with the Vector 2022 skin as the default, logged-out desktop users will be able to choose between different font sizes. The default font size will also be increased for them. This is to make Wikimedia projects easier to read. [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-06 deployments|Learn more]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:35, 3 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26844397 --> == Tech News: 2024-24 == <section begin="technews-2024-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/24|Translations]] are available. '''Recent changes''' * The software used to render SVG files has been updated to a new version, fixing many longstanding bugs in SVG rendering. [https://phabricator.wikimedia.org/T265549] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML used to render all headings [[mw:Heading HTML changes|is being changed to improve accessibility]]. It was changed last week in some skins (Vector legacy and Minerva). Please test gadgets on your wiki on these skins and [[phab:T13555|report any related problems]] so that they can be resolved before this change is made in Vector-2022. The developers are still considering the introduction of a [[phab:T337286|Gadget API for adding buttons to section titles]] if that would be helpful to tool creators, and would appreciate any input you have on that. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML markup used for citations by [[mw:Special:MyLanguage/Parsoid|Parsoid]] changed last week. In places where Parsoid previously added the <bdi lang="zxx" dir="ltr"><code>mw-reference-text</code></bdi> class, Parsoid now also adds the <bdi lang="zxx" dir="ltr"><code>reference-text</code></bdi> class for better compatibility with the legacy parser. [[mw:Specs/HTML/2.8.0/Extensions/Cite/Announcement|More details are available]]. [https://gerrit.wikimedia.org/r/1036705] '''Problems''' * There was a bug with the Content Translation interface that caused the tools menus to appear in the wrong location. This has now been fixed. [https://phabricator.wikimedia.org/T366374] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-12|en}}. It will be on all wikis from {{#time:j xg|2024-06-13|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The new version of MediaWiki includes another change to the HTML markup used for citations: [[mw:Special:MyLanguage/Parsoid|Parsoid]] will now generate a <bdi lang="zxx" dir="ltr"><code><nowiki><span class="mw-cite-backlink"></nowiki></code></bdi> wrapper for both named and unnamed references for better compatibility with the legacy parser. Interface administrators should verify that gadgets that interact with citations are compatible with the new markup. [[mw:Specs/HTML/2.8.0/Extensions/Cite/Announcement|More details are available]]. [https://gerrit.wikimedia.org/r/1035809] * On multilingual wikis that use the <bdi lang="zxx" dir="ltr"><code><nowiki><translate></nowiki></code></bdi> system, there is a feature that shows potentially-outdated translations with a pink background until they are updated or confirmed. From this week, confirming translations will be logged, and there is a new user-right that can be required for confirming translations if the community [[m:Special:MyLanguage/Requesting wiki configuration changes|requests it]]. [https://phabricator.wikimedia.org/T49177] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:20, 10 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26893898 --> == Wikipedia translation of the week: 2024-25 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:de:Magdalena Zeger]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Magdalena Zeger''' ([mak.da.ˈleː.na ˈt͡seː.gɐ], * 1491; † 16. January 1568 in Kolding) was a calendar maker, astronomer and astrologist. Her Hamburg almanacs and forecasts from 1561 and 1563 have been preserved. Zeger's calendars are the first independent publications by a woman in the field of astronomy. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:29, 17 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26940351 --> == Tech News: 2024-25 == <section begin="technews-2024-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/25|Translations]] are available. '''Recent changes''' * People who attempt to add an external link in the visual editor will now receive immediate feedback if they attempt to link to a domain that a project has decided to block. Please see [[mw:Special:MyLanguage/Edit_check#11_June_2024|Edit check]] for more details. [https://phabricator.wikimedia.org/T366751] * The new [[mw:Special:MyLanguage/Extension:CommunityConfiguration|Community Configuration extension]] is available [[testwiki:Special:CommunityConfiguration|on Test Wikipedia]]. This extension allows communities to customize specific features to meet their local needs. Currently only Growth features are configurable, but the extension will support other [[mw:Special:MyLanguage/Community_configuration#Use_cases|Community Configuration use cases]] in the future. [https://phabricator.wikimedia.org/T323811][https://phabricator.wikimedia.org/T360954] * The dark mode [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] is now available on category and help pages, as well as more special pages. There may be contrast issues. Please report bugs on the [[mw:Talk:Reading/Web/Accessibility_for_reading|project talk page]]. [https://phabricator.wikimedia.org/T366370] '''Problems''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Cloud Services tools were not available for 25 minutes last week. This was caused by a faulty hardware cable in the data center. [https://wikitech.wikimedia.org/wiki/Incidents/2024-06-11_WMCS_Ceph] * Last week, styling updates were made to the Vector 2022 skin. This caused unforeseen issues with templates, hatnotes, and images. Changes to templates and hatnotes were reverted. Most issues with images were fixed. If you still see any, [[phab:T367463|report them here]]. [https://phabricator.wikimedia.org/T367480] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-19|en}}. It will be on all wikis from {{#time:j xg|2024-06-20|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting June 18, the [[mw:Special:MyLanguage/Help:Edit check#ref|Reference Edit Check]] will be deployed to [[phab:T361843|a new set of Wikipedias]]. This feature is intended to help newcomers and to assist edit-patrollers by inviting people who are adding new content to a Wikipedia article to add a citation when they do not do so themselves. During [[mw:Special:MyLanguage/Edit_check#Reference_Check_A/B_Test|a test at 11 wikis]], the number of citations added [https://diff.wikimedia.org/?p=127553 more than doubled] when Reference Check was shown to people. Reference Check is [[mw:Special:MyLanguage/Edit check/Configuration|community configurable]]. [https://phabricator.wikimedia.org/T361843]<!-- NOTE: THE DIFF BLOG WILL BE PUBLISHED ON MONDAY --> * [[m:Special:MyLanguage/Mailing_lists|Mailing lists]] will be unavailable for roughly two hours on Tuesday 10:00–12:00 UTC. This is to enable migration to a new server and upgrade its software. [https://phabricator.wikimedia.org/T367521] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:49, 17 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26911987 --> == Wikipedia translation of the week: 2024-26 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Koreans in Micronesia]]'''<br /> <small>''([[:zh:朝鮮裔密克羅尼西亞人]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Koreans in Micronesia''' used to form a significant population before World War II, when most of the region was ruled as the South Seas Mandate of the Empire of Japan; for example, they formed 7.3% of the population of Palau in 1943. However, after the area came under the control of the United States as the Trust Territory of the Pacific Islands, most Koreans returned to their homeland. As of 2013, about seven thousand South Korean expatriates & immigrants and Korean Americans reside in the Marianas (Guam and the Commonwealth of the Northern Mariana Islands), which have remained under U.S. control, while only around two hundred South Korean expatriates reside in the independent countries of Micronesia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 04:03, 24 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26940351 --> == Tech News: 2024-26 == <section begin="technews-2024-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/26|Translations]] are available. '''Recent changes''' * Editors will notice that there have been some changes to the background color of text in the diff view, and the color of the byte-change numbers, last week. These changes are intended to make text more readable in both light mode and dark mode, and are part of a larger effort to increase accessibility. You can share your comments or questions [[mw:Talk:Reading/Web/Accessibility for reading|on the project talkpage]]. [https://phabricator.wikimedia.org/T361717] * The text colors that are used for visited-links, hovered-links, and active-links, were also slightly changed last week to improve their accessibility in both light mode and dark mode. [https://phabricator.wikimedia.org/T366515] '''Problems''' * You can [[mw:Special:MyLanguage/Help:DiscussionTools#Talk pages permalinking|copy permanent links to talk page comments]] by clicking on a comment's timestamp. [[mw:Talk pages project/Permalinks|This feature]] did not always work when the topic title was very long and the link was used as a wikitext link. This has been fixed. Thanks to Lofhi for submitting the bug. [https://phabricator.wikimedia.org/T356196] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.11|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-26|en}}. It will be on all wikis from {{#time:j xg|2024-06-27|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting 26 June, all talk pages messages' timestamps will become a link at English Wikipedia, making this feature available for you to use at all wikis. This link is a permanent link to the comment. It allows users to find the comment they were linked to, even if this comment has since been moved elsewhere. You can read more about this feature [[DiffBlog:/2024/01/29/talk-page-permalinks-dont-lose-your-threads/|on Diff]] or [[mw:Special:MyLanguage/Help:DiscussionTools#Talk pages permalinking|on Mediawiki.org]]. [https://phabricator.wikimedia.org/T365974] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:33, 24 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26989424 --> == Wikipedia translation of the week: 2024-27 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Roller printing on textiles]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Silverstudio.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Roller printing''' on fabrics is a textile printing process patented by Thomas Bell of Scotland in 1783 in an attempt to reduce the cost of the earlier copperplate printing. This method was used in Lancashire fabric mills to produce cotton dress fabrics from the 1790s, most often reproducing small monochrome patterns characterized by striped motifs and tiny dotted patterns called "machine grounds". Improvements in the technology resulted in more elaborate roller prints in bright, rich colours from the 1820s; Turkey red and chrome yellow were particularly popular. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:44, 1 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-27 == <section begin="technews-2024-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/27|Translations]] are available. '''Recent changes''' * Over the next three weeks, dark mode will become available for all users, both logged-in and logged-out, starting with the mobile web version. This fulfils one of the [[m:Special:MyLanguage/Community_Wishlist_Survey_2023/Reading/Dark_mode|top-requested community wishes]], and improves low-contrast reading and usage in low-light settings. As part of these changes, dark mode will also work on User-pages and Portals. There is more information in [[mw:Special:MyLanguage/Reading/Web/Accessibility_for_reading/Updates#June_2024:_Typography_and_dark_mode_deployments,_new_global_preferences|the latest Web team update]]. [https://phabricator.wikimedia.org/T366364] * Logged-in users can now set [[m:Special:GlobalPreferences#mw-prefsection-rendering-skin-skin-prefs|global preferences for the text-size and dark-mode]], thanks to a combined effort across Foundation teams. This allows Wikimedians using multiple wikis to set up a consistent reading experience easily, for example by switching between light and dark mode only once for all wikis. [https://phabricator.wikimedia.org/T341278] * If you use a very old web browser some features might not work on the Wikimedia wikis. This affects Internet Explorer 11 and versions of Chrome, Firefox and Safari older than 2016. This change makes it possible to use new [[d:Q46441|CSS]] features and to send less code to all readers. [https://phabricator.wikimedia.org/T288287][https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:How_to_make_a_MediaWiki_skin#Using_CSS_variables_for_supporting_different_themes_e.g._dark_mode] * Wikipedia Admins can customize local wiki configuration options easily using [[mw:Special:MyLanguage/Community Configuration|Community Configuration]]. Community Configuration was created to allow communities to customize how some features work, because each language wiki has unique needs. At the moment, admins can configure [[mw:Special:MyLanguage/Growth/Feature_summary|Growth features]] on their home wikis, in order to better recruit and retain new editors. More options will be provided in the coming months. [https://phabricator.wikimedia.org/T366458] * Editors interested in language issues that are related to [[w:en:Unicode|Unicode standards]], can now discuss those topics at [[mw:Talk:WMF membership with Unicode Consortium|a new conversation space in MediaWiki.org]]. The Wikimedia Foundation is now a [[mw:Special:MyLanguage/WMF membership with Unicode Consortium|member of the Unicode Consortium]], and the coordination group can collaboratively review the issues discussed and, where appropriate, bring them to the attention of the Unicode Consortium. * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q2891049|Mandailing]] ([[w:btm:|<code>w:btm:</code>]]) [https://phabricator.wikimedia.org/T368038] '''Problems''' * Editors can once again click on links within the visual editor's citation-preview, thanks to a bug fix by the Editing Team. [https://phabricator.wikimedia.org/T368119] '''Future changes''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 2 weeks. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:59, 1 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27038456 --> == Wikipedia translation of the week: 2024-28 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:simple:India naming dispute]]'''<br /> <small>''([[:ur:انڈیا نام کا تنازعہ]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''India naming dispute''' in 1947 refers to the argument over the use of the name India during and after the partition of British Raj, between the countries of Pakistan and the Republic of India. This dispute involved key figures such as Lord Mountbatten, the last Viceroy of British Raj, and Muhammad Ali Jinnah, the leader of the Muslim League and a founder of Pakistan. By 1947, the British Raj was going to be divided into two new nation states – Hindustan and Pakistan. Jinnah was initially convinced that Hindustan would not use the term India, since it lacked indigenous pedigree, etymologically and historically India meant the Indus Valley (modern-Pakistan). He also opposed the use of the name India as it would cause confusion regarding history. The disagreement had significant implications for national identity and international recognition. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 8 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-28 == <section begin="technews-2024-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/28|Translations]] are available. '''Recent changes''' * At the Wikimedia Foundation a new task force was formed to replace the disabled Graph with [[mw:Special:MyLanguage/Extension:Chart/Project|more secure, easy to use, and extensible Chart]]. You can [[mw:Special:MyLanguage/Newsletter:Chart Project|subscribe to the newsletter]] to get notified about new project updates and other news about Chart. * The [[m:Special:MyLanguage/CampaignEvents|CampaignEvents]] extension is now available on Meta-wiki, Igbo Wikipedia, and Swahili Wikipedia, and can be requested on your wiki. This extension helps in managing and making events more visible, giving Event organizers the ability to use tools like the Event registration tool. To learn more about the deployment status and how to request this extension for your wiki, visit the [[m:Special:MyLanguage/CampaignEvents/Deployment_status|CampaignEvents page on Meta-wiki]]. * Editors using the iOS Wikipedia app who have more than 50 edits can now use the [[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits#Add an image|Add an Image]] feature. This feature presents opportunities for small but useful contributions to Wikipedia. * Thank you to [[mw:MediaWiki Product Insights/Contributor retention and growth/Celebration|all of the authors]] who have contributed to MediaWiki Core. As a result of these contributions, the [[mw:MediaWiki Product Insights/Contributor retention and growth|percentage of authors contributing more than 5 patches has increased by 25% since last year]], which helps ensure the sustainability of the platform for the Wikimedia projects. '''Problems''' * A problem with the color of the talkpage tabs always showing as blue, even for non-existent pages which should have been red, affecting the Vector 2022 skin, [[phab:T367982|has been fixed]]. '''Future changes''' * The Trust and Safety Product team wants to introduce [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] with as little disruption to tools and workflows as possible. Volunteer developers, including gadget and user-script maintainers, are kindly asked to update the code of their tools and features to handle temporary accounts. The team has [[mw:Trust and Safety Product/Temporary Accounts/For developers|created documentation]] explaining how to do the update. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers/2024-04 CTA|Learn more]]. '''Tech News survey''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 1 more week. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:32, 8 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27080357 --> == Wikipedia translation of the week: 2024-29 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Adumu]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Maasai 2012 05 31 2782 (7522645058).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Adumu''', is a type of dance that the Maasai people of Kenya and Tanzania practice. Young Maasai warriors generally perform the energetic and acrobatic dance at ceremonial occasions including weddings, religious rites, and other significant cultural events. The Adumu dance is characterized by a sequence of jumps performed by the dancers, who stand in a circle and alternately jump while keeping their bodies as straight and upright as possible. In addition to wearing vividly colored shúkàs (clothes) and beaded jewelry, the dancers are typically clad in traditional Maasai costume. Traditional Maasai songs and chants are also performed during the dance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:15, 15 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-29 == <section begin="technews-2024-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/29|Translations]] are available. '''Tech News survey''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 3 more days. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia developers can now officially continue to use both [[mw:Special:MyLanguage/Gerrit|Gerrit]] and [[mw:Special:MyLanguage/GitLab|GitLab]], due to a June 24 decision by the Wikimedia Foundation to support software development on both platforms. Gerrit and GitLab are both code repositories used by developers to write, review, and deploy the software code that supports the MediaWiki software that the wiki projects are built on, as well as the tools used by editors to create and improve content. This decision will safeguard the productivity of our developers and prevent problems in code review from affecting our users. More details are available in the [[mw:GitLab/Migration status|Migration status]] page. * The Wikimedia Foundation seeks applicants for the [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal|Product and Technology Advisory Council]] (PTAC). This group will bring technical contributors and Wikimedia Foundation together to co-define a more resilient, future-proof technological platform. Council members will evaluate and consult on the movement's product and technical activities, so that we develop multi-generational projects. We are looking for a range of technical contributors across the globe, from a variety of Wikimedia projects. [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal#Joining the PTAC as a technical volunteer|Please apply here by August 10]]. * Editors with rollback user-rights who use the Wikipedia App for Android can use the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Anti Vandalism|Edit Patrol]] features. These features include a new feed of Recent Changes, related links such as Undo and Rollback, and the ability to create and save a personal library of user talk messages to use while patrolling. If your wiki wants to make these features available to users who do not have rollback rights but have reached a certain edit threshold, [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android#Contact us|you can contact the team]]. You can [[diffblog:2024/07/10/ِaddressing-vandalism-with-a-tap-the-journey-of-introducing-the-patrolling-feature-in-the-mobile-app/|read more about this project on Diff blog]]. * Editors who have access to [[m:Special:MyLanguage/The_Wikipedia_Library|The Wikipedia Library]] can once again use non-open access content in SpringerLinks, after the Foundation [[phab:T368865|contacted]] them to restore access. You can read more about [[m:Tech/News/Recently_resolved_community_tasks|this and 21 other community-submitted tasks that were completed last week]]. '''Changes later this week''' * This week, [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-07 deployments|dark mode will be available on a number of Wikipedias]], both desktop and mobile, for logged-in and logged-out users. Interface admins and user script maintainers are encouraged to check gadgets and user scripts in the dark mode, to find any hard-coded colors and fix them. There are some [[mw:Special:MyLanguage/Recommendations for night mode compatibility on Wikimedia wikis|recommendations for dark mode compatibility]] to help. '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Next week, functionaries, volunteers maintaining tools, and software development teams are invited to test the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] feature on testwiki. Temporary accounts is a feature that will help improve privacy on the wikis. No further temporary account deployments are scheduled yet. Please [[mw:Talk:Trust and Safety Product/Temporary Accounts|share your opinions and questions on the project talk page]]. [https://phabricator.wikimedia.org/T348895] * Editors who upload files cross-wiki, or teach other people how to do so, may wish to join a Wikimedia Commons discussion. The Commons community is discussing limiting who can upload files through the cross-wiki upload/Upload dialog feature to users auto-confirmed on Wikimedia Commons. This is due to the large amount of copyright violations uploaded this way. There is a short summary at [[c:Special:MyLanguage/Commons:Cross-wiki upload|Commons:Cross-wiki upload]] and [[c:Commons:Village pump/Proposals#Deactivate cross-wiki uploads for new users|discussion at Commons:Village Pump]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' You can also get other news from the [[m:Special:MyLanguage/Wikimedia Foundation Bulletin|Wikimedia Foundation Bulletin]]. </div><section end="technews-2024-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:31, 16 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27124561 --> == Wikipedia translation of the week: 2024-30 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Rathaus-Glockenspiel]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:2019-11-16, Glockenspiel, Neues Münchner Rathaus, IMG 7463 edit Christoph Braun.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Rathaus-Glockenspiel''' is a large mechanical clock located in Marienplatz Square, in the heart of Munich, Germany. Famous for its life-size characters, the clock twice daily re-enacts scenes from Munich's history. First is the story of the marriage of Duke Wilhelm V to Renata of Lorraine in 1568, followed by the story of the Schäfflerstanz, also known as the coopers' dance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 22 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-30 == <section begin="technews-2024-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/30|Translations]] are available. '''Feature News''' * Stewards can now [[:m:Special:MyLanguage/Global_blocks|globally block]] accounts. Before [[phab:T17294|the change]] only IP addresses and IP ranges could be blocked globally. Global account blocks are useful when the blocked user should not be logged out. [[:m:Special:MyLanguage/Global_locks|Global locks]] (a similar tool logging the user out of their account) are unaffected by this change. The new global account block feature is related to the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] project, which is a new type of user account that replaces IP addresses of unregistered editors that are no longer made public. * Later this week, Wikimedia site users will notice that the Interface of [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs]] (also known as "Pending Changes") is improved and consistent with the rest of the MediaWiki interface and [[mw:Special:MyLanguage/Codex|Wikimedia's design system]]. The FlaggedRevs interface experience on mobile and [[mw:Special:MyLanguage/Skin:MinervaNeue|Minerva skin]] was inconsistent before it was fixed and ported to [[mw:Special:MyLanguage/Codex|Codex]] by the WMF Growth team and some volunteers. [https://phabricator.wikimedia.org/T191156] * Wikimedia site users can now submit account vanishing requests via [[m:Special:GlobalVanishRequest|GlobalVanishRequest]]. This feature is used when a contributor wishes to stop editing forever. It helps you hide your past association and edit to protect your privacy. Once processed, the account will be locked and renamed. [https://phabricator.wikimedia.org/T367329] * Have you tried monitoring and addressing vandalism in Wikipedia using your phone? [https://diff.wikimedia.org/2024/07/10/%d9%90addressing-vandalism-with-a-tap-the-journey-of-introducing-the-patrolling-feature-in-the-mobile-app/ A Diff blog post on Patrolling features in the Mobile App] highlights some of the new capabilities of the feature, including swiping through a feed of recent changes and a personal library of user talk messages for use when patrolling from your phone. * Wikimedia contributors and GLAM (galleries, libraries, archives, and museums) organisations can now learn and measure the impact Wikimedia Commons is having towards creating quality encyclopedic content using the [https://doc.wikimedia.org/generated-data-platform/aqs/analytics-api/reference/commons.html Commons Impact Metrics] analytics dashboard. The dashboard offers organizations analytics on things like monthly edits in a category, the most viewed files, and which Wikimedia articles are using Commons images. As a result of these new data dumps, GLAM organisation can more reliably measure their return on investment for programs bringing content into the digital Commons. [https://diff.wikimedia.org/2024/07/19/commons-impact-metrics-now-available-via-data-dumps-and-api/] '''Project Updates''' * Come share your ideas for improving the wikis on the newly reopened [[m:Special:MyLanguage/Community Wishlist|Community Wishlist]]. The Community Wishlist is Wikimedia’s forum for volunteers to share ideas (called wishes) to improve how the wikis work. The new version of the wishlist is always open, works with both wikitext and Visual Editor, and allows wishes in any language. '''Learn more''' * Have you ever wondered how Wikimedia software works across over 300 languages? This is 253 languages more than the Google Chrome interface, and it's no accident. The Language and Product Localization Team at the Wikimedia Foundation supports your work by adapting all the tools and interfaces in the MediaWiki software so that contributors in our movement who translate pages and strings can translate them and have the sites in all languages. Read more about the team and their upcoming work on [https://diff.wikimedia.org/2024/07/17/building-towards-a-robust-multilingual-knowledge-ecosystem-for-the-wikimedia-movement/ Diff]. * How can Wikimedia build innovative and experimental products while maintaining such heavily used websites? A recent [https://diff.wikimedia.org/2024/07/09/on-the-value-of-experimentation/ blog post] by WMF staff Johan Jönsson highlights the work of the [[m:Future Audiences#Objectives and Key Results|WMF Future Audience initiative]], where the goal is not to build polished products but test out new ideas, such as a [[m:Future_Audiences/Experiments: conversational/generative AI|ChatGPT plugin]] and [[m:Future_Audiences/Experiment:Add a Fact|Add a Fact]], to help take Wikimedia into the future. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' You can also get other news from the [[m:Special:MyLanguage/Wikimedia Foundation Bulletin|Wikimedia Foundation Bulletin]]. </div><section end="technews-2024-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:05, 23 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27142915 --> == Wikipedia translation of the week: 2024-31 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Nederlandsche Cocaïnefabriek]]'''<br /> <small>''([[:es:Nederlandsche Cocaïnefabriek]])&#32;([[:nl:Nederlandsche Cocaïnefabriek]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Nederlandsche Cocainefabriek Schinkelstraat Amsterdam architect HH Baanders 1902.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Nederlandsche Cocaïnefabriek''' (Dutch pronunciation: [ˈneːdərlɑntsə koːkaːˈinəfaːˌbrik]; English: Dutch Cocaine Factory) or NCF was an Amsterdam-based company producing cocaine for medical purposes in the 20th century. It imported its raw materials mainly from the Dutch East Indies and sold its products across Europe, making good profits especially in the early years of World War I. The NCF produced morphine, heroin and ephedrine as well. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:44, 29 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27150339 --> == Tech News: 2024-31 == <section begin="technews-2024-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/31|Translations]] are available. '''Feature news''' * Editors using the Visual Editor in languages that use non-Latin characters for numbers, such as Hindi, Manipuri and Eastern Arabic, may notice some changes in the formatting of reference numbers. This is a side effect of preparing a new sub-referencing feature, and will also allow fixing some general numbering issues in Visual Editor. If you notice any related problems on your wiki, please share details at the [[m:Talk:WMDE Technical Wishes/Sub-referencing|project talkpage]]. '''Bugs status''' * Some logged-in editors were briefly unable to edit or load pages last week. [[phab:T370304|These errors]] were mainly due to the addition of new [[mw:Special:MyLanguage/Help:Extension:Linter|linter]] rules which led to caching problems. Fixes have been applied and investigations are continuing. * Editors can use the [[mw:Special:MyLanguage/Trust and Safety Product/IP Info|IP Information tool]] to get information about IP addresses. This tool is available as a Beta Feature in your preferences. The tool was not available for a few days last week, but is now working again. Thank you to Shizhao for filing the bug report. You can read about that, and [[m:Tech/News/Recently resolved community tasks#2024-07-25|28 other community-submitted tasks]] that were resolved last week. '''Project updates''' * There are new features and improvements to Phabricator from the Release Engineering and Collaboration Services teams, and some volunteers, including: the search systems, the new task creation system, the login systems, the translation setup which has resulted in support for more languages (thanks to Pppery), and fixes for many edge-case errors. You can [[phab:phame/post/view/316/iterative_improvements/|read details about these and other improvements in this summary]]. * There is an [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|update on the Charts project]]. The team has decided which visualization library to use, which chart types to start focusing on, and where to store chart definitions. * One new wiki has been created: a {{int:project-localized-name-group-wikivoyage}} in [[d:Q9056|Czech]] ([[voy:cs:|<code>voy:cs:</code>]]) [https://phabricator.wikimedia.org/T370905] '''Learn more''' * There is a [[diffblog:2024/07/26/the-journey-to-open-our-first-data-center-in-south-america/|new Wikimedia Foundation data center]] in São Paulo, Brazil which helps to reduce load times. * There is new [[diffblog:2024/07/22/the-perplexing-process-of-uploading-images-to-wikipedia/|user research]] on problems with the process of uploading images. * Commons Impact Metrics are [[diffblog:2024/07/19/commons-impact-metrics-now-available-via-data-dumps-and-api/|now available]] via data dumps and API. * The latest quarterly [[mw:Technical Community Newsletter/2024/July|Technical Community Newsletter]] is now available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:11, 29 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27164109 --> == Wikipedia translation of the week: 2024-32 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Suffrage drama]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pamphlet from NAWSA for women's suffrage plays, page 1.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Suffrage drama''' (also known as suffrage plays or suffrage theatre) is a form of dramatic literature that emerged during the British women's suffrage movement in the early twentieth century. Suffrage performances lasted approximately from 1907-1914. Many suffrage plays called for a predominant or all female cast. Suffrage plays served to reveal issues behind the suffrage movement. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 5 August 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27150339 --> == Tech News: 2024-32 == <section begin="technews-2024-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/32|Translations]] are available. '''Feature news''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Two new parser functions will be available this week: <code><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic_words#dir|#dir]]<nowiki>}}</nowiki></code> and <code><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic_words#bcp47|#bcp47]]<nowiki>}}</nowiki></code>. These will reduce the need for <code>Template:Dir</code> and <code>Template:BCP47</code> on Commons and allow us to [[phab:T343131|drop 100 million rows]] from the "what links here" database. Editors at any wiki that use these templates, can help by replacing the templates with these new functions. The templates at Commons will be updated during the Hackathon at Wikimania. [https://phabricator.wikimedia.org/T359761][https://phabricator.wikimedia.org/T366623] * Communities can request the activation of the visual editor on entire namespaces where discussions sometimes happen (for instance ''Wikipedia:'' or ''Wikisource:'' namespaces) if they understand the [[mw:Special:MyLanguage/Help:VisualEditor/FAQ#WPNS|known limitations]]. For discussions, users can already use [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]] in these namespaces. * The tracking category "Pages using Timeline" has been renamed to "Pages using the EasyTimeline extension" [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3ATimeline-tracking-category&namespace=8 in TranslateWiki]. Wikis that have created the category locally should rename their local creation to match. '''Project updates''' * Editors who help to organize WikiProjects and similar on-wiki collaborations, are invited to share ideas and examples of successful collaborations with the Campaigns and Programs teams. You can fill out [[m:Special:MyLanguage/Campaigns/WikiProjects|a brief survey]] or share your thoughts [[m:Talk:Campaigns/WikiProjects|on the talkpage]]. The teams are particularly looking for details about successful collaborations on non-English wikis. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The new parser is being rolled out on {{int:project-localized-name-group-wikivoyage}} wikis over the next few months. The {{int:project-localized-name-enwikivoyage}} and {{int:project-localized-name-hewikivoyage}} were [[phab:T365367|switched]] to Parsoid last week. For more information, see [[mw:Parsoid/Parser_Unification|Parsoid/Parser Unification]]. '''Learn more''' * There will be more than 200 sessions at Wikimania this week. Here is a summary of some of the [[diffblog:2024/08/05/interested-in-product-and-tech-here-are-some-wikimania-sessions-you-dont-want-to-miss/|key sessions related to the product and technology area]]. * The latest [[m:Special:MyLanguage/Wikimedia Foundation Bulletin/2024/07-02|Wikimedia Foundation Bulletin]] is available. * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2024/July|Language and Internationalization newsletter]] is available. It includes: New design previews for Translatable pages; Updates about MinT for Wiki Readers; the release of Translation dumps; and more. * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/31|Growth newsletter]] is available. * The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/July 2024|MediaWiki Product Insights newsletter]] is available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 5 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27233905 --> == Wikipedia translation of the week: 2024-33 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Karatgurk]]'''<br /> <small>''([[:it:Karatgurk]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In the Australian Aboriginal mythology of the Aboriginal people of south-eastern Australian state of Victoria, the '''Karatgurk''' were seven sisters who represented the constellation known in western astronomy as the Pleiades. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 12 August 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27264174 --> == Tech News: 2024-33 == <section begin="technews-2024-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/33|Translations]] are available. '''Feature news''' * [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] editors and maintainers can now [[mw:Special:MyLanguage/Extension:AbuseFilter/Actions#Show a CAPTCHA|make a CAPTCHA show if a filter matches an edit]]. This allows communities to quickly respond to spamming by automated bots. [https://phabricator.wikimedia.org/T20110] * [[m:Special:MyLanguage/Stewards|Stewards]] can now specify if global blocks should prevent account creation. Before [[phab:T17273|this change]] by the [[mw:Special:MyLanguage/Trust and Safety Product|Trust and Safety Product]] Team, all global blocks would prevent account creation. This will allow stewards to reduce the unintended side-effects of global blocks on IP addresses. '''Project updates''' * [[wikitech:Help talk:Toolforge/Toolforge standards committee#August_2024_committee_nominations|Nominations are open on Wikitech]] for new members to refresh the [[wikitech:Help:Toolforge/Toolforge standards committee|Toolforge standards committee]]. The committee oversees the Toolforge [[wikitech:Help:Toolforge/Right to fork policy|Right to fork policy]] and [[wikitech:Help:Toolforge/Abandoned tool policy|Abandoned tool policy]] among other duties. Nominations will remain open until at least 2024-08-26. * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q2880037|West Coast Bajau]] ([[w:bdr:|<code>w:bdr:</code>]]) [https://phabricator.wikimedia.org/T371757] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:22, 12 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27253654 --> == Wikipedia translation of the week: 2024-34 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:B1 (classification)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''B1''' is a medical-based Paralympic classification for blind sport. Athletes in this classification are totally or almost totally blind. It is used by a number of blind sports including blind tennis, para-alpine skiing, para-Nordic skiing, blind cricket, blind golf, five-a-side football, goalball and judo. Some other sports, including adaptive rowing, athletics and swimming, have equivalents to this class. The B1 classification was first created by the IBSA in the 1970s, and has largely remained unchanged since despite an effort by the International Paralympic Committee (IPC) to move towards a more functional and evidence-based classification system. Classification is often handled on the international level by the International Blind Sports Federation (IBSA) but it sometimes handled by national sport federations. There are exceptions for sports like athletics and cycling, where classification is handled by their own governing bodies. Equipment utilized by competitors in this class may differ from sport to sport, and may include sighted guides, guide rails, beeping balls and clapsticks. There may be some modifications related to equipment and rules to specifically address needs of competitors in this class to allow them to compete in specific sports. Some sports specifically do not allow a guide, whereas cycling and skiing require one. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 19 August 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27278917 --> == Tech News: 2024-34 == <section begin="technews-2024-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/34|Translations]] are available. '''Feature news''' * Editors who want to re-use references but with different details such as page numbers, will be able to do so by the end of 2024, using a new [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Sub-referencing in a nutshell|sub-referencing]] feature. You can read more [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|about the project]] and [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Test|how to test the prototype]]. * Editors using tracking categories to identify which pages use specific extensions may notice that six of the categories have been renamed to make them more easily understood and consistent. These categories are automatically added to pages that use specialized MediaWiki extensions. The affected names are for: [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Aintersection-category&namespace=8 DynamicPageList], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Akartographer-tracking-category&namespace=8 Kartographer], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Aphonos-tracking-category&namespace=8 Phonos], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Arss-tracking-category&namespace=8 RSS], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Ascore-use-category&namespace=8 Score], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Awikihiero-usage-tracking-category&namespace=8 WikiHiero]. Wikis that have created the category locally should rename their local creation to match. Thanks to Pppery for these improvements. [https://phabricator.wikimedia.org/T347324] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Technical volunteers who edit modules and want to get a list of the categories used on a page, can now do so using the <code><bdi lang="zxx" dir="ltr">categories</bdi></code> property of <code><bdi lang="zxx" dir="ltr">[[mediawikiwiki:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Title objects|mw.title objects]]</bdi></code>. This enables wikis to configure workflows such as category-specific edit notices. Thanks to SD001 for these improvements. [https://phabricator.wikimedia.org/T50175][https://phabricator.wikimedia.org/T85372] '''Bugs status''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Your help is needed to check if any pages need to be moved or deleted. A maintenance script was run to clean up unreachable pages (due to Unicode issues or introduction of new namespaces/namespace aliases). The script tried to find appropriate names for the pages (e.g. by following the Unicode changes or by moving pages whose titles on Wikipedia start with <code>Talk:WP:</code> so that their titles start with <code>Wikipedia talk:</code>), but it may have failed for some pages, and moved them to <bdi lang="zxx" dir="ltr">[[Special:PrefixIndex/T195546/]]</bdi> instead. Your community should check if any pages are listed there, and move them to the correct titles, or delete them if they are no longer needed. A full log (including pages for which appropriate names could be found) is available in [[phab:P67388]]. * Editors who volunteer as [[mw:Special:MyLanguage/Help:Growth/Mentorship|mentors]] to newcomers on their wiki are once again able to access lists of potential mentees who they can connect with to offer help and guidance. This functionality was restored thanks to [[phab:T372164|a bug fix]]. Thank you to Mbch331 for filing the bug report. You can read about that, and 18 other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Project updates''' * The application deadline for the [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal|Product & Technology Advisory Council]] (PTAC) has been extended to September 16. Members will help by providing advice to Foundation Product and Technology leadership on short and long term plans, on complex strategic problems, and help to get feedback from more contributors and technical communities. Selected members should expect to spend roughly 5 hours per month for the Council, during the one year pilot. Please consider applying, and spread the word to volunteers you think would make a positive contribution to the committee. '''Learn more''' * The [[m:Special:MyLanguage/Coolest Tool Award#2024 Winners|2024 Coolest Tool Awards]] were awarded at Wikimania, in seven categories. For example, one award went to the ISA Tool, used for adding structured data to files on Commons, which was recently improved during the [[m:Event:Wiki Mentor Africa ISA Hackathon 2024|Wiki Mentor Africa Hackathon]]. You can see video demonstrations of each tool at the awards page. Congratulations to this year's recipients, and thank you to all tool creators and maintainers. * The latest [[m:Special:MyLanguage/Wikimedia Foundation Bulletin/2024/08-01|Wikimedia Foundation Bulletin]] is available, and includes some highlights from Wikimania, an upcoming Language community meeting, and other news from the movement. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W34"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:54, 20 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27307284 --> == Wikipedia translation of the week: 2024-35 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Erzi (village)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Caucasus, Ingushetia, Ингушские боевые и смотровые башни, горы Кавказа.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Erzi''' (Russian: Эрзи; Ingush: Аьрзи, romanized: Ärzi, lit. 'Eagle') is a medieval village (aul) in the Dzheyrakhsky District of Ingushetia. It is part of the rural settlement (administrative center) of Olgeti. The entire territory of the settlement is included in the Dzheyrakh-Assa State Historical-Architectural and Natural Museum-Reserve and is under state protection. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:19, 26 August 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27345183 --> == Tech News: 2024-35 == <section begin="technews-2024-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/35|Translations]] are available. '''Feature news''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Administrators can now test the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] feature on test2wiki. This was done to allow cross-wiki testing of temporary accounts, for when temporary accounts switch between projects. The feature was enabled on testwiki a few weeks ago. No further temporary account deployments are scheduled yet. Temporary Accounts is a project to create a new type of user account that replaces IP addresses of unregistered editors which are no longer made public. Please [[mw:Talk:Trust and Safety Product/Temporary Accounts|share your opinions and questions on the project talk page]]. * Later this week, editors at wikis that use [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs]] (also known as "Pending Changes") may notice that the indicators at the top of articles have changed. This change makes the system more consistent with the rest of the MediaWiki interface. [https://phabricator.wikimedia.org/T191156] '''Bugs status''' * Editors who use the 2010 wikitext editor, and use the Character Insert buttons, will [[phab:T361465|no longer]] experience problems with the buttons adding content into the edit-summary instead of the edit-window. You can read more about that, and 26 other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Project updates''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Please review and vote on [[m:Special:MyLanguage/Community Wishlist/Focus areas|Focus Areas]], which are groups of wishes that share a problem. Focus Areas were created for the newly reopened Community Wishlist, which is now open year-round for submissions. The first batch of focus areas are specific to moderator workflows, around welcoming newcomers, minimizing repetitive tasks, and prioritizing tasks. Once volunteers have reviewed and voted on focus areas, the Foundation will then review and select focus areas for prioritization. * Do you have a project and are willing to provide a three (3) month mentorship for an intern? [[mw:Special:MyLanguage/Outreachy|Outreachy]] is a twice a year program for people to participate in a paid internship that will start in December 2024 and end in early March 2025, and they need mentors and projects to work on. Projects can be focused on coding or non-coding (design, documentation, translation, research). See the Outreachy page for more details, and a list of past projects since 2013. '''Learn more''' * If you're curious about the product and technology improvements made by the Wikimedia Foundation last year, read [[diffblog:2024/08/21/wikimedia-foundation-product-technology-improving-the-user-experience/|this recent highlights summary on Diff]]. * To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Ohrid - Day 2 - Community Configuration - Shaping On-Wiki Functionality Together.webm|Community Configuration - Shaping On-Wiki Functionality Together]] (55 mins) - about the [[mw:Special:MyLanguage/Community Configuration|Community Configuration]] project. ** [[c:File:Wikimania 2024 - Belgrade - Day 1 - Future of MediaWiki. A sustainable platform to support a collaborative user base and billions of page views.webm|Future of MediaWiki. A sustainable platform to support a collaborative user base and billions of page views]] (30 mins) - an overview for both technical and non technical audiences, covering some of the challenges and open questions, related to the [[mw:MediaWiki Product Insights|platform evolution, stewardship and developer experiences]] research. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:34, 26 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27341211 --> == Tech News: 2024-36 == <section begin="technews-2024-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/36|Translations]] are available. '''Weekly highlight''' * Editors and volunteer developers interested in data visualisation can now test the new software for charts. Its early version is available on beta Commons and beta Wikipedia. This is an important milestone before making charts available on regular wikis. You can [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|read more about this project update]] and help to test the charts. '''Feature news''' * Editors who use the [[{{#special:Unusedtemplates}}]] page can now filter out pages which are expected to be there permanently, such as sandboxes, test-cases, and templates that are always substituted. Editors can add the new magic word [[mw:Special:MyLanguage/Help:Magic words#EXPECTUNUSEDTEMPLATE|<code dir="ltr"><nowiki>__EXPECTUNUSEDTEMPLATE__</nowiki></code>]] to a template page to hide it from the listing. Thanks to Sophivorus and DannyS712 for these improvements. [https://phabricator.wikimedia.org/T184633] * Editors who use the New Topic tool on discussion pages, will [[phab:T334163|now be reminded]] to add a section header, which should help reduce the quantity of newcomers who add sections without a header. You can read more about that, and {{formatnum:28}} other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. * Last week, some Toolforge tools had occasional connection problems. The cause is still being investigated, but the problems have been resolved for now. [https://phabricator.wikimedia.org/T373243] * Translation administrators at multilingual wikis, when editing multiple translation units, can now easily mark which changes require updates to the translation. This is possible with the [[phab:T298852#10087288|new dropdown menu]]. '''Project updates''' * A new draft text of a policy discussing the use of Wikimedia's APIs [[m:Special:MyLanguage/API Policy Update 2024|has been published on Meta-Wiki]]. The draft text does not reflect a change in policy around the APIs; instead, it is an attempt to codify existing API rules. Comments, questions, and suggestions are welcome on [[m:Talk:API Policy Update 2024|the proposed update’s talk page]] until September 13 or until those discussions have concluded. '''Learn more''' * To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Ohrid - Day 2 - Charts, the successor of Graphs - A secure and extensible tool for data visualization.webm|Charts, the successor of Graphs - A secure and extensible tool for data visualization]] (25 mins) – about the above-mentioned Charts project. ** [[c:File:Wikimania 2024 - Ohrid - Day 3 - State of Language Technology and Onboarding at Wikimedia.webm|State of Language Technology and Onboarding at Wikimedia]] (90 mins) – about some of the language tools that support Wikimedia sites, such as [[mw:Special:MyLanguage/Content translation|Content]]/[[mw:Special:MyLanguage/Content translation/Section translation|Section Translation]], [[mw:Special:MyLanguage/MinT|MinT]], and LanguageConverter; also the current state and future of languages onboarding. [https://phabricator.wikimedia.org/T368772] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:08, 3 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27390268 --> == Wikipedia translation of the week: 2024-37 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cappadocian calendar]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Cappadocian calendar''' was a solar calendar that was derived from the Persian Zoroastrian calendar. It is named after the historic region Cappadocia in present-day Turkey, where it was used. The calendar, which had 12 months of 30 days each and five epagomenal days, originated between 550 and 330 BC, when Cappadocia was part of the Persian Achaemenid Empire. The Cappadocian calendar was identical to the Zoroastrian calendar; this can be seen in its structure, in the Avestan names and in the order of the months. The Cappadocian calendar reflects the Iranian cultural influence in the region. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:42, 9 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27357319 --> == Tech News: 2024-37 == <section begin="technews-2024-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/37|Translations]] are available. '''Feature news''' * Starting this week, the standard [[mw:Special:MyLanguage/Extension:CodeMirror|syntax highlighter]] will receive new colors that make them compatible in dark mode. This is the first of many changes to come as part of a major upgrade to syntax highlighting. You can learn more about what's to come on the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|help page]]. [https://phabricator.wikimedia.org/T365311][https://phabricator.wikimedia.org/T259059] * Editors of wikis using Wikidata will now be notified of only relevant Wikidata changes in their watchlist. This is because the Lua functions <bdi lang="zxx" dir="ltr"><code>entity:getSitelink()</code></bdi> and <bdi lang="zxx" dir="ltr"><code>mw.wikibase.getSitelink(qid)</code></bdi> will have their logic unified for tracking different aspects of sitelinks to reduce junk notifications from [[m:Wikidata For Wikimedia Projects/Projects/Watchlist Wikidata Sitelinks Tracking|inconsistent sitelinks tracking]]. [https://phabricator.wikimedia.org/T295356] '''Project updates''' * Users of all Wikis will have access to Wikimedia sites as read-only for a few minutes on September 25, starting at 15:00 UTC. This is a planned datacenter switchover for maintenance purposes. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T370962] * Contributors of [[phab:T363538#10123348|11 Wikipedias]], including English will have a new <bdi lang="zxx" dir="ltr"><code>MOS</code></bdi> namespace added to their Wikipedias. This improvement ensures that links beginning with <bdi lang="zxx" dir="ltr"><code>MOS:</code></bdi> (usually shortcuts to the [[w:en:Wikipedia:Manual of Style|Manual of Style]]) are not broken by [[w:en:Mooré|Mooré]] Wikipedia (language code <bdi lang="zxx" dir="ltr"><code>mos</code></bdi>). [https://phabricator.wikimedia.org/T363538] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 9 September 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27424457 --> == Tech News: 2024-38 == <section begin="technews-2024-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/38|Translations]] are available. '''Improvements and Maintenance''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Editors interested in templates can help by reading the latest Wishlist focus area, [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template recall and discovery]], and share your feedback on the talkpage. This input helps the Community Tech team to decide the right technical approach to build. Everyone is also encouraged to continue adding [[m:Special:MyLanguage/Community Wishlist|new wishes]]. * The new automated [[{{#special:NamespaceInfo}}]] page helps editors understand which [[mw:Special:MyLanguage/Help:Namespaces|namespaces]] exist on each wiki, and some details about how they are configured. Thanks to DannyS712 for these improvements. [https://phabricator.wikimedia.org/T263513] * [[mw:Special:MyLanguage/Help:Edit check#Reference check|References Check]] is a feature that encourages editors to add a citation when they add a new paragraph to a Wikipedia article. For a short time, the corresponding tag "Edit Check (references) activated" was erroneously being applied to some edits outside of the main namespace. This has been fixed. [https://phabricator.wikimedia.org/T373692] * It is now possible for a wiki community to change the order in which a page’s categories are displayed on their wiki. By default, categories are displayed in the order they appear in the wikitext. Now, wikis with a consensus to do so can [[m:Special:MyLanguage/Requesting wiki configuration changes|request]] a configuration change to display them in alphabetical order. [https://phabricator.wikimedia.org/T373480] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Tool authors can now access ToolsDB's [[wikitech:Portal:Data Services#ToolsDB|public databases]] from both [[m:Special:MyLanguage/Research:Quarry|Quarry]] and [[wikitech:Superset|Superset]]. Those databases have always been accessible to every [[wikitech:Portal:Toolforge|Toolforge]] user, but they are now more broadly accessible, as Quarry can be accessed by anyone with a Wikimedia account. In addition, Quarry's internal database can now be [[m:Special:MyLanguage/Research:Quarry#Querying Quarry's own database|queried from Quarry itself]]. This database contains information about all queries that are being run and starred by users in Quarry. This information was already public through the web interface, but you can now query it using SQL. You can read more about that, and {{formatnum:20}} other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. * Any pages or tools that still use the very old CSS classes <bdi lang="zxx" dir="ltr"><code>mw-message-box</code></bdi> need to be updated. These old classes will be removed next week or soon afterwards. Editors can use a [https://global-search.toolforge.org/?q=mw-message-box&regex=1&namespaces=&title= global-search] to determine what needs to be changed. It is possible to use the newer <bdi lang="zxx" dir="ltr"><code>cdx-message</code></bdi> group of classes as a replacement (see [https://doc.wikimedia.org/codex/latest/components/demos/message.html#css-only-version the relevant Codex documentation], and [https://meta.wikimedia.org/w/index.php?title=Tech/Header&diff=prev&oldid=27449042 an example update]), but using locally defined onwiki classes would be best. [https://phabricator.wikimedia.org/T374499] '''Technical project updates''' * Next week, all Wikimedia wikis will be read-only for a few minutes. This will start on September 25 at [https://zonestamp.toolforge.org/1727276400 15:00 UTC]. This is a planned datacenter switchover for maintenance purposes. [[m:Special:MyLanguage/Tech/Server switch|This maintenance process also targets other services.]] The previous switchover took 3 minutes, and the Site Reliability Engineering teams use many tools to make sure that this essential maintenance work happens as quickly as possible. [https://phabricator.wikimedia.org/T370962] '''Tech in depth''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/August 2024|MediaWiki Product Insights newsletter]] is available. This edition includes details about: research about [[mw:Special:MyLanguage/Manual:Hooks|hook]] handlers to help simplify development, research about performance improvements, work to improve the REST API for end-users, and more. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Auditorium Kyiv - Day 4 - Hackathon Showcase.webm|Hackathon Showcase]] (45 mins) - 19 short presentations by some of the Hackathon participants, describing some of the projects they worked on, such as automated testing of maintenance scripts, a video-cutting command line tool, and interface improvements for various tools. There are [[phab:T369234|more details and links available]] in the Phabricator task. ** [[c:File:Co-Creating a Sustainable Future for the Toolforge Ecosystem.webm|Co-Creating a Sustainable Future for the Toolforge Ecosystem]] (40 mins) - a roundtable discussion for tool-maintainers, users, and supporters of Toolforge about how to make the platform sustainable and how to evaluate the tools available there. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:03, 17 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27460876 --> == Wikipedia translation of the week: 2024-39 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Independence Day (Albania)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Independence Day''' (Albanian: Dita e Pavarësisë) is a public holiday in Albania observed on 28 November. It commemorates the Albanian Declaration of Independence (from the Ottoman Empire), which was ratified by the All-Albanian Congress on 28 November 1912, establishing the state of Albania. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:29, 23 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27456350 --> == Tech News: 2024-39 == <section begin="technews-2024-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/39|Translations]] are available. '''Weekly highlight''' * All wikis will be [[m:Special:MyLanguage/Tech/Server switch|read-only]] for a few minutes on Wednesday September 25 at [https://zonestamp.toolforge.org/1727276400 15:00 UTC]. Reading the wikis will not be interrupted, but editing will be paused. These twice-yearly processes allow WMF's site reliability engineering teams to remain prepared to keep the wikis functioning even in the event of a major interruption to one of our data centers. '''Updates for editors''' [[File:Add alt text from a halfsheet, with the article behind.png|thumb|A screenshot of the interface for the Alt Text suggested-edit feature]] * Editors who use the iOS Wikipedia app in Spanish, Portuguese, French, or Chinese, may see the [[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits project/Alt Text Experiment|Alt Text suggested-edit experiment]] after editing an article, or completing a suggested edit using "[[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits project#Hypothesis 2 Add an Image Suggested Edit|Add an image]]". Alt-text helps people with visual impairments to read Wikipedia articles. The team aims to learn if adding alt-text to images is a task that editors can be successful with. Please share any feedback on [[mw:Talk:Wikimedia Apps/iOS Suggested edits project/Alt Text Experiment|the discussion page]]. * The Codex color palette has been updated with new and revised colors for the MediaWiki user interfaces. The [[mw:Special:MyLanguage/Design System Team/Color/Design documentation#Updates|most noticeable changes]] for editors include updates for: dark mode colors for Links and for quiet Buttons (progressive and destructive), visited Link colors for both light and dark modes, and background colors for system-messages in both light and dark modes. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] It is now possible to include clickable wikilinks and external links inside code blocks. This includes links that are used within <code><nowiki><syntaxhighlight></nowiki></code> tags and on code pages (JavaScript, CSS, Scribunto and Sanitized CSS). Uses of template syntax <code><nowiki>{{…}}</nowiki></code> are also linked to the template page. Thanks to SD0001 for these improvements. [https://phabricator.wikimedia.org/T368166] * Two bugs were fixed in the [[m:Special:MyLanguage/Account vanishing|GlobalVanishRequest]] system by improving the logging and by removing an incorrect placeholder message. [https://phabricator.wikimedia.org/T370595][https://phabricator.wikimedia.org/T372223] * View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] From [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]]: ** The API now enables 5,000 on-demand API requests per month and twice-monthly HTML snapshots freely (gratis and libre). More information on the updates and also improvements to the software development kits (SDK) are explained on [https://enterprise.wikimedia.com/blog/enhanced-free-api/ the project's blog post]. While Wikimedia Enterprise APIs are designed for high-volume commercial reusers, this change enables many more community use-cases to be built on the service too. ** The Snapshot API (html dumps) have added beta Structured Contents endpoints ([https://enterprise.wikimedia.com/blog/structured-contents-snapshot-api/ blog post on that]) as well as released two beta datasets (English and French Wikipedia) from that endpoint to Hugging Face for public use and feedback ([https://enterprise.wikimedia.com/blog/hugging-face-dataset/ blog post on that]). These pre-parsed data sets enable new options for researchers, developers, and data scientists to use and study the content. '''In depth''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The Wikidata Query Service (WDQS) is used to get answers to questions using the Wikidata data set. As Wikidata grows, we had to make a major architectural change so that WDQS could remain performant. As part of the [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS graph split|WDQS Graph Split project]], we have new SPARQL endpoints available for serving the "[https://query-scholarly.wikidata.org scholarly]" and "[https://query-main.wikidata.org main]" subgraphs of Wikidata. The [http://query.wikidata.org query.wikidata.org endpoint] will continue to serve the full Wikidata graph until March 2025. After this date, it will only serve the main graph. For more information, please see [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/September 2024 scaling update|the announcement on Wikidata]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:37, 23 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27493779 --> == Wikipedia translation of the week: 2024-40 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Wildlife of Bahrain]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Birds in Al-Areen Wildlife Park.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The wildlife of the archipelago of Bahrain, is more varied than might be expected of this small group of islands in the Persian Gulf. Apart from a strip of the north and west of the main island, where crops are grown with irrigation, the land is arid. With a very hot dry summer, a mild winter, and brackish groundwater, the plants need adaptations in order to survive. Nevertheless, 196 species of higher plant have been recorded here, as well as about seventeen species of terrestrial mammals, many birds and reptiles, and many migratory birds visit the islands in autumn and spring. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:57, 30 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27456350 --> == Tech News: 2024-40 == <section begin="technews-2024-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/40|Translations]] are available. '''Updates for editors''' * Readers of [[phab:T375401|42 more wikis]] can now use Dark Mode. If the option is not yet available for logged-out users of your wiki, this is likely because many templates do not yet display well in Dark Mode. Please use the [https://night-mode-checker.wmcloud.org/ night-mode-checker tool] if you are interested in helping to reduce the number of issues. The [[mw:Special:MyLanguage/Recommendations for night mode compatibility on Wikimedia wikis|recommendations page]] provides guidance on this. Dark Mode is enabled on additional wikis once per month. * Editors using the 2010 wikitext editor as their default can access features from the 2017 wikitext editor by adding <code dir=ltr>?veaction=editsource</code> to the URL. If you would like to enable the 2017 wikitext editor as your default, it can be set in [[Special:Preferences#mw-input-wpvisualeditor-newwikitext|your preferences]]. [https://phabricator.wikimedia.org/T239796] * For logged-out readers using the Vector 2022 skin, the "donate" link has been moved from a collapsible menu next to the content area into a more prominent top menu, next to "Create an account". This restores the link to the level of prominence it had in the Vector 2010 skin. [[mw:Readers/2024 Reader and Donor Experiences#Donor Experiences (Key Result WE 3.2 and the related hypotheses)|Learn more]] about the changes related to donor experiences. [https://phabricator.wikimedia.org/T373585] * The CampaignEvents extension provides tools for organizers to more easily manage events, communicate with participants, and promote their events on the wikis. The extension has been [[m:Special:MyLanguage/CampaignEvents/Deployment status|enabled]] on Arabic Wikipedia, Igbo Wikipedia, Swahili Wikipedia, and Meta-Wiki. [[w:zh:Wikipedia:互助客栈/其他#引進CampaignEvents擴充功能|Chinese Wikipedia has decided]] to enable the extension, and discussions on the extension are in progress [[w:es:Wikipedia:Votaciones/2024/Sobre la política de Organizadores de Eventos|on Spanish Wikipedia]] and [[d:Wikidata:Project chat#Enabling the CampaignEvents Extention on Wikidata|on Wikidata]]. To learn how to enable the extension on your wiki, you can visit [[m:Special:MyLanguage/CampaignEvents|the CampaignEvents page on Meta-Wiki]]. * View all {{formatnum:22}} community-submitted {{PLURAL:22|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers with an account on Wikitech-wiki should [[wikitech:Wikitech/SUL-migration|check if any action is required]] for their accounts. The wiki is being changed to use the single-user-login (SUL) system, and other configuration changes. This change will help reduce the overall complexity for the weekly software updates across all our wikis. '''In depth''' * The [[m:Special:MyLanguage/Tech/Server switch|server switch]] was completed successfully last week with a read-only time of [[wikitech:Switch Datacenter#Past Switches|only 2 minutes 46 seconds]]. This periodic process makes sure that engineers can switch data centers and keep all of the wikis available for readers, even if there are major technical issues. It also gives engineers a chance to do maintenance and upgrades on systems that normally run 24 hours a day, and often helps to reveal weaknesses in the infrastructure. The process involves dozens of software services and hundreds of hardware servers, and requires multiple teams working together. Work over the past few years has reduced the time from 17 minutes down to 2–3 minutes. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/66ZW7B2MG63AESQVTXDIFQBDBS766JGW/] '''Meetings and events''' * October 4–6: [[m:Special:MyLanguage/WikiIndaba conference 2024|WikiIndaba Conference's Hackathon]] in Johannesburg, South Africa * November 4–6: [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2024|MediaWiki Users and Developers Conference Fall 2024]] in Vienna, Austria '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:21, 30 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27530062 --> == Tech News: 2024-41 == <section begin="technews-2024-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/41|Translations]] are available. '''Weekly highlight''' * Communities can now request installation of [[mw:Special:MyLanguage/Moderator Tools/Automoderator|Automoderator]] on their wiki. Automoderator is an automated anti-vandalism tool that reverts bad edits based on scores from the new "Revert Risk" machine learning model. You can [[mw:Special:MyLanguage/Extension:AutoModerator/Deploying|read details about the necessary steps]] for installation and configuration. [https://phabricator.wikimedia.org/T336934] '''Updates for editors''' * Translators in wikis where [[mw:Special:MyLanguage/Content translation/Section translation#Try the tool|the mobile experience of Content Translation is available]], can now customize their articles suggestion list from 41 filtering options when using the tool. This topic-based article suggestion feature makes it easy for translators to self-discover relevant articles based on their area of interest and translate them. You can [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions try it with your mobile device]. [https://phabricator.wikimedia.org/T368422] * View all {{formatnum:12}} community-submitted {{PLURAL:12|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * It is now possible for <bdi lang="zxx" dir="ltr"><code><nowiki><syntaxhighlight></nowiki></code></bdi> code blocks to offer readers a "Copy" button if the <bdi lang="zxx" dir="ltr"><code><nowiki>copy=1</nowiki></code></bdi> attribute is [[mw:Special:MyLanguage/Extension:SyntaxHighlight#copy|set on the tag]]. Thanks to SD0001 for these improvements. [https://phabricator.wikimedia.org/T40932] * Customized copyright footer messages on all wikis will be updated. The new versions will use wikitext markup instead of requiring editing raw HTML. [https://phabricator.wikimedia.org/T375789] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Later this month, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] will be rolled out on several pilot wikis. The final list of the wikis will be published in the second half of the month. If you maintain any tools, bots, or gadgets on [[phab:T376499|these 11 wikis]], and your software is using data about IP addresses or is available for logged-out users, please check if it needs to be updated to work with temporary accounts. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|Guidance on how to update the code is available]]. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Rate limiting has been enabled for the code review tools [[Wikitech:Gerrit|Gerrit]] and [[Wikitech:GitLab|GitLab]] to address ongoing issues caused by malicious traffic and scraping. Clients that open too many concurrent connections will be restricted for a few minutes. This rate limiting is managed through [[Wikitech:nftables|nftables]] firewall rules. For more details, see Wikitech's pages on [[Wikitech:Firewall#Throttling with nftables|Firewall]], [[Wikitech:GitLab/Abuse and rate limiting|GitLab limits]] and [[Wikitech:Gerrit/Operations#Throttling IPs|Gerrit operations]]. * Five new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q49224|Komering]] ([[w:kge:|<code>w:kge:</code>]]) [https://phabricator.wikimedia.org/T374813] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q36096|Mooré]] ([[m:mos:|<code>m:mos:</code>]]) [https://phabricator.wikimedia.org/T374641] ** a {{int:project-localized-name-group-wiktionary}} in [[d:Q36213|Madurese]] ([[wikt:mad:|<code>wikt:mad:</code>]]) [https://phabricator.wikimedia.org/T374968] ** a {{int:project-localized-name-group-wikiquote}} in [[d:Q2501174|Gorontalo]] ([[q:gor:|<code>q:gor:</code>]]) [https://phabricator.wikimedia.org/T375088] ** a {{int:project-localized-name-group-wikinews}} in [[d:Q56482|Shan]] ([[n:shn:|<code>n:shn:</code>]]) [https://phabricator.wikimedia.org/T375430] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:43, 7 October 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27557422 --> == Wikipedia translation of the week: 2024-42 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Little Danes experiment]]'''<br /> <small>''([[:fa:آزمایش دانمارکی‌های کوچک]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Children play at a Danish Red Cross-run orphanage in Greenland.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''little Danes experiment''' was a 1951 Danish operation where 22 Greenlandic Inuit children were sent to Danish foster families in an attempt to re-educate them as "little Danes". While the children were all supposed to be orphans, most were not. Six children were adopted while in Denmark, and sixteen returned to Greenland, only to be placed in Danish-speaking orphanages and never live with their families again. Half of the children experienced mental health disturbances, and half of them died in young adulthood. The government of Denmark officially apologised in 2020, after several years of demands from Greenlandic officials. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:16, 14 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27572997 --> == Tech News: 2024-42 == <section begin="technews-2024-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/42|Translations]] are available. '''Updates for editors''' * The Structured Discussion extension (also known as Flow) is starting to be removed. This extension is unmaintained and causes issues. It will be replaced by [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]], which is used on any regular talk page. [[mw:Special:MyLanguage/Structured Discussions/Deprecation#Deprecation timeline|A first set of wikis]] are being contacted. These wikis are invited to stop using Flow, and to move all Flow boards to sub-pages, as archives. At these wikis, a script will move all Flow pages that aren't a sub-page to a sub-page automatically, starting on 22 October 2024. On 28 October 2024, all Flow boards at these wikis will be set in read-only mode. [https://www.mediawiki.org/wiki/Structured_Discussions/Deprecation][https://phabricator.wikimedia.org/T370722] * WMF's Search Platform team is working on making it easier for readers to perform text searches in their language. A [[phab:T332342|change last week]] on over 30 languages makes it easier to find words with accents and other diacritics. This applies to both full-text search and to types of advanced search such as the <bdi lang="en" dir="ltr">''hastemplate''</bdi> and <bdi lang="en" dir="ltr">''incategory''</bdi> keywords. More technical details (including a few other minor search upgrades) are available. [https://www.mediawiki.org/wiki/User:TJones_%28WMF%29/Notes/Language_Analyzer_Harmonization_Notes#ASCII-folding/ICU-folding_%28T332342%29] * View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[mw:Special:MyLanguage/Help:Edit check|EditCheck]] was installed at Russian Wikipedia, and fixes were made for some missing user interface styles. '''Updates for technical contributors''' * Editors who use the Toolforge tool [[toolforge:copyvios|Earwig's Copyright Violation Detector]] will now be required to log in with their Wikimedia account before running checks using the "search engine" option. This change is needed to help prevent external bots from misusing the system. Thanks to Chlod for these improvements. [https://en.wikipedia.org/wiki/Wikipedia_talk:New_pages_patrol/Reviewers#Authentication_is_now_required_for_search_engine_checks_on_Earwig's_Copyvio_Tool] * [[m:Special:MyLanguage/Phabricator|Phabricator]] users can create tickets and add comments on existing tickets via Email again. [[mw:Special:MyLanguage/Phabricator/Help#Using email|Sending email to Phabricator]] has been fixed. [https://phabricator.wikimedia.org/T356077] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Some HTML elements in the interface are now wrapped with a <code><nowiki><bdi></nowiki></code> element, to make our HTML output more aligned with Web standards. More changes like this will be coming in future weeks. This change might break some tools that rely on the previous HTML structure of the interface. Note that relying on the HTML structure of the interface is [[mw:Special:MyLanguage/Stable interface policy/Frontend#What is not stable?|not recommended]] and might break at any time. [https://phabricator.wikimedia.org/T375975] '''In depth''' * The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/September 2024|MediaWiki Product Insights newsletter]] is available. This edition includes: updates on Wikimedia's authentication system, research to simplify feature development in the MediaWiki platform, updates on Parser Unification and MathML rollout, and more. * The latest quarterly [[mw:Technical Community Newsletter/2024/October|Technical Community Newsletter]] is now available. This edition include: research about improving topic suggestions related to countries, improvements to PHPUnit tests, and more. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:22, 14 October 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27597254 --> == Wikipedia translation of the week: 2024-43 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kharayeb]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Muharram 1Oth-Ashouraa 2007 in Kharayeb - panoramio.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Kharayeb''' (Arabic: الخرايب) is a historic town in the Sidon District in the South Governorate, Lebanon. The town is 77 km (48 mi) south of Beirut, and stands at an average altitude of 190 m (620 ft) above sea level. The town boasts a rich historical legacy, with archaeological excavations revealing a complex settlement history spanning from Prehistory to the Ottoman period. Notably, Kharayeb's origins can be traced back to the Persian period (539–330 BC), when it played a pivotal role in the region's agricultural and economic landscape, culminating in the construction of its Phoenician temple around the 6th century BC. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:38, 21 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27572997 --> == Tech News: 2024-43 == <section begin="technews-2024-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/43|Translations]] are available. '''Weekly highlight''' * The Mobile Apps team has released an [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Navigation Refresh#Phase 1: Creating a user Profile Menu (T373714)|update]] to the iOS app's navigation, and it is now available in the latest App store version. The team added a new Profile menu that allows for easy access to editor features like Notifications and Watchlist from the Article view, and brings the "Donate" button into a more accessible place for users who are reading an article. This is the first phase of a larger planned [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Navigation Refresh|navigation refresh]] to help the iOS app transition from a primarily reader-focused app, to an app that fully supports reading and editing. The Wikimedia Foundation has added more editing features and support for on-wiki communication based on volunteer requests in recent years. [[File:IOS App Navigation refresh first phase 05.png|thumb|iOS Wikipedia App's profile menu and contents]] '''Updates for editors''' * Wikipedia readers can now download a browser extension to experiment with some early ideas on potential features that recommend articles for further reading, automatically summarize articles, and improve search functionality. For more details and to stay updated, check out the Web team's [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments|Content Discovery Experiments page]] and [[mw:Special:MyLanguage/Newsletter:Web team's projects|subscribe to their newsletter]]. * Later this month, logged-out editors of [[phab:T376499|these 12 wikis]] will start to have [[mw:Special:Mylanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] created. The list may slightly change - some wikis may be removed but none will be added. Temporary account is a new [[mw:Special:MyLanguage/User account types|type of user account]]. It enhances the logged-out editors' privacy and makes it easier for community members to communicate with them. If you maintain any tools, bots, or gadgets on these 12 wikis, and your software is using data about IP addresses or is available for logged-out users, please check if it needs to be updated to work with temporary accounts. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|Guidance on how to update the code is available]]. Read more about the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|deployment plan across all wikis]]. * View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[w:nr:Main Page|South Ndebele]], [[w:rsk:Главни бок|Pannonian Rusyn]], [[w:ann:Uwu|Obolo]], [[w:iba:Lambar Keterubah|Iban]] and [[w:tdd:ᥞᥨᥝᥴ ᥘᥣᥲ ᥖᥥᥰ|Tai Nüa]] Wikipedia languages were created last week. [https://www.wikidata.org/wiki/Q36785][https://www.wikidata.org/wiki/Q35660][https://www.wikidata.org/wiki/Q36614][https://www.wikidata.org/wiki/Q33424][https://www.wikidata.org/wiki/Q36556] * It is now possible to create functions on Wikifunctions using Wikidata lexemes, through the new [[f:Z6005|Wikidata lexeme type]] launched last week. When you go to one of these functions, the user interface provides a lexeme selector that helps you pick a lexeme from Wikidata that matches the word you type. After hitting run, your selected lexeme is retrieved from Wikidata, transformed into a Wikidata lexeme type, and passed into the selected function. Read more about this in [[f:Special:MyLanguage/Wikifunctions:Status updates/2024-10-17#Function of the Week: select representation from lexeme|the latest Wikifunctions newsletter]]. '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Users of the Wikimedia sites can now format dates more easily in different languages with the new <code dir="ltr">{{[[mw:Special:MyLanguage/Help:Extension:ParserFunctions##timef|#timef]]:…}}</code> parser function. For example, <code dir="ltr"><nowiki>{{#timef:now|date|en}}</nowiki></code> will show as "<bdi lang="en" dir="ltr">{{#timef:now|date|en}}</bdi>". Previously, <code dir="ltr"><nowiki>{{#time:…}}</nowiki></code> could be used to format dates, but this required knowledge of the order of the time and date components and their intervening punctuation. <code dir="ltr">#timef</code> (or <code dir="ltr">#timefl</code> for local time) provides access to the standard date formats that MediaWiki uses in its user interface. This may help to simplify some templates on multi-lingual wikis like Commons and Meta. [https://phabricator.wikimedia.org/T223772][https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:ParserFunctions##timef] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Commons and Meta users can now efficiently [[mw:Special:MyLanguage/Help:Magic words#Localization|retrieve the user's language]] using <code dir="ltr"><nowiki>{{USERLANGUAGE}}</nowiki></code> instead of using <code dir="ltr"><nowiki>{{int:lang}}</nowiki></code>. [https://phabricator.wikimedia.org/T4085] * The [[m:Special:MyLanguage/Product and Technology Advisory Council|Product and Tech Advisory Council]] (PTAC) now has its pilot members with representation across Africa, Asia, Europe, North America and South America. They will work to address the [[Special:MyLanguage/Movement Strategy/Initiatives/Technology Council|Movement Strategy's Technology Council]] initiative of having a co-defined and more resilient technological platform. [https://meta.wikimedia.org/wiki/Movement_Strategy/Initiatives/Technology_Council] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/32|Growth newsletter]] is available. It includes: an upcoming Newcomer Homepage Community Updates module, new Community Configuration options, and details on new projects. * The Wikimedia Foundation is [[mw:Special:MyLanguage/Wikimedia Security Team#CNA Partnership|now an official partner of the CVE program]], which is an international effort to catalog publicly disclosed cybersecurity vulnerabilities. This partnership will allow the Security Team to instantly publish [[w:en:Common Vulnerabilities and Exposures|common vulnerabilities and exposures]] (CVE) records that are affecting MediaWiki core, extensions, and skins, along with any other code the Foundation is a steward of. * The [[m:Special:MyLanguage/Community Wishlist|Community Wishlist]] is now [[m:Community Wishlist/Updates#October 16, 2024: Conversations Made Easier: Machine-Translated Wishes Are Here!|testing machine translations]] for Wishlist content. Volunteers can now read machine-translated versions of wishes and dive into discussions even before translators arrive to translate content. '''Meetings and events''' * 24 October - Wiki Education Speaker Series Webinar - [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/N4XTB4G55BUY3M3PNGUAKQWJ7A4UOPAK/ Open Source Tech: Building the Wiki Education Dashboard], featuring Wikimedia interns and a Web developer in the panel. * 20–22 December 2024 - [[m:Special:MyLanguage/Indic Wikimedia Hackathon Bhubaneswar 2024|Indic Wikimedia Hackathon Bhubaneswar 2024]] in Odisha, India. A hackathon for community members, including developers, designers and content editors, to build technical solutions that improve contributors' experiences. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:53, 21 October 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27634672 --> == Wikipedia translation of the week: 2024-44 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Christmas horror]]'''<br /> <small>''([[:es:Terror navideño]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Christmascarol1843 -- 169.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Christmas horror''' is a fiction genre and film genre that incorporates horror elements into a seasonal setting. It is popular in multiple countries. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:05, 28 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27647428 --> == Tech News: 2024-44 == <section begin="technews-2024-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/44|Translations]] are available. '''Updates for editors''' * Later in November, the Charts extension will be deployed to the test wikis in order to help identify and fix any issue. A security review is underway to then enable deployment to pilot wikis for broader testing. You can read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates#October 2024: Working towards production deployment|the October project update]] and see the [https://en.wikipedia.beta.wmflabs.org/wiki/Charts latest documentation and examples on Beta Wikipedia]. * View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[w:en:PediaPress|Pediapress.com]], an external service that creates books from Wikipedia, can now use [[mw:Special:MyLanguage/Wikimedia Maps|Wikimedia Maps]] to include existing pre-rendered infobox map images in their printed books on Wikipedia. [https://phabricator.wikimedia.org/T375761] '''Updates for technical contributors''' * Wikis can use [[:mw:Special:MyLanguage/Extension:GuidedTour|the Guided Tour extension]] to help newcomers understand how to edit. The Guided Tours extension now works with [[mw:Special:MyLanguage/Manual:Dark mode|dark mode]]. Guided Tour maintainers can check their tours to see that nothing looks odd. They can also set <code>emitTransitionOnStep</code> to <code>true</code> to fix an old bug. They can use the new flag <code>allowAutomaticBack</code> to avoid back-buttons they don't want. [https://phabricator.wikimedia.org/T73927#10241528] * Administrators in the Wikimedia projects who use the [[mw:Special:MyLanguage/Help:Extension:Nuke|Nuke Extension]] will notice that mass deletions done with this tool have the "Nuke" tag. This change will make reviewing and analyzing deletions performed with the tool easier. [https://phabricator.wikimedia.org/T366068] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:57, 28 October 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27668811 --> == Wikipedia translation of the week: 2024-45 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Placenta cake]]'''<br /> <small>''([[:simple:Placenta cake]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Bucharest, Greek pie-maker, 1880.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Placenta cake''' is a dish from ancient Greece and Rome consisting of many dough layers interspersed with a mixture of cheese and honey and flavored with bay leaves, baked and then covered in honey. The dessert is mentioned in classical texts such as the Greek poems of Archestratos and Antiphanes, as well as the De agri cultura of Cato the Elder. It is often seen as the predecessor of baklava and börek. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:16, 4 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27647428 --> == Tech News: 2024-45 == <section begin="technews-2024-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/45|Translations]] are available. '''Updates for editors''' * Stewards can now make [[m:Special:MyLanguage/Global blocks|global account blocks]] cause global [[mw:Special:MyLanguage/Autoblock|autoblocks]]. This will assist stewards in preventing abuse from users who have been globally blocked. This includes preventing globally blocked temporary accounts from exiting their session or switching browsers to make subsequent edits for 24 hours. Previously, temporary accounts could exit their current session or switch browsers to continue editing. This is an anti-abuse tool improvement for the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] project. You can read more about the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|progress on key features for temporary accounts]]. [https://phabricator.wikimedia.org/T368949] * Wikis that have the [[m:Special:MyLanguage/CampaignEvents/Deployment status|CampaignEvents extension enabled]] can now use the [[m:Special:MyLanguage/Campaigns/Foundation Product Team/Event list#October 29, 2024: Collaboration List launched|Collaboration List]] feature. This list provides a new, easy way for contributors to learn about WikiProjects on their wikis. Thanks to the Campaign team for this work that is part of [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2024-2025/Product %26 Technology OKRs#WE KRs|the 2024/25 annual plan]]. If you are interested in bringing the CampaignEvents extension to your wiki, you can [[m:Special:MyLanguage/CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|follow these steps]] or you can reach out to User:Udehb-WMF for help. * The text color for red links will be slightly changed later this week to improve their contrast in light mode. [https://phabricator.wikimedia.org/T370446] * View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, on multilingual wikis, users [[phab:T216368|can now]] hide translations from the WhatLinksHere special page. '''Updates for technical contributors''' * XML [[m:Special:MyLanguage/Data dumps|data dumps]] have been temporarily paused whilst a bug is investigated. [https://lists.wikimedia.org/hyperkitty/list/xmldatadumps-l@lists.wikimedia.org/message/BXWJDPO5QI2QMBCY7HO36ELDCRO6HRM4/] '''In depth''' * Temporary Accounts have been deployed to six wikis; thanks to the Trust and Safety Product team for [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|this work]], you can read about [[phab:T340001|the deployment plans]]. Beginning next week, Temporary Accounts will also be enabled on [[phab:T378336|seven other projects]]. If you are active on these wikis and need help migrating your tools, please reach out to [[m:User:Udehb-WMF|User:Udehb-WMF]] for assistance. * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2024/October|Language and Internationalization newsletter]] is available. It includes: New languages supported in translatewiki or in MediaWiki; New keyboard input methods for some languages; details about recent and upcoming meetings, and more. '''Meetings and events''' * [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2024|MediaWiki Users and Developers Conference Fall 2024]] is happening in Vienna, Austria and online from 4 to 6 November 2024. The conference will feature discussions around the usage of MediaWiki software by and within companies in different industries and will inspire and onboard new users. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:51, 4 November 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27693917 --> == Wikipedia translation of the week: 2024-46 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Trisomy 16]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Chromosome 16.svg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Trisomy 16''' is a chromosomal abnormality in which there are 3 copies of chromosome 16 rather than two. It is the most common trisomy leading to miscarriage and the second most common chromosomal cause of it, closely following X-chromosome monosomy. About 6% of miscarriages have trisomy 16. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:09, 11 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27708700 --> == Tech News: 2024-46 == <section begin="technews-2024-W46"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/46|Translations]] are available. '''Updates for editors''' * On wikis with the [[mw:Special:MyLanguage/Help:Extension:Translate|Translate extension]] enabled, users will notice that the FuzzyBot will now automatically create translated versions of categories used on translated pages. [https://phabricator.wikimedia.org/T285463] * View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the submitted task to use the [[mw:Special:MyLanguage/Extension:SecurePoll|SecurePoll extension]] for English Wikipedia's special [[w:en:Wikipedia:Administrator elections|administrator election]] was resolved on time. [https://phabricator.wikimedia.org/T371454] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] In <code dir="ltr">[[mw:MediaWiki_1.44/wmf.2|1.44.0-wmf-2]]</code>, the logic of Wikibase function <code>getAllStatements</code> changed to behave like <code>getBestStatements</code>. Invoking the function now returns a copy of values which are immutable. [https://phabricator.wikimedia.org/T270851] * [https://en.wikipedia.org/api/rest_v1/ Wikimedia REST API] users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. The API will be rerouting some page content endpoints from RESTbase to the newer [[mw:Special:MyLanguage/API:REST API|MediaWiki REST API]] endpoints. The [[phab:T374683|impacted endpoints]] include getting page/revision metadata and rendered HTML content. These changes will be available on testwiki later this week, with other projects to follow. This change should not affect existing functionality, but active users of the impacted endpoints should verify behavior on testwiki, and raise any concerns on the related [[phab:T374683|Phabricator ticket]]. '''In depth''' * Admins and users of the Wikimedia projects [[mw:Special:MyLanguage/Moderator_Tools/Automoderator#Usage|where Automoderator is enabled]] can now monitor and evaluate important metrics related to Automoderator's actions. [https://superset.wmcloud.org/superset/dashboard/unified-automoderator-activity-dashboard/ This Superset dashboard] calculates and aggregates metrics about Automoderator's behaviour on the projects in which it is deployed. Thanks to the Moderator Tools team for this Dashboard; you can visit [[mw:Special:MyLanguage/Moderator Tools/Automoderator/Unified Activity Dashboard|the documentation page]] for more information about this work. [https://phabricator.wikimedia.org/T369488] '''Meetings and events''' * 21 November 2024 ([[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 8:00 UTC|8:00 UTC]] & [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 16:00 UTC|16:00 UTC]]) - [[c:Commons:WMF support for Commons/Commons community calls|Community call]] with Wikimedia Commons volunteers and stakeholders to help prioritize support efforts for 2025-2026 Fiscal Year. The theme of this call is how content should be organised on Wikimedia Commons. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/46|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:08, 12 November 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27732268 --> == Wikipedia translation of the week: 2024-47 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Boana platanera]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Rana platanera - Boana platanera.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Boana platanera''''', commonly known as the banana tree dwelling frog, is a species of tree frog in the family Hylidae. It is distributed within Venezuela, Colombia, Panama, and Trinidad and Tobago. Boana platanera was described in 2021, and individuals of the species were previously classified as Boana crepitans or Boana xerophylla. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:53, 18 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27735014 --> == Tech News: 2024-47 == <section begin="technews-2024-W47"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/47|Translations]] are available. '''Updates for editors''' * Users of Wikimedia sites will now be warned when they create a [[mw:Special:MyLanguage/Help:Redirects|redirect]] to a page that doesn't exist. This will reduce the number of broken redirects to red links in our projects. [https://phabricator.wikimedia.org/T326057] * View all {{formatnum:42}} community-submitted {{PLURAL:42|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[mw:Special:MyLanguage/Manual:Pywikibot/Overview|Pywikibot]], which automates work on MediaWiki sites, was upgraded to 9.5.0 on Toolforge. [https://phabricator.wikimedia.org/T378676] '''Updates for technical contributors''' * On wikis that use the [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs extension]], pages created or moved by users with the appropriate permissions are marked as flagged automatically. This feature has not been working recently, and changes fixing it should be deployed this week. Thanks to Daniel and Wargo for working on this. [https://phabricator.wikimedia.org/T379218][https://phabricator.wikimedia.org/T368380] '''In depth''' * There is a new [https://diff.wikimedia.org/2024/11/05/say-hi-to-temporary-accounts-easier-collaboration-with-logged-out-editors-with-better-privacy-protection Diff post] about Temporary Accounts, available in more than 15 languages. Read it to learn about what Temporary Accounts are, their impact on different groups of users, and the plan to introduce the change on all wikis. '''Meetings and events''' * Technical volunteers can now register for the [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]], which will take place in Istanbul, Turkey. [https://pretix.eu/wikimedia/hackathon2025/ Application for travel and accommodation scholarships] is open from '''November 12 to December 10 2024'''. The registration for the event will close in mid-April 2025. The Wikimedia Hackathon is an annual gathering that unites the global technical community to collaborate on existing projects and explore new ideas. * Join the [[C:Special:MyLanguage/Commons:WMF%20support%20for%20Commons/Commons%20community%20calls|Wikimedia Commons community calls]] this week to help prioritize support for Commons which will be planned for 2025–2026. The theme will be how content should be organised on Wikimedia Commons. This is an opportunity for volunteers who work on different things to come together and talk about what matters for the future of the project. The calls will take place '''November 21, 2024, [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 8:00 UTC|8:00 UTC]] and [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 16:00 UTC|16:00 UTC]]'''. * A [[mw:Special:MyLanguage/Wikimedia_Language_and_Product_Localization/Community meetings#29 November 2024|Language community meeting]] will take place '''November 29, 16:00 UTC''' to discuss updates and technical problem-solving. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/47|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:01, 19 November 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27806858 --> == Wikipedia translation of the week: 2024-48 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Wang Su-bok]]'''<br /> <small>''([[:fa:وانگ سو بوک]])&#32;([[:ko:왕수복]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Wang Su-bok''' was a singer from North Korea, who was the most popular singer in Japanese-occupied Korea in 1935. She was credited as a ground-breaking female artist, whose work led the way for the modern K-pop phenomenon. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:57, 25 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27846897 --> == Tech News: 2024-48 == <section begin="technews-2024-W48"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/48|Translations]] are available. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new version of the standard wikitext editor-mode [[mw:Special:MyLanguage/Extension:CodeMirror|syntax highlighter]] will be available as a [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] later this week. This brings many new features and bug fixes, including right-to-left support, [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Template folding|template folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and an improved search panel. You can learn more on the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|help page]]. * The 2010 wikitext editor now supports common keyboard shortcuts such <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>B</code></bdi> for bold and <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>I</code></bdi> for italics. A full [[mw:Help:Extension:WikiEditor#Keyboard shortcuts|list of all six shortcuts]] is available. Thanks to SD0001 for this improvement. [https://phabricator.wikimedia.org/T62928] * Starting November 28, Flow/Structured Discussions pages will be automatically archived and set to read-only at the following wikis: <bdi>bswiki</bdi>{{int:comma-separator/en}}<bdi>elwiki</bdi>{{int:comma-separator/en}}<bdi>euwiki</bdi>{{int:comma-separator/en}}<bdi>fawiki</bdi>{{int:comma-separator/en}}<bdi>fiwiki</bdi>{{int:comma-separator/en}}<bdi>frwikiquote</bdi>{{int:comma-separator/en}}<bdi>frwikisource</bdi>{{int:comma-separator/en}}<bdi>frwikiversity</bdi>{{int:comma-separator/en}}<bdi>frwikivoyage</bdi>{{int:comma-separator/en}}<bdi>idwiki</bdi>{{int:comma-separator/en}}<bdi>lvwiki</bdi>{{int:comma-separator/en}}<bdi>plwiki</bdi>{{int:comma-separator/en}}<bdi>ptwiki</bdi>{{int:comma-separator/en}}<bdi>urwiki</bdi>{{int:comma-separator/en}}<bdi>viwikisource</bdi>{{int:comma-separator/en}}<bdi>zhwikisource</bdi>. This is done as part of [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|StructuredDiscussions deprecation work]]. If you need any assistance to archive your page in advance, please contact [[m:User:Trizek (WMF)|Trizek (WMF)]]. * View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a user creating a new AbuseFilter can now only set the filter to "protected" [[phab:T377765|if it includes a protected variable]]. '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]], which can be used in JavaScript, CSS, JSON, and Lua pages, [[phab:T377663|now offers]] live autocompletion. Thanks to SD0001 for this improvement. The feature can be temporarily disabled on a page by pressing <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>,</code></bdi> and un-selecting "<bdi lang="en" dir="ltr">Live Autocompletion</bdi>". * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Tool-maintainers who use the Graphite system for tracking metrics, need to migrate to the newer Prometheus system. They can check [https://grafana.wikimedia.org/d/K6DEOo5Ik/grafana-graphite-datasource-utilization?orgId=1 this dashboard] and the list in the Description of the [[phab:T350592|task T350592]] to see if their tools are listed, and they should claim metrics and dashboards connected to their tools. They can then disable or migrate all existing metrics by following the instructions in the task. The Graphite service will become read-only in April. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/KLUV4IOLRYXPQFWD6WKKJUHMWE77BMSZ/] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The [[mw:Special:MyLanguage/NewPP parser report|New PreProcessor parser performance report]] has been fixed to give an accurate count for the number of Wikibase entities accessed. It had previously been resetting after 400 entities. [https://phabricator.wikimedia.org/T279069] '''Meetings and events''' * A [[mw:Special:MyLanguage/Wikimedia_Language_and_Product_Localization/Community meetings#29 November 2024|Language community meeting]] will take place November 29 at [https://zonestamp.toolforge.org/1732896000 16:00 UTC]. There will be presentations on topics like developing language keyboards, the creation of the Mooré Wikipedia, the language support track at [[m:Wiki Indaba|Wiki Indaba]], and a report from the Wayuunaiki community on their experiences with the Incubator and as a new community over the last 3 years. This meeting will be in English and will also have Spanish interpretation. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/48|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:42, 25 November 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27847039 --> == Wikipedia translation of the week: 2024-49 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Storm Filomena]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Spain’s chilly blanket ESA22415247.jpeg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Storm Filomena''' was an extratropical cyclone in early January 2021 that was most notable for bringing unusually heavy snowfall to parts of Spain, with Madrid recording its heaviest snowfall in over a century, and with Portugal being hit less severely. The eighth named storm of the 2020–21 European windstorm season, Filomena formed over the Atlantic Ocean close to the Canary Islands on 7 January, subsequently taking a slow track north-eastwards towards the Iberian Peninsula and then eastwards across the Mediterranean Sea. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:48, 2 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27846897 --> == Tech News: 2024-49 == <section begin="technews-2024-W49"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/49|Translations]] are available. '''Updates for editors''' * Two new parser functions were added this week. The <code dir="ltr"><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic words#interwikilink|#interwikilink]]<nowiki>}}</nowiki></code> function adds an [[mw:Special:MyLanguage/Help:Links#Interwiki links|interwiki link]] and the <code dir="ltr"><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic words#interlanguagelink|#interlanguagelink]]<nowiki>}}</nowiki></code> function adds an [[mw:Special:MyLanguage/Help:Links#Interlanguage links|interlanguage link]]. These parser functions are useful on wikis where namespaces conflict with interwiki prefixes. For example, links beginning with <bdi lang="zxx" dir="ltr"><code>MOS:</code></bdi> on English Wikipedia [[phab:T363538|conflict with the <code>mos</code> language code prefix of Mooré Wikipedia]]. * Starting this week, Wikimedia wikis no longer support connections using old RSA-based HTTPS certificates, specifically rsa-2048. This change is to improve security for all users. Some older, unsupported browser or smartphone devices will be unable to connect; Instead, they will display a connectivity error. See the [[wikitech:HTTPS/Browser_Recommendations|HTTPS Browser Recommendations page]] for more-detailed information. All modern operating systems and browsers are always able to reach Wikimedia projects. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/CTYEHVNSXUD3NFAAMG3BLZVTVQWJXJAH/] * Starting December 16, Flow/Structured Discussions pages will be automatically archived and set to read-only at the following wikis: <bdi>arwiki</bdi>{{int:comma-separator/en}}<bdi>cawiki</bdi>{{int:comma-separator/en}}<bdi>frwiki</bdi>{{int:comma-separator/en}}<bdi>mediawikiwiki</bdi>{{int:comma-separator/en}}<bdi>orwiki</bdi>{{int:comma-separator/en}}<bdi>wawiki</bdi>{{int:comma-separator/en}}<bdi>wawiktionary</bdi>{{int:comma-separator/en}}<bdi>wikidatawiki</bdi>{{int:comma-separator/en}}<bdi>zhwiki</bdi>. This is done as part of [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|StructuredDiscussions deprecation work]]. If you need any assistance to archive your page in advance, please contact [[m:User:Trizek (WMF)|Trizek (WMF)]]. [https://phabricator.wikimedia.org/T380910] * This month the Chart extension was deployed to production and is now available on Commons and Testwiki. With the security review complete, pilot wiki deployment is expected to start in the first week of December. You can see a working version [[testwiki:Charts|on Testwiki]] and read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|the November project update]] for more details. * View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug with the "Download as PDF" system was fixed. [https://phabricator.wikimedia.org/T376438] '''Updates for technical contributors''' * In late February, temporary accounts will be rolled out on at least 10 large wikis. This deployment will have a significant effect on the community-maintained code. This is about Toolforge tools, bots, gadgets, and user scripts that use IP address data or that are available for logged-out users. The Trust and Safety Product team wants to identify this code, monitor it, and assist in updating it ahead of the deployment to minimize disruption to workflows. The team asks technical editors and volunteer developers to help identify such tools by adding them to [[mw:Trust and Safety Product/Temporary Accounts/For developers/Impacted tools|this list]]. In addition, review the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|updated documentation]] to learn how to adjust the tools. Join the discussions on the [[mw:Talk:Trust and Safety Product/Temporary Accounts|project talk page]] or in the [[discord:channels/221049808784326656/1227616742340034722|dedicated thread]] on the [[w:Wikipedia:Discord|Wikimedia Community Discord server (in English)]] for support and to share feedback. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/49|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:23, 2 December 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27873992 --> == Wikipedia translation of the week: 2024-50 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Syrian literature]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Poem about Baybars page 1 from Hakawati book.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Syrian literature''' is modern fiction written or orally performed in Arabic by writers from Syria since the independence of the Syrian Arab Republic in 1946. It is part of the historically and geographically wider Arabic literature. The modern states of Syria, Lebanon, Jordan, Israel as well as the Palestinian autonomous areas only came into being in the mid-20th century. Therefore, Syrian literature has since been referred to by literary scholarship as the national literature of the Syrian Arab Republic, as well as the works created in Arabic by Syrian writers in the diaspora. This literature has been influenced by the country's political history, the literature of other Arabic-speaking countries and, especially in its early days, by French literature. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:59, 9 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27846897 --> == Tech News: 2024-50 == <section begin="technews-2024-W50"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/50|Translations]] are available. '''Weekly highlight''' * Technical documentation contributors can find updated resources, and new ways to connect with each other and the Wikimedia Technical Documentation Team, at the [[mw:Special:MyLanguage/Documentation|Documentation hub]] on MediaWiki.org. This page links to: resources for writing and improving documentation, a new <bdi lang="zxx" dir="ltr">#wikimedia-techdocs</bdi> IRC channel on libera.chat, a listing of past and upcoming documentation events, and ways to request a documentation consultation or review. If you have any feedback or ideas for improvements to the documentation ecosystem, please [[mw:Wikimedia Technical Documentation Team#Contact us|contact the Technical Documentation Team]]. '''Updates for editors''' [[File:Edit Check on Desktop.png|thumb|Layout change for the Edit Check feature]] * Later this week, [[mw:Special:MyLanguage/Edit check|Edit Check]] will be relocated to a sidebar on desktop. Edit check is the feature for new editors to help them follow policies and guidelines. This layout change creates space to present people with [[mw:Edit check#1 November 2024|new Checks]] that appear ''while'' they are typing. The [[mw:Special:MyLanguage/Edit check#Reference Check A/B Test|initial results]] show newcomers encountering Edit Check are 2.2 times more likely to publish a new content edit that includes a reference and is not reverted. * The Chart extension, which enables editors to create data visualizations, was successfully made available on MediaWiki.org and three pilot wikis (Italian, Swedish, and Hebrew Wikipedias). You can see a working examples [[testwiki:Charts|on Testwiki]] and read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|the November project update]] for more details. * Translators in wikis where the [[mw:Special:MyLanguage/Content translation/Section translation#Try the tool|mobile experience of Content Translation is available]], can now discover articles in Wikiproject campaigns of their interest from the "[https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&campaign=specialcx&filter-type=automatic&filter-id=collections&active-list=suggestions&from=es&to=en All collection]" category in the articles suggestion feature. Wikiproject Campaign organizers can use this feature, to help translators to discover articles of interest, by adding the <code dir=ltr><nowiki><page-collection> </page-collection></nowiki></code> tag to their campaign article list page on Meta-wiki. This will make those articles discoverable in the Content Translation tool. For more detailed information on how to use the tool and tag, please refer to [[mw:Special:MyLanguage/Translation suggestions: Topic-based & Community-defined lists/How to use the features|the step-by-step guide]]. [https://phabricator.wikimedia.org/T378958] * The [[mw:Special:MyLanguage/Extension:Nuke|Nuke]] feature, which enables administrators to mass delete pages, now has a [[phab:T376379#10310998|multiselect filter for namespace selection]]. This enables users to select multiple specific namespaces, instead of only one or all, when fetching pages for deletion. * The Nuke feature also now [[phab:T364225#10371365|provides links]] to the userpage of the user whose pages were deleted, and to the pages which were not selected for deletion, after page deletions are queued. This enables easier follow-up admin-actions. Thanks to Chlod and the Moderator Tools team for both of these improvements. [https://phabricator.wikimedia.org/T364225#10371365] * The Editing Team is working on making it easier to populate citations from archive.org using the [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|Citoid]] tool, the auto-filled citation generator. They are asking communities to add two parameters preemptively, <code dir=ltr>archiveUrl</code> and <code dir=ltr>archiveDate</code>, within the TemplateData for each citation template using Citoid. You can see an [https://en.wikipedia.org/w/index.php?title=Template%3ACite_web%2Fdoc&diff=1261320172&oldid=1260788022 example of a change in a template], and a [https://global-search.toolforge.org/?namespaces=10&q=%5C%22citoid%5C%22%3A%20%5C%7B&regex=1&title= list of all relevant templates]. [https://phabricator.wikimedia.org/T374831] * One new wiki has been created: a {{int:project-localized-name-group-wikivoyage}} in [[d:Q9240|Indonesian]] ([[voy:id:|<code>voy:id:</code>]]) [https://phabricator.wikimedia.org/T380726] * Last week, all wikis had problems serving pages to logged-in users and some logged-out users for 30–45 minutes. This was caused by a database problem, and investigation is ongoing. [https://www.wikimediastatus.net/incidents/3g2ckc7bp6l9] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug in the [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add Link]] feature has been fixed. Previously, the list of sections which are excluded from Add Link was partially ignored in certain cases. [https://phabricator.wikimedia.org/T380455][https://phabricator.wikimedia.org/T380329] '''Updates for technical contributors''' * [[mw:Special:MyLanguage/Codex|Codex]], the design system for Wikimedia, now has an early-stage [[gitiles:design/codex-php|implementation in PHP]]. It is available for general use in MediaWiki extensions and Toolforge apps through [https://packagist.org/packages/wikimedia/codex Composer], with use in MediaWiki core coming soon. More information is available in [[wmdoc:design-codex-php/main/index.html|the documentation]]. Thanks to Doğu for the inspiration and many contributions to the library. [https://phabricator.wikimedia.org/T379662] * [https://en.wikipedia.org/api/rest_v1/ Wikimedia REST API] users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. On December 4, the MediaWiki Interfaces team began rerouting page/revision metadata and rendered HTML content endpoints on [[testwiki:|testwiki]] from RESTbase to comparable MediaWiki REST API endpoints. The team encourages active users of these endpoints to verify their tool's behavior on testwiki and raise any concerns on the related [[phab:T374683|Phabricator ticket]] before the end of the year, as they intend to roll out the same change across all Wikimedia projects in early January. These changes are part of the work to replace the outdated [[mw:RESTBase/deprecation|RESTBase]] system. * The [https://wikimediafoundation.limesurvey.net/986172 2024 Developer Satisfaction Survey] is seeking the opinions of the Wikimedia developer community. Please take the survey if you have any role in developing software for the Wikimedia ecosystem. The survey is open until 3 January 2025, and has an associated [[foundation:Legal:Developer Satisfaction Survey 2024 Privacy Statement|privacy statement]]. * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Meetings and events''' * The next meeting in the series of [[c:Commons:WMF support for Commons/Commons community calls|Wikimedia Foundation discussions with the Wikimedia Commons community]] will take place on [[m:Event:Commons community discussion - 12 December 2024 08:00 UTC|December 12 at 8:00 UTC]] and [[m:Event:Commons community discussion - 12_December 2024 16:00 UTC|at 16:00 UTC]]. The topic of this call is new media and new contributors. Contributors from all wikis are welcome to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/50|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:16, 9 December 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27919424 --> == Wikipedia translation of the week: 2024-51 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Mars ocean theory]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:AncientMars.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Mars ocean theory''' states that nearly a third of the surface of Mars was covered by an ocean of liquid water early in the planet's geologic history. This primordial ocean, dubbed Paleo-Ocean or Oceanus Borealis (/oʊˈsiːənəs ˌbɒriˈælɪs/ oh-SEE-ə-nəs BORR-ee-AL-iss), would have filled the basin Vastitas Borealis in the northern hemisphere, a region that lies 4–5 km (2.5–3 miles) below the mean planetary elevation, at a time period of approximately 4.1–3.8 billion years ago. Evidence for this ocean includes geographic features resembling ancient shorelines, and the chemical properties of the Martian soil and atmosphere <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:44, 16 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27933909 --> == Tech News: 2024-51 == <section begin="technews-2024-W51"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/51|Translations]] are available. '''Weekly highlight''' * Interested in improving event management on your home wiki? The [[m:Special:MyLanguage/CampaignEvents|CampaignEvents extension]] offers organizers features like event registration management, event/wikiproject promotion, finding potential participants, and more - all directly on-wiki. If you are an organizer or think your community would benefit from this extension, start a discussion to enable it on your wiki today. To learn more about how to enable this extension on your wiki, visit the [[m:CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|deployment status page]]. '''Updates for editors''' * Users of the iOS Wikipedia App in Italy and Mexico on the Italian, Spanish, and English Wikipedias, can see a [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Personalized Wikipedia Year in Review|personalized Year in Review]] with insights based on their reading and editing history. * Users of the Android Wikipedia App in Sub-Saharan Africa and South Asia can see the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Rabbit Holes|Rabbit Holes]] feature. This feature shows a suggested search term in the Search bar based on the current article being viewed, and a suggested reading list generated from the user’s last two visited articles. * The [[m:Special:MyLanguage/Global reminder bot|global reminder bot]] is now active and running on nearly 800 wikis. This service reminds most users holding temporary rights when they are about to expire, so that they can renew should they want to. See [[m:Global reminder bot/Technical details|the technical details page]] for more information. * The next issue of Tech News will be sent out on 13 January 2025 because of the end of year holidays. Thank you to all of the translators, and people who submitted content or feedback, this year. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was [[phab:T374988|fixed]] in the Android Wikipedia App which had caused translatable SVG images to show the wrong language when they were tapped. '''Updates for technical contributors''' * There is no new MediaWiki version next week. The next deployments will start on 14 January. [https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar/2025] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/51|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:25, 16 December 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27942374 --> == Wikipedia translation of the week: 2024-52 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2023 Slovenia floods]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Sava v Tacnu 4. avgusta ob 16h.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> In August 2023, major floods occurred in large part of Slovenia and neighbouring areas of Austria and Croatia due to heavy rain. Amongst others, the level of rivers Sava, Mur and Drava was exceptionally high. Several settlements and transport links in Slovene Littoral, Upper Carniola and Slovenian Carinthia were flooded. Due to the amount of rain, the streams in Idrija, Cerkno and Škofja Loka Hills overflowed. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:55, 23 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27933909 --> == Wikipedia translation of the week: 2025-01 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Uganda Railways Corporation]]'''<br /> <small>''([[:de:Schienenverkehr in Uganda]])&#32;([[:no:Uganda Railways Corporation]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:9620 mit Güterzug.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Uganda Railways Corporation''' (URC) is the parastatal railway of Uganda. It was formed after the breakup of the East African Railways Corporation (EARC) in 1977 when it took over the Ugandan part of the East African railways. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:37, 30 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28019313 --> == Wikipedia translation of the week: 2025-02 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Internment of Japanese Canadians]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Japanese road camp.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> From 1942 to 1949, Canada forcibly relocated and incarcerated over 22,000 Japanese Canadians—comprising over 90% of the total Japanese Canadian population—from British Columbia in the name of "national security". The majority were Canadian citizens by birth and were targeted based on their ancestry. This decision followed the events of the Japanese Empire's war in the Pacific against the Western Allies, such as the invasion of Hong Kong, the attack on Pearl Harbor in Hawaii, and the Fall of Singapore which led to the Canadian declaration of war on Japan during World War II. Similar to the actions taken against Japanese Americans in neighbouring United States, this forced relocation subjected many Japanese Canadians to government-enforced curfews and interrogations, job and property losses, and forced repatriation to Japan <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:56, 6 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28070038 --> == Wikipedia translation of the week: 2025-03 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Christmas seals]]'''<br /> <small>''([[:no:Julemerke]])&#32;([[:ru:Рождественская виньетка]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:1915 US Christmas Seal.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Christmas seals''' are adhesive labels that are similar in appearance to postage stamps that are sold then affixed to mail during the Christmas season to raise funds and awareness for charitable programs. Christmas seals have become particularly associated with lung diseases such as tuberculosis, and with child welfare in general. They were first issued in Denmark beginning in 1904, with Sweden and Iceland following with issues that same year. Thereafter the use of Christmas seals proved to be popular and spread quickly around the world, with 130 countries producing their own issues. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:24, 13 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28086717 --> == Tech News: 2025-03 == <section begin="technews-2025-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/03|Translations]] are available. '''Weekly highlight''' * The Single User Login system is being updated over the next few months. This is the system which allows users to fill out the login form on one Wikimedia site and get logged in on all others at the same time. It needs to be updated because of the ways that browsers are increasingly restricting cross-domain cookies. To accommodate these restrictions, login and account creation pages will move to a central domain, but it will still appear to the user as if they are on the originating wiki. The updated code will be enabled this week for users on test wikis. This change is planned to roll out to all users during February and March. See [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3#Deployment|the SUL3 project page]] for more details and a timeline. '''Updates for editors''' * On wikis with [[mw:Special:MyLanguage/Extension:PageAssessments|PageAssessments]] installed, you can now [[mw:Special:MyLanguage/Extension:PageAssessments#Search|filter search results]] to pages in a given WikiProject by using the <code dir=ltr>inproject:</code> keyword. (These wikis: {{int:project-localized-name-arwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwikivoyage/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-huwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zhwiki/en}}) [https://phabricator.wikimedia.org/T378868] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q34129|Tigre]] ([[w:tig:|<code>w:tig:</code>]]) [https://phabricator.wikimedia.org/T381377] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:35}} community-submitted {{PLURAL:35|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a bug with updating a user's edit-count after making a rollback edit, which is now fixed. [https://phabricator.wikimedia.org/T382592] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia REST API users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. Starting the week of January 13, we will begin rerouting [[phab:T374683|some page content endpoints]] from RESTbase to the newer MediaWiki REST API endpoints for all wiki projects. This change was previously available on testwiki and should not affect existing functionality, but active users of the impacted endpoints may raise issues directly to the [[phab:project/view/6931/|MediaWiki Interfaces Team]] in Phabricator if they arise. * Toolforge tool maintainers can now share their feedback on Toolforge UI, an initiative to provide a web platform that allows creating and managing Toolforge tools through a graphic interface, in addition to existing command-line workflows. This project aims to streamline active maintainers’ tasks, as well as make registration and deployment processes more accessible for new tool creators. The initiative is still at a very early stage, and the Cloud Services team is in the process of collecting feedback from the Toolforge community to help shape the solution to their needs. [[wikitech:Wikimedia Cloud Services team/EnhancementProposals/Toolforge UI|Read more and share your thoughts about Toolforge UI]]. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] For tool and library developers who use the OAuth system: The identity endpoint used for [[mw:Special:MyLanguage/OAuth/For Developers#Identifying the user|OAuth 1]] and [[mw:Special:MyLanguage/OAuth/For Developers#Identifying the user 2|OAuth 2]] returned a JSON object with an integer in its <code>sub</code> field, which was incorrect (the field must always be a string). This has been fixed; the fix will be deployed to Wikimedia wikis on the week of January 13. [https://phabricator.wikimedia.org/T382139] * Many wikis currently use [[:mw:Parsoid/Parser Unification/Cite CSS|Cite CSS]] to render custom footnote markers in Parsoid output. Starting January 20 these rules will be disabled, but the developers ask you to ''not'' clean up your <bdi lang="en" dir="ltr">[[MediaWiki:Common.css]]</bdi> until February 20 to avoid issues during the migration. Your wikis might experience some small changes to footnote markers in Visual Editor and when using experimental Parsoid read mode, but if there are changes these are expected to bring the rendering in line with the legacy parser output. [https://phabricator.wikimedia.org/T370027] '''Meetings and events''' * The next meeting in the series of [[c:Special:MyLanguage/Commons:WMF support for Commons/Commons community calls|Wikimedia Foundation Community Conversations with the Wikimedia Commons community]] will take place on [[m:Special:MyLanguage/Event:Commons community discussion - 15 January 2025 08:00 UTC|January 15 at 8:00 UTC]] and [[m:Special:MyLanguage/Event:Commons community discussion - 15 January 2025 16:00 UTC|at 16:00 UTC]]. The topic of this call is defining the priorities in tool investment for Commons. Contributors from all wikis, especially users who are maintaining tools for Commons, are welcome to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:42, 14 January 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28048614 --> == Wikipedia translation of the week: 2025-04 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2010 Nagorno-Karabakh clashes]]'''<br /> <small>''([[:it:Scontri del Nagorno Karabakh del 2010]])&#32;([[:tr:2010 Dağlık Karabağ çatışmaları]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''2010 Nahorno karabakh war''' were a series of exchanges of gunfire that took place on February 18 on the line of contact dividing Azerbaijani and the Karabakh Armenian military forces. Azerbaijan accused the Armenian forces of firing on the Azerbaijani positions near Tap Qaraqoyunlu, Qızıloba, Qapanlı, Yusifcanlı and Cavahirli villages, as well as in uplands of Agdam Rayon with small arms fire including snipers. As a result, three Azerbaijani soldiers were killed and one wounded. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:20, 20 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28099770 --> == Tech News: 2025-04 == <section begin="technews-2025-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/04|Translations]] are available. '''Updates for editors''' * Administrators can mass-delete multiple pages created by a user or IP address using [[mw:Special:MyLanguage/Extension:Nuke|Extension:Nuke]]. It previously only allowed deletion of pages created in the last 30 days. It can now delete pages from the last 90 days, provided it is targeting a specific user or IP address. [https://phabricator.wikimedia.org/T380846] * On [[phab:P72148|wikis that use]] the [[mw:Special:MyLanguage/Help:Patrolled edits|Patrolled edits]] feature, when the rollback feature is used to revert an unpatrolled page revision, that revision will now be marked as "manually patrolled" instead of "autopatrolled", which is more accurate. Some editors that use [[mw:Special:MyLanguage/Help:New filters for edit review/Filtering|filters]] on Recent Changes may need to update their filter settings. [https://phabricator.wikimedia.org/T302140] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Visual Editor's "Insert link" feature did not always suggest existing pages properly when an editor started typing, which has now been [[phab:T383497|fixed]]. '''Updates for technical contributors''' * The Structured Discussion extension (also known as Flow) is being progressively removed from the wikis. This extension is unmaintained and causes issues. It will be replaced by [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]], which is used on any regular talk page. [[mw:Special:MyLanguage/Structured Discussions/Deprecation#Deprecation timeline|The last group of wikis]] ({{int:project-localized-name-cawikiquote/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiwikimedia/en}}{{int:comma-separator/en}}{{int:project-localized-name-gomwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kabwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwikibooks/en}}{{int:comma-separator/en}}{{int:project-localized-name-sewikimedia/en}}) will soon be contacted. If you have questions about this process, please ping [[m:User:Trizek (WMF)|Trizek (WMF)]] at your wiki. [https://phabricator.wikimedia.org/T380912] * The latest quarterly [[mw:Technical_Community_Newsletter/2025/January|Technical Community Newsletter]] is now available. This edition includes: updates about services from the Data Platform Engineering teams, information about Codex from the Design System team, and more. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:37, 21 January 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28129769 --> == Wikipedia translation of the week: 2025-05 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Jinnah's birthday]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Yorkstatue.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Jinnah's Birthday''', officially Quaid-e-Azam Day and sometimes known as Quaid Day, is a public holiday in Pakistan observed annually on 25 December to celebrate the birthday of the founder of Pakistan, Muhammad Ali Jinnah, known as Quaid-i-Azam ("Great Leader"). A major holiday, commemorations for Jinnah began during his lifetime in 1942, and have continued ever since. The event is primarily observed by the government and the citizens of the country where the national flag is hoisted at major architectural structures such as private and public buildings, particularly at the top of Quaid-e-Azam House in Karachi. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:30, 27 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28156501 --> == Tech News: 2025-05 == <section begin="technews-2025-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/05|Translations]] are available. '''Weekly highlight''' * Patrollers and admins - what information or context about edits or users could help you to make patroller or admin decisions more quickly or easily? The Wikimedia Foundation wants to hear from you to help guide its upcoming annual plan. Please consider sharing your thoughts on this and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|13 other questions]] to shape the technical direction for next year. '''Updates for editors''' * iOS Wikipedia App users worldwide can now access a [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Personalized Wikipedia Year in Review/How your data is used|personalized Year in Review]] feature, which provides insights based on their reading and editing history on Wikipedia. This project is part of a broader effort to help welcome new readers as they discover and interact with encyclopedic content. * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Edit patrollers now have a new feature available that can highlight potentially problematic new pages. When a page is created with the same title as a page which was previously deleted, a tag ('Recreated') will now be added, which users can filter for in [[{{#special:RecentChanges}}]] and [[{{#special:NewPages}}]]. [https://phabricator.wikimedia.org/T56145] * Later this week, there will be a new warning for editors if they attempt to create a redirect that links to another redirect (a [[mw:Special:MyLanguage/Help:Redirects#Double redirects|double redirect]]). The feature will recommend that they link directly to the second redirect's target page. Thanks to the user SomeRandomDeveloper for this improvement. [https://phabricator.wikimedia.org/T326056] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia wikis allow [[w:en:WebAuthn|WebAuthn]]-based second factor checks (such as hardware tokens) during login, but the feature is [[m:Community Wishlist Survey 2023/Miscellaneous/Fix security key (WebAuthn) support|fragile]] and has very few users. The MediaWiki Platform team is temporarily disabling adding new WebAuthn keys, to avoid interfering with the rollout of [[mw:MediaWiki Platform Team/SUL3|SUL3]] (single user login version 3). Existing keys are unaffected. [https://phabricator.wikimedia.org/T378402] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * For developers that use the [[wikitech:Data Platform/Data Lake/Edits/MediaWiki history dumps|MediaWiki History dumps]]: The Data Platform Engineering team has added a couple of new fields to these dumps, to support the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] initiative. If you maintain software that reads those dumps, please review your code and the updated documentation, since the order of the fields in the row will change. There will also be one field rename: in the <bdi lang="zxx" dir="ltr"><code>mediawiki_user_history</code></bdi> dump, the <bdi lang="zxx" dir="ltr"><code>anonymous</code></bdi> field will be renamed to <bdi lang="zxx" dir="ltr"><code>is_anonymous</code></bdi>. The changes will take effect with the next release of the dumps in February. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LKMFDS62TXGDN6L56F4ABXYLN7CSCQDI/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:15, 27 January 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28149374 --> == Wikipedia translation of the week: 2025-06 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:French conquest of Corsica]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Bataille de Ponte Novu.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''French conquest of Corsica''' was a successful expedition by French forces of the Kingdom of France under Comte de Vaux, against Corsican forces under Pasquale Paoli of the Corsican Republic. The expedition was launched in May 1768, in the aftermath of the Seven Years' War. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:20, 3 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28200320 --> == Tech News: 2025-06 == <section begin="technews-2025-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/06|Translations]] are available. '''Updates for editors''' * Editors who use the "Special characters" editing-toolbar menu can now see the 32 special characters you have used most recently, across editing sessions on that wiki. This change should help make it easier to find the characters you use most often. The feature is in both the 2010 wikitext editor and VisualEditor. [https://phabricator.wikimedia.org/T110722] * Editors using the 2010 wikitext editor can now create sublists with correct indentation by selecting the line(s) you want to indent and then clicking the toolbar buttons.[https://phabricator.wikimedia.org/T380438] You can now also insert <code><nowiki><code></nowiki></code> tags using a new toolbar button.[https://phabricator.wikimedia.org/T383010] Thanks to user stjn for these improvements. * Help is needed to ensure the [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|citation generator]] works properly on each wiki. ** (1) Administrators should update the local versions of the page <code dir=ltr>MediaWiki:Citoid-template-type-map.json</code> to include entries for <code dir=ltr>preprint</code>, <code dir=ltr>standard</code>, and <code dir=ltr>dataset</code>; Here are example diffs to replicate [https://en.wikipedia.org/w/index.php?title=MediaWiki%3ACitoid-template-type-map.json&diff=1189164774&oldid=1165783565 for 'preprint'] and [https://en.wikipedia.org/w/index.php?title=MediaWiki%3ACitoid-template-type-map.json&diff=1270832208&oldid=1270828390 for 'standard' and 'dataset']. ** (2.1) If the citoid map in the citation template used for these types of references is missing, [[mediawikiwiki:Citoid/Enabling Citoid on your wiki#Step 2.a: Create a 'citoid' maps value for each citation template|one will need to be added]]. (2.2) If the citoid map does exist, the TemplateData will need to be updated to include new field names. Here are example updates [https://en.wikipedia.org/w/index.php?title=Template%3ACitation%2Fdoc&diff=1270829051&oldid=1262470053 for 'preprint'] and [https://en.wikipedia.org/w/index.php?title=Template%3ACitation%2Fdoc&diff=1270831369&oldid=1270829480 for 'standard' and 'dataset']. The new fields that may need to be supported are <code dir=ltr>archiveID</code>, <code dir=ltr>identifier</code>, <code dir=ltr>repository</code>, <code dir=ltr>organization</code>, <code dir=ltr>repositoryLocation</code>, <code dir=ltr>committee</code>, and <code dir=ltr>versionNumber</code>. [https://phabricator.wikimedia.org/T383666] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q15637215|Central Kanuri]] ([[w:knc:|<code>w:knc:</code>]]) [https://phabricator.wikimedia.org/T385181] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[mediawikiwiki:Special:MyLanguage/Help:Extension:Wikisource/Wikimedia OCR|OCR (optical character recognition) tool]] used for Wikisource now supports a new language, Church Slavonic. [https://phabricator.wikimedia.org/T384782] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:09, 4 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28203495 --> == Wikipedia translation of the week: 2025-07 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Assassination of Spencer Perceval]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:PercevalShooting.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> On 11 May 1812, at about 5:15 pm, Spencer Perceval, the prime minister of the United Kingdom of Great Britain and Ireland, was shot dead in the lobby of the House of Commons by John Bellingham, a Liverpool merchant with a grievance against the government. Bellingham was detained; four days after the murder, he was tried, convicted and sentenced to death. He was hanged at Newgate Prison on 18 May, one week after the assassination and one month before the start of the War of 1812. Perceval remains the sole British prime minister to have been assassinated. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 10 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28200320 --> == Tech News: 2025-07 == <section begin="technews-2025-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/07|Translations]] are available. '''Weekly highlight''' * The Product and Technology Advisory Council (PTAC) has published [[m:Special:MyLanguage/Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback|a draft of their recommendations]] for the Wikimedia Foundation's Product and Technology department. They have recommended focusing on [[m:Special:MyLanguage/Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback/Mobile experiences|mobile experiences]], particularly contributions. They request community [[m:Talk:Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback|feedback at the talk page]] by 21 February. '''Updates for editors''' * The "Special pages" portlet link will be moved from the "Toolbox" into the "Navigation" section of the main menu's sidebar by default. This change is because the Toolbox is intended for tools relating to the current page, not tools relating to the site, so the link will be more logically and consistently located. To modify this behavior and update CSS styling, administrators can follow the instructions at [[phab:T385346|T385346]]. [https://phabricator.wikimedia.org/T333211] * As part of this year's work around improving the ways readers discover content on the wikis, the Web team will be running an experiment with a small number of readers that displays some suggestions for related or interesting articles within the search bar. Please check out [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments#Experiment 1: Display article recommendations in more prominent locations, search|the project page]] for more information. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Template editors who use TemplateStyles can now customize output for users with specific accessibility needs by using accessibility related media queries (<code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion prefers-reduced-motion]</code>, <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency prefers-reduced-transparency]</code>, <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast prefers-contrast]</code>, and <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors forced-colors]</code>). Thanks to user Bawolff for these improvements. [https://phabricator.wikimedia.org/T384175] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:22}} community-submitted {{PLURAL:22|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the global blocks log will now be shown directly on the {{#special:CentralAuth}} page, similarly to global locks, to simplify the workflows for stewards. [https://phabricator.wikimedia.org/T377024] '''Updates for technical contributors''' * Wikidata [[d:Special:MyLanguage/Help:Default values for labels and aliases|now supports a special language as a "default for all languages"]] for labels and aliases. This is to avoid excessive duplication of the same information across many languages. If your Wikidata queries use labels, you may need to update them as some existing labels are getting removed. [https://phabricator.wikimedia.org/T312511] * The function <code dir="ltr">getDescription</code> was invoked on every Wiki page read and accounts for ~2.5% of a page's total load time. The calculated value will now be cached, reducing load on Wikimedia servers. [https://phabricator.wikimedia.org/T383660] * As part of the RESTBase deprecation [[mw:RESTBase/deprecation|effort]], the <code dir="ltr">/page/related</code> endpoint has been blocked as of February 6, 2025, and will be removed soon. This timeline was chosen to align with the deprecation schedules for older Android and iOS versions. The stable alternative is the "<code dir="ltr">morelike</code>" action API in MediaWiki, and [[gerrit:c/mediawiki/services/mobileapps/+/982154/13/pagelib/src/transform/FooterReadMore.js|a migration example]] is available. The MediaWiki Interfaces team [[phab:T376297|can be contacted]] for any questions. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/GFC2IJO7L4BWO3YTM7C5HF4MCCBE2RJ2/] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/January|Language and Internationalization newsletter]] is available. It includes: Updates about the "Contribute" menu; details on some of the newest language editions of Wikipedia; details on new languages supported by the MediaWiki interface; updates on the Community-defined lists feature; and more. * The latest [[mw:Extension:Chart/Project/Updates#January 2025: Better visibility into charts and tabular data usage|Chart Project newsletter]] is available. It includes updates on the progress towards bringing better visibility into global charts usage and support for categorizing pages in the Data namespace on Commons. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:12, 11 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28231022 --> == Wikipedia translation of the week: 2025-08 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2010 Malagasy constitutional referendum]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A constitutional referendum was held in Madagascar on 17 November 2010, in which voters approved a proposal for the state's fourth Constitution. The Malagasy people were asked to answer "Yes" or "No" to the proposed new constitution, which was considered to help consolidate Andry Rajoelina's grip on power. At the time of the referendum, Rajoelina headed the governing Highest Transitional Authority (HAT), an interim junta established following the military-backed coup d'état against then President Marc Ravalomanana in March 2009. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:21, 17 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28245290 --> == Tech News: 2025-08 == <section begin="technews-2025-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/08|Translations]] are available. '''Weekly highlight''' * Communities using growth tools can now showcase one event on the <code>{{#special:Homepage}}</code> for newcomers. This feature will help newcomers to be informed about editing activities they can participate in. Administrators can create a new event to showcase at <code>{{#special:CommunityConfiguration}}</code>. To learn more about this feature, please read [[diffblog:2025/02/12/community-updates-module-connecting-newcomers-to-your-initiatives/|the Diff post]], have a look [[mw:Special:MyLanguage/Help:Growth/Tools/Community updates module|at the documentation]], or contact [[mw:Talk:Growth|the Growth team]]. '''Updates for editors''' [[File:Page Frame Features on desktop.png|thumb|Highlighted talk pages improvements]] * Starting next week, talk pages at these wikis – {{int:project-localized-name-eswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jawiki/en}} – will get [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|a new design]]. This change was extensively tested as a Beta feature and is the last step of [[mw:Special:MyLanguage/Talk pages project/Feature summary|talk pages improvements]]. [https://phabricator.wikimedia.org/T379102] * You can now navigate to view a redirect page directly from its action pages, such as the history page. Previously, you were forced to first go to the redirect target. This change should help editors who work with redirects a lot. Thanks to user stjn for this improvement. [https://phabricator.wikimedia.org/T5324] * When a Cite reference is reused many times, wikis currently show either numbers like "1.23" or localized alphabetic markers like "a b c" in the reference list. Previously, if there were so many reuses that the alphabetic markers were all used, [[MediaWiki:Cite error references no backlink label|an error message]] was displayed. As part of the work to [[phab:T383036|modernize Cite customization]], these errors will no longer be shown and instead the backlinks will fall back to showing numeric markers like "1.23" once the alphabetic markers are all used. * The log entries for each change to an editor's user-groups are now clearer by specifying exactly what has changed, instead of the plain before and after listings. Translators can [[phab:T369466|help to update the localized versions]]. Thanks to user Msz2001 for these improvements. * A new filter has been added to the [[{{#special:Nuke}}]] tool, which allows administrators to mass delete pages, to enable users to filter for pages in a range of page sizes (in bytes). This allows, for example, deleting pages only of a certain size or below. [https://phabricator.wikimedia.org/T378488] * Non-administrators can now check which pages are able to be deleted using the [[{{#special:Nuke}}]] tool. Thanks to user MolecularPilot for this and the previous improvements. [https://phabricator.wikimedia.org/T376378] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed in the configuration for the AV1 video file format, which enables these files to play again. [https://phabricator.wikimedia.org/T382193] '''Updates for technical contributors''' * Parsoid Read Views is going to be rolling out to most Wiktionaries over the next few weeks, following the successful transition of Wikivoyage to Parsoid Read Views last year. For more information, see the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parsoid/Parser Unification]] project page. [https://phabricator.wikimedia.org/T385923][https://phabricator.wikimedia.org/T371640] * Developers of tools that run on-wiki should note that <code dir=ltr>mw.Uri</code> is deprecated. Tools requiring <code dir=ltr>mw.Uri</code> must explicitly declare <code dir=ltr>mediawiki.Uri</code> as a ResourceLoader dependency, and should migrate to the browser native <code dir=ltr>URL</code> API soon. [https://phabricator.wikimedia.org/T384515] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:17, 17 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28275610 --> == Wikipedia translation of the week: 2025-09 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cooler Heads Coalition]]'''<br /> <small>''([[:de:Cooler Heads Coalition]])&#32;([[:fr:Cooler Heads Coalition]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Cooler Heads Coalition''' is a politically conservative "informal and ad-hoc group" in the United States, financed and operated by the Competitive Enterprise Institute. The group, which rejects the scientific consensus on climate change, made efforts to stop the government from addressing climate change. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:23, 24 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28300238 --> == Tech News: 2025-09 == <section begin="technews-2025-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/09|Translations]] are available. '''Updates for editors''' * Administrators can now customize how the [[m:Special:MyLanguage/User language|Babel feature]] creates categories using [[{{#special:CommunityConfiguration/Babel}}]]. They can rename language categories, choose whether they should be auto-created, and adjust other settings. [https://phabricator.wikimedia.org/T374348] * The <bdi lang="en" dir="ltr">[https://www.wikimedia.org/ wikimedia.org]</bdi> portal has been updated – and is receiving some ongoing improvements – to modernize and improve the accessibility of our portal pages. It now has better support for mobile layouts, updated wording and links, and better language support. Additionally, all of the Wikimedia project portals, such as <bdi lang="en" dir="ltr">[https://wikibooks.org wikibooks.org]</bdi>, now support dark mode when a reader is using that system setting. [https://phabricator.wikimedia.org/T373204][https://phabricator.wikimedia.org/T368221][https://meta.wikimedia.org/wiki/Project_portals] * One new wiki has been created: a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q33965|Santali]] ([[wikt:sat:|<code>wikt:sat:</code>]]) [https://phabricator.wikimedia.org/T386619] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that prevented clicking on search results in the web-interface for some Firefox for Android phone configurations. [https://phabricator.wikimedia.org/T381289] '''Meetings and events''' * The next Language Community Meeting is happening soon, February 28th at [https://zonestamp.toolforge.org/1740751200 14:00 UTC]. This week's meeting will cover: highlights and technical updates on keyboard and tools for the Sámi languages, Translatewiki.net contributions from the Bahasa Lampung community in Indonesia, and technical Q&A. If you'd like to join, simply [[mw:Wikimedia Language and Product Localization/Community meetings#28 February 2025|sign up on the wiki page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:42, 25 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28296129 --> == Wikipedia translation of the week: 2025-10 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:pt:Transmissor de Ondas]]'''<br /> <small>''([[:en:Wave Transmitter]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Esq eletr transm ondas color.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Transmissor de Ondas''' é um equipamento precursor do rádio, desenvolvido por Roberto Landell de Moura na década de 1890, capaz de transmitir áudio via ondas eletromagnéticas, com sua primeira demonstração pública documentada tendo ocorrido no dia 16 de julho de 1899. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:49, 3 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28317097 --> == Tech News: 2025-10 == <section begin="technews-2025-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/10|Translations]] are available. '''Updates for editors''' * All logged-in editors using the mobile view can now edit a full page. The "{{int:Minerva-page-actions-editfull}}" link is accessible from the "{{int:minerva-page-actions-overflow}}" menu in the toolbar. This was previously only available to editors using the [[mw:Special:MyLanguage/Reading/Web/Advanced mobile contributions|Advanced mobile contributions]] setting. [https://phabricator.wikimedia.org/T387180] * Interface administrators can now help to remove the deprecated Cite CSS code matching "<code dir="ltr">mw-ref</code>" from their local <bdi lang="en" dir="ltr">[[MediaWiki:Common.css]]</bdi>. The list of wikis in need of cleanup, and the code to remove, [https://global-search.toolforge.org/?q=mw-ref%5B%5E-a-z%5D&regex=1&namespaces=8&title=.*css can be found with this global search] and in [https://ace.wikipedia.org/w/index.php?title=MediaWiki:Common.css&oldid=145662#L-139--L-144 this example], and you can learn more about how to help on the [[mw:Parsoid/Parser Unification/Cite CSS|CSS migration project page]]. The Cite footnote markers ("<code dir="ltr">[1]</code>") are now rendered by [[mw:Special:MyLanguage/Parsoid|Parsoid]], and the deprecated CSS is no longer needed. The CSS for backlinks ("<code dir="ltr">mw:referencedBy</code>") should remain in place for now. This cleanup is expected to cause no visible changes for readers. Please help to remove this code before March 20, after which the development team will do it for you. * When editors embed a file (e.g. <code><nowiki>[[File:MediaWiki.png]]</nowiki></code>) on a page that is protected with cascading protection, the software will no longer restrict edits to the file description page, only to new file uploads.[https://phabricator.wikimedia.org/T24521] In contrast, transcluding a file description page (e.g. <code><nowiki>{{:File:MediaWiki.png}}</nowiki></code>) will now restrict edits to the page.[https://phabricator.wikimedia.org/T62109] * When editors revert a file to an earlier version it will now require the same permissions as ordinarily uploading a new version of the file. The software now checks for 'reupload' or 'reupload-own' rights,[https://phabricator.wikimedia.org/T304474] and respects cascading protection.[https://phabricator.wikimedia.org/T140010] * When administrators are listing pages for deletion with the Nuke tool, they can now also list associated talk pages and redirects for deletion, alongside pages created by the target, rather than needing to manually delete these pages afterwards. [https://phabricator.wikimedia.org/T95797] * The [[m:Special:MyLanguage/Tech/News/2025/03|previously noted]] update to Single User Login, which will accommodate browser restrictions on cross-domain cookies by moving login and account creation to a central domain, will now roll out to all users during March and April. The team plans to enable it for all new account creation on [[wikitech:Deployments/Train#Tuesday|Group0]] wikis this week. See [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3#Deployment|the SUL3 project page]] for more details and an updated timeline. * Since last week there has been a bug that shows some interface icons as black squares until the page has fully loaded. It will be fixed this week. [https://phabricator.wikimedia.org/T387351] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q2044560|Sylheti]] ([[w:syl:|<code>w:syl:</code>]]) [https://phabricator.wikimedia.org/T386441] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed with loading images in very old versions of the Firefox browser on mobile. [https://phabricator.wikimedia.org/T386400] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.19|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:31, 4 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28334563 --> == Wikipedia translation of the week: 2025-11 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Smoky (mascotte olimpica)]]'''<br /> <small>''([[:en:Smoky (Olympic mascot)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Smoky 1932 Olympic Village Mascot.webp|center|300px]] <div style="text-align:left; padding: .4em;"> '''Smoky''' (Los Angeles, 1931 o 1932 - Los Angeles, aprile 1934), occasionalmente scritto Smokey, è stato un cane che divenne la mascotte del villaggio olimpico estivo del 1932 e, successivamente, dell'evento generale. Pur non essendo oggi riconosciuto dal CIO, è stato, seppur non in modo ufficiale, la prima mascotte olimpica dei Giochi, oltre che a essere attualmente l'unica a essere stata un animale vero. Le successive edizioni non ebbero mascotte, dovendo aspettare i X Giochi olimpici invernali di Grenoble nel 1968 per ritrovarne una ufficialmente riconosciuta, lo sciatore stilizzato Schuss, allora non considerato ufficiale ma successivamente riconosciuto come tale. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:50, 10 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28317097 --> == Tech News: 2025-11 == <section begin="technews-2025-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/11|Translations]] are available. '''Updates for editors''' * Editors who use password managers at multiple wikis may notice changes in the future. The way that our wikis provide information to password managers about reusing passwords across domains has recently been updated, so some password managers might now offer you login credentials that you saved for a different Wikimedia site. Some password managers already did this, and are now doing it for more Wikimedia domains. This is part of the [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3|SUL3 project]] which aims to improve how our unified login works, and to keep it compatible with ongoing changes to the web-browsers we use. [https://phabricator.wikimedia.org/T385520][https://phabricator.wikimedia.org/T384844] * The Wikipedia Apps Team is inviting interested users to help improve Wikipedia’s offline and limited internet use. After discussions in [[m:Afrika Baraza|Afrika Baraza]] and the last [[m:Special:MyLanguage/ESEAP Hub/Meetings|ESEAP call]], key challenges like search, editing, and offline access are being explored, with upcoming focus groups to dive deeper into these topics. All languages are welcome, and interpretation will be available. Want to share your thoughts? [[mw:Special:MyLanguage/Wikimedia Apps/Improving Wikipedia Mobile Apps for Offline & Limited Internet Use|Join the discussion]] or email <bdi lang="en" dir="ltr">aramadan@wikimedia.org</bdi>! * All wikis will be read-only for a few minutes on March 19. This is planned at [https://zonestamp.toolforge.org/1742392800 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.20|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/33|Growth newsletter]] is available. It includes: the launch of the Community Updates module, the most recent changes in Community Configuration, and the upcoming test of in-article suggestions for first-time editors. * An old API that was previously used in the Android Wikipedia app is being removed at the end of March. There are no current software uses, but users of the app with a version that is older than 6 months by the time of removal (2025-03-31), will no longer have access to the Suggested Edits feature, until they update their app. You can [[diffblog:2025/02/24/sunset-of-wikimedia-recommendation-api/|read more details about this change]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:10, 10 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28372257 --> == Wikipedia translation of the week: 2025-12 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Amazonas, o maior rio do mundo]]'''<br /> <small>''([[:pt:Amazonas, o maior rio do mundo]])&#32;([[:es:Amazonas, o maior rio do mundo]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Frame A from Amazonas, o maior rio do mundo.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''''Amazonas, o maior rio do mundo''''' (lit. 'Amazon: The Greatest River in the World') is a 1922 Brazilian silent documentary film produced in 1918 by Silvino Santos. It is a black-and-white film that portrays life in the Amazon rainforest. Completed in 1920, it is considered one of the oldest cinematic records of the Amazon. It was presumed lost in 1931 and only rediscovered in 2023 at the Czech Film Archive. Silvino Santos produced the work over three years using sophisticated cinematic techniques, which led it to be deemed of "immense artistic value" by Le Monde. It has also been described as the "Holy Grail of Brazilian silent cinema" by The Guardian. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:57, 17 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28392163 --> == Tech News: 2025-12 == <section begin="technews-2025-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/12|Translations]] are available. '''Weekly highlight''' * Twice a year, around the equinoxes, the Wikimedia Foundation's Site Reliability Engineering (SRE) team performs [[m:Special:MyLanguage/Tech/Server switch|a datacenter server switchover]], redirecting all traffic from one primary server to its backup. This provides reliability in case of a crisis, as we can always fall back on the other datacenter. [http://listen.hatnote.com/ Thanks to the Listen to Wikipedia] tool, you can hear the switchover take place: Before it begins, you'll hear the steady stream of edits; Then, as the system enters a brief read-only phase, the sound stops for a couple of minutes, before resuming after the switchover. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the background and details of this process on the Diff blog]]. If you want to keep an ear out for the next server switchover, listen to the wikis on [https://zonestamp.toolforge.org/1742392800 March 19 at 14:00 UTC]. '''Updates for editors''' * The [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=es improved Content Translation tool dashboard] is now available in [[phab:T387820|10 Wikipedias]] and will be available for all Wikipedias [[phab:T387821|soon]]. With [[mw:Special:MyLanguage/Content translation#Improved translation experience|the unified dashboard]], desktop users can now: Translate new sections of an article; Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters] (initially available only for mobile device users); Discover and access the [[mw:Special:MyLanguage/Translation suggestions: Topic-based & Community-defined lists|Community-defined lists]] filter, also known as "Collections", from wiki-projects and campaigns. * On Wikimedia Commons, a [[c:Commons:WMF support for Commons/Upload Wizard Improvements#Improve category selection|new system to select the appropriate file categories]] has been introduced: if a category has one or more subcategories, users will be able to click on an arrow that will open the subcategories directly within the form, and choose the correct one. The parent category name will always be shown on top, and it will always be possible to come back to it. This should decrease the amount of work for volunteers in fixing/creating new categories. The change is also available on mobile. These changes are part of planned improvements to the UploadWizard. * The Community Tech team is seeking wikis to join a pilot for the [[m:Special:MyLanguage/Community Wishlist Survey 2023/Multiblocks|Multiblocks]] feature and a refreshed Special:Block page in late March. Multiblocks enables administrators to impose multiple different types of blocks on the same user at the same time. If you are an admin or steward and would like us to discuss joining the pilot with your community, please leave a message on the [[m:Talk:Community Wishlist Survey 2023/Multiblocks|project talk page]]. * Starting March 25, the Editing team will test a new feature for Edit Check at [[phab:T384372|12 Wikipedias]]: [[mw:Special:MyLanguage/Help:Edit check#Multi-check|Multi-Check]]. Half of the newcomers on these wikis will see all [[mw:Special:MyLanguage/Help:Edit check#ref|Reference Checks]] during their edit session, while the other half will continue seeing only one. The goal of this test is to see if users are confused or discouraged when shown multiple Reference Checks (when relevant) within a single editing session. At these wikis, the tags used on edits that show References Check will be simplified, as multiple tags could be shown within a single edit. Changes to the tags are documented [[phab:T373949|on Phabricator]]. [https://phabricator.wikimedia.org/T379131] * The [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]], which is a service for notifying users that their temporary user-rights are about to expire, now supports using the localized name of the user-rights group in the message heading. Translators can see the [[m:Global reminder bot/Translation|listing of existing translations and documentation]] to check if their language needs updating or creation. * The [[Special:GlobalPreferences|GlobalPreferences]] gender setting, which is used for how the software should refer to you in interface messages, now works as expected by overriding the local defaults. [https://phabricator.wikimedia.org/T386584] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:26}} community-submitted {{PLURAL:26|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Wikipedia App for Android had a bug fixed for when a user is browsing and searching in multiple languages. [https://phabricator.wikimedia.org/T379777] '''Updates for technical contributors''' * Later this week, the way that Codex styles are loaded will be changing. There is a small risk that this may result in unstyled interface message boxes on certain pages. User generated content (e.g. templates) is not impacted. Gadgets may be impacted. If you see any issues [[phab:T388847|please report them]]. See the linked task for details, screenshots, and documentation on how to fix any affected gadgets. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.21|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:48, 17 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28412594 --> == Wikipedia translation of the week: 2025-13 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ali of the Eretnids]]'''<br /> <small>''([[:tr:Alaaddin Ali Bey]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Ala al-Din Ali''' (January 1353 – August 1380) was the third Sultan of the Eretnids ruling from 1366 until his death. He inherited the throne at a very early age and was removed from administrative matters. He was characterized as particularly keen on personal pleasures, which later discredited his authority. During his rule, emirs under the Eretnids enjoyed considerable autonomy, and the state continued to shrink as neighboring powers captured several towns. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:59, 24 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28433698 --> == Tech News: 2025-13 == <section begin="technews-2025-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/13|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation is seeking your feedback on the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|drafts of the objectives and key results that will shape the Foundation's Product and Technology priorities]] for the next fiscal year (starting in July). The objectives are broad high-level areas, and the key-results are measurable ways to track the success of their objectives. Please share your feedback on the talkpage, in any language, ideally before the end of April. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] will be released to multiple wikis (see [[m:Special:MyLanguage/CampaignEvents/Deployment status#Global Deployment Plan|deployment plan]] for details) in April 2025, and the team has begun the process of engaging communities on the identified wikis. The extension provides tools to organize, manage, and promote collaborative activities (like events, edit-a-thons, and WikiProjects) on the wikis. The extension has three tools: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Special:MyLanguage/Campaigns/Foundation Product Team/Invitation list|Invitation Lists]]. It is currently on 13 Wikipedias, including English Wikipedia, French Wikipedia, and Spanish Wikipedia, as well as Wikidata. Questions or requests can be directed to the [[mw:Help talk:Extension:CampaignEvents|extension talk page]] or in Phabricator (with <bdi lang="en" dir="ltr" style="white-space: nowrap;">#campaigns-product-team</bdi> tag). * Starting the week of March 31st, wikis will be able to set which user groups can view private registrants in [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], as part of the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents]] extension. By default, event organizers and the local wiki admins will be able to see private registrants. This is a change from the current behavior, in which only event organizers can see private registrants. Wikis can change the default setup by [[m:Special:MyLanguage/Requesting wiki configuration changes|requesting a configuration change]] in Phabricator (and adding the <bdi lang="en" dir="ltr" style="white-space: nowrap;">#campaigns-product-team</bdi> tag). Participants of past events can cancel their registration at any time. * Administrators at wikis that have a customized <bdi lang="en" dir="ltr">[[MediaWiki:Sidebar]]</bdi> should check that it contains an entry for the {{int:specialpages}} listing. If it does not, they should add it using <code dir=ltr style="white-space: nowrap;">* specialpages-url|specialpages</code>. Wikis with a default sidebar will see the link moved from the page toolbox into the sidebar menu in April. [https://phabricator.wikimedia.org/T388927] * The Minerva skin (mobile web) combines both Notice and Alert notifications within the bell icon ([[File:OOjs UI icon bell.svg|16px|link=|class=skin-invert]]). There was a long-standing bug where an indication for new notifications was only shown if you had unseen Alerts. This bug is now fixed. In the future, Minerva users will notice a counter atop the bell icon when you have 1 or more unseen Notices and/or Alerts. [https://phabricator.wikimedia.org/T344029] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * VisualEditor has introduced a [[mw:VisualEditor/Hooks|new client-side hook]] for developers to use when integrating with the VisualEditor target lifecycle. This hook should replace the existing lifecycle-related hooks, and be more consistent between different platforms. In addition, the new hook will apply to uses of VisualEditor outside of just full article editing, allowing gadgets to interact with the editor in DiscussionTools as well. The Editing Team intends to deprecate and eventually remove the old lifecycle hooks, so any use cases that this new hook does not cover would be of interest to them and can be [[phab:T355555|shared in the task]]. * Developers who use the <code dir=ltr>mw.Api</code> JavaScript library, can now identify the tool using it with the <code dir=ltr>userAgent</code> parameter: <code dir=ltr>var api = new mw.Api( { userAgent: 'GadgetNameHere/1.0.1' } );</code>. If you maintain a gadget or user script, please set a user agent, because it helps with library and server maintenance and with differentiating between legitimate and illegitimate traffic. [https://phabricator.wikimedia.org/T373874][https://foundation.wikimedia.org/wiki/Policy:Wikimedia_Foundation_User-Agent_Policy] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:43, 24 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28443127 --> == Wikipedia translation of the week: 2025-14 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Chilembwe uprising]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Chilembwe supporters being led to be executed (cropped).jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Chilembwe uprising''' was a rebellion against British colonial rule in Nyasaland (modern-day Malawi) which took place in January 1915. It was led by John Chilembwe, an American-educated Baptist minister. Based around his church in the village of Mbombwe in the south-east of the colony, the leaders of the revolt were mainly from an emerging black middle class. They were motivated by grievances against the British colonial system, which included forced labour, racial discrimination and new demands imposed on the African population following the outbreak of World War I. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:52, 31 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28454663 --> == Tech News: 2025-14 == <section begin="technews-2025-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/14|Translations]] are available. '''Updates for editors''' * The Editing team is working on a new [[mw:Special:MyLanguage/Edit Check|Edit check]]: [[mw:Special:MyLanguage/Edit check#26 March 2025|Peacock check]]. This check's goal is to identify non-neutral terms while a user is editing a wikipage, so that they can be informed that their edit should perhaps be changed before they publish it. This project is at the early stages, and the team is looking for communities' input: [[phab:T389445|in this Phabricator task]], they are gathering on-wiki policies, templates used to tag non-neutral articles, and the terms (jargon and keywords) used in edit summaries for the languages they are currently researching. You can participate by editing the table on Phabricator, commenting on the task, or directly messaging [[m:user:Trizek (WMF)|Trizek (WMF)]]. * [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3|Single User Login]] has now been updated on all wikis to move login and account creation to a central domain. This makes user login compatible with browser restrictions on cross-domain cookies, which have prevented users of some browsers from staying logged in. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:35}} community-submitted {{PLURAL:35|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting on March 31st, the MediaWiki Interfaces team will begin a limited release of generated OpenAPI specs and a SwaggerUI-based sandbox experience for [[mw:Special:MyLanguage/API:REST API|MediaWiki REST APIs]]. They invite developers from a limited group of non-English Wikipedia communities (Arabic, German, French, Hebrew, Interlingua, Dutch, Chinese) to review the documentation and experiment with the sandbox in their preferred language. In addition to these specific Wikipedia projects, the sandbox and OpenAPI spec will be available on the [[testwiki:Special:RestSandbox|on the test wiki REST Sandbox special page]] for developers with English as their preferred language. During the preview period, the MediaWiki Interfaces Team also invites developers to [[mw:MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|share feedback about your experience]]. The preview will last for approximately 2 weeks, after which the sandbox and OpenAPI specs will be made available across all wiki projects. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.23|MediaWiki]] '''In depth''' * Sometimes a small, [[gerrit:c/operations/cookbooks/+/1129184|one line code change]] can have great significance: in this case, it means that for the first time in years we're able to run all of the stack serving <bdi lang="en" dir="ltr">[http://maps.wikimedia.org/ maps.wikimedia.org]</bdi> - a host dedicated to serving our wikis and their multi-lingual maps needs - from a single core datacenter, something we test every time we perform a [[m:Special:MyLanguage/Tech/Server switch|datacenter switchover]]. This is important because it means that in case one of our datacenters is affected by a catastrophe, we'll still be able to serve the site. This change is the result of [[phab:T216826|extensive work]] by two developers on porting the last component of the maps stack over to [[w:en:Kubernetes|kubernetes]], where we can allocate resources more efficiently than before, thus we're able to withstand more traffic in a single datacenter. This work involved a lot of complicated steps because this software, and the software libraries it uses, required many long overdue upgrades. This type of work makes the Wikimedia infrastructure more sustainable. '''Meetings and events''' * [[mw:Special:MyLanguage/MediaWiki Users and Developers Workshop Spring 2025|MediaWiki Users and Developers Workshop Spring 2025]] is happening in Sandusky, USA, and online, from 14–16 May 2025. The workshop will feature discussions around the usage of MediaWiki software by and within companies in different industries and will inspire and onboard new users. Registration and presentation signup is now available at the workshop's website. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 1 April 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28473566 --> == Wikipedia translation of the week: 2025-15 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:1930 Bago earthquake]]'''<br /> <small>''([[:my:၁၉၃၀ ပဲခူးငလျင်]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Thiao Mueang Phama (1955, p. 165).jpg|center|300px]] <div style="text-align:left; padding: .4em;"> An earthquake affected Myanmar on 5 May 1930 with a moment magnitude (Mw ) 7.4. The shock occurred 35 km (22 mi) beneath the surface with a maximum Rossi–Forel intensity of IX (Devastating tremor). The earthquake was the result of rupture along a 131 km (81 mi) segment of the Sagaing Fault—a major strike-slip fault that runs through the country. Extensive damage was reported in the southern part of the country, particularly in Bago and Yangon, where buildings collapsed and fires erupted. At least 550, and possibly up to 7,000 people were killed. A moderate tsunami struck the Burmese coast which caused minor damage to ships and a port. It was felt for over 570,000 km2 (220,000 sq mi) and as far as Shan State and Thailand. The mainshock was followed by many aftershocks; several were damaging. The December earthquake was similarly sized which also occurred along the Sagaing Fault. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:54, 7 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28454663 --> == Tech News: 2025-15 == <section begin="technews-2025-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/15|Translations]] are available. '''Updates for editors''' * From now on, [[m:Special:MyLanguage/Interface administrators|interface admins]] and [[m:Special:MyLanguage/Central notice administrators|centralnotice admins]] are technically required to enable [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] before they can use their privileges. In the future this might be expanded to more groups with advanced user-rights. [https://phabricator.wikimedia.org/T150898] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The Design System Team is preparing to release the next major version of Codex (v2.0.0) on April 29. Editors and developers who use CSS from Codex should see the [[mw:Codex/Release Timeline/2.0|2.0 overview documentation]], which includes guidance related to a few of the breaking changes such as <code dir=ltr style="white-space: nowrap;">font-size</code>, <code dir=ltr style="white-space: nowrap;">line-height</code>, and <code dir=ltr style="white-space: nowrap;">size-icon</code>. * The results of the [[mw:Developer Satisfaction Survey/2025|Developer Satisfaction Survey (2025)]]  are now available. Thank you to all participants. These results help the Foundation decide what to work on next and to review what they recently worked on. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.24|MediaWiki]] '''Meetings and events''' * The [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]] will take place in Istanbul, Turkey, between 2–4 May. Registration for attending the in-person event will close on 13 April. Before registering, please note the potential need for a [https://www.mfa.gov.tr/turkish-representations.en.mfa visa] or [https://www.mfa.gov.tr/visa-information-for-foreigners.en.mfa e-visa] to enter the country. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 7 April 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28507470 --> == Wikipedia translation of the week: 2025-16 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Museum of Zoology of the University of São Paulo]]'''<br /> <small>''([[:pt:Museu de Zoologia da Universidade de São Paulo]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Museu de Zoologia da USP 02.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Museum of Zoology of the University of São Paulo''' (Portuguese: Museu de Zoologia da Universidade de São Paulo, abbreviated MZUSP) is a public natural history museum located in the historic Ipiranga district of São Paulo, Brazil. The MZUSP is an educational and research institution that is part of the University of São Paulo. The museum began at the end of the 19th century as part of the Museu Paulista; in 1941, it moved into a dedicated building. In 1969 the museum became a part of the University of São Paulo, receiving its current name. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:27, 14 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28454663 --> == Tech News: 2025-16 == <section begin="technews-2025-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/16|Translations]] are available. '''Weekly highlight''' * Later this week, the default thumbnail size will be increased from 220px to 250px. This changes how pages are shown in all wikis and has been requested by some communities for many years, but wasn't previously possible due to technical limitations. [https://phabricator.wikimedia.org/T355914] * File thumbnails are now stored in discrete sizes. If a page specifies a thumbnail size that's not among the standard sizes (20, 40, 60, 120, 250, 330, 500, 960), then MediaWiki will pick the closest larger thumbnail size but will tell the browser to downscale it to the requested size. In these cases, nothing will change visually but users might load slightly larger images. If it doesn't matter which thumbnail size is used in a page, please pick one of the standard sizes to avoid the extra in-browser down-scaling step. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Images#Thumbnail_sizes][https://phabricator.wikimedia.org/T355914] '''Updates for editors''' * The Wikimedia Foundation are working on a system called [[m:Edge Uniques|Edge Uniques]] which will enable [[:w:en:A/B testing|A/B testing]], help protect against [[:w:en:Denial-of-service attack|Distributed denial-of-service attacks]] (DDoS attacks), and make it easier to understand how many visitors the Wikimedia sites have. This is so that they can more efficiently build tools which help readers, and make it easier for readers to find what they are looking for. * To improve security for users, a small percentage of logins will now require that the account owner input a one-time password [[mw:Special:MyLanguage/Help:Extension:EmailAuth|emailed to their account]]. It is recommended that you [[Special:Preferences#mw-prefsection-personal-email|check]] that the email address on your account is set correctly, and that it has been confirmed, and that you have an email set for this purpose. [https://phabricator.wikimedia.org/T390662] * "Are you interested in taking a short survey to improve tools used for reviewing or reverting edits on your Wiki?" This question will be [[phab:T389401|asked at 7 wikis starting next week]], on Recent Changes and Watchlist pages. The [[mw:Special:MyLanguage/Moderator Tools|Moderator Tools team]] wants to know more about activities that involve looking at new edits made to your Wikimedia project, and determining whether they adhere to your project's policies. * On April 15, the full Wikidata graph will no longer be supported on <bdi lang="zxx" dir="ltr">[https://query.wikidata.org/ query.wikidata.org]</bdi>. After this date, scholarly articles will be available through <bdi lang="zxx" dir="ltr" style="white-space:nowrap;">[https://query-scholarly.wikidata.org/ query-scholarly.wikidata.org]</bdi>, while the rest of the data hosted on Wikidata will be available through the <bdi lang="zxx" dir="ltr">[https://query.wikidata.org/ query.wikidata.org]</bdi> endpoint. This is part of the scheduled split of the Wikidata Graph, which was [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/September 2024 scaling update|announced in September 2024]]. More information is [[d:Wikidata:SPARQL query service/WDQS graph split|available on Wikidata]]. * The latest quarterly [[m:Special:MyLanguage/Wikimedia Apps/Newsletter/First quarter of 2025|Wikimedia Apps Newsletter]] is now available. It covers updates, experiments, and improvements made to the Wikipedia mobile apps. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The latest quarterly [[mw:Technical Community Newsletter/2025/April|Technical Community Newsletter]] is now available. This edition includes: an invitation for tool maintainers to attend the Toolforge UI Community Feedback Session on April 15th; recent community metrics; and recent technical blog posts. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.25|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:25, 15 April 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28540654 --> == Wikipedia translation of the week: 2025-17 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Fear of crime]]'''<br /> <small>''([[:ar:الخوف من الجريمة]])&#32;([[:it:Criminofobia]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Fear of crime''' refers to the fear of being a victim of crime, which is not necessarily reflective of the actual probability of being such a victim. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:23, 21 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28559524 --> == Tech News: 2025-17 == <section begin="technews-2025-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/17|Translations]] are available. '''Updates for editors''' * [[f:Special:MyLanguage/Wikifunctions:Main Page|Wikifunctions]] is now integrated with [[w:dag:Solɔɣu|Dagbani Wikipedia]] since April 15. It is the first project that will be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them in articles. A function is something that takes one or more inputs and transforms them into a desired output, such as adding up two numbers, converting miles into metres, calculating how much time has passed since an event, or declining a word into a case. Wikifunctions will allow users to do that through a simple call of [[f:Special:MyLanguage/Wikifunctions:Catalogue|a stable and global function]], rather than via a local template. [https://www.wikifunctions.org/wiki/Special:MyLanguage/Wikifunctions:Status_updates/2025-04-16] * A new type of lint error has been created: [[Special:LintErrors/empty-heading|{{int:linter-category-empty-heading}}]] ([[mw:Special:MyLanguage/Help:Lint errors/empty-heading|documentation]]). The [[mw:Special:MyLanguage/Help:Extension:Linter|Linter extension]]'s purpose is to identify wikitext patterns that must or can be fixed in pages and provide some guidance about what the problems are with those patterns and how to fix them. [https://phabricator.wikimedia.org/T368722] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:37}} community-submitted {{PLURAL:37|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Following its publication on HuggingFace, the "Structured Contents" dataset, developed by Wikimedia Enterprise, is [https://enterprise.wikimedia.com/blog/kaggle-dataset/ now also available on Kaggle]. This Beta initiative is focused on making Wikimedia data more machine-readable for high-volume reusers. They are releasing this beta version in a location that open dataset communities already use, in order to seek feedback, to help improve the product for a future wider release. You can read more about the overall [https://enterprise.wikimedia.com/blog/structured-contents-snapshot-api/#open-datasets Structured Contents project], and about the [https://enterprise.wikimedia.com/blog/structured-contents-wikipedia-infobox/ first release that's freely usable]. * There is no new MediaWiki version this week. '''Meetings and events''' * The Editing and Machine Learning Teams invite interested volunteers to a video meeting to discuss [[mw:Special:MyLanguage/Edit check/Peacock check|Peacock check]], which is the latest [[mw:Special:MyLanguage/Edit check|Edit check]] that will detect "peacock" or "overly-promotional" or "non-neutral" language whilst an editor is typing. Editors who work with newcomers, or help to fix this kind of writing, or are interested in how we use artificial intelligence in our projects are encouraged to attend. The [[mw:Special:MyLanguage/Editing team/Community Conversations#Next Conversation|meeting will be on April 28, 2025]] at [https://zonestamp.toolforge.org/1745863200 18:00–19:00 UTC] and hosted on Zoom. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:01, 21 April 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28578245 --> == Wikipedia translation of the week: 2025-18 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Heritage preservation in South Korea]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Korean.Dance-03.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The heritage preservation system of South Korea is a multi-level program aiming to preserve and cultivate Korean cultural heritage. The program is administered by the Cultural Heritage Administration (CHA), and the legal framework is provided by the Cultural Heritage Protection Act of 1962, last updated in 2012. The program started in 1962 and has gradually been extended and upgraded since then. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:57, 28 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28583422 --> == Tech News: 2025-18 == <section begin="technews-2025-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/18|Translations]] are available. '''Updates for editors''' * Event organizers who host collaborative activities on [[m:Special:MyLanguage/CampaignEvents/Deployment status#Global Deployment Plan|multiple wikis]], including Bengali, Japanese, and Korean Wikipedias, will have access to the [[mw:Special:MyLanguage/Extension:CampaignEvents|CampaignEvents extension]] this week. Also, admins in the Wikipedia where the extension is enabled will automatically be granted the event organizer right soon. They won't have to manually grant themselves the right before they can manage events as [[phab:T386861|requested by a community]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The release of the next major version of [[mw:Special:MyLanguage/Codex|Codex]], the design system for Wikimedia, is scheduled for 29 April 2025. Technical editors will have access to the release by the week of 5 May 2025. This update will include a number of [[mw:Special:MyLanguage/Codex/Release_Timeline/2.0#Breaking_changes|breaking changes]] and minor [[mw:Special:MyLanguage/Codex/Release_Timeline/2.0#Visual_changes|visual changes]]. Instructions on handling the breaking and visual changes are documented on [[mw:Special:MyLanguage/Codex/Release Timeline/2.0#|this page]]. Pre-release testing is reported in [[phab:T386298|T386298]], with post-release issues tracked in [[phab:T392379|T392379]] and [[phab:T392390|T392390]]. * Users of [[wikitech:Special:MyLanguage/Help:Wiki_Replicas|Wiki Replicas]] will notice that the database views of <code dir="ltr">ipblocks</code>, <code dir="ltr">ipblocks_ipindex</code>, and <code dir="ltr">ipblocks_compat</code> are [[phab:T390767|now deprecated]]. Users can query the <code dir="ltr">[[mw:Special:MyLanguage/Manual:Block_table|block]]</code> and <code dir="ltr">[[mw:Special:MyLanguage/Manual:Block_target_table|block_target]]</code> new views that mirror the new tables in the production database instead. The deprecated views will be removed entirely from Wiki Replicas in June, 2025. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.27|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April|Language and Internationalization Newsletter]] is now available. This edition includes an overview of the improved [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&campaign=contributionsmenu&to=es&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en#/ Content Translation Dashboard Tool], [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April#Language Support for New and Existing Languages|support for new languages]], [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April#Wiki Loves Ramadan Articles Made In Content Translation Mobile Workflow|highlights from the Wiki Loves Ramadan campaign]], [[m:Special:MyLanguage/Research:Languages Onboarding Experiment 2024 - Executive Summary|results from the Language Onboarding Experiment]], an analysis of topic diversity in articles, and information on upcoming community meetings and events. '''Meetings and events''' * The [[Special:MyLanguage/Grants:Knowledge_Sharing/Connect/Calendar|Let's Connect Learning Clinic]] will take place on [https://zonestamp.toolforge.org/1745937000 April 29 at 14:30 UTC]. This edition will focus on "Understanding and Navigating Conflict in Wikimedia Projects". You can [[m:Special:MyLanguage/Event:Learning Clinic %E2%80%93 Understanding and Navigating Conflict in Wikimedia Projects (Part_1)|register now]] to attend. * The [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]], which brings the global technical community together to connect, brainstorm, and hack existing projects, will take place from May 2 to 4th, 2025, at Istanbul, Turkey. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 28 April 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28585685 --> == Wikipedia translation of the week: 2025-19 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lhamana]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:We-Wa, a Zuni berdache, weaving - NARA - 523796 (cropped).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lhamana''', in traditional Zuni culture, are biologically male people who take on the social and ceremonial roles usually performed by women in their culture, at least some of the time. They wear a mixture of women's and men's clothing and much of their work is in the areas usually occupied by Zuni women. Some contemporary lhamana participate in the pan-Indian two-spirit community. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 07:28, 5 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28583422 --> == Tech News: 2025-19 == <section begin="technews-2025-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/19|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation has shared the latest draft update to their [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|annual plan]] for next year (July 2025–June 2026). This includes an [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|executive summary]] (also on [[diffblog:2025/04/25/sharing-the-wikimedia-foundations-2025-2026-draft-annual-plan/|Diff]]), details about the three main [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals|goals]] ([[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|Infrastructure]], [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals/Volunteer Support|Volunteer Support]], and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals/Effectiveness|Effectiveness]]), [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Global Trends|global trends]], and the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Budget Overview|budget]] and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Financial Model|financial model]]. Feedback and questions are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2025-2026|talk page]] until the end of May. '''Updates for editors''' * For wikis that have the [[m:Special:MyLanguage/CampaignEvents/Deployment status|CampaignEvents extension enabled]], two new feature improvements have been released: ** Admins can now choose which namespaces are permitted for [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] via [[mw:Special:MyLanguage/Community Configuration|Community Configuration]] ([[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Permitted namespaces|documentation]]). The default setup is for event registration to be permitted in the Event namespace, but other namespaces (such as the project namespace or WikiProject namespace) can now be added. With this change, communities like WikiProjects can now more easily use Event Registration for their collaborative activities. ** Editors can now [[mw:Special:MyLanguage/Transclusion|transclude]] the Collaboration List on a wiki page ([[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Collaboration list/Transclusion|documentation]]). The Collaboration List is an automated list of events and WikiProjects on the wikis, accessed via {{#special:AllEvents}} ([[w:en:Special:AllEvents|example]]). Now, the Collaboration List can be added to all sorts of wiki pages, such as: a wiki mainpage, a WikiProject page, an affiliate page, an event page, or even a user page. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers who use the <code dir=ltr>moment</code> library in gadgets and user scripts should revise their code to use alternatives like the <code dir=ltr>Intl</code> library or the new <code dir=ltr>mediawiki.DateFormatter</code> library. The <code dir=ltr>moment</code> library has been deprecated and will begin to log messages in the developer console. You can see a global search for current uses, and [[phab:T392532|ask related questions in this Phabricator task]]. * Developers who maintain a tool that queries the Wikidata term store tables (<code dir=ltr style="white-space: nowrap;">wbt_*</code>) need to update their code to connect to a separate database cluster. These tables are being split into a separate database cluster. Tools that query those tables via the wiki replicas must be adapted to connect to the new cluster instead. [[wikitech:News/2025 Wikidata term store database split|Documentation and related links are available]]. [https://phabricator.wikimedia.org/T390954] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.28|MediaWiki]] '''In depth''' * The latest [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|Chart Project newsletter]] is available. It includes updates on preparing to expand the deployment to additional wikis as soon as this week (starting May 6) and scaling up over the following weeks, plus exploring filtering and transforming source data. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:15, 6 May 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28665011 --> == Wikipedia translation of the week: 2025-20 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Gruppo del Sileno]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Parco3.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> '''Sileno ed Egle con Mnasilo e Cromi''', meglio noto come Gruppo del Sileno, è un monumento in marmo di Carrara, realizzato da Jean-Baptiste Boudard nel 1765 per il Giardino Ducale di Parma; sostituito nel 1991 con una copia in polvere di marmo e resina, l'originale si trova provvisoriamente nel chiostro della Fontana del monastero di San Paolo, in attesa della definitiva collocazione prevista all'interno del palazzetto Eucherio Sanvitale nel parco Ducale. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:28, 12 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28709947 --> == Tech News: 2025-20 == <section begin="technews-2025-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/20|Translations]] are available. '''Weekly highlight''' * The [[m:Special:MyLanguage/Wikimedia URL Shortener|"Get shortened URL"]] link on the sidebar now includes a [[phab:T393309|QR code]]. Wikimedia site users can now use it by scanning or downloading it to quickly share and access shared content from Wikimedia sites, conveniently. '''Updates for editors''' * The Wikimedia Foundation is working on a system called [[m:Edge Uniques|Edge Uniques]], which will enable [[w:en:A/B testing|A/B testing]], help protect against [[w:en:Denial-of-service attack|distributed denial-of-service attacks]] (DDoS attacks), and make it easier to understand how many visitors the Wikimedia sites have. This is to help more efficiently build tools which help readers, and make it easier for readers to find what they are looking for. Tech News has [[m:Special:MyLanguage/Tech/News/2025/16|previously written about this]]. The deployment will be gradual. Some might see the Edge Uniques cookie the week of 19 May. You can discuss this on the [[m:Talk:Edge Uniques|talk page]]. * Starting May 19, 2025, Event organisers in wikis with the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] enabled can use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] in the project namespace (e.g., Wikipedia namespace, Wikidata namespace). With this change, communities don't need admins to use the feature. However, wikis that don't want this change can remove and add the permitted namespaces at [[Special:CommunityConfiguration/CampaignEvents]]. * The Wikipedia project now has a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q36720|Nupe]] ([[w:nup:|<code>w:nup:</code>]]). This is a language primarily spoken in the North Central region of Nigeria. Speakers of this language are invited to contribute to [[w:nup:Tatacin feregi|new Wikipedia]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers can now access pre-parsed Dutch Wikipedia, amongst others (English, German, French, Spanish, Italian, and Portuguese) through the [https://enterprise.wikimedia.com/docs/snapshot/#structured-contents-snapshot-bundle-info-beta Structured Contents snapshots (beta)]. The content includes parsed Wikipedia abstracts, descriptions, main images, infoboxes, article sections, and references. * The <code dir="ltr">/page/data-parsoid</code> REST API endpoint is no longer in use and will be deprecated. It is [[phab:T393557|scheduled to be turned off]] on June 7, 2025. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.1|MediaWiki]] '''In depth''' * The [https://wikitech.wikimedia.org/wiki/News/2025_Cloud_VPS_VXLAN_IPv6_migration IPv6 support] is a newly introduced Cloud virtual network that significantly boosts Wikimedia platforms' scalability, security, and readiness for the future. If you are a technical contributor eager to learn more, check out [https://techblog.wikimedia.org/2025/05/06/wikimedia-cloud-vps-ipv6-support/ this blog post] for an in-depth look at the journey to IPv6. '''Meetings and events''' * The 2nd edition of 2025 of [[m:Special:MyLanguage/Afrika Baraza|Afrika Baraza]], a virtual platform for African Wikimedians to connect, will take place on [https://zonestamp.toolforge.org/1747328400 May 15 at 17:00 UTC]. This edition will focus on discussions regarding [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|Wikimedia Annual planning and progress]]. * The [[m:Special:MyLanguage/MENA Connect Community Call|MENA Connect Community Call]], a virtual meeting for [[w:en:Middle East and North Africa|MENA]] Wikimedians to connect, will take place on [https://zonestamp.toolforge.org/1747501200 May 17 at 17:00 UTC]. You can [[m:Event:MENA Connect (Wiki_Diwan) APP Call|register now]] to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:38, 12 May 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28714188 --> == Wikipedia translation of the week: 2025-21 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lorrin A. Thurston]]'''<br /> <small>''([[:fi:Lorrin Thurston]])&#32;([[:ko:로린 A. 서스턴]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Lorrinandrewsthurston1892.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lorrin Andrews Thurston''' (July 31, 1858 – May 11, 1931) was a Hawaiian citizen lawyer, politician, and businessman. Thurston played a prominent role in the revolution that overthrew the Hawaiian Kingdom to replace Queen Liliʻuokalani with the Republic of Hawaii, with discreet US support for which Congress much later apologized. He published the Pacific Commercial Advertiser (a forerunner of the present-day Honolulu Star-Advertiser), and owned other enterprises. From 1906 to 1916, he and his network lobbied with national politicians to create a national park to preserve the Hawaiian volcanoes. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:33, 19 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28731710 --> == Tech News: 2025-21 == <section begin="technews-2025-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/21|Translations]] are available. '''Weekly highlight''' * The Editing Team and the Machine Learning Team are working on a new check for newcomers: [[mw:Edit check/Peacock check|Peacock check]]. Using a prediction model, this check will encourage editors to improve the tone of their edits, using artificial intelligence. We invite volunteers to review the first version of the Peacock language model for the following languages: Arabic, Spanish, Portuguese, English, and Japanese. Users from these wikis interested in reviewing this model are [[mw:Edit check/Peacock check/model test|invited to sign up at MediaWiki.org]]. The deadline to sign up is on May 23, which will be the start date of the test. '''Updates for editors''' * From May 20, 2025, [[m:Special:MyLanguage/Oversight policy|oversighters]] and [[m:Special:MyLanguage/Meta:CheckUsers|checkusers]] will need to have their accounts secured with two-factor authentication (2FA) to be able to use their advanced rights. All users who belong to these two groups and do not have 2FA enabled have been informed. In the future, this requirement may be extended to other users with advanced rights. [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|Learn more]]. * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] [[m:Special:MyLanguage/Community Wishlist Survey 2023/Multiblocks|Multiblocks]] will begin mass deployment by the end of the month: all non-Wikipedia projects plus Catalan Wikipedia will adopt Multiblocks in the week of May 26, while all other Wikipedias will adopt it in the week of June 2. Please [[m:Talk:Community Wishlist Survey 2023/Multiblocks|contact the team]] if you have concerns. Administrators can test the new user interface now on your own wiki by browsing to [{{fullurl:Special:Block|usecodex=1}} {{#special:Block}}?usecodex=1], and can test the full multiblocks functionality [[testwiki:Special:Block|on testwiki]]. Multiblocks is the feature that makes it possible for administrators to impose different types of blocks on the same user at the same time. See the [[mw:Special:MyLanguage/Help:Manage blocks|help page]] for more information. [https://phabricator.wikimedia.org/T377121] * Later this week, the [[{{#special:SpecialPages}}]] listing of almost all special pages will be updated with a new design. This page has been [[phab:T219543|redesigned]] to improve the user experience in a few ways, including: The ability to search for names and aliases of the special pages, sorting, more visible marking of restricted special pages, and a more mobile-friendly look. The new version can be [https://meta.wikimedia.beta.wmflabs.org/wiki/Special:SpecialPages previewed] at Beta Cluster now, and feedback shared in the task. [https://phabricator.wikimedia.org/T219543] * The [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] is being enabled on more wikis. For a detailed list of when the extension will be enabled on your wiki, please read the [[mw:Special:MyLanguage/Extension:Chart/Project#Deployment Timeline|deployment timeline]]. * [[f:Special:MyLanguage/Wikifunctions:Main Page|Wikifunctions]] will be deployed on May 27 on five Wiktionaries: [[wikt:ha:|Hausa]], [[wikt:ig:|Igbo]], [[wikt:bn:|Bengali]], [[wikt:ml:|Malayalam]], and [[wikt:dv:|Dhivehi/Maldivian]]. This is the second batch of deployment planned for the project. After deployment, the projects will be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them in their pages. A function is something that takes one or more inputs and transforms them into a desired output, such as adding up two numbers, converting miles into metres, calculating how much time has passed since an event, or declining a word into a case. Wikifunctions will allow users to do that through a simple call of [[f:Special:MyLanguage/Wikifunctions:Catalogue|a stable and global function]], rather than via a local template. * Later this week, the Wikimedia Foundation will publish a hub for [[diffblog:2024/07/09/on-the-value-of-experimentation/|experiments]]. This is to showcase and get user feedback on product experiments. The experiments help the Wikimedia movement [[diffblog:2023/07/13/exploring-paths-for-the-future-of-free-knowledge-new-wikipedia-chatgpt-plugin-leveraging-rich-media-social-apps-and-other-experiments/|understand new users]], how they interact with the internet and how it could affect the Wikimedia movement. Some examples are [[m:Special:MyLanguage/Future Audiences/Generated Video|generated video]], the [[m:Special:MyLanguage/Future Audiences/Roblox game|Wikipedia Roblox speedrun game]] and [[m:Special:MyLanguage/Future Audiences/Discord bot|the Discord bot]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a bug with creating an account using the API, which has now been fixed. [https://phabricator.wikimedia.org/T390751] '''Updates for technical contributors''' * Gadgets and user scripts that interact with [[{{#special:Block}}]] may need to be updated to work with the new [[mw:Special:MyLanguage/Help:Manage blocks|manage blocks interface]]. Please review the [[mw:Help:Manage blocks/Developers|developer guide]] for more information. If you need help or are unable to adapt your script to the new interface, please let the team know on the [[mw:Help talk:Manage blocks/Developers|talk page]]. [https://phabricator.wikimedia.org/T377121] * The <code dir=ltr>mw.title</code> object allows you to get information about a specific wiki page in the [[w:en:Wikipedia:Lua|Lua]] programming language. Starting this week, a new property will be added to the object, named <code dir=ltr>isDisambiguationPage</code>. This property allows you to check if a page is a disambiguation page, without the need to write a custom function. [https://phabricator.wikimedia.org/T71441] * [[File:Octicons-tools.svg|15px|link=|class=skin-invert|Advanced item]] User script developers can use a [[toolforge:gitlab-content|new reverse proxy tool]] to load javascript and css from [[gitlab:|gitlab.wikimedia.org]] with <code dir=ltr>mw.loader.load</code>. The tool's author hopes this will enable collaborative development workflows for user scripts including linting, unit tests, code generation, and code review on <bdi lang="zxx" dir="ltr">gitlab.wikimedia.org</bdi> without a separate copy-and-paste step to publish scripts to a Wikimedia wiki for integration and acceptance testing. See [[wikitech:Tool:Gitlab-content|Tool:Gitlab-content on Wikitech]] for more information. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.2|MediaWiki]] '''Meetings and events''' * The 12th edition of [[m:Special:MyLanguage/Wiki Workshop 2025|Wiki Workshop 2025]], a forum that brings together researchers that explore all aspects of Wikimedia projects, will be held virtually on 21-22 May. Researchers can [https://pretix.eu/wikimedia/wikiworkshop2025/ register now]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:13, 19 May 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28724712 --> == Wikipedia translation of the week: 2025-22 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Lamiera bugnata]]'''<br /> <small>''([[:en:Tread plate]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Diamond Plate.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Una '''lamiera bugnata''' o mandorlata è una lamiera di metallo ottenuta dalla laminazione di una bramma attraverso rulli che, tramite punzonatura o goffratura, imprimono sulla lamina rilievi a forma di rombo o ellisse, detti bugne. Nel caso questi rilievi siano alternati singolarmente nei due assi, si parla di lamiera diamantata, mentre se le forme sono predisposte in maniera parallela per formare piccoli quadranti tra di loro tangenti, questo pattern viene identificato con il nome di mandorlato. We tend to ignore the fact that this type of plate is the only reason we don't slip when we walk on steel and wet or frozen surfaces. The Italian article it's short but quite complete, and has just the right amount of citations, unlike other poor languages' versions. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 06:03, 26 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28751788 --> == Tech News: 2025-22 == <section begin="technews-2025-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/22|Translations]] are available. '''Weekly highlight''' * A community-wide discussion about a very delicate issue for the development of [[m:Special:MyLanguage/Abstract Wikipedia|Abstract Wikipedia]] is now open on Meta: where to store the abstract content that will be developed through functions from Wikifunctions and data from Wikidata. The discussion is open until June 12 at [[m:Special:MyLanguage/Abstract Wikipedia/Location of Abstract Content|Abstract Wikipedia/Location of Abstract Content]], and every opinion is welcomed. The decision will be made and communicated after the consultation period by the Foundation. '''Updates for editors''' * Since last week, on all wikis except [[phab:T388604|the largest 20]], people using the mobile visual editor will have [[phab:T385851|additional tools in the menu bar]], accessed using the new <code>+</code> toolbar button. To start, the new menu will include options to add: citations, hieroglyphs, and code blocks. Deployment to the remaining wikis is [[phab:T388605|scheduled]] to happen in June. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The <code dir=ltr>[[mw:Special:MyLanguage/Help:Extension:ParserFunctions##ifexist|#ifexist]]</code> parser function will no longer register a link to its target page. This will improve the usefulness of [[{{#special:WantedPages}}]], which will eventually only list pages that are the target of an actual red link. This change will happen gradually as the source pages are updated. [https://phabricator.wikimedia.org/T14019] * This week, the Moderator Tools team will launch [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], starting at Indonesian Wikipedia. This new filter highlights edits that are likely to be reverted. The goal is to help Recent Changes patrollers identify potentially problematic edits. Other wikis will benefit from this filter in the future. * Upon clicking an empty search bar, logged-out users will see suggestions of articles for further reading. The feature will be available on both desktop and mobile. Readers of Catalan, Hebrew, and Italian Wikipedias and some sister projects will receive the change between May 21 and mid-June. Readers of other wikis will receive the change later. The goal is to encourage users to read the wikis more. [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments/Search Suggestions|Learn more]]. * Some users of the Wikipedia Android app can use a new feature for readers, [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/TrivaGame|WikiGames]], a daily trivia game based on real historical events. The release has started as an A/B test, available to 50% of users in the following languages: English, French, Portuguese, Russian, Spanish, Arabic, Chinese, and Turkish. * The [[mw:Special:MyLanguage/Extension:Newsletter|Newsletter extension]] that is available on MediaWiki.org allows the creation of [[mw:Special:Newsletters|various newsletters]] for global users. The extension can now publish new issues as section links on an existing page, instead of requiring a new page for each issue. [https://phabricator.wikimedia.org/T393844] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The previously deprecated <code dir=ltr>[[mw:Special:MyLanguage/Manual:Ipblocks table|ipblocks]]</code> views in [[wikitech:Help:Wiki Replicas|Wiki Replicas]] will be removed in the beginning of June. Users are encouraged to query the new <code dir=ltr>[[mw:Special:MyLanguage/Manual:Block table|block]]</code> and <code dir=ltr>[[mw:Special:MyLanguage/Manual:Block target table|block_target]]</code> views instead. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.3|MediaWiki]] '''Meetings and events''' * [[d:Special:MyLanguage/Event:Wikidata and Sister Projects|Wikidata and Sister Projects]] is a multi-day online event that will focus on how Wikidata is integrated to Wikipedia and the other Wikimedia projects. The event runs from May 29 – June 1. You can [[d:Special:MyLanguage/Event:Wikidata and Sister Projects#Sessions|read the Program schedule]] and [[d:Special:RegisterForEvent/1291|register]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:05, 26 May 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28788673 --> == Wikipedia translation of the week: 2025-23 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Angelo azzurro (cocktail)]]'''<br /> <small>''([[:es:Ángel azul (cóctel)]])&#32;([[:fr:Ange bleu (cocktail)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Angelo Azzurro Cocktail.png|300px|center]] <div style="text-align:left; padding: .4em;"> L''''angelo azzurro''' è un cocktail alcolico italiano. È considerato uno dei cocktail più popolari in Italia negli anni novanta, insieme al B-52 e all'Invisibile. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 05:39, 2 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-23 == <section begin="technews-2025-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/23|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] is now available on all Wikimedia wikis. Editors can use this new extension to create interactive data visualizations like bar, line, area, and pie charts. Charts are designed to replace many of the uses of the legacy [[mw:Special:MyLanguage/Extension:Graph|Graph extension]]. '''Updates for editors''' * It is now easier to configure automatic citations for your wiki within the visual editor's [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|citation generator]]. Administrators can now set a default template by using the <code dir=ltr>_default</code> key in the local <bdi lang="en" dir="ltr">[[MediaWiki:Citoid-template-type-map.json]]</bdi> page ([[mw:Special:Diff/6969653/7646386|example diff]]). Setting this default will also help to future-proof your existing configurations when [[phab:T347823|new item types]] are added in the future. You can still set templates for individual item types as they will be preferred to the default template. [https://phabricator.wikimedia.org/T384709] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting the week of June 2, bots logging in using <code dir=ltr>action=login</code> or <code dir=ltr>action=clientlogin</code> will fail more often. This is because of stronger protections against suspicious logins. Bots using [[mw:Special:MyLanguage/Manual:Bot passwords|bot passwords]] or using a loginless authentication method such as [[mw:Special:MyLanguage/OAuth/Owner-only consumers|OAuth]] are not affected. If your bot is not using one of those, you should update it; using <code dir=ltr>action=login</code> without a bot password was deprecated [[listarchive:list/wikitech-l@lists.wikimedia.org/message/3EEMN7VQX5G7WMQI5K2GP5JC2336DPTD/|in 2016]]. For most bots, this only requires changing what password the bot uses. [https://phabricator.wikimedia.org/T395205] * From this week, Wikimedia wikis will allow ES2017 features in JavaScript code for official code, gadgets, and user scripts. The most visible feature of ES2017 is <bdi lang="zxx" dir="ltr"><code>async</code>/<code>await</code></bdi> syntax, allowing for easier-to-read code. Until this week, the platform only allowed up to ES2016, and a few months before that, up to ES2015. [https://phabricator.wikimedia.org/T381537] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.4|MediaWiki]] '''Meetings and events''' * Scholarship applications to participate in the [[m:Special:MyLanguage/GLAM Wiki 2025|GLAM Wiki Conference 2025]] are now open. The conference will take place from 30 October to 1 November, in Lisbon, Portugal. GLAM contributors who lack the means to support their participation can [[m:Special:MyLanguage/GLAM Wiki 2025/Scholarships|apply here]]. Scholarship applications close on June 7th. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:55, 2 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28819186 --> == Wikipedia translation of the week: 2025-24 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fi:Kotiryssä]]'''<br /> <small>''([[:en:Kotiryssä]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A '''kotiryssä''' (jocular Finnish: one’s home Russky or home Russian) was a Soviet or Russian contact person of a Finnish politician, bureaucrat, businessman or other important person. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:33, 9 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-24 == <section begin="technews-2025-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/24|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Trust and Safety Product|Trust and Safety Product team]] is finalizing work needed to roll out [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] on large Wikipedias later this month. The team has worked with stewards and other users with extended rights to predict and address many use cases that may arise on larger wikis, so that community members can continue to effectively moderate and patrol temporary accounts. This will be the second of three phases of deployment – the last one will take place in September at the earliest. For more information about the recent developments on the project, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|see this update]]. If you have any comments or questions, write on the [[mw:Talk:Trust and Safety Product/Temporary Accounts|talk page]], and [[m:Event:CEE Catch up Nr. 10 (June 2025)|join a CEE Catch Up]] this Tuesday. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] The [[mw:Special:MyLanguage/Help:Watchlist expiry|watchlist expiry]] feature allows editors to watch pages for a limited period of time. After that period, the page is automatically removed from your watchlist. Starting this week, you can set a preference for the default period of time to watch pages. The [[Special:Preferences#mw-prefsection-watchlist-pageswatchlist|preferences]] also allow you to set different default watch periods for editing existing pages, pages you create, and when using rollback. [https://phabricator.wikimedia.org/T265716] [[File:Talk pages default look (April 2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages will change at almost all Wikipedias ([[m:Special:MyLanguage/Tech/News/2024/19|some]] have already received this design change, [[phab:T379264|a few]] will get these changes later). You can read details about the changes [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. It is possible to opt out of these changes [[Special:Preferences#mw-prefsection-editing-discussion|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). [https://phabricator.wikimedia.org/T319146][https://phabricator.wikimedia.org/T392121] * Users with specific extended rights (including administrators, bureaucrats, checkusers, oversighters, and stewards) can now have IP addresses of all temporary accounts [[phab:T358853|revealed automatically]] during time-limited periods where they need to combat high-speed account-hopping vandalism. This feature was requested by stewards. [https://phabricator.wikimedia.org/T386492] * This week, the Moderator Tools and Machine Learning teams will continue the rollout of [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], releasing it to several more Wikipedias. This filter utilizes the Revert Risk model, which was created by the Research team, to highlight edits that are likely to be reverted and help Recent Changes patrollers identify potentially problematic contributions. The feature will be rolled out to the following Wikipedias: {{int:project-localized-name-afwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-simplewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}. The rollout will continue in the coming weeks to include [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|the rest of the Wikipedias in this project]]. [https://phabricator.wikimedia.org/T391964] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * AbuseFilter editors active on Meta-Wiki and large Wikipedias are kindly asked to update AbuseFilter to make it compatible with temporary accounts. A link to the instructions and the private lists of filters needing verification are [[phab:T369611|available on Phabricator]]. * Lua modules now have access to the name of a page's associated thumbnail image, and on [https://gerrit.wikimedia.org/g/operations/mediawiki-config/+/2e4ab14aa15bb95568f9c07dd777065901eb2126/wmf-config/InitialiseSettings.php#10849 some wikis] to the WikiProject assessment information. This is possible using two new properties on [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#added-by-extensions|mw.title objects]], named <code dir=ltr>pageImage</code> and <code dir=ltr>pageAssessments</code>. [https://phabricator.wikimedia.org/T131911][https://phabricator.wikimedia.org/T380122] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.5|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:17, 10 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28846858 --> == Wikipedia translation of the week: 2025-25 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Future self]]'''<br /> <small>''([[:pl:Przyszła jaźń]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In the psychology of self, the '''future self''' concerns the processes and consequences associated with thinking about oneself in the future. People think about their future selves similarly to how they think about other people. The extent to which people feel psychologically connected (e.g., similarity, closeness) to their future self influences how well they treat their future self. When people feel connected to their future self, they are more likely to save for retirement, make healthy decisions, and avoid ethical transgressions. Interventions that increase feelings of connectedness with future selves can improve future-oriented decision making across these domains. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 16 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-25 == <section begin="technews-2025-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/25|Translations]] are available. '''Updates for editors''' * You can [https://wikimediafoundation.limesurvey.net/359761?lang=en nominate your favorite tools] for the sixth edition of the [[m:Special:MyLanguage/Coolest Tool Award|Coolest Tool Award]]. Nominations are anonymous and will be open until June 25. You can re-use the survey to nominate multiple tools. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.6|MediaWiki]] '''In depth''' * Foundation staff and technical volunteers use Wikimedia APIs to build the tools, applications, features, and integrations that enhance user experiences. Over the coming years, the MediaWiki Interfaces team will be investing in Wikimedia web (HTTP) APIs to better serve technical volunteer needs and protect Wikimedia infrastructure from potential abuse. You can [https://techblog.wikimedia.org/2025/06/12/apis-as-a-product-investing-in-the-current-and-next-generation-of-technical-contributors/ read more about their plans to evolve the APIs in this Techblog post]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:39, 16 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28870688 --> == Wikipedia translation of the week: 2025-26 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pictorial map]]'''<br /> <small>''([[:fa:نقشه تصویری]])&#32;([[:ja:絵地図]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Blake Britain Spearhead of Attack.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Pictorial maps''' (also known as illustrated maps, panoramic maps, perspective maps, bird's-eye view maps, and geopictorial maps) depict a given territory with a more artistic rather than technical style. It is a type of map in contrast to road map, atlas, or topographic map. The cartography can be a sophisticated 3-D perspective landscape or a simple map graphic enlivened with illustrations of buildings, people and animals. They can feature all sorts of varied topics like historical events, legendary figures or local agricultural products and cover anything from an entire continent to a college campus. Drawn by specialized artists and illustrators, pictorial maps are a rich, centuries-old tradition and a diverse art form that ranges from cartoon maps on restaurant placemats to treasured art prints in museums. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:18, 23 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-26 == <section begin="technews-2025-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/26|Translations]] are available. '''Weekly highlight''' * This week, the Moderator Tools and Machine Learning teams will continue the rollout of [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], releasing it to the third and last batch of Wikipedias. This filter utilizes the Revert Risk model, which was created by the Research team, to highlight edits that are likely to be reverted and help Recent Changes patrollers identify potentially problematic contributions. The feature will be rolled out to the following Wikipedias: {{int:project-localized-name-azwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-swwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tlwiki/en}}. The rollout will continue in the coming weeks to include [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|the rest of the Wikipedias in this project]]. [https://phabricator.wikimedia.org/T391964] '''Updates for editors''' * Last week, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] were rolled out on Czech, Korean, and Turkish Wikipedias. This and next week, deployments on larger Wikipedias will follow. [[mw:Talk:Trust and Safety Product/Temporary Accounts|Share your thoughts]] about the project. [https://phabricator.wikimedia.org/T340001] * Later this week, the Editing team will release [[mw:Special:MyLanguage/Help:Edit check#Multi check|Multi Check]] to all Wikipedias (except English Wikipedia). This feature shows multiple [[mw:Special:MyLanguage/Help:Edit check#Reference check|Reference checks]] within the editing experience. This encourages users to add citations when they add multiple new paragraphs to a Wikipedia article. This feature was previously available as an A/B test. [https://analytics.wikimedia.org/published/reports/editing/multi_check_ab_test_report_final.html#summary-of-results The test shows] that users who are shown multiple checks are 1.3 times more likely to add a reference to their edit, and their edit is less likely to be reverted (-34.7%). [https://phabricator.wikimedia.org/T395519] * A few pages need to be renamed due to software updates and to match more recent Unicode standards. All of these changes are related to title-casing changes. Approximately 71 pages and 3 files will be renamed, across 15 wikis; the complete list is in [[phab:T396903|the task]]. The developers will rename these pages next week, and they will fix redirects and embedded file links a few minutes later via a system settings update. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused pages to scroll upwards when text near the top was selected. [https://phabricator.wikimedia.org/T364023] '''Updates for technical contributors''' * Editors can now use Lua modules to filter and transform tabular data for use with [[mw:Special:MyLanguage/Extension:Chart|Extension:Chart]]. This can be used for things like selecting a subset of rows or columns from the source data, converting between units, statistical processing, and many other useful transformations. [[mw:Special:MyLanguage/Extension:Chart/Transforms|Information on how to use transforms is available]]. [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Chart/Project/Updates] * The <code dir=ltr>all_links</code> variable in [[Special:AbuseFilter|AbuseFilter]] is now renamed to <code dir=ltr>new_links</code> for consistency with other variables. Old usages will still continue to work. [https://phabricator.wikimedia.org/T391811] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.7|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/34|Growth newsletter]] is available. It includes: the recent updates for the "Add a Link" Task, two new Newcomer Engagement Features, and updates to Community Configuration. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:21, 23 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28870688 --> == Wikipedia translation of the week: 2025-27 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Queen Elizabeth University Hospital]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:QEUH.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Queen Elizabeth University Hospital''' (QEUH) is a 1,677-bed acute hospital located in Govan, in the south-west of Glasgow, Scotland. The hospital is built on the site of the former Southern General Hospital and opened at the end of April 2015. The hospital comprises a 1,109-bed adult hospital, a 256-bed children's hospital and two major Emergency Departments; one for adults and one for children. There is also an Immediate Assessment Unit for local GPs and out-of-hours services, to send patients directly, without having to be processed through the Emergency Department. The retained buildings from the former Southern General Hospital include the Maternity Unit, the Institute of Neurological Sciences, the Langlands Unit for medicine of the elderly and the laboratory. The whole facility is operated by NHS Greater Glasgow and Clyde, and is one of the largest acute hospital campuses in Europe. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:05, 30 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-27 == <section begin="technews-2025-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/27|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled on all Wikipedias. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Campaigns/Foundation Product Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the [[m:Special:MyLanguage/CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|Deployment information page]]. '''Updates for editors''' * AbuseFilter maintainers can now [[mw:Special:MyLanguage/Extension:IPReputation/AbuseFilter variables|match against IP reputation data]] in [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilters]]. IP reputation data is information about the proxies and VPNs associated with the user's IP address. This data is not shown publicly and is not generated for actions performed by registered accounts. [https://phabricator.wikimedia.org/T354599] * Hidden content that is within [[mw:Special:MyLanguage/Manual:Collapsible elements|collapsible parts of wikipages]] will now be revealed when someone searches the page using the web browser's "Find in page" function (Ctrl+F or ⌘F) in supporting browsers. [https://phabricator.wikimedia.org/T327893][https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/hidden#browser_compatibility] * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature, called [[mw:Special:MyLanguage/Help:TemplateData/Template discovery|Favourite Templates]], will be deployed later this week on all projects (except English Wikipedia, which will receive the feature next week), following a piloting phase on Polish and Arabic Wikipedia, and Italian and English Wikisource. The feature will provide a better way for new and experienced contributors to recall and discover templates via the template dialog, by allowing users to put templates on a special "favourite list". The feature works with both the visual editor and the wikitext editor. The feature is a [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|community wishlist focus area]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused some Notifications to be sent multiple times. [https://phabricator.wikimedia.org/T397103] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.8|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:41, 30 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28917415 --> == Wikipedia translation of the week: 2025-28 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Non-constituency Member of Parliament]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A '''Non-constituency Member of Parliament''' (NCMP) is a member of an opposition political party in Singapore who, as stipulated in Article 39 of the Constitution and the Parliamentary Elections Act, is declared to have been elected a Member of Parliament (MP) without constituency representation, despite having lost in a general election, by virtue of having been one of the opposition candidates with the highest vote shares among the unelected. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:10, 7 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-28 == <section begin="technews-2025-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/28|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Help:Temporary accounts|Temporary accounts]] have been rolled out on 18 large and medium-sized Wikipedias, including German, Japanese, French, and Chinese. Now, about 1/3 of all logged-out activity across wikis is coming from temporary accounts. Users involved in patrolling may be interested in two new documentation pages: [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Access to IP|Access to IP]], explaining everything related to access to temporary account IP addresses, and [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Repository|Repository]] with a list of new gadgets and user scripts. '''Updates for editors''' * Anyone can play an experimental new game, [[mw:Special:MyLanguage/New Engagement Experiments/WikiRun|WikiRun]], that lets you race through Wikipedia by clicking from one article to another, aiming to reach a target page in as few steps and in as little time as possible. The project's goal is to explore new ways of engaging readers. [https://wikirun-game.toolforge.org/ Try playing the game] and let the team know what you think [[mw:Talk:New Engagement Experiments/WikiRun|on the talk page]]. * Users of the Wikipedia Android app in some languages can now play the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/TrivaGame|trivia game]]. ''Which came first?'' is a simple history game where you guess which of two events happened earlier on today's date. It was previously available as an A/B test. It is now available to all users in English, German, French, Spanish, Portuguese, Russian, Arabic, Turkish, and Chinese. The goal of the feature is to help engage with new generations of readers. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/News/2025/22] * Users of the iOS Wikipedia App in some languages may see a new tabbed browsing feature that enables you to open multiple tabs while reading. This feature makes it easier to explore related topics and switch between articles. The A/B test is currently running in Arabic, English, and Japanese in selected regions. More details are available on the [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)|Tabbed Browsing project page]]. * Bureaucrats on Wikimedia wikis can now use [[{{#special:VerifyOATHForUser}}]] to check if users have enabled [[mw:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]]. [https://phabricator.wikimedia.org/T265726] * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed later this week to all Wikimedia projects: a [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Template categories|template category browser]] will be introduced to assist users in finding templates to put in their “favourite” list. The browser will allow users to browse a list of templates which have been organised into a given category tree. The feature has been requested by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Select templates by categories|through the Community Wishlist]]. * It is now possible to access watchlist preferences from the watchlist page. Also the redundant button to edit the watchlist has been removed. [https://www.mediawiki.org/wiki/Moderator_Tools/Watchlist] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * As part of [[mw:MediaWiki_1.44|MediaWiki 1.44]] there is now a unified built-in Notifications system that makes it easier for developers to send, manage, and customize notifications. Check out the updated documentation at [[mw:Manual:Notifications|Manual:Notifications]], information about migration in [[phab:T388663|T388663]] and details on deprecated hooks in [[phab:T389624|T389624]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.9|MediaWiki]] '''Meetings and events''' * [[d:Special:MyLanguage/Event:WikidataCon 2025|WikidataCon 2025]], the conference dedicated to Wikidata is now open for [https://pretalx.com/wikidatacon-2025/cfp session proposals] and for [[d:Special:RegisterForEvent/1340|registration]]. This year's event will be held online from October 31 – November 02 and will explore on the theme of "Connecting People through Linked Open Data". '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 8 July 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28930584 --> == Wikipedia translation of the week: 2025-29 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Immunolabeling]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Immunolabeling process image.png|300px|center]] <div style="text-align:left; padding: .4em;"> '''Immunolabeling''' is a biochemical process that enables the detection and localization of an antigen to a particular site within a cell, tissue, or organ. Antigens are organic molecules, usually proteins, capable of binding to an antibody. These antigens can be visualized using a combination of antigen-specific antibody as well as a means of detection, called a tag, that is covalently linked to the antibody <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> ---[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 13:44, 14 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28945528 --> == Tech News: 2025-29 == <section begin="technews-2025-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/29|Translations]] are available. '''Updates for editors''' * [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Featured templates|Featured templates]], a new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed this week to all Wikimedia projects: With this feature, editors will be able to quickly access a list of templates that are likely to be useful. These templates will be displayed in a list, under the "featured" tab of the template discovery interface. Administrators can define the list via the Community Configuration interface. The feature fulfills a request by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Easy access Templates|through the Community Wishlist]]. [https://phabricator.wikimedia.org/T367428][https://phabricator.wikimedia.org/T392896] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the request to add Malayalam fonts in the [[oldWikisource:Special:MyLanguage/Wikisource:WS Export|Wikisource Book Export Tool]] was resolved and now, the rendering of Malayalam letters in exported Wikisource books are accurate. [https://phabricator.wikimedia.org/T374457] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.10|MediaWiki]] '''In depth''' * Developers, designers, and all Wikimedians are invited to [https://phabricator.wikimedia.org/project/board/7953/ submit a project idea] for the Wikimania Hackathon 2025. Read [https://diff.wikimedia.org/2025/06/30/call-for-projects-wikimania-hackathon-2025-is-coming-to-nairobi/ this Diff blog post] for more details. '''Meetings and events''' * [[m:WikiIndaba conference 2025|WikiIndaba 2025]] scholarship application and program submission is open until 23:59 GMT on July 20. WikiIndaba is a regional conference for African Wikimedians both on the continent and in the diaspora to unite and grow together. Submit [https://docs.google.com/forms/d/e/1FAIpQLSdJTv68R1OPASXXDfpIl8EWiMLTM-TDwh6_5gNVvFuWccFZ2Q/viewform your scholarship application] and [https://ee.kobotoolbox.org/x/BI3omIfH program proposal] now! * [https://br.wikimedia.org/wiki/WikiCon_Brasil_2025 WikiCon Brasil 2025] will take place on July 19-20 in Salvador, Bahia, Brazil. The Brazilian community members are encouraged to register and attend! '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:10, 14 July 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28980963 --> == Wikipedia translation of the week: 2025-30 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Vespa analis]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Plumpy hornet on the ground - 1.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Vespa analis''''', the yellow-vented hornet, is a species of common hornet found in Southeast Asia <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:28, 21 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28984647 --> == Tech News: 2025-30 == <section begin="technews-2025-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/30|Translations]] are available. '''Updates for editors''' * The Translation Suggestions feature in the [[mw:Special:MyLanguage/Content translation|Content Translation tool]] now has another level of article filters added to the "[https://en.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=fi#/ ... More]" category. Translators who use the Suggestions feature can now select and receive article suggestions that are customized to geographical locations of their interest using the new "{{int:Cx-sx-suggestions-filters-tab-regions}}" filter. [https://phabricator.wikimedia.org/T113257] * Administrators can now limit "Add a Link" to newcomers. The [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|"Add a Link"]] Structured Task [[mw:Special:MyLanguage/Growth/Constructive activation experimentation#Enwiki A/B test & "Add a Link" Improvements (Wiki Experiences 1.2.11 & 1.2.16)|helps new account holders start editing]], but some communities have requested the ability to restrict it to its intended audience: newcomers. Administrators can configure this setting within the [[Special:CommunityConfiguration/GrowthSuggestedEdits|Community Configuration]] feature. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * For AbuseFilter editors on [[phab:T392144|some wikis]], it is now possible to filter edits based on the RevertRisk score of the edit being attempted. It is only populated if the action being evaluated is an edit. For more information, please see the [[mw:Special:MyLanguage/Extension:ORES/AbuseFilter variables#What variables are available for use|ORES/AbuseFilter variables]] documentation. * The [[mw:Special:MyLanguage/Beta Cluster|Beta Cluster]] wikis have [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/YDABPV75LADRQCXMJAFWUP256N4EQ25B/|been moved]] from <code dir=ltr>beta.wmflabs.org</code> to <code dir=ltr>beta.wmcloud.org</code>. Users may need to update URLs in any tools, or in their password managers. Any related issues can be [[phab:T289318|reported in the task]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.11|MediaWiki]] '''Meetings and events''' * [[m:Special:MyLanguage/WikiCite 2025|WikiCite 2025]] will take place from 29–31 August, both online and in-person in Bern, Switzerland. The event's goals are to reconnect communities, institutions, and individuals working with open citations, bibliographic data, and the Wikidata/Wikibase ecosystem. Registration is open and the call for proposals will be announced soon. [https://lists.wikimedia.org/hyperkitty/list/wikidata@lists.wikimedia.org/message/KQZUG3ETKLBWPBYSB2YAWZIRPWHS24TG/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:43, 21 July 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29005283 --> == Wikipedia translation of the week: 2025-31 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Fernando de Noronha Marine National Park]]'''<br /> <small>''([[:pt:Parque Nacional Marinho de Fernando de Noronha]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Baía dos Porcos - Fernando de Noronha (32811749914).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Fernando de Noronha Marine National Park''' (Portuguese: Parque Nacional Marinho de Fernando de Noronha) is a national park in the state of Pernambuco, Brazil. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:40, 28 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29047614 --> == Tech News: 2025-31 == <section begin="technews-2025-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/31|Translations]] are available. '''Weekly highlight''' * The Community Tech team will be focusing on wishes related to Watchlists and Recent Changes pages, over the next few months. They are looking for feedback. Please [[m:Special:MyLanguage/Community Wishlist/Updates#July 24, 2025: Watchlists and Recent Changes pages|read the latest update]], and if you have ideas, please [[m:Special:MyLanguage/Community Wishlist|submit a wish]] on the topic. '''Updates for editors''' * The Wikimedia Commons community has decided to block [[:mw:Special:MyLanguage/Upload dialog|cross-wiki uploads]] to Wikimedia Commons, for all users without autoconfirmed rights on that wiki, starting on August 16. This is because of [[:c:Commons:Cross-wiki media upload tool/History|widespread problems]] related to files that are uploaded by newcomers. Users who are affected by this will get an error message with a link to the less restrictive UploadWizard on Commons. Please help translating the [[:c:Special:MyLanguage/MediaWiki:Abusefilter-disallowed-cross-wiki-upload|message]] or give feedback on the message text. Please also update your local help pages to explain this restriction. [https://phabricator.wikimedia.org/T370598] * On wikis with temporary accounts enabled and Meta-Wiki, administrators may now set up a footer for the Special:Contributions pages of temporary accounts, similar to those which can be shown on IP and user-account pages. They may do it by creating the page named <code dir=ltr>MediaWiki:Sp-contributions-footer-temp</code>. [https://phabricator.wikimedia.org/T398347] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.12|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as: ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KFEFVG/ Temporary Accounts: Enhancing privacy for our unregistered editors] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TVCVAB/ Building a Sustainable Future for Wikimedia Contributors] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/WTRQCJ/ A dozen visions for wikitext!] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/8YKKP9/ Coordinate Across Stakeholders with the Product and Technology Advisory Council] * The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2025|MediaWiki Users and Developers Conference, Fall 2025]] will be held 28–30 October 2025 in Hanover, Germany. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:27, 29 July 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29051727 --> == Wikipedia translation of the week: 2025-32 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Xie Zhiliu]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Xie Zhiliu''' (Chinese: 谢稚柳; 1910–1997) was a leading traditional painter, calligrapher, and art connoisseur of modern China. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:21, 4 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29077280 --> == Tech News: 2025-32 == <section begin="technews-2025-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/32|Translations]] are available. '''Updates for editors''' * Editors can now enable the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info card]]. This feature adds an icon next to usernames on history pages and similar user-contribution log pages. When you tap or click on the icon, it displays data related to that user account such as the number of edits, reverted edits, blocks, and more. It's part of a broader project to make it easier for moderators to evaluate account trustworthiness. The feature can be enabled in [[testwiki:Special:GlobalPreferences#mw-prefsection-rendering|your global preferences]], and later this week it will be available in local preferences. [https://phabricator.wikimedia.org/T386439] * Everybody is invited to share comments on [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative Contributions]], a project recently launched by the [[m:Special:MyLanguage/Connection Team|Connection team]]. The project aims to create a new way to display the impact of collaborative editing activities (such as edit-a-thons, backlog drives, and WikiProjects) on the wikis. Post your comments on the [[m:Talk:CampaignEvents/Collaborative contributions|project talk page]]. [https://phabricator.wikimedia.org/T378035] * Administrators can now define the default block duration for temporary accounts. To do that, they need to create a page named <code dir=ltr>MediaWiki:Ipb-default-expiry-temporary-account</code> and use a value defined in <code dir=ltr>MediaWiki:Ipboptions</code>. This allows administrators to easily block temporary accounts for 90 days, which is functionally equivalent to an indefinite block. The advantage of this solution is that it does not clutter Special:BlockList. [[mw:Special:MyLanguage/Manual:Block and unblock#Default block duration options|More documentation]] is available. [https://phabricator.wikimedia.org/T398626] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Gadgets can now include <code dir=ltr>.vue</code> files. This makes it easier to develop modern user interfaces using [[mw:Vue.js|Vue.js]], in particular using [[mw:Special:MyLanguage/Codex|Codex]], the official design system of Wikimedia. [[wmdoc:codex/latest/icons/overview.html|Codex icons]] can be loaded through the gadget definition. [[mw:Special:MyLanguage/Extension:Gadgets#Pages|The documentation]] has examples. For user scripts that use Vue.js, an [[mw:API:CodexIcons|API module]] now exists to load Codex icons. [https://phabricator.wikimedia.org/T340460][https://phabricator.wikimedia.org/T311099] * Module developers can now use a [[mw:Help:Extension:Translate/Message Bundles/Lua reference|Lua interface]] to simplify the preparation of Lua modules for translation on Meta-Wiki. This improvement makes it easier for translators to find and edit module strings without dealing with raw Lua code. It helps prevent mistakes that could break the module during translation. Module developers and translators are invited to [[commons:File:Translatable modules video demo July 2025.webm|watch the demo video]], read more about [[mw:Special:MyLanguage/Translatable modules|translatable modules]] to understand how it works, refer to Meta-Wiki's [[m:Module:User Wikimedia project|Module:User Wikimedia project]] for example usage, and [[mw:Talk:Translatable modules|share their feedback]] on how well it addresses the challenges in their workflow. The interface still has some performance issues, so it should not be used in widely used modules yet. [https://phabricator.wikimedia.org/T359918] * Developers of external tools that connect to Wikimedia pages must set a user-agent that complies with [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|the user-agent policy]]. This policy will start to be more strongly enforced in August because of external crawlers that are [[diffblog:2025/04/01/how-crawlers-impact-the-operations-of-the-wikimedia-projects/|overusing]] Wikimedia's resources. Tools that are hosted on Wikimedia's Toolforge or Cloud VPS will not be affected by this for now, but should still set a user-agent. [[phab:T400119|More technical details are available]], and related questions are welcome in that task. * Parsoid Read Views is going to be rolling out to some smaller Wikipedias over the next few weeks, following the successful transition of Wikivoyages and Wiktionaries to Parsoid Read Views. For more information, see the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parsoid/Parser Unification]] project page. [https://phabricator.wikimedia.org/project/profile/7694/] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.13|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as: ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/GEH9DH/ Wikimedia’s knowledge infrastructure in a changing internet: Establishing sustainable pathways for content reuse] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/7ELN9Q/ Wikifunctions is coming soon to a wiki near you!] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/ZMGVJV/ Shaping the Future of Wikipedia’s Reader Experience] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KCKTFZ/ Making Wikipedia More Readable: What Comes Next] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:41, 5 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29083927 --> == Wikipedia translation of the week: 2025-33 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lethocerus patruelis]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lethocerus patruelis.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Lethocerus patruelis''''' is a giant water bug in the family Belostomatidae. It is native to southeastern Europe, through Southwest Asia, to Pakistan, India and Burma. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:20, 11 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29085671 --> == Tech News: 2025-33 == <section begin="technews-2025-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/33|Translations]] are available. '''Updates for editors''' * The WikiEditor toolbar now includes [[mw:Special:MyLanguage/Help:Extension:WikiEditor#Keyboard shortcuts|its keyboard shortcuts]] in the tooltips for its buttons. This will help to improve the discoverability of this feature. [https://phabricator.wikimedia.org/T400583] * The [[m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] published a set of [[m:Special:MyLanguage/Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|proposed experiments]] the Wikimedia Foundation can try to improve communication with community. Feedback on the proposals are welcomed until August 22 on [[m:Talk:Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|this talk page]]. * The search bar on the Minerva skin (mobile) has been updated to use the same type-ahead search component that is used on the Vector 2022 skin. There are no changes in search functionality but there are minor visual changes. Specifically, the close-search button has been changed from an "X" to a back arrow. This helps to distinguish it from the other "X" button that is used to clear any text. [https://phabricator.wikimedia.org/T393944] * Editors on some wikis will see a new toggle for "Group results by page" on watchlist, related changes, and recent changes pages. This is [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment|an A/B experiment]] that is planned to start on August 11, and will run for 3–6 weeks on the Bengali, Chinese, Czech, French, Greek, Portuguese, and Urdu Wikipedias. The experiment will examine how making this feature more discoverable might affect editors' ability to find the edits they are looking for. [https://phabricator.wikimedia.org/T396789] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The multiwiki datasets of [[:wikt:en:Module:Unicode data|Unicode data]] have been moved to [[c:Category:Unicode Module Datasets|Category:Unicode Module Datasets]] on Wikimedia Commons, to follow the idea of "One common data source, multiple local wikis". Most wikis have been updated to use the Commons version. You can ask questions at [[c:Category talk:Unicode Module Datasets|the talkpage]]. [https://en.wiktionary.org/wiki/Module_talk:Unicode_data#Data_from_commons] * Lua code can add warnings when something is wrong, by using the <code dir=ltr>mw.addWarning()</code> function. It is now possible to add more than one warning, instead of new warnings replacing old ones. If you maintain a Lua module that used warnings, you should check it still works as expected. [https://phabricator.wikimedia.org/T398390] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.14|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:30, 11 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29106516 --> == Wikipedia translation of the week: 2025-34 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ikiza]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:CIA map of Burundi and surrounding countries during 1972 killings.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Ikiza''' (variously translated from Kirundi as the Catastrophe, the Great Calamity, and the Scourge), or the Ubwicanyi (Killings), was a series of mass killings—often characterised as a genocide—which were committed in Burundi in 1972 by the Tutsi-dominated army and government, primarily against educated and elite Hutus who lived in the country. Conservative estimates place the death toll of the event between 100,000 and 150,000 killed, while some estimates of the death toll go as high as 300,000. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:43, 18 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29115447 --> == Tech News: 2025-34 == <section begin="technews-2025-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/34|Translations]] are available. '''Updates for editors''' * Later this week, people who are logged-in and have the "[[mw:Special:MyLanguage/Talk pages project/Feature summary|Discussion tools]]" [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature]] enabled will gain the ability to "Thank" individual comments directly from talk pages, rather than needing to navigate to page history. [[mw:Special:MyLanguage/Talk pages project/Feature summary#Comment actions|Learn more about this feature]]. [https://phabricator.wikimedia.org/T400849] * An A/B test comparing two versions of the desktop donate link launched on testwiki on 12 August and on English Wikipedia 14 August for 0.1% of logged out users on the desktop site. The experiment will run for three weeks, ending on 12 September. [https://phabricator.wikimedia.org/T395716] * An A/A test to measure the baseline for reader retention was launched 12 August using [[wikitech:Experimentation Lab|Experimentation Lab]]. This measures the percentage of users who revisit a wiki after their initial visit over a 14-day period. No visual changes are expected. The experiment will run through 31 August. [https://phabricator.wikimedia.org/T399227] * Five new wikis have been created: ** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q34057|Tagalog]] ([[s:tl:|<code>s:tl:</code>]]) [https://phabricator.wikimedia.org/T388639] ** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q36213|Madurese]] ([[s:mad:|<code>s:mad:</code>]]) [https://phabricator.wikimedia.org/T391747] ** a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q3450749|Rakhine]] ([[w:rki:|<code>w:rki:</code>]]) [https://phabricator.wikimedia.org/T392490] ** a {{int:project-localized-name-group-wikibooks/en}} in [[d:Q13324|Minangkabau]] ([[b:min:|<code>b:min:</code>]]) [https://phabricator.wikimedia.org/T395452] ** a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q7598268|Standard Moroccan Amazigh]] ([[wikt:zgh:|<code>wikt:zgh:</code>]]) [https://phabricator.wikimedia.org/T399684] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:46}} community-submitted {{PLURAL:46|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.15|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W34"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:39, 19 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29127690 --> == Wikipedia translation of the week: 2025-35 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Corallite]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Recent azooxanthellate Scleractinia (Cnidaria, Anthozoa) - ZooKeys-227-001-g004.jpeg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''corallite''' is the skeletal cup, formed by an individual stony coral polyp, in which the polyp sits and into which it can retract. The cup is composed of aragonite, a crystalline form of calcium carbonate, and is secreted by the polyp. Corallites vary in size, but in most colonial corals they are less than 3 mm (0.12 in) in diameter. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 25 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29115447 --> == Tech News: 2025-35 == <section begin="technews-2025-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/35|Translations]] are available. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Template authors can now use additional CSS properties, since the CSS sanitizer used by [[mw:Special:MyLanguage/Help:TemplateStyles|TemplateStyles]] was updated. For example: <code>width: fit-content</code>; <code>ruby-align</code>; relative units such as <code>lh</code>; and custom strings in <code>list-style-type</code>. These improvements are a [[m:Special:MyLanguage/Community Wishlist/Wishes/Allow use of modern CSS in templates by updating the TemplateStyles CSS sanitizer|Community Wishlist wish]]. [https://phabricator.wikimedia.org/T271958][https://phabricator.wikimedia.org/T277755][https://phabricator.wikimedia.org/T293633][https://phabricator.wikimedia.org/T295088][https://phabricator.wikimedia.org/T326906][https://phabricator.wikimedia.org/T340057][https://phabricator.wikimedia.org/T360725][https://phabricator.wikimedia.org/T371809][https://phabricator.wikimedia.org/T375344][https://phabricator.wikimedia.org/T394619] * On large wikis, the default time period to display edits from, within the Special:RecentChanges page, has been changed from 7 days to 1 day. This is part of a performance improvement project. This should have no user-facing impact due to the quantity of edits on these wikis. [https://phabricator.wikimedia.org/T399455] * Administrators can now access the [[{{#special:BlockedExternalDomains}}]] page from the [[{{#special:CommunityConfiguration}}]] list page. This makes it easier to find. [https://phabricator.wikimedia.org/T393240] * Wikimedia Commons videos were not shown in the Videos tab in Google Search. The problem was investigated and reported to Google who have now fixed the issue. [https://phabricator.wikimedia.org/T396168][https://meta.wikimedia.org/wiki/Community_Wishlist/Wishes/Do_something_about_Google_%26_DuckDuckGo_search_not_indexing_media_files_and_categories_on_Commons] * One new wiki has been created: a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q33014|Betawi]] ([[wikt:bew:|<code>wikt:bew:</code>]]) [https://phabricator.wikimedia.org/T402130] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:39}} community-submitted {{PLURAL:39|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Two fields of the [[mw:Special:MyLanguage/Manual:Recentchanges table|recentchanges database table]] are being removed. <code>rc_new</code> and <code>rc_type</code> are being removed in favor of <code>rc_source</code>. Queries to these older fields will start to fail starting this week and developers should use <code>rc_source</code> instead. These older fields were deprecated over 10 years ago and should not be in use. This is part of work to improve the performance and stability of queries to the recentchanges table. [https://phabricator.wikimedia.org/T400696] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.16|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/July|Language and Internationalization Newsletter]] is now available. This edition includes: support for new languages in MediaWiki and translatewiki; the start of the Language Onboarding and Development project to help support the growth of new and small wikis; updates on research projects; and more. '''Meetings and events''' * The next [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Community meetings#29 August 2025|Language Community Meeting]] is happening soon, August 29th at [https://zonestamp.toolforge.org/1756479600 15:00 UTC]. This week's meeting will cover: the Avro keyboard developers from Wikimedia Bangladesh, who were recently awarded a national award for their contributions to this keyboard; and other topics. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:13, 26 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29175124 --> == Wikipedia translation of the week: 2025-36 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Diksam Plateau]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Dixam plateau (6407168437).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Diksam Plateau''' or Dixam Plateau (Arabic: دكسم) is a limestone plateau in Socotra, Yemen. The Firmihin forest, located east of the Dirhur canyon within the plateau, has the highest concentration of Dragon's Blood Trees on the entire island. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:40, 1 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29195081 --> == Tech News: 2025-36 == <section begin="technews-2025-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/36|Translations]] are available. '''Weekly highlight''' * The Editing team wants to compile a list of templates, jargon terms, and policies used in edit summaries when a copyright violation is removed. This will help them identify the number of edits reverted due to copyright issues. We invite community members from the following Wikis to list these terms in [[Phab:T402601|T402601]], or to share their list with [[User:Trizek (WMF)|Trizek_(WMF)]]: {{int:project-localized-name-arwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-idwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-plwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ukwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-viwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zhwiki/en}}. This project is open until September 9th 2025. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled for all Wikisources. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Special:MyLanguage/Connection Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the Deployment information page. [https://meta.wikimedia.org/wiki/CampaignEvents/Deployment_status#How_to_Request_the_CampaignEvents_Extension_for_your_wiki] * The lists in the footer of the editing interface, such as "Templates used on this page," will now be organized into columns when there is enough space. This enhancement minimizes scrolling when editing lengthy articles on Wikipedia. [https://phabricator.wikimedia.org/T401066] * On September 3rd, 2025 we will increase the sampling percentages of our [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment#Scope of the experiment|group by toggle experiment]] of the <code>Special:RecentChanges</code>, <code>Special:Watchlist</code>, and <code>Special:RelatedChanges</code> pages on the Chinese, French, and Portuguese Wikipedias to 100 percent, allowing more editors to be part of this experiment. This adjustment is intended to ensure we have sufficient data to make informed decisions when evaluating the experiment results. [https://phabricator.wikimedia.org/T402958][https://phabricator.wikimedia.org/T396789] * Upon clicking an empty search bar, logged-out users will see suggestions of articles for further reading on English Wikipedia beginning the week of September 22. The feature will be available on both desktop and mobile. All non-English wikis received this change in June and July. The goal is to make it easier for users to find articles. [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments/Search Suggestions|Learn more]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:37}} community-submitted {{PLURAL:37|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.17|MediaWiki]] '''In depth''' * Wikifunctions now has a new capability called "lightweight enumeration types", an enumeration type is simply a fixed set of values that's in the type's definition. This capability makes it quick and easy to define such a type, and allows for the reuse of values that are already present in Wikidata. Here is [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-07-19|a newsletter]] to learn more. * The latest [[mw:Special:MyLanguage/Readers/Newsletter updates#August 2025: Newsletter #1|Readers Newsletter]] is now available. This edition includes: the formation of two new teams — Reader Growth and Reader Experience; insights into declining pageviews and account creations; highlights from the Wikimania Nairobi panel on improving the reading experience; upcoming experiments to engage new and existing readers; and more. '''Meetings and events''' * Spotlight on some Wikimania 2025 Sessions: ** Identifying AI-generated text by searching for ISBNs whose checksums fail: Mathias Schindler of WMDE [https://www.youtube.com/watch?v=Dw9o8Lsl974&t=15910s shared tools to help communities search for these]. ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TCHZKH/ La durabilité du mouvement Wikimedia face aux défis actuels et futurs]: This session explored how Wikimedia can stay a trusted source of knowledge in the age of generative AI, information overload, and disinformation. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:51, 1 September 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29196010 --> == Wikipedia translation of the week: 2025-37 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Ttongsul]]'''<br /> <small>''([[:ja:トンスル]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Ttongsul (imitation).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''ttongsul''' (똥술), o vino di feci, è una tradizionale preparazione medicinale coreana con gradazione alcolica al 9% a base di feci, solitamente umane e preferibilmente di bambino. Nato probabilmente traendo spunto dalla medicina tradizionale cinese, nelle credenze popolari il vino di feci avrebbe proprietà benefiche per molti tipi di malesseri: sarebbe un rimedio per dolori muscolari, ustioni, infiammazioni, epilessia e fratture ossee. Sebbene alcuni media occidentali abbiano in passato riportato che questa bevanda sia diffusa tra la popolazione coreana, al giorno d'oggi un numero molto limitato di persone ne fa uso, dopo aver subito un declino di popolarità nei secoli scorsi, tanto che la maggioranza dei giovani coreani non ne ha mai sentito parlare. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:28, 8 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29195081 --> == Tech News: 2025-37 == <section begin="technews-2025-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/37|Translations]] are available. '''Weekly highlight''' * The Editing team is working on a new check: [[mw:Special:MyLanguage/Paste check|Paste check]]. This check informs newcomers who paste text into Wikipedia that the content might not be accepted. This check is an effort to increase the likelihood that the new content people are adding to Wikipedia is aligned with the Movement's commitment to offering information under a free content license. This check will soon be tested at a few wikis. If your community is interested in this test, please [[phab:T403680|tell us in this task]], or [[mw:Talk:Edit check|contact the team]]. '''Updates for editors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will be able to use a [[w:en:Lint (software)|linting tool]] to see errors or other potential problems in wikitext in real time. See the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|help page for more information]]. [https://phabricator.wikimedia.org/T381577] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] When browsing a wiki (like <code dir=ltr>en.wikipedia.org</code>), the software responds in one of two ways: a desktop page, or a redirect to a mobile version on an "m" domain (like <code dir=ltr>en.m.wikipedia.org</code>). Over the next three weeks, MediaWiki will start displaying the mobile version to mobile devices directly on the standard domain, without this redirect. This change does not affect existing m-dot URLs, or the "Desktop view" opt-out. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998] * When an edit changes the categories of a page, the changes to the category membership counts are now happening asynchronously. This improves the speed of saving edits, especially when moving many pages to or from the same category, and reduces the risk of site outages, but it means that the counts can show outdated information for a few minutes. [https://phabricator.wikimedia.org/T365303] * Edits on Wikidata to qualifiers (properties and values) and references (properties and values) in a Wikidata item statement will now not add entries to the RecentChanges or Watchlist pages on all other Wikis. This is a temporary change to improve performance while other solutions are created. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: Turn off (temporarily) Qualifiers and References Wikidata edits to the Recent Changes tables|Learn more]]. [https://phabricator.wikimedia.org/T401286][https://phabricator.wikimedia.org/T400698] * Japanese-language wikis have had a major upgrade to the way that search works. The new search should generally give more accurate and more relevant search results. [https://phabricator.wikimedia.org/T318269] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.18|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:15, 9 September 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29238161 --> == Wikipedia translation of the week: 2025-38 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pak Kum-chol]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pak Kum-chol in 1961 (cropped).jpg|center]] <div style="text-align:left; padding: .4em;"> '''Pak Kum-chol''' was a North Korean politician. Having been a guerrilla during the anti-Japanese struggle, he became a high-ranking politician after the liberation of Korea. Pak aligned himself with his former guerrilla brothers in arms from the Kapsan Operation Committee to form a faction within the ruling Workers' Party of Korea (WPK) called the "Kapsan faction". This faction sought to replace Kim Il Sung with Pak. Kim retaliated by purging the faction in 1967 in what is known as the Kapsan faction incident. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 15 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29249252 --> == Tech News: 2025-38 == <section begin="technews-2025-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/38|Translations]] are available. '''Updates for editors''' * References lists that are made using the <code dir=ltr><nowiki><references/></nowiki></code> [[mw:Special:MyLanguage/Help:Cite#references-tag|tag]] will now automatically display with columns in Vector 2022 when readers are using its 'standard' settings for text-size and page-width. [https://phabricator.wikimedia.org/T334941] * Starting in the week of October 6, on [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small wikis]] and [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] that have the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] enabled, all autoconfirmed users will be able to use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] as an organizer. No changes will be made for [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/large.dblist|large wikis]] unless requested in Phabricator. This change is being made to make it easier for more people to use Event Registration, especially on wikis that are less likely to have policies related to the Event Organizer right. [[m:Special:MyLanguage/CampaignEvents/Proposal to grant autoconfirmed users on small and medium wikis the organizer access to the event registration tool|Learn more]]. * Users that search using regular expressions (regex) can now use additional features including: ** for the <code dir=ltr>intitle:</code> keyword: [[mw:Special:MyLanguage/Help:CirrusSearch#Metacharacters|metacharacters]] for start-of-line (<code dir=ltr>^</code>) and end-of-line (<code dir=ltr>$</code>) anchors [https://phabricator.wikimedia.org/T317599] ** for both <code dir=ltr>intitle:</code> and <code dir=ltr>insource:</code> keywords: shorthand [[mw:Special:MyLanguage/Help:CirrusSearch#Character_Classes|character classes]] for digits (<code dir=ltr>\d</code>), whitespace (<code dir=ltr>\s</code>), and word characters (<code dir=ltr>\w</code>); and [[mw:Special:MyLanguage/Help:CirrusSearch#Escape codes|escape codes]] for line feed (<code dir=ltr>\r</code>), newline (<code dir=ltr>\n</code>), tab (<code dir=ltr>\t</code>), and unicode (e.g. <code dir=ltr>\uHHHH</code>). [https://phabricator.wikimedia.org/T403212] * When you search for text that looks like an IP, the system will now show search results. It used to take you to the contributions for that IP instead of showing search results. [https://phabricator.wikimedia.org/T306325] * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on September 24. This is planned at [https://zonestamp.toolforge.org/1758726000 15:00 UTC]. This is for the datacenter server switchover backup tests which happen twice a year. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the background and details of this process on the Diff blog]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that affected users who used the page-tabs to switch from wikitext editing of a section into the visualeditor. [https://phabricator.wikimedia.org/T401043] '''Updates for technical contributors''' * The MediaWiki Interfaces team is redesigning the Wikimedia REST API Sandbox with Codex. If you have feedback on improvements for the API documentation or what makes developer experiences smooth (or frustrating), you’re invited to [https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ2aZzbXeQvjOF7gB1fJXiwAYemQjKf4sXNaRODPA7_obFyNBwkzNkoVCoTF-aeov89kIjXHbCQm join an upcoming discovery interview], or [[mw:MediaWiki Interfaces Team/Developer Feedback/Wikimedia Web APIs|leave feedback onwiki]]. [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/C4FBAOA57PH6G5ORVMAUF5TGYBLZDU5Q/|Learn more]]. * Edits to Wikidata aliases (an alternative name for an item or a property) will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: More granular Alias tracking|Learn more]]. [https://phabricator.wikimedia.org/T401288] * The new [https://www.unicode.org/versions/Unicode17.0.0/ Unicode 17.0] version has been released. The [[:c:Category:Unicode Module Datasets|datasets on Commons]] for the [[:d:Q39301585|Module:Unicode data]] have been updated. Wikipedias that do not use the Commons datasets should either update their own data or switch to the Commons datasets. * Users of the [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] Structured Contents endpoints can now access [https://enterprise.wikimedia.com/blog/parsed-wikipedia-tables/ Parsed Tables]. The new Parsed Tables feature extracts and represents Wikipedia tables in structured JSON. This improves machine accessibility as part of the [https://enterprise.wikimedia.com/api/structured-contents/ Structured Contents initiative]. Structured Contents output is freely available through the [https://enterprise.wikimedia.com/docs/on-demand/#article-structured-contents-beta On-demand API], or through Wikimedia Cloud Services. * A [https://www.kaggle.com/datasets/wikimedia-foundation/english-wikipedia-people-dataset dataset of English Wikipedia biographical information] from [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] has been published on Kaggle, for evaluation and research. This provides structured data from more than 1.5 million biographies, including birth and death dates, education, affiliations, careers, awards, and more (from a June 2024 snapshot). * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.19|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2026:Scholarships|Scholarship applications]] for Wikimania 2026 in Paris, France, are open until October 31. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:08, 15 September 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29263921 --> == Wikipedia translation of the week: 2025-39 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Federation of Central America (1921–1922)]]'''<br /> <small>''([[:es:Federación de Centro América (1921-1922)]])&#32;([[:ar:اتحاد أمريكا الوسطى (1921-1922)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Central America's Northern Triangle (orthographic projection).png|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Federation of Central America''' (Spanish: Federación de Centro América)[1] was a short-lived federal republic that existed in Central America between 1921 and 1922. The federation consisted of the Central American nations of El Salvador, Guatemala, and Honduras. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:45, 22 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29311347 --> == Tech News: 2025-39 == <section begin="technews-2025-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/39|Translations]] are available. '''Weekly highlight''' * [https://zonestamp.toolforge.org/1758726000 On September 24th at 15:00 UTC], all Wikimedia sites users will experience a brief read-only period due to a scheduled [[m:Special:MyLanguage/Tech/Server switch|datacenter server switchover]]. The Wikimedia Foundation's Site Reliability Engineering (SRE) team will redirect all traffic from one primary server to its backup. You can listen to the switchover using the [http://listen.hatnote.com/ "Listen to Wikipedia"] tool, where you will hear edits stop for a few minutes during the read-only phase, then resume. This twice-yearly datacenter server switchover ensures reliability by testing the backup datacenter, so that our sites can stay online even if the primary datacenter fails. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the process on the Diff blog]]. '''Updates for editors''' * Editors of [[f:Special:Mylanguage/Wikifunctions:Status updates/2025-09-12#Next round of Wiktionaries to receive embedded Wikifunctions calls|60 more Wiktionaries]] will soon be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them into their pages. A function takes one or more inputs and transforms them into a desired output, like adding numbers, converting miles to meters, calculating elapsed time, or declining a word into a case. They will join the other [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-29#Wikifunctions available on 65 Wiktionaries|65 Wiktionary language editions]], which already have access to embedded Wikifunctions calls. Later this year, plans are in place to expand to more Wiktionaries and the Incubator. * A new [[mw:Special:MyLanguage/Help:Magic words#Technical metadata of another page|parser function]] has been added: <code><nowiki>{{#contentmodel}}</nowiki></code>. Template editors and admins can use it to get the localized or canonical name of the [[mw:Special:MyLanguage/Help:ChangeContentModel|content model]] of a specific page. The function makes it easier to create and edit system messages, such as ''MediaWiki:editinginterface'', even when you switch types of pages, like wiki, JavaScript, CSS or JSON page. [https://phabricator.wikimedia.org/T328254] * Adding or editing a <code>DISPLAYTITLE</code> for an article using VisualEditor will no longer be broken. Editors who use VisualEditor mode to modify the <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> would no longer have the literal text "DISPLAYTITLE" or its localized variant added to their articles. A list of pages that may have been affected and might need cleanup is documented in [[phab:P83438|this ticket]]. * Beta users of the Wikipedia Android app can now try the redesigned [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Activity Tab Experiment|Activity tab]], which replaces the Edits tab. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:12}} community-submitted {{PLURAL:12|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.20|MediaWiki]] '''In depth''' * Wikifunctions users can now import many essential facts involving [[f:Special:MyLanguage/Z6011|geo-coordinates]], [[f:Special:MyLanguage/Z6010|quantities]] and [[f:Special:MyLanguage/Z6064|time]] values from Wikidata. This is made possible by the creation of Wikifunctions types for these values, which makes them available for use by functions in Wikifunctions. Learn more about how this works in [[c:File:ImportingWikidataDatatypesIntoWikifunctions.webm|this video]] and Wikifunctions' [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-01#News in Types I: Wikidata quantity|August 1 newsletter]] (for quantities) and [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-22#News in Types: Wikidata geo-coordinate|August 22 newsletter]] (for geo-coordinates). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:56, 22 September 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29305556 --> == Wikipedia translation of the week: 2025-40 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Palazzo delle Poste (Latina)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Postelittoria2.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''Palazzo delle Poste''', fino al 1945 Ricevitoria Postelegrafonica di Littoria, è un edificio postale di Latina, situato in piazzale dei Bonificatori. Costruito nel 1932 in stile razionalista con influenze futuriste, riscontrabili nell'utilizzo di ampie superfici vetrate e di volumi verticali, oltre che per la presenza di l’utilizzo di materiali e scelte di design molto in voga all'epoca come, come i mattoni a vista, il travertino di Tivoli e l'Anticorodal (una lega di alluminio), ospita l'ufficio postale Latina Centro. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:58, 29 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29341788 --> == Tech News: 2025-40 == <section begin="technews-2025-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/40|Translations]] are available. '''Weekly highlight''' * A major software upgrade has been made to [[phab:|Phabricator]]. The update introduces performance improvements, a refreshed search interface, enhancements to Maniphest task search, updates to user profile pages and project workboards, new Herald automation features, as well as general text input, mobile experience improvements and more. [https://phabricator.wikimedia.org/phame/post/view/321/iterative_improvements_september_2025/] '''Updates for editors''' * The Community Tech team will release the new Community Wishlist extension on October 1, that will improve the way wishes will be submitted. The new extension will allow users to add tags to their wishes to better categorise them, and (in a future iteration) to filter them by status, tags and focus areas. It will also be possible to support individual wishes again, as requested by the community in many instances. The old system will be retired. There will be a brief period of downtime while the extension is deployed and wishes are migrated to the new system. You can read more about this [[:m:Special:MyLanguage/Community Wishlist/Updates|in the latest update]] or you can consult the [[:mw:Special:MyLanguage/Help:Extension:CommunityRequests|current documentation on MediaWiki]]. * As announced [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|on Diff blog]], the production trial of the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|hCaptcha]] service for bot detection has begun. The trial is currently using hCaptcha to protect account creation on Chinese, Persian, Portuguese, Indonesian, Japanese, and Turkish Wikipedias, where it will replace our existing [[mw:Special:MyLanguage/Extension:ConfirmEdit#FancyCaptcha|CAPTCHA]] (FancyCaptcha). The goal with the trial is to better block bots while also improving usability and accessibility for users who encounter CAPTCHA challenges. * The [[mw:Special:MyLanguage/Extension:CampaignEvents|CampaignEvents]] extension has been [[m:Special:MyLanguage/CampaignEvents/Deployment status|deployed]] to Wikimedia Commons. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. On Commons, anyone who is a registered user can use it as an event participant. To use it as an organizer, someone needs to have the [[c:Special:MyLanguage/Commons:Event organizers|event organizer right]]. * [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to German Wikipedia. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|test the feature]] on testwiki or [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing on betawiki] as well. Please share your thoughts on [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Templates used in sub-references|using templates in sub-references]] or [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|volunteer to become a pilot wiki]]. * On wikis using the [[mw:Special:MyLanguage/Help:Growth/Mentorship|Mentorship]] system, communities can now opt experienced editors out of Mentorship through [[{{#special:CommunityConfiguration/Mentorship}}]]. Within this setting, communities may define thresholds, based on edit count and account age, to decide when an editor is considered experienced enough to no longer receive Mentorship. [https://phabricator.wikimedia.org/T403563] * The Editing Team and the Machine Learning Team are working on a new check for newcomers: [[mw:Special:MyLanguage/Edit check/Tone Check|Tone check]]. Using a prediction model, this check will encourage editors to improve the tone of their edits, using artificial intelligence. We invite volunteers to review the first version of the Tone language model for the following languages: Arabic, Czech, German, Hebrew, Indonesian, Dutch, Polish, Russian, Turkish, Chinese, Farsi, Italian, Norwegian, Romanian and Latvian. Users from these wikis interested in reviewing this model are [[mw:Special:MyLanguage/Edit_check/Tone_Check/Model_evaluation|invited to sign up at MediaWiki.org]]. The deadline to sign up is on October 3, which will be the start date of the test. * The rollout of [[:mw:Special:MyLanguage/Help:Manage blocks|multiblocks]] had the side effect that non-active block logs may have been shown on {{#special:Contributions}} and on blocked users' user and user_talk pages. This issue will be fully resolved in a few days. As part of the fix, [{{fullurl:Special:Allmessages|prefix=sp-contributions-blocked-notice}} messages prefixed with <code>sp-contributions-blocked-notice</code>] will be removed and replaced with [{{fullurl:Special:Allmessages|prefix=blocked-notice-logextract}} those prefixed with <code>blocked-notice-logextract</code>] in a few weeks. Please help translate the new messages and update any local overrides if needed. * There was a bug with links added using visual editor if they included characters such as <code dir=ltr><nowiki>[ ] |</nowiki></code> after the fragment identifier (<code><nowiki>#</nowiki></code>). They were not encoded properly creating an incorrect link. This has been fixed. [https://phabricator.wikimedia.org/T404823] * One new wiki has been created: a {{int:project-localized-name-group-wikiquote/en}} in [[d:Q9237|Malay]] ([[q:ms:|<code>q:ms:</code>]]) [https://phabricator.wikimedia.org/T404698] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info Card]] now displays currently active global lock/blocks. [https://phabricator.wikimedia.org/T401128] '''Updates for technical contributors''' * Later this week, editors using Lua modules will be able to use the <code>[[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.title.newBatch|mw.title.newBatch]]</code> function to look up the existence of up to 25 pages at once, in a way that only increases the [[mw:Special:MyLanguage/Manual:Parser functions#Expensive parser functions|expensive function]] count once. * A new [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Unsupported Tools Working Group]] has been formed as part of ongoing efforts to collectively determine technical work priorities, similar to the [[m:Special:MyLanguage/Product and Technology Advisory Council|Product & Technology Advisory Council]] (PTAC). The working group will help prioritize and review requests for support of unmaintained extensions, gadgets, bots, and tools. For the first cycle, the group will be prioritizing an unsupported Wikimedia Commons tool. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.21|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:54, 29 September 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29355230 --> == Wikipedia translation of the week: 2025-41 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Majed Abu Maraheel]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Majed Abu Maraheel''' was a Palestinian long-distance runner, football player, security officer, and athletics coach, who was the first Palestinian to compete at the Olympic Games. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:48, 6 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29341788 --> == Tech News: 2025-41 == <section begin="technews-2025-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/41|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Help:Edit check#paste|Paste Check]] is a new Edit Check feature to help avoid and fight copyright violations. When editors paste text into an article, Paste Check prompts them to confirm the origin and licensing of the content. Starting Wednesday, 8 October, [[phab:T403680|22 wikis will test Paste Check]]. Paste Check will help new volunteers understand and follow the policies and guidelines necessary to make constructive contributions to Wikipedia projects. '''Updates for editors''' * Mobile devices will receive mobile articles directly on the standard domain (like <code>en.wikipedia.org</code>), instead of via a redirect to an "m" domain (like <code>en.m.wikipedia.org</code>). This change improves performance. This week it will be enabled on Wikipedias. The existing mobile URLs and the "Desktop view" opt-out remain available. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998] * New [[mw:Special:MyLanguage/Help:CirrusSearch#creationdate and lasteditdate|date filters]], <code dir=ltr>creationdate:</code> and <code dir=ltr>lasteditdate:</code>, are now available in the wiki search engine. This allows users to filter search results by a page's first or last revision date. The filters support comparison operators (e.g. <code dir=ltr>>2024</code>) and relative dates (e.g. <code dir=ltr>today-1d</code>), making it easier to find recently updated content or pages within specific age ranges. [https://phabricator.wikimedia.org/T403593] * [[f:|Wikifunctions]] now supports rich text in embedded calls across the 150 wikis where it's enabled. To showcase this, the team created a [[f:Z26333|Latin declination table]] that Wiktionary editors can use to automatically generate noun forms, producing clear, formatted results — see an [[f:Wikifunctions:Embedded function calls/Wiktionary tables demonstration|example output]]. If you need any help or have any feedback, please [[f:Wikifunctions:Project chat|contact the Wikifunctions Team]]. [https://phabricator.wikimedia.org/T397402] * An edit link will now appear inside the categories box on article pages for logged in users, which will directly launch the VisualEditor category dialog. [https://phabricator.wikimedia.org/T291691] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a problem downloading pdf files last week and that has been resolved. [https://phabricator.wikimedia.org/T405957] '''Updates for technical contributors''' * The field <code dir=ltr>rev_sha1</code> in the revision database table is being removed in favor of <code dir=ltr>content_sha1</code> in the content database table. See [https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/2D2M3SP4WHR6BXXKTZ2PBLZQYR3EGQVR/ the announcement] for more information. * The [[mw:Special:MyLanguage/Reading/Web|Reader Experience team]] will roll out [[w:en:Light-on-dark color scheme|Dark Mode]] user interface on all Wikimedia sites on October 29, 2025. All anonymous users of Wikimedia sites will have the option to activate a color scheme that features light-colored text on a dark background. This is designed to provide a more comfortable reading experience, especially in low-light situations. Template authors and technical contributors are encouraged to [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|learn how to make pages ready for Dark mode]] and address any compatibility issues found in templates in their wiki before the enablement. Please contact the Web team for questions or any support on [[mw:Talk:Reading/Web/Accessibility for reading#|this talk page]] before the enablement. [https://phabricator.wikimedia.org/T395628] * Starting on Monday, October 6, API endpoints under the <code>rest.php</code> path will be rerouted through a new internal API Gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]]. [https://phabricator.wikimedia.org/T400130] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:24, 6 October 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29400897 --> == Wikipedia translation of the week: 2025-42 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Abortion in Eritrea]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In Eritrea, abortion is banned except on the grounds of pregnancy from rape or incest, pregnancy of a minor, or risk to physical or mental health. Legal abortions require medical or judicial approval. Prior to Eritrea's independence, it applied Ethiopia's abortion law of the 1950s, which banned abortion unless life-saving. After independence, the 1991 penal code adapted this law to lift punishments on abortions on the grounds of rape, incest, or risk to life or health, but legal abortions did not exist in effect. The penal codes of 2001 and 2015 required physicians to prove health grounds for abortion. Unsafe abortion is common and contributes to maternal mortality in Eritrea. Post-abortion care is unavailable in some regions. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:06, 13 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29341788 --> == Tech News: 2025-42 == <section begin="technews-2025-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/42|Translations]] are available. '''Weekly highlight''' * Last week, improvements to account security and two-factor authentication (2FA) features were enabled across all wikis. These changes include user interface improvements for [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity], the support of multiple 2FA methods via authenticator apps and portable security keys (previously users could only enable one method), and a new Recovery Codes module which facilitates fewer account lockouts due to lost two-factor apps and devices. As part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project, work is continuing through the rest of 2025 on further user experience improvements, and support for passkeys as an alternate second factor. '''Updates for editors''' * Another part of the Account security project is making 2FA generally available to all users. Along with editors with advanced privileges, such as administrators and bureaucrats, 40% of editors now have access to 2FA. You can check if you have access at [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity]. Instructions for activation are on the linked page. The plan is to continue increasing availability if it is determined that the user support capabilities are able to support global usage. [https://phabricator.wikimedia.org/T400579] * This week, users at wikis where talk page [[mw:Special:MyLanguage/Talk pages project/Usability|Usability Improvements]] are already available by default (everywhere ''except'' the 12 wikis listed in [[phab:T379264|T379264]]) will gain the ability to Thank a comment directly from the talk page it appears on. Before this change, Thanking could only be done by visiting the revision history of the talk page. You can [[diffblog:2025/10/13/revolutionizing-gratitude-a-new-era-of-thanking-comments/|learn more about this change]]. [https://phabricator.wikimedia.org/T366095] * Users who have not [[Special:Preferences#mw-prefsection-personal-email|verified their email address]] will soon be receiving monthly Notification reminders to do so. This is because users who have verified their email can more easily recover their account. These reminders will not be sent if the user is inactive or removes the unverified email from their account. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Email_confirmation][https://phabricator.wikimedia.org/T58074] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a fix was made for an occasional error with saving translated paragraphs in the Content Translation tool, and the related error messages are now easier to see. [https://phabricator.wikimedia.org/T376531] '''Updates for technical contributors''' * The Unsupported Tools Working Group has chosen [[c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] as the first tool for its pilot cycle. The group will explore ways to improve and sustain the tool over the coming months. [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Learn more on Meta]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.23|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:00, 13 October 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29434481 --> == Wikipedia translation of the week: 2025-43 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Liberation of Auschwitz concentration camp]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Auschwitz Liberated January 1945.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> On 27 January 1945, Auschwitz—a Nazi concentration camp and extermination camp in occupied Poland where more than a million people were murdered as part of the Nazis' "Final Solution" to the Jewish question—was liberated by the Soviet Red Army during the Vistula–Oder Offensive. Although most of the prisoners had been forced onto a death march, about 7,000 had been left behind. The Soviet soldiers attempted to help the survivors and were shocked at the scale of Nazi crimes. The date is recognized as International Holocaust Remembrance Day. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:04, 20 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29452019 --> == Tech News: 2025-43 == <section begin="technews-2025-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/43|Translations]] are available. '''Updates for editors''' * To optimize how user data is stored in our databases, the saved preferences of users who haven't logged in for over five years and have fewer than 100 edits will be cleared. When those users return, default settings will apply. [https://phabricator.wikimedia.org/T406724] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a broken link from the GlobalContributions interface message to the XTools GlobalContributions page which has now been fixed. [https://phabricator.wikimedia.org/T406415] '''Updates for technical contributors''' * The work to reroute all traffic to API endpoints under the <code dir=ltr><nowiki>rest.php</nowiki></code> route through a common API gateway is now complete. If any issues are observed, please file a phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]]. * Edits to Wikidata references or qualifiers will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [https://phabricator.wikimedia.org/T401290] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.24|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:37, 20 October 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29478670 --> == Wikipedia translation of the week: 2025-44 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Black Diaries]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Black Diaries''' are diaries purported to have been written by the Irish revolutionary Roger Casement, which contained accounts of homosexual liaisons with young men. They cover the years 1903, 1910 and 1911 (two) and were handed in to Scotland Yard after his capture in April 1916. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:51, 27 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29487357 --> == Tech News: 2025-44 == <section begin="technews-2025-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/44|Translations]] are available. '''Updates for editors''' * The Wikipedia iOS app has launched an A/B/C test of improvements made to the tabbed browsing feature for select regions and languages. The test, named “More dynamic tabs”, explores new tab experiences and includes “Did you know” and “Because you read” article recommendations. You can [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)/New Tab Experience and Recommendations Experiment|read more on the project page]]. * Autoconfirmed users on [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small]] and [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] with the CampaignEvents extension can now use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] without the Event Organizer right. This feature lets organizers enable registration, manage participants, and lets users register with one click instead of signing event pages. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue of flashing colors when holding or pressing the arrow keys under the dark mode settings in Vector 2022 has been fixed. [https://phabricator.wikimedia.org/T402285] '''Updates for technical contributors''' * The CampaignEvents extension will be deployed to all remaining wikis during the week of 17 November 2025. The extension currently includes three features: Event Registration, Collaboration List, and Invitation List. For this rollout, Invitation List will not be enabled on Wikifunctions and MediaWiki unless requested by those communities. [[m:Special:MyLanguage/CampaignEvents/Deployment status|Visit the deployment page to learn more]]. * The SwaggerUI-based REST sandbox experience is now live on all wiki projects. The sandbox can be accessed through the [[{{#special:RestSandbox}}]] page. Please report any issues to the MediaWiki Interfaces team board, or join the discussion on the [[mw:Special:MyLanguage/MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|project launch]] page. [https://phabricator.wikimedia.org/project/board/6931/] * Transform endpoints with a trailing slash path in the MediaWiki REST API are now marked as deprecated. They will remain functional during this time, but removal is expected by the end of January 2026. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found and tested using the [https://test.wikipedia.org/w/index.php?api=mw-extra&title=Special%3ARestSandbox REST Sandbox]. See the [[mw:API/Deprecation|MediaWiki REST API Deprecation]] page for more detailed information about the API deprecation policies and procedures. * A dedicated [[mw:API:REST API/Changelog|changelog now exists for the MediaWiki REST API]]. The changelog provides an overview of these changes, making it easier for developers to keep track of improvements and iterations. Announcements will also continue to flow through the standard communication channels, including Tech News and email distribution lists, but can now be more easily referenced from a central location. If you have feedback about the style, structure, or content of this changelog, please [[mw:API talk:REST API/Changelog|join the discussion]]. * Administrators can delete the tracking category which was previously added by the JsonConfig extension, as it is no longer used. See the categories linked from [[d:Q130635582#sitelinks-wikipedia|Q130635582]]. It is OK if there are still pages listed in the category as that is just a caching issue, and they will be automatically cleared out the next time each page is edited. [https://phabricator.wikimedia.org/T378352] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.25|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 27 October 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29513638 --> |} == Wikipedia translation of the week: 2025-45 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Consolations (Liszt)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Franz Liszt - Consolation No. 3, Lento placido.ogg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Consolations''', S. 171a/172 (German: Tröstungen) are a set of six solo piano works by Franz Liszt. The compositions take the musical style of nocturnes with each having its own distinctive style. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:52, 3 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29558323 --> == Tech News: 2025-45 == <section begin="technews-2025-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/45|Translations]] are available. '''Updates for editors''' * Administrators will now find that [[{{#special:MergeHistory}}]] is now significantly more flexible about what it can merge. It can now merge sections taken from the middle of the history of the source (rather than only the start) and insert revisions anywhere in the history of the destination page (rather than only the start). [https://phabricator.wikimedia.org/T382958] * For users with "{{int:discussiontools-preference-autotopicsub}}" [[Special:Preferences#mw-prefsection-editing|enabled in their preferences]], starting a new topic or adding a reply to an existing topic will now subscribe them to replies to that topic. Previously, this would only happen if the DiscussionTools "{{int:Skin-action-addsection}}" or "{{int:Discussiontools-replybutton}}" widgets were used. When DiscussionTools was originally launched existing accounts were not opted in to automatic topic subscriptions, so this change should primarily affect newer accounts and users who have deliberately changed their preferences since that time. [https://phabricator.wikimedia.org/T290778] * Scribunto modules can now be used to [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#SVG library|generate SVG images]]. This can be used to build charts, graphics and other visualizations dynamically through Lua, reducing the need to compose them externally and upload them as files. [https://phabricator.wikimedia.org/T405861] * Wikimedia sites now provide all anonymous users with the option to enable a dark mode color scheme, featuring light-colored text on a dark background. This enhancement aims to deliver a more enjoyable reading experience, especially in dimly lit environments. [https://phabricator.wikimedia.org/T395628] * Users with large watchlists have long faced timeouts when editing [[Special:EditWatchlist|Special:EditWatchlist]]. The page now loads entries in smaller sections instead of all at once due to a paging update, allowing everyone to edit their watchlists smoothly. As part of the database update, sorting by expiry has been removed because it was over 100× slower than sorting by title. A [https://meta.wikimedia.org/wiki/Community_Wishlist/W454 community wish] has been created to explore alternative ways to restore sort-by-expiry. If this feature is important to you, please support the wish! [https://phabricator.wikimedia.org/T41510] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the fixing of the persisting highlighting when using VisualEditor find and replace during a query. [https://phabricator.wikimedia.org/T407318] '''Updates for technical contributors''' * Since 2019 the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]] at https://w.wiki is available for all Wikimedia wikis to create short links to articles, permalinks, diffs, etc. It is available in the sidebar as "Get shortened URL". There are 30 wikis that also install an older "ShortUrl" extension. The old extension will soon be removed. This means <code>/s/</code> URLs will not be advertised under article titles via HTML <code dir=ltr>class="title-shortlink"</code>. The <code>/s/</code> URLs will keep working. [https://phabricator.wikimedia.org/T107188] * On Thursday, October 30, the [[:mw:Special:MyLanguage/MediaWiki Interfaces Team|MediaWiki Interfaces]] and [[:mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Service Operations]] teams began rerouting Action API traffic through a common API gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [https://phabricator.wikimedia.org/tag/serviceops/ Service Ops team] board. * MediaWiki Train deployments will pause for the final two weeks of 2025: 22 December and 29 December. Backport windows will also pause between Monday, 22 December 2025 and Thursday, 2 January 2026. A backport window is a scheduled time to add things like bug fixes and configuration changes. There are seven deployment trains remaining for 2025. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/SMWTEAES4SDLDUSK4HMWNBSKNCXZAWYN/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.26|MediaWiki]] '''In depth''' * In 2025, the Wikimedia Foundation reported that AI systems and search engines increasingly use Wikipedia content without driving users to the site, contributing to an 8% drop in human pageviews compared to 2024. After detecting bots disguised as humans, Wikimedia updated its traffic data to reflect this shift. Read more about current user trends on Wikipedia in [[diffblog:2025/10/17/new-user-trends-on-wikipedia/|a Diff blog post]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:35, 3 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29552512 --> == Wikipedia translation of the week: 2025-46 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Marine coastal ecosystem]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Vegetation and fauna processes controlling benthic biogeochemical fluxes.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> A '''marine coastal ecosystem''' is a marine ecosystem which occurs where the land meets the ocean. Worldwide there is about 620,000 kilometres (390,000 mi) of coastline. Coastal habitats extend to the margins of the continental shelves, occupying about 7 percent of the ocean surface area. Marine coastal ecosystems include many very different types of marine habitats, each with their own characteristics and species composition. They are characterized by high levels of biodiversity and productivity. For example, estuaries are areas where freshwater rivers meet the saltwater of the ocean, creating an environment that is home to a wide variety of species, including fish, shellfish, and birds. Salt marshes are coastal wetlands which thrive on low-energy shorelines in temperate and high-latitude areas, populated with salt-tolerant plants such as cordgrass and marsh elder that provide important nursery areas for many species of fish and shellfish. Mangrove forests survive in the intertidal zones of tropical or subtropical coasts, populated by salt-tolerant trees that protect habitat for many marine species, including crabs, shrimp, and fish. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:54, 10 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29584005 --> == Tech News: 2025-46 == <section begin="technews-2025-W46"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/46|Translations]] are available. '''Updates for editors''' [[File:Talk pages default look (April 2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * Starting November 12, users will see a change in the [[m:Special:MyLanguage/Talk pages project/Feature summary#Usability improvements|appearance of talk pages]] on [[Phab:T379264|some Wikipedias]]. Almost [[phab:T392121|all wikis]] have received this design change; [[phab:T409297|English Wikipedia]] will get these changes later. You can read more [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. Users can opt out of these changes [[Special:Preferences#mw-prefsection-editing|in their user preferences]] in "{{int:discussiontools-preference-visualenhancements}}". [https://phabricator.wikimedia.org/T379264] * MediaWiki can now display a [[mw:Special:MyLanguage/Help:Protection indicators|page indicator]] automatically while a page is protected. This feature is disabled by default. It can be enabled by [[m:Special:MyLanguage/Requesting wiki configuration changes|community request]]. [https://phabricator.wikimedia.org/T12347] * Using the "{{int:showpreview}}" or "{{int:showdiff}}" buttons in the wikitext editor will now carry over certain URL parameters like '[[mw:Special:MyLanguage/Manual:Parameters to index.php#useskin|useskin]]', '[[mw:Special:MyLanguage/Manual:Parameters to index.php#uselang|uselang]]' and '[[mw:Special:MyLanguage/Help:Section#Editing sections|section]]'. This update also fixes an issue where, if the browser crashed while previewing an edit to a single section, saving this edit could overwrite the entire page with just that section’s content. [https://phabricator.wikimedia.org/T62744][https://phabricator.wikimedia.org/T24029][https://phabricator.wikimedia.org/T155097] * Wikivoyage wikis can use [[mw:Special:MyLanguage/Help:Extension:Kartographer#Markers and counters|colored map markers in the article text]]. The text of these markers will now be shown in contrasting black or white color, instead of always being white. Local workarounds for the problem can be removed. [https://phabricator.wikimedia.org/T369454] * The Activity tab in the Wikipedia Android app is now available for all users. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging. [https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/Activity_Tab_Experiment] * The Reader Growth team is launching an experiment called "Image browsing" to test how to make it easier for readers to browse and discover images on Wikipedia articles. This experiment, a mobile-only A/B test, will go live on English Wikipedia in the week of November 17 and will run for four weeks, affecting 0.05% of users on English wiki. The test launched on November 3 on Arabic, Chinese, French, Indonesian, and Vietnamese wikis, affecting up to 10% of users on those wikis. [https://www.mediawiki.org/wiki/Readers/Reader_Growth/WE3.1.3_Image_Browsing] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example the inability to lock accounts on mobile sites has been fixed. [https://phabricator.wikimedia.org/T256185] '''Updates for technical contributors''' * [[wikitech:Help talk:Toolforge/Toolforge standards committee#November 2025 committee nominations|Nominations are open on Wikitech]] for new [[wikitech:Help:Toolforge/Toolforge standards committee|Toolforge standards committee]] members. The committee oversees the Toolforge [[wikitech:Help:Toolforge/Right to fork policy|Right to fork policy]] and [[wikitech:Help:Toolforge/Abandoned tool policy|Abandoned tool policy]] among other duties. Nominations will remain open through 2025-11-28. * The [[w:JSON Web Token#Standard fields|JWT issuer field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]] has been changed to <code><nowiki>https://meta.wikimedia.org</nowiki></code>. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199] * The [[w:JSON Web Token#Standard fields|JWT subject field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] will soon change from <code><user id></code> to <code dir=ltr style="white-space:nowrap">mw:<identity type>:<user id></code>, where <code><identity type></code> is typically <code dir=ltr>CentralAuth:</code><!-- not a typo --> (for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]]) or <code dir=ltr style="white-space:nowrap">local:<wiki id></code> (for other wikis). This is to avoid conflicts between different user ID types, and to make OAuth 2 access tokens and the <code>sessionJwt</code> cookie more similar. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199] * MediaWiki's block messages ([[MediaWiki:Blockedtext|blockedtext]], [[MediaWiki:Blockedtext-partial|blockedtext-partial]], [[MediaWiki:Autoblockedtext|autoblockedtext]], [[MediaWiki:Systemblockedtext|systemblockedtext]], [[MediaWiki:Blockedtext-tempuser|blockedtext-tempuser]], [[MediaWiki:Autoblockedtext-tempuser|autoblockedtext-tempuser]]) now support additional parameters indicating whether the user is blocked from editing their own user talk page <code><nowiki>$9</nowiki></code> or emailing other users <code><nowiki>$</nowiki><nowiki>10</nowiki></code>. [https://phabricator.wikimedia.org/T285612] * A <code>REL1_45</code> branch for MediaWiki core and each of the extensions and skins in Wikimedia git has been created. This is the first step in the release process for MediaWiki 1.45.0, scheduled for late November 2025. If you are working on a critical bug fix or working on a new feature, you may need to take note of this change. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/ZUY7TY3Z6XPZWZVAZV63OPO5OW52Q6GE/] * The process for generating CirrusSearch dumps has been updated due to slowing performance. If you encounter any issues migrating to the replacement dumps, please contact the Search Platform Team for support. [https://phabricator.wikimedia.org/T366248][https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/3KQPOR6ACVN6OVLMLZPIBXQSWQKW4E3K/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.2|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/46|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:38, 10 November 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29606150 --> == Wikipedia translation of the week: 2025-47 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Elephant communication]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Three elephant's curly kisses.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Elephants communicate''' via touching, visual displays, vocalisations, seismic vibrations, and semiochemicals. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:24, 17 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29627457 --> == Tech News: 2025-47 == <section begin="technews-2025-W47"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/47|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is experimenting with [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4_Reading lists|reading lists on mobile web]], allowing logged-in readers with no edits to save private lists of articles for later. The experiment is running on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias since the week of 10 November, and will begin on English Wikipedia the week of 17 November. * Users who can’t receive their email verification code during login can now get help by submitting a form on a new special page. This update is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. If your account has an email address, please make sure you still have access to it. When logging in from a new device or location without 2FA, you may be asked to enter a 6-digit code sent by email to finish logging in. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Why are you requiring me to enter a code from my email to log in? Can I opt out of this?|Learn more]]. * One new wiki has been created: a {{int:project-localized-name-group-wikisource}} in [[d:Q13324|Minangkabau]] ([[s:min:|<code>s:min:</code>]]) [https://phabricator.wikimedia.org/T408317] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * As part of the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parser Unification]] project, the Content Transform Team rolled out Parsoid as the default parser to many low-traffic Wikipedias and is preparing the next step to high traffic ones. This message is an invitation for you to opt-in to Parsoid, as described in the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|Extension:ParserMigration]] documentation, and identify any issues you might encounter with your own workflow using bots, gadgets, or user scripts. Please, let us know through the ''"Report Visual Bug"'' link in the Tools sidebar or create a phab ticket and tag the [[phab:project/view/5846|Content Transform Team in Phabricator]]. * Unsupported Tools: Several issues with [[:c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] have been fixed, including filename-related upload failures, black-video imports, and retry handling. AV1 support has also been added. Ongoing work focuses on backend stability, ffmpeg errors, subtitle imports, metadata handling, and playlist uploads. To track specific tasks, check the [[phab:tag/video2commons/|Phabricator board]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.3|MediaWiki]] '''Meetings and events''' * Save the date for the next Wikimedia Hackathon happening in Milan, Italy from May 1–3, 2026. Registration will open in January 2026. [https://pretix.eu/wikimedia/Hackathon-2026/ Scholarship applications are currently open], and will close on November 28, 2025. If you have any questions, please email <bdi lang="en" dir="ltr">hackathon@wikimedia.org</bdi>. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/47|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:27, 17 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29627455 --> == Wikipedia translation of the week: 2025-48 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Animal-made art]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Painting Queen 1024x768.png|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Animal-made art''' consists of works by non-human animals, that have been considered by humans to be artistic, including visual works, music, photography, and videography. Some of these are created naturally by animals, often as courtship displays, while others are created with human involvement. There have been debates about the copyright status of these works, with the United States Copyright Office stating in 2014 that works that lack human authorship cannot have their copyright registered at the US Copyright Office. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 24 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29627457 --> == Tech News: 2025-48 == <section begin="technews-2025-W48"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/48|Translations]] are available. '''Updates for editors''' * Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Wikimedia Search Team]] recreated the "DWIM" (Do What I Mean) gadget functionality server-side, for Russian and Hebrew Wikipedias. This feature adds cross-keyboard suggestions to the standard search-box suggestions. For example, searching for ''<span lang="und" dir="ltr">cxfcnmt</span>'' on Russian Wikipedia will now add suggestions for ''<span lang="ru" dir="ltr">счастье</span>'' ("happiness") that the user probably intended. They plan to enable this feature for other Russian and Hebrew wikis this week. [https://phabricator.wikimedia.org/T408734] * Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have syntax highlighting available in [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]]. This requires that the "{{int:discussiontools-preference-sourcemodetoolbar}}" preference be set. [https://phabricator.wikimedia.org/T407918] * [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|Campaign events extension]] – the set of tools for coordinating events and other on-wiki collaborations has now been deployed to all Wikimedia wikis. A new feature known as [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative contribution]] to help organizers and participants see the impact of activities has also been added. Join the upcoming [[m:Special:MyLanguage/Event:Connection learning session 3|learning session]] to see the new feature in action and share your feedback. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug which stopped CodeReviewBot from working, has now been fixed. [https://phabricator.wikimedia.org/T410417] '''Updates for technical contributors''' * Users of Wikimedia API can join a usability study to help validate the new design of Wikimedia REST API sandboxes. Interested participants should fill the [https://wikimediafoundation.limesurvey.net/487662 recruitment survey]. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/IREJRRWTZTGCYWQHDMSNJFTQAEPOOAE3/] * The MediaWiki Interfaces team is deprecating XSLT stylesheets within the Action API. Support for <code dir=ltr>format=xml'''&xlst={stylesheet}'''</code> will be removed from Wikimedia projects by the end of November, 2025. In addition, it will soon be disabled by default in MediaWiki release versions: v1.43 (LTS), v1.44, and v1.45. Support for XSLT stylesheets will be fully removed from MediaWiki v1.46 (expected to release between April and May 2026). [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/5AX7UWAVVUNUSBOIRHMNOKWOZ5EZI3JX/] * The WDQS legacy endpoint ([https://query-legacy-full.wikidata.org/ query-legacy-full.wikidata.org]) will be decommissioned at the end of December 2025, and finally closed down on 7th January 2026. After this date, users should expect requests to query.wikidata.org that require the full graph to fail or return invalid results if they are not rewritten to use SPARQL federation. The team encourages users to ensure that tools and workflows use the supported WDQS endpoints (<span dir=ltr><nowiki>https://query.wikidata.org/</nowiki></span> - Main graph or <span dir=ltr><nowiki>https://query-scholarly.wikidata.org/</nowiki></span> - Scholarly graph). For support with migrating use cases, please review the [[d:Special:MyLanguage/Wikidata:Data_access|Data Access]] and [[d:Wikidata:Request_a_query|Request a Query]] pages for details and assistance on alternative access methods. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.4|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/48|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:57, 24 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29702226 --> == Wikipedia translation of the week: 2025-49 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Halachic state]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The term "'''halachic state'''" (Hebrew: מְדִינַת הֲלָכָה‎ Medīnat Hălāḵā) refers to a sovereign state that endorses Judaism in an official capacity and governs by Jewish religious law. It has been a subject of discussion among Orthodox Jews, particularly with regard to modern Israel, which, although a Jewish state, is not classified as a theocracy. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 08:01, 1 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29719355 --> == Tech News: 2025-49 == <section begin="technews-2025-W49"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/49|Translations]] are available. '''Updates for editors''' * The Wikipedia Year in Review 2025 will be available on December 2 for users of iOS and Android Wikipedia apps, featuring new personalized insights, updated reading highlights, and refreshed designs. Learn more on the review's [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/Updates|project page]]. * The Growth team is working on improving the text and presentation of the Verification Email sent to new users to make them more welcoming, useful and informative. Some new text have been drafted for A/B testing and you can help by translating them. See [[phab:T396155|Phabricator]]. * [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] will now be deployed at Japanese, Urdu and Chinese Wikipedias on December 2. Add a link is based on a prediction model that suggests links to be added to articles. While this feature has already been available on most Wikipedias, the prediction model could not support certain languages. A new model has now been developed to handle these languages, and it will be gradually rolled out to other Wikipedias over time. If you would like to know more, please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where search boxes on some Commons pages showed no results due to switch from SpecialSearch to MediaSearch, has now been fixed. [https://phabricator.wikimedia.org/T399476] * Two new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q36846|Toki Pona]] ([[w:tok:|<code>w:tok:</code>]]) [https://phabricator.wikimedia.org/T404457] ** a {{int:project-localized-name-group-wikiquote}} in [[d:Q33655|Nigerian Pidgin]] ([[q:pcm:|<code>q:pcm:</code>]]) [https://phabricator.wikimedia.org/T408318] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.5|MediaWiki]] '''In depth''' * The Wikimedia Foundation is in the early stages of exploring approaches to '''Article guidance'''. The initiative aims to identify interventions that could help new editors easily understand and apply existing Wikipedia practices and policies when creating an article. The project is in the exploration and early experimental design phase. All community members are encouraged to [[mw:Special:MyLanguage/Article guidance|learn more]] about the project, and share their thoughts on [[mw:Special:MyLanguage/Talk:Article guidance|the talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/49|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:58, 1 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29732328 --> == Wikipedia translation of the week: 2025-50 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ru:Сто лошадей]]'''<br /> <small>''([[:en:One Hundred Horses]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:A_Hundred_Steeds.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''One Hundred Horses''''' (Chinese: 百駿圖) is a Qing dynasty silk and ink painting by Giuseppe Castiglione. It was painted in 1728 for the Yongzheng emperor. The painting depicts a hundred horses in a variety of poses and activities, combining Western realism with traditional Chinese composition and brushwork. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:29, 8 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29719355 --> == Tech News: 2025-50 == <section begin="technews-2025-W50"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/50|Translations]] are available. '''Weekly highlight''' * Anybody who wishes to secure their user account can now use [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). This is available to all registered users of all Wikimedia projects. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. Later, 2FA will be required for all users who can take security- or privacy-sensitive actions. '''Updates for editors''' * Following last week's deployments, the [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] feature, which allows editors to add suggested links during editing, will be available to an additional [[Phab:T410469|33 Wikipedias]] starting on 9 December. This expansion is possible thanks to the new prediction model that now supports all languages, including those that were previously not covered. While the feature has been available on most Wikipedias for some time, this rollout brings us closer to using the improved model everywhere. If you have any questions or would like more details please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Search Platform team]] added [[w:en:Transliteration|transliterated]] as-you-type search suggestions to Georgian wikis. If there are only a few regular search suggestions, then queries in Latin or Cyrillic script [[phab:T127003|are now rewritten into Georgian script]] to look for more matches. For example, searching for either <bdi lang="ka-Latn" dir="ltr">''bedniereba''</bdi> or <bdi lang="ka-Cyrl" dir="ltr">''бедниереба''</bdi> will now suggest the existing article about <bdi lang="ka" dir="ltr">ბედნიერება</bdi> ("happiness"). You can recommend other languages where transliterated suggestions would be useful [[phab:T375215|on Phabricator]] for future development. * Later this week, a controlled experiment will begin for editors on the 100 largest Wikipedias who are editing a section in the mobile web visual editor. 50% of these editors will notice a new "Edit full page" button that will enable them to expand their editing session to the whole page. This feature is intended to make it easier for people on mobile web to edit any article section, regardless of which section-edit icon they tapped to begin. The experiment will last ~4 weeks. You can find [[phab:T409112|more details]] about the project. * Later this week, the [[mw:Special:MyLanguage/Readers/Reader Growth|Reader Growth team]] will launch a [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.1.14 Expanded Mobile Sections|mobile web experiment]] to expand all article sections by default (currently they are collapsed by default) and pin the section header the user is currently reading to the top of the page. The experiment will affect 10% of users on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias. [https://phabricator.wikimedia.org/T409485] * The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/2025 Year in Review|Wikipedia Year in Review 2025]], a feature in the Wikipedia mobile apps (iOS and Android) that provides users with a personalised summary of their engagement with Wikipedia over the year, is now available on the iOS and Android apps. This edition includes expanded personalised insights, improved reading highlights, new donor messaging, and updated designs. Open the app to view your Year in Review and explore your reading journey from 2025. * A recent software bug caused edits made with VisualEditor to make unintended changes to wikitext, including removing whitespace and replacing spaces with underscores in wikilinks inside citations. This was partially fixed last week, and further fixes are in progress. Editors who used VisualEditor between November 28 and December 2 should review their edits for unexpected modifications. [https://phabricator.wikimedia.org/T411238] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the incorrect handling of URLs copied from the address bar of Microsoft Edge users, has been resolved. [https://phabricator.wikimedia.org/T341281] '''Updates for technical contributors''' * Starting this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] as the editor for Lua, JavaScript, CSS, JSON and Vue content models, instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]]. With this, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linters]] will be upgraded. This is part of a larger effort to eventually replace CodeEditor and provide a consistent code editing experience. [https://phabricator.wikimedia.org/T373711] * Developers are encouraged to take the [https://wikimediafoundation.limesurvey.net/552643 2025 Developer Satisfaction Survey], which remains open until 5 January 2026. If you build software for the Wikimedia ecosystem and would like to share your experiences or feedback, your participation is greatly appreciated. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/W4WBKO6Q55UWWCCSFWQATKEXBEHP3QNR/] * There is no new MediaWiki version this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/50|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:46, 8 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29738112 --> == Wikipedia translation of the week: 2025-51 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:First Universal Races Congress]]'''<br /> <small>''([[:fr:Premier Congrès universel des races]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Universal Races Congress seated outside the entrance to the Imperial Institute, London, 1911.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''First Universal Races Congress''' met in 1911 for four days at the University of London as an early effort at anti-racism. Speakers from a number of countries discussed race relations and how to improve them. The congress, with 2,100 attendees, was organised by prominent humanists of that era. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 15 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29779168 --> == Tech News: 2025-51 == <section begin="technews-2025-W51"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/51|Translations]] are available. '''Updates for editors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, one of the fixes addressed an issue for temporary accounts adding an external URL, which triggered an hCaptcha request in more cases than intended, and did not display the required popup on the first attempt to publish the edit. [https://phabricator.wikimedia.org/T411927] '''Updates for technical contributors''' * To improve database and site performance, external links to Wikimedia projects will no longer be stored in the database. This means they will not be searchable in [[{{#special:LinkSearch}}]], will not be checked by the Spam Blacklist or AbuseFilter as new links, and will not be in the <code dir=ltr>externallinks</code> table on database replicas. In the future this may be extended to other highly-linked trusted websites on a per-wiki basis, such as Creative Commons links on Wikimedia Commons. [https://phabricator.wikimedia.org/T405005] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.7|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/51|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:03, 15 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29796010 --> == Wikipedia translation of the week: 2025-52 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pin Malakul]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pin Malakul, January 1922.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pin Malakul''' (24 October 1903 – 5 October 1995) was a Thai professor, educator and writer. His contributions to education in Thailand include the establishment of various institutions of higher education, the introduction of fixed class schedules, and the implementation of teacher-training programmes. In his career he served as Director-General of the Department of General Education, later becoming Permanent Secretary, and Minister, of Education. He was also a member of the executive board of UNESCO. His writings earned him the title of National Artist in 1987, and the 100th anniversary of his birth was celebrated by the UNESCO in 2003 as recognition of his contribution to the advancement of education in Thailand and Southeast Asia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> -[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:26, 22 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29802495 --> == Tech News: 2025-52 == <section begin="technews-2025-W52"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/52|Translations]] are available. '''Updates for editors''' * From January, edit filters [[mw:Special:MyLanguage/Extension:AbuseFilter/Access flags|can be set]] to automatically suppress their details such as rules and list of attempted edits and actions. This will help oversighters use edit filters to prevent doxxing or other suppressible material. [https://phabricator.wikimedia.org/T290324] * The next issue of Tech News will be sent out on 12 January 2026 because of the end of year holidays. Thank you to all of the translators, and people who submitted content or feedback, this year. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:16}} community-submitted {{PLURAL:16|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the crash that occurred when tapping "First Steps" in the Wikipedia Android Year in Review has now been fixed, and the feature opens as expected. [https://phabricator.wikimedia.org/T411546] '''Updates for technical contributors''' * Interface elements such as diffs and categories generated by MediaWiki used to have the attribute <code dir=ltr>data-mw="interface"</code> to distinguish from wiki content. The attribute has been replaced with <code dir=ltr>data-mw-interface=""</code>, to avoid potential conflicts with other <code dir=ltr>data-mw</code> attributes, which are generated by Parsoid. [https://phabricator.wikimedia.org/T409187] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] There is no new MediaWiki version this week or next week. '''Meetings and events''' * The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications just opened mid-December and will close in mid-January or earlier if capacity is reached. With space for approximately 100 participants, early application is encouraged. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/52|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W52"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:46, 22 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29831856 --> == Wikipedia translation of the week: 2026-01 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:The Morning of the Magicians]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Le Matin des magiciens, couverture.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''The Morning of the Magicians: Introduction to Fantastic Realism''''' (French: Le Matin des magiciens: Introduction au réalisme fantastique) is a 1960 book by the journalists Louis Pauwels and Jacques Bergier. It covers topics like cryptohistory, ufology, occultism in Nazism, alchemy, spiritual philosophy. The second half of the book is entirely dedicated to the Nazi-Occult connections; the book is widely credited with the proliferation of numerous myths related to occultism in Nazism. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:20, 29 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29802495 --> == Wikipedia translation of the week: 2026-02 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Somaliland War of Independence]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Somaliland, fighters of the Somali National Movement (SNM), 1980s.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Somaliland War of Independence''' was a rebellion waged by the Somali National Movement (SNM) against the ruling military junta in Somalia led by General Siad Barre lasting from its founding on 6 April 1981 and ended on 18 May 1991 when the SNM declared what was then northern Somalia independent as the Republic of Somaliland. The conflict served as the main theater of the larger Somali Rebellion that started in 1978. The conflict was in response to the harsh policies enacted by the Barre regime against the main clan family in Somaliland, the Isaaq, including a declaration of economic warfare on the clan-family. These harsh policies were put into effect shortly after the conclusion of the disastrous Ogaden War in 1978. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:00, 5 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29871911 --> == Wikipedia translation of the week: 2026-03 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Pietro Lauro]]'''<br /> <small>''([[:en:Pietro Lauro]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Master I.A.V.F., Pietro Lauro, born 1508, Modenese Poet and Scholar (obverse), 1555, NGA 45072.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pietro Lauro''', conosciuto anche come Pietro Lauro Modonese o Pietro Lauro da Modona (Modena o dintorni, 1510 circa – Venezia, 1568 circa) è stato un traduttore, scrittore e divulgatore scientifico italiano. Nonostante non si conosca gran parte della sua biografia, fu uno dei poligrafi italiani più conosciuti del Cinquecento. La sua produzione raccoglie traduzioni dal latino, dal greco e dallo spagnolo e riguardano opere di autori classici, stranieri e protestanti. Lauro si dimostrò abile nel trattare testi con temi molto diversi, come la filosofia, l'architettura, la medicina, il giardinaggio, l'agronomia, le scienze biologiche, la storia, la teologia e l'astronomia. Si cimentò anche nella scrittura di un poema cavalleresco sullo stile di quelli spagnoli, il Polendo, sua magnum opus in questo senso. Aderente alla Riforma protestante, sebbene le sue trasposizioni siano state oggetto di critiche già degli autori a lui contemporanei, che le giudicarono troppo letterali, rozze e imparziali, a Lauro si deve il merito di aver ultimato la traduzione in lingua volgare di numerosi testi sia classici, sia scientifici, sia epistolari. I suoi lavori ebbero una notevole diffusione, non solo tra i letterati veneziani della sua epoca, ma in tutta Italia, tanto che alcune sue traduzioni vengono ancora oggi ristampate in nuove edizioni. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:45, 12 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29894468 --> == Tech News: 2026-03 == <section begin="technews-2026-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/03|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]]. '''Updates for editors''' * As part of the current work of Community Tech team on the [[m:Special:MyLanguage/Community Wishlist/W372|Multiple watchlists]] project, the display of [[Special:EditWatchlist|EditWatchlist]] will be updated as a first step towards multiple watchlists. Additionally, the pagination on [[Special:Search|Search]] will be updated too, as a part of the work on the [[m:Special:MyLanguage/Community Wishlist/W186|Revamp pagination / page navigation]] wish. [https://phabricator.wikimedia.org/T411596] * [[m:Special:GlobalWatchlist|The Global Watchlist]] is a MediaWiki [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that lets you see your watchlists from different wikis on the same page. It was recently updated to look more like the regular [[Special:Watchlist|Watchlist]], such as preparing it for temporary accounts in IP masking (including rerouting user links to contributions pages), making page titles bold, and opening links in edit summaries and tags in new browser tabs. [https://phabricator.wikimedia.org/T398361][https://phabricator.wikimedia.org/T298919][https://phabricator.wikimedia.org/T273526][https://phabricator.wikimedia.org/T286309] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where global blocks did not have the option to disable sending emails, has now been fixed, and will be available for use in the week of January 13. [https://phabricator.wikimedia.org/T401293] '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/VisualEditor/Citation tool|VisualEditor citation tool]] and [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] now support "map" as a reference type. [https://phabricator.wikimedia.org/T411083] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.10|MediaWiki]]/[[mw:MediaWiki 1.46/wmf.11|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:34, 12 January 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29907192 --> == Wikipedia translation of the week: 2026-04 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Volto di Palazzo Vecchio]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Piazza della signoria angolo via della ninna, palazzo vecchio, cantonata con testa scolpita 02.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''volto di Palazzo Vecchio''' (conosciuto anche come L'importuno o L'inopportuno) è un incisione su pietraforte attibuita a Michelangelo Buonarroti, scolpita in una delle pietre di Palazzo Vecchio a Firenze. Secondo le varie leggende, il profilo sarebbe stato realizzato come graffito dall'artista toscano, con soggetto un suo importunatore, un debitore, un condannato a morte o se stesso. Nel 2020, gli studiosi hanno ipotizzato possa invece trattarsi di un ritratto di Francesco Granacci, pittore amico di Michelangelo. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:14, 19 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-04 == <section begin="technews-2026-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/04|Translations]] are available. '''Updates for editors''' * The tray shown on [[Special:Diff|Special:Diff]] in mobile view has been redesigned. It is now collapsed by default, and incorporates a link to undo the edit being viewed, making it easier for mobile editors and reviewers to take action while keeping the interface uncluttered. [https://phabricator.wikimedia.org/T402297] * [[m:Special:GlobalWatchlist|The Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now automatically determines the text direction (ensuring correct display of sites with unusual domain names) and shows detailed descriptions for log actions. Later this week, a new permanent link for page creations and CSS classes for each entry element will be added. [https://phabricator.wikimedia.org/T412505][https://phabricator.wikimedia.org/T287929][https://phabricator.wikimedia.org/T262768][https://phabricator.wikimedia.org/T414135] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the previously observed issue in Vector 2022, where anchor link targets were obscured by the sticky header, has now been addressed. [https://phabricator.wikimedia.org/T406114] '''Updates for technical contributors''' * As mentioned in the [[m:Special:MyLanguage/Tech/News/2025/44|October 2025 deprecation announcement]], MediaWiki Interfaces team will begin sunsetting all transform endpoints containing a trailing slash from the MediaWiki REST API the week of January 26. Changes are expected to roll out to all wikis on or before January 30th. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found, compared, and tested using the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox]. If you have questions or encounter any problems, please file a ticket in Phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board]. * Interactive reference documentation for the [[mw:Special:MyLanguage/Wikimedia REST API|Wikimedia REST API]] has moved. Requests to API docs previously hosted through [[mw:Special:MyLanguage/RESTBase|RESTBase]] (e.g.: <code dir=ltr>https://en.wikipedia.org/api/rest_v1/</code>) are now redirected to the [[w:en:Special:RestSandbox|REST Sandbox]]. * The [[mw:Special:MyLanguage/Wikidata Platform|WMF Wikidata Platform team]] (WDP) has published its [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|January 2026 newsletter]]. It includes updates on the legacy full-graph endpoint decommissioning, the User-Agent policy change, the monthly Blazegraph migration office hours, and efforts to reduce regressions caused by the legacy endpoint shutdown. As a reminder, you can [[m:Special:MyLanguage/Global message delivery/Targets/WDP team updates|subscribe to the WDP newsletter]]! * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.12|MediaWiki]] '''Meetings and events''' * The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications opened mid-December and will close soon or when capacity is reached. It's a two-day, technically oriented hackathon bringing together Wikimedians from the region. Hope to see you there! '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:30, 19 January 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29943403 --> == Wikipedia translation of the week: 2026-05 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Raffaello Kobayashi]]'''<br /> <small>''([[:en:Raffaello Kobayashi]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Raffaello Kobayashi''', nato Raffaele Sanzio (Bari, 14 gennaio 1917 – Yokohama, 1 aprile 2011), è stato un militare italiano naturalizzato giapponese. Sommergibilista durante la Seconda guerra mondiale, prestò servizio per tutte e tre le principali Potenze dell'Asse: Regno d'Italia, Germania nazista e Impero giapponese. Alla fine della guerra si nascose in Giappone per evitare di subire l'internamento in un campo di prigionia, divenendo poi cittadino nipponico e cambiando il proprio nome. Prese parte all'affondamento della HMS Calypso nel 1940, primo successo italiano in campo navale nel corso del conflitto mondiale. Con l'abbattimento di un bombardiere statunitense il 22 agosto 1945, otto giorni dopo il discorso di resa del Giappone alle potenze alleate della seconda guerra mondiale, a bordo del Comandante Cappellini, sarebbe stata l'ultima persona in assoluto a mettere fuori combattimento un velivolo degli Alleati nella stessa guerra. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:05, 26 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-05 == <section begin="technews-2026-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/05|Translations]] are available. '''Updates for editors''' * Wikimedia Foundation invites comments on [[m:Special:MyLanguage/Product and Technology Advisory Council/Year1 Reflections and Proposed Way Forward 2026 Update|proposed future]] of the [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] until 28 February. * All users with registered accounts can now use passkeys for [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). Passkeys are a simple way to log in without using a second device. They verify the user's identity using a fingerprint, face scan, or a PIN code. To set up a passkey, first set up a regular 2FA method. Currently, to log in with a passkey, users must also use a password. Later this quarter, passwordless login will allow users to log in with a single click and a passkey. Users with advanced rights will also be required to have 2FA enabled. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project. * Unregistered contributors on blocked IPs or blocked IP ranges can now interact on-wiki to appeal a block by creating a temporary account to appeal a block on the user talk page, unless the "prevent this user from editing their own talk page" is enabled. This solves the problem of logged-out users unable to use the default unblock process via user talk page. [https://phabricator.wikimedia.org/T398673] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Two-Factor Authentication (2FA) methods description on the management page has been updated. It is now clearer and easier for users to understand and make use of. [https://phabricator.wikimedia.org/T332385] '''Updates for technical contributors''' * A new AbuseFilter variable, <code>account_type</code>, has been added to provide a reliable way to determine the account type being created in the <code>createaccount</code> and <code>autocreateaccount</code> actions. As part of this change, the variable <code>accountname</code> has been renamed to <code>account_name</code>, and <code>accountname</code> is now deprecated. Edit filter managers should update any filters that use hardcoded account type checks or the deprecated variable. [https://phabricator.wikimedia.org/T414049] * Image thumbnails that are requested in non-standard sizes, and using non-standard methods such as direct requests to <code dir=ltr><nowiki>upload.wikimedia.org/…</nowiki></code> will stop working in the near future. This change is to prevent ongoing external abuse by web-scrapers and bots. Some users with custom CSS/JS, Interface Admins who can fix gadgets and local skins, and Tool-authors, will need to update their code to use standard thumbnail sizes. [[phab:T414805|Details, search-links, and examples of how to fix them, are available in the task]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.13|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:18, 26 January 2026 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29969530 --> == Wikipedia translation of the week: 2026-06 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Censorship in the Czech Republic]]'''<br /> <small>''([[:cs:Cenzura v Česku]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Censorship in the Czech Republic''' had been highly active until 17 November 1989 and the fall of Communism in the former Czechoslovakia. Czech Republic was ranked as the 13th most free country in the World Press Freedom Index in 2014. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:32, 2 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-06 == <section begin="technews-2026-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/06|Translations]] are available. '''Updates for editors''' * The "{{int:pageinfo-toolboxlink}}" feature, which gives validating information about a page ([{{fullurl:{{FULLPAGENAME}}|action=info}} example]), now automatically includes a table of contents. If there is a local [[{{ns:8}}:Pageinfo-header]] page created by individual users, it can now be removed. [https://phabricator.wikimedia.org/T363726] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, VisualEditor previously added bold or italic formatting inside link descriptions, making the wikicode complex. This has now been fixed. [https://phabricator.wikimedia.org/T409669] '''Updates for technical contributors''' * There was no XML dump on 20 January. Additionally, from now on, dumps will be generated once per month only. [https://phabricator.wikimedia.org/T414389] * The MediaWiki Interfaces team removed support for all transform endpoints containing a trailing slash from the [https://www.mediawiki.org/wiki/Special:MyLanguage/API:REST%20API MediaWiki REST API]. All API users currently calling those endpoints are encouraged to transition to the non-trailing slash versions. If you have questions or encounter any problems, please file a ticket in phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.14|MediaWiki]] '''Weekly highlight''' * Users are reminded that the Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:44, 2 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30000986 --> == Wikipedia translation of the week: 2026-07 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Petites Heures of Jean de France, Duc de Berry]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Jacquemart de Hesdin 002.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Petites Heures of Jean de France, Duc de Berry''' is an illuminated book of hours commissioned by John, Duke of Berry between 1375 and 1385–90. It is known for its ornate miniature leaves and border decorations. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:59, 9 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-07 == <section begin="technews-2026-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/07|Translations]] are available. '''Updates for editors''' * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] Logged-in contributors who manage large or complex watchlists can now organise and filter watched pages in ways that improve their workflows with the new [[mw:Special:MyLanguage/Help:Watchlist labels|Watchlist labels]] feature. By adding custom labels (for example: pages you created, pages being monitored for vandalism, or discussion pages) users can more quickly identify what needs attention, reduce cognitive load, and respond more efficiently. This improves watchlist usability, especially for highly active editors. * A new feature available on [[Special:Contributions|Special:Contributions]] shows [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] that are likely operated by the same person, and so makes patrolling less time-consuming. Upon checking contributions of a temporary account, users with access to temporary account IP addresses can now see a view of contributions from the related temporary accounts. The feature looks up all the IPs associated with a given temporary account within the data retention period and shows all the contributions of all temporary accounts that have used these IPs. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts#February 2026: Improvements to the patroller tooling|Learn more]]. [https://phabricator.wikimedia.org/T415674] * When editors preview a wikitext edit, the reminder box that they are only seeing a preview (which is shown at the top), now has a grey/neutral background instead of a yellow/warning background. This makes it easier to distinguish preview notes from actual warnings (for example, edit conflicts or problematic redirect targets), which will now be shown in separate warning or error boxes. [https://phabricator.wikimedia.org/T414742] * The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now properly supports more than one Wikibase site, for example both [[d:|Wikidata]] and [[testwikidata:|testwikidata]]. In addition, issues regarding text direction have been fixed for users who prefer Wikidata or other Wikibase sites in right-to-left (RTL) languages. [https://phabricator.wikimedia.org/T415440][https://phabricator.wikimedia.org/T415458] * The automatic "magic links" for ISBN, RFC, and PMID numbers have been [[mw:Special:MyLanguage/Help:Magic links|deprecated in wikitext since 2021]] due to inflexibility and difficulties with localization. Several wikis have successfully replaced RFC and PMID magic links with equivalent external links, but a template was often required to replace the functionality of the ISBN magic link. There is now a new [[mw:Special:MyLanguage/Help:Magic words#isbn|built-in parser function]] <code dir=ltr><nowiki>{{#isbn}}</nowiki></code> available to replace the basic functionality of the ISBN magic link. This makes it easier for wikis who wish to migrate off of the deprecated magic link functionality to do so. [https://phabricator.wikimedia.org/T145604] * Two new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35401|Jju]] ([[w:kaj:|<code>w:kaj:</code>]]) [https://phabricator.wikimedia.org/T413283] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q1186896|Nawat]] ([[w:ppl:|<code>w:ppl:</code>]]) [https://phabricator.wikimedia.org/T413273] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * A new global user group has been created: [[{{int:grouppage-local-bot}}|{{int:group-local-bot}}]]. It will be used internally by the software to allow community bots to bypass rate limits that are applied to abusive [[w:en:Web scraping|web scrapers]]. Accounts that are approved as bots on at least one Wikimedia wiki will be automatically added to this group. It will not change what user permissions the bot has. [https://phabricator.wikimedia.org/T415588] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.15|MediaWiki]] '''Meetings and events''' * The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Spring 2026|MediaWiki Users and Developers Conference, Spring 2026]] will be held March 25–27 in Salt Lake City, USA. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/AZBWVI46SDEB65PGR5J6E4TYOQQEZXM7/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:31, 9 February 2026 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30026671 --> == Wikipedia translation of the week: 2026-08 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lysmata grabhami]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lysmata grabhami1.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Lysmata grabhami''''' is a species of saltwater shrimp in the family Hippolytidae. It was first described by Gordon in 1935. It occurs in the tropical and subtropical Atlantic Ocean and is a cleaner shrimp, operating a cleaning station to which fish come to have parasites removed. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 13:45, 16 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-08 == <section begin="technews-2026-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/08|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Team]] will be performing a cleanup of Wikimedia's [[m:Special:MyLanguage/Etherpad|Etherpad]] instance, the web-based editor for real-time collaborative document editing. All pads will be permanently deleted after 30 April, 2026 – if there are still migration projects in progress at that point the team can revisit the date on a case by case basis. Please create local backups of any content you wish to keep, as deleted data cannot be recovered. This cleanup helps reduce database size and minimize infrastructure footprint. Etherpad will continue to support real-time collaboration, but long-term storage should not be expected. Additional cleanups may occur in the future without prior notice. [https://phabricator.wikimedia.org/T415237] '''Updates for editors''' * The Information Retrieval team will be launching an [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|Android mobile app experiment]] that tests hybrid search capabilities which can handle both semantic and keyword queries. The improvement of on-platform search will enable readers to find what they’re looking for directly on Wikipedia more easily. The experiment will first be launched on Greek Wikipedia in late February, followed by English, French, and Portuguese in March. [https://diff.wikimedia.org/2026/01/08/semantic-search-making-it-easier-to-find-the-information-readers-want/ Read more] on Diff blog. [https://www.mediawiki.org/wiki/Readers/Information_Retrieval] * The Reader Growth team will run [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.10.2 Mobile Table of Contents|an experiment]] for mobile web users, that adds a table of contents and automatically expands all article sections, to learn more about navigation issues they face. The test will be available on Arabic, Chinese, English, French, Indonesian, and Vietnamese Wikipedias. * Previously, site notices ([[{{ns:8}}:Sitenotice]] and [[{{ns:8}}:Anonnotice]]) would only render on the desktop site. Now, they will render on all platforms. Users on mobile web will now see these notices and be informed. Site administrators should be prepared to test and fix notices on mobile devices to avoid interference with articles. To opt out, interface admins can add <code dir="ltr">#siteNotice { display: none; }</code> to [[{{ns:8}}:Minerva.css]]. [https://phabricator.wikimedia.org/T138572][https://phabricator.wikimedia.org/T416644] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue on [[Special:RecentChanges|Special:RecentChanges]] has been fixed. Previously, clicking hide in the active filters caused the "view new changes since…" button to disappear, though it should have remained visible. The button now behaves as expected. [https://phabricator.wikimedia.org/T406339] '''Updates for technical contributors''' * New documentation is now available to help editors debug on-site search features. It supports troubleshooting when pages do not appear in results, when ranking seems unexpected, and when you need to inspect what content is being indexed, helping make search behavior easier to understand and analyze. [[mw:Help:CirrusSearch/Debug|Learn more]]. [https://phabricator.wikimedia.org/T411169] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.16|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:17, 16 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30086330 --> == Wikipedia translation of the week: 2026-09 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Elefante di Cremona]]'''<br /> <small>''([[:de:Elefant von Cremona]])&#32;([[:eo:Elefanto de Cremona]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Matthew Paris Elephant from Parker MS 16 fol 151v.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> L''''elefante di Cremona''' (Asia, prima del 1228 - Parma, gennaio 1248) fu un esemplare di elefante donato nel 1228 a Federico II di Svevia da parte del sultano ayyubide al-Malik al-Kamil durante gli incontri che porteranno alla Pace di Giaffa. Usato principalmente per le manifestazioni trionfali del sovrano, l'elefante è citato da numerosi cronachisti e testimoni dell'epoca ed è noto per aver trainato il Carroccio dopo la grande vittoria delle armate di Federico II nella battaglia di Cortenuova del 1237. Rimasto a lungo nell'immaginario popolare collettivo, l'animale venne ucciso durante alcuni scontri occorsi nelle settimane immediatamente precedenti alla battaglia di Parma. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 11:43, 23 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30097839 --> == Tech News: 2026-09 == <section begin="technews-2026-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/09|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Edit check/Reference Check|Reference Check]] has been deployed to English Wikipedia, completing its rollout across all Wikipedias. The feature prompts newcomers to add a citation before publishing new content, helping reduce common citation-related reverts and improve verifiability. In A/B testing, the impact was substantial: newcomers shown Reference Check were approximately 2.2 times more likely to include a reference on desktop and about 17.5 times more likely on mobile web. [https://analytics.wikimedia.org/published/reports/editing/reference_check_ab_test_report_final_2025.html] '''Updates for editors''' * The [[mw:Special:MyLanguage/Extension:InterwikiSorting|InterwikiSorting extension]], which allowed for the [[m:Special:MyLanguage/Interwiki sorting order|sorting of interwiki links]], has been undeployed from Wikipedia. As a result, editors who had enabled interwiki link sorting in non-compact mode (full list format) will now see links reordered. The links moving forward will be listed in the alphabetical order of language code. [https://phabricator.wikimedia.org/T253764] * Later this week, people who are editing a page-section using the mobile visual editor, will notice a new "Edit full page" button. When tapped, you will be able to edit the entire article. This helps when the change you want to make is outside the section you initially opened. [https://phabricator.wikimedia.org/T387175][https://phabricator.wikimedia.org/T409112] * [[mw:Special:MyLanguage/Readers/Reader Experience|The Reader Experience team]] is inviting editors to assess whether dark mode should still be considered "beta" on their wiki, based on their experience of how well it functions on desktop and mobile. If the feature is deemed mature, editors can update the interface messages in <code dir=ltr>MediaWiki:skin-theme-description</code> and <code dir=ltr>MediaWiki:Vector-night-mode-beta-tag</code> to indicate that dark mode is ready and no longer considered beta. * The improved [[mw:Wikimedia_Apps/Team/iOS/Activity_Tab|Activity tab]] which displays user-insights is now available to all users of the Wikipedia iOS app (version 7.9.0 and later). Following earlier A/B testing that showed higher account creation among users with access to the feature, it has been rolled out to 100% of users along with some updates. The Activity tab now shows your edited articles in the timeline, offers editing impact insights like contribution counts and article view trends, and customization options to improve in-app experience for users. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug that prevented [[mw:Special:MyLanguage/Extension:DiscussionTools|DiscussionTools]] from working on mobile has now been fixed, restoring full functionality. [https://phabricator.wikimedia.org/T415303] '''Updates for technical contributors''' * The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that makes this possible continues to improve. The latest upgrade is the inclusion of a [[mw:Extension:GlobalWatchlist#hook|new hook]], <code dir=ltr>ext.globalwatchlist.rebuild</code>, which fires after each watchlist rebuild. This allows you to run gadgets and user scripts for the Special page. [https://phabricator.wikimedia.org/T275159] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.17|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:04, 23 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30119102 --> == Wikipedia translation of the week: 2026-10 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Treaty of the Danish West Indies]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:The Virgin islands of the United States of America; historical and descriptive, commercial and industrial facts, figures, and resources (1918) (14596880870).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Treaty of the Danish West Indies''' (Danish: Vestindiens traktat), officially the Convention between the United States and Denmark for cession of the Danish West Indies (Danish: Konventionen mellem USA og Danmark), was a 1916 treaty transferring sovereignty of the Danish West Indies from Denmark to the United States in exchange for a sum of US$25,000,000 in gold ($722 million in 2024) and a declaration from the United States that it would "not object to the Danish Government extending their political and economic interests to the whole of Greenland". It is one of the most recent permanent expansions of United States territory. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:43, 2 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30097839 --> == Tech News: 2026-10 == <section begin="technews-2026-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/10|Translations]] are available. '''Weekly highlight''' * Wikipedia 25 [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments|Birthday mode]] is now live on Betawi, Breton, Chinese, Czech, Dutch, English, French, Gorontalo, Indonesian, Italian, Luxembourgish, Madurese, Sicilian, Spanish, Thai, and Vietnamese Wikipedias! This limited-time campaign feature celebrates 25 years of Wikipedia with a birthday mascot, Baby Globe. When turned on, Baby Globe is shown on [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments/article configuration|~2,500 articles]], waiting to be discovered by readers. Communities can choose to turn Birthday mode on by getting consensus from their community and asking an admin to enable the feature and customize it via [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments#Community Configuration Demo|community configuration]] on the local wiki. '''Updates for editors''' * [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to Swedish Wikipedia, Polish Wikipedia and [[:phab:T418209|a couple of other wikis]]. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|try the feature]] on these projects or on testwiki and [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing betawiki]. Learnings from the first pilot wiki German Wikipedia have been [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing/Learnings|published in a report]]. Reach out to the Wikimedia Deutschland team if you are [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|interested in becoming a pilot wiki]]. * [[mw:Special:MyLanguage/Help:Edit check#Paste check|Paste Check]] will become available at all Wikipedias this week. The feature prompts newcomers who are pasting text they are not likely to have written into VisualEditor to consider whether doing so risks a copyright violation. Paste Check [[mw:Special:MyLanguage/Edit check/Tags|tags]] all edits where it is shown for potential review. Local administrators can configure various aspects of the feature via [[{{#special:EditChecks}}]]. [[mw:Special:MyLanguage/Edit check/Paste Check#A/B Experiment|Research]] across 22 wikis found that Paste Check resulted in an 18% decrease in relative reverted-edits compared to the control group. Translators can [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-visualeditor-ve-mw-editcheck&filter=&optional=1&action=translate help to localize] this and related features. * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] will be standardizing the user menu in the top right for all mobile users so that it is closer to the desktop experience. Currently this user menu is only visible to users with Advanced Mobile Controls (AMC) turned on. The only change is that a couple buttons previously in the left-side menu will move to the top right for users who do not have AMC turned on. This change is expected to go out March 9 and seeks to improve the user interface. [https://phabricator.wikimedia.org/T413912] * Starting in the week of March 2, the emails sent out when an email address was added, removed, or changed for an account will switch to a substantially nicer and clearer HTML email from the prior plaintext one. [https://phabricator.wikimedia.org/T410807] * Notifications are currently limited to 2,000 historic entries per user, and extend back to 2013 when the feature was released. This is going to be changed to only store Notifications from the last 5 years, but up to 10,000 of them. This will help with long-term infrastructure health and help to prevent more recent notifications from disappearing too soon. [https://phabricator.wikimedia.org/T383948] * The [[m:Special:GlobalWatchlist|Global Watchlist]] which lets you view your watchlists from multiple wikis on a single page continues to see improvements. The latest update improves label usage experience. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] now allows activating the [[mw:Special:MyLanguage/Manual:Language#Fallback languages|language fallback system]] for Wikidata items without labels in the viewed language, and showing those labels in the user’s preferred Wikidata language if no <code dir=ltr>uselang=</code> URL parameter is provided. [https://phabricator.wikimedia.org/T373686][https://phabricator.wikimedia.org/T416111] * The Wikipedia Android team has started a beta test of [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|hybrid search]] on Greek Wikipedia. Hybrid search capabilities can handle both semantic and keyword queries enabling readers to find what they’re looking for directly on Wikipedia more easily. * For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Currently, 2FA is required to use the group, but not to be a member of it. Given that this model still has some vulnerabilities, the situation will [[phab:T418580|gradually change in March]]. Members of these groups will be unable to disable last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the second half of March, users without 2FA will be removed from these groups. This applies to: CentralNotice administrators, checkusers, interface administrators, suppressors, Wikidata staff, Wikifunctions staff, WMF Office IT and WMF Trust & Safety. Nothing will change for other users. See the linked task for deployment schedule. [https://phabricator.wikimedia.org/T418580] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue preventing users from creating an instance in [https://www.wikibase.cloud/ Wikibase.cloud] has now been fixed. [https://phabricator.wikimedia.org/T416807] '''Updates for technical contributors''' * To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], over the next month the Wikimedia Foundation will implement global API rate limits across our APIs. In early March, stricter limits will be applied to unidentified requests from outside Toolforge/WMCS and API requests that are made from web browsers. In April, higher limits will be applied to identified traffic. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]]. * The Wikidata Query Service Linked Data Fragment (LDF) endpoint will be decommissioned in February. This endpoint served limited traffic, which was successfully migrated to other data access methods that were better suited to support existing use cases. The hardware used to support the LDF endpoint will be reallocated to support the ongoing backend migration efforts. [https://phabricator.wikimedia.org/T415696] * The new Parsoid parser [[mw:Special:MyLanguage/Parsoid/Parser Unification/Updates|continues to be deployed to additional wikis]], improving platform sustainability and making it easier to introduce new reading and editing features. Parsoid is now the default parser on 488 WMF wikis (268 Wikipedias), now covering more than 10% of all Wikipedia page views. * The process and criteria for [[Special:MyLanguage/Wikimedia Enterprise#Access|requesting exceptional access]] to the high volume feed of the ''Wikimedia Enterprise'' APIs (at no cost for mission-aligned usecases), [[m:Talk:Wikimedia Enterprise#Exceptional access criteria|have now been published]]. This is to provide more thorough and clearer documentation for users. * [https://techblog.wikimedia.org/ Tech Blog], the blog dedicated to the Wikimedia technical community [https://techblog.wikimedia.org/2026/02/24/a-tech-blog-diff/ will be migrating] to [[diffblog:|Diff]], the community news and event blog. The migration should be complete in April 2026, after which new posts will be accepted for publishing. Readers will be able to access posts – old and new – on the landing page at https://diff.wikimedia.org/techblog. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.18|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:52, 2 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30137798 --> == Wikipedia translation of the week: 2026-11 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Steens Mountain]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Steens Mountain near Andrews, Oregon.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Steens Mountain''' is a large fault-block mountain in the northwest United States, located in Harney County, Oregon. Stretching some fifty miles (80 km) north to south, on its east side it rises from the Alvord Desert at an elevation of about 4,200 feet (1,280 m) to 9,738 feet (2,968 m) at the summit. Steens Mountain is not part of a mountain range but is properly a single mountain, the largest of Oregon's fault-block mountains. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 07:30, 9 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30097839 --> == Tech News: 2026-11 == <section begin="technews-2026-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/11|Translations]] are available. '''Weekly highlight''' * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies. * Last week, all wikis had 2 hours of read-only time, and extended unavailability for user-scripts and gadgets. This was due to a security incident which has since been resolved. Work is ongoing to prevent re-occurrences. For current information please see the [[m:Steward's noticeboard#Statement on Meta about today's user script security incident|post on the Stewards' noticeboard]] ([[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Product Safety and Integrity/March 2026 User Script Incident|translations]]). '''Updates for editors''' * Users facing multiple blocks on mobile will now see the reasons for each block separately, instead of a generic message. This helps them understand why they are blocked and what steps they can take to resolve the issue. For example, users affected for using common VPNs (such as [[Special:MyLanguage/Apple iCloud Private Relay|iCloud Private Relay]]) will receive clearer guidance on what they need to do to start editing again. [https://phabricator.wikimedia.org/T357118] * Later this week, [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] will become available as a beta feature within the visual editor at all Wikipedias. This feature proactively suggests various types of actions that people can consider taking to improve Wikipedia articles, and learn about related guidelines. The feature is locally configurable, and can also be locally expanded with custom Suggestions. Current settings can be seen at [[Special:EditChecks]] and there are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators %E2%80%93 local customization|instructions for how administrators can customize]] the links to point to local guidelines. The feature is connected to [[mw:Special:MyLanguage/Help:Edit check|Edit check]] which suggests improvements while someone is writing new content. In the future, the Editing team plans to evaluate the feature's impact with newcomers through a controlled experiment. [https://phabricator.wikimedia.org/T404600] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where the cursor became misaligned during the use of CodeMirror’s syntax highlighting, which makes wikitext and code easier to read, has now been fixed. This problem specifically affected users who defined a font rule in a custom stylesheet while creating a new topic with DiscussionTools. [https://phabricator.wikimedia.org/T418793] '''Updates for technical contributors''' * API rate limiting update: To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], global API rate limits will be applied this week to requests without a compliant User-Agent that originate from outside Toolforge/WMCS and to unauthenticated requests made from web browsers. Higher limits will be applied to identified traffic in April. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]]. * The new GraphQL API has been released. The API was developed as a flexible alternative to select features of the Wikidata Query Service (WDQS), to improve developer experience and foster adaptability, and efficient data access. Try it out and [[d:Wikidata:Wikibase GraphQL#Feedback and development|give feedback]]. You can also [https://greatquestion.co/wikimediadeutschland/GraphQLAPI/apply sign up for usability tests]. * The [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|PTAC Unsupported Tools Working Group]] continued improvements to [[commons:Special:MyLanguage/Commons:Video2commons#|Video2Commons]] in February, with fixes addressing authentication errors, large-file handling, task queue visibility, and clearer upload behavior. Work is still ongoing in some areas, including changes related to deprecated server-side uploads. Read [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group#February 2026|this update]] to learn more. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.19|MediaWiki]] '''In depth''' * The Article Guidance team invites experienced Wikipedia editors from selected [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators#Collaborators|pilot wikis]] and interested contributors from other Wikipedias to fill out this questionnaire which is available in [https://docs.google.com/forms/d/e/1FAIpQLSfmLeVWnxmsCbPoI_UF2jyRcn73WRGWCVPHzerXb4Cz97X_Ag/viewform English], [https://docs.google.com/forms/d/e/1FAIpQLSd6rzr4XXQw8r4024fE3geTPFe13M_6w7Mitj-YJi0sOlWTAw/viewform?usp=header Arabic], [https://docs.google.com/forms/d/e/1FAIpQLSdok3-RfB18lcugYTUMGkpwmqG_8p760Wv4dCXitOXOszjUDw/viewform?usp=header Bengali], [https://docs.google.com/forms/d/e/1FAIpQLSfjTfYp4jEo0akA4B1e-Nfg3QZPCudUjhJzHzzDi6AHyAaMGA/viewform?usp=header Japanese], [https://docs.google.com/forms/d/e/1FAIpQLScteVoI29Aue4xc72dekk-6RYtvmMgQxzMI900UOawrFrSTWg/viewform?usp=header Portuguese], [https://docs.google.com/forms/d/e/1FAIpQLSetdxnYwL3ub2vqA7awCg5hJZPMIYcDPaiTe12rY9h0GYnVlw/viewform?usp=header Persian], and [https://docs.google.com/forms/d/e/1FAIpQLScNvfJF-Ot-4pzA4qAN771_0QDJ4Li19YcUsaTgSKW8Nc7U_Q/viewform?usp=header Turkish]. Your answers will help the team customize guidance for less experienced editors and help them learn community policies and practices while creating an article. Learn more [[mw:Special:MyLanguage/Article guidance|on the project page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 9 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30213008 --> == Wikipedia translation of the week: 2026-12 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Casque (anatomy)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Great hornbill (Buceros bicornis) Photograph by Shantanu Kuveskar.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''casque''' is an anatomical feature found in some species of birds, reptiles, and amphibians. In birds, it is an enlargement of the bones of the upper mandible or the skull, either on the front of the face, the top of the head, or both. The casque has been hypothesized to serve as a visual cue to a bird's sex, state of maturity, or social status; as reinforcement to the beak's structure; or as a resonance chamber, enhancing calls. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:43, 16 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30245038 --> == Tech News: 2026-12 == <section begin="technews-2026-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/12|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature, also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], has been used for wikitext syntax highlighting since November 2024. It will be promoted out of beta by May 2026 in order to bring improvements and new [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Features|features]] to all editors who use the standard syntax highlighter. If you have any questions or concerns about promoting the feature out of beta, [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|please share]]. [https://phabricator.wikimedia.org/T259059] * Some changes to local user groups are performed by stewards on Meta-Wiki and logged there only. Now, interwiki rights changes will be logged both on Meta-Wiki and the wiki of the target user to make it easier to access a full record of user's rights changes on a local wiki. Past log entries for such changes will be backfilled in the coming weeks. [https://phabricator.wikimedia.org/T6055] * On wikis using [[m:Special:MyLanguage/Flagged Revisions|Flagged Revisions]], the number of pending changes shown on [[{{#Special:PendingChanges}}]] previously counted pages which were no longer pending review, because they have been removed from the system without being reviewed, e.g. due to being deleted, moved to a different namespace, or due to wiki configuration changes. The count will be correct now. On some wikis the number shown will be much smaller than before. There should be no change to the list of pages itself. [https://phabricator.wikimedia.org/T413016] * Wikifunctions composition language has been rewritten, resulting in a new version of the language. This change aims to increase service stability by reducing the orchestrator's memory consumption. This rewrite also enables substantial latency reduction, code simplification, and better abstractions, which will open the door to later feature additions. Read more about [[f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|the changes]]. * Users can now sort search results alphabetically by page title. The update gives an additional option to finding pages more easily and quickly. Previously, results could be sorted by Edit date, Creation date, or Relevance. To use the new option, open 'Advanced Search' on the search results page and select 'Alphabetically' under 'Sorting Order'. [https://phabricator.wikimedia.org/T403775] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented UploadWizard on Wikimedia Commons from importing files from Flickr has now been fixed. [https://phabricator.wikimedia.org/T419263] '''Updates for technical contributors''' * A new special page, [[{{#special:LintTemplateErrors}}]], has been created to list transcluded pages that are flagged as containing lint errors to help users discover them easily. The list is sorted by the number of transclusions with errors. For example: [[{{#special:LintTemplateErrors}}/night-mode-unaware-background-color]]. [https://phabricator.wikimedia.org/T170874] * Users of the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature have been using [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages, for some time now. Along with promoting CodeMirror 6 out of beta, the plan is to replace CodeEditor as the standard editor for these content models by May 2026. [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|Feedback or concerns are welcome]]. [https://phabricator.wikimedia.org/T419332] * The [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] JavaScript modules will soon be upgraded to CodeMirror 6. Leading up to the upgrade, loading the <code dir=ltr>ext.CodeMirror</code> or <code dir=ltr>ext.CodeMirror.lib</code> modules from gadgets and user scripts was deprecated in July 2025. The use of the <code dir=ltr>ext.CodeMirror.switch</code> hook was also deprecated in March 2025. Contributors can now make their scripts or gadgets compatible with CodeMirror 6. See the [[mw:Special:MyLanguage/Extension:CodeMirror#Gadgets and user scripts|migration guide]] for more information. [https://phabricator.wikimedia.org/T373720] * The MediaWiki Interfaces team is expanding coverage of REST API module definitions to include [[mw:Special:MyLanguage/API:REST API/Extensions|extension APIs]]. REST API modules are groups of related endpoints that can be independently managed and versioned. Modules now exist for [https://phabricator.wikimedia.org/T414470 GrowthExperiments] and [https://phabricator.wikimedia.org/T419053 Wikifunctions] APIs. As we migrate extension APIs to this structure, documentation will move out of the main MediaWiki OpenAPI spec and REST Sandbox view, and will instead be accessible via module-specific options in the dropdown on the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox] (i.e., [[{{#Special:RestSandbox}}]], available on all wiki projects). * The [[mw:Special:MyLanguage/Extension:Scribunto|Scribunto]] extension provides different pieces of information about the wiki where the module is being used via the [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual|mw.site]] library. Starting last week, the library also provides a [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.site.wikiId|way]] of accessing the [[mw:Special:MyLanguage/Manual:Wiki ID|wiki ID]] that can be used to facilitate cross-wiki module maintenance. [https://phabricator.wikimedia.org/T146616] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.20|MediaWiki]] '''In depth''' * The [[m:Special:MyLanguage/Coolest Tool Award|2026 Coolest Tool Award]] celebrating outstanding community tools, is now open for nominations! Nominate your favorite tool using the [https://wikimediafoundation.limesurvey.net/435684?lang=en nomination survey] form by 23 March 2026. For more information on privacy and data handling, please see the [[foundation:Special:MyLanguage/Legal:Coolest_Tool_Award_2026_Survey_Privacy_Statement|survey privacy statement]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:36, 16 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30260505 --> == Wikipedia translation of the week: 2026-13 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Etruscan sculpture]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Frontone A del grande tempio di luni con concilio degli dei, 175-150 ac. ca. 01.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> '''Etruscan sculpture''' was one of the most important artistic expressions of the Etruscan people, who inhabited the regions of Northern Italy and Central Italy between about the 9th century BC and the 1st century BC. Etruscan art was largely a derivation of Greek art, although developed with many characteristics of its own. Given the almost total lack of Etruscan written documents, a problem compounded by the paucity of information on their language—still largely undeciphered—it is in their art that the keys to the reconstruction of their history are to be found, although Greek and Roman chronicles are also of great help. Like its culture in general, Etruscan sculpture has many obscure aspects for scholars, being the subject of controversy and forcing them to propose their interpretations always tentatively, but the consensus is that it was part of the most important and original legacy of Italian art and even contributed significantly to the initial formation of the artistic traditions of ancient Rome. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:07, 23 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30245038 --> == Tech News: 2026-13 == <section begin="technews-2026-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/13|Translations]] are available. '''Weekly highlight''' * Wikimedia site users can now log in without a password using passkeys. This is a secure method supported by fingerprint, facial recognition, or PIN. With this change, all users who opt for passwordless login will find it easier, faster, and more secure to log in to their accounts using any device. The new passkey login option currently appears as an autofill suggestion in the username field. An additional [[phab:T417120|"Log in with passkey" button]] will soon be available for users who have already registered a passkey. This update will improve security and user experience. The [[c:File:Passwordless_login_screencast.webm|screen recording]] demonstrates the passwordless login process step by step. * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies. '''Updates for editors''' * Wikimedia site users can now export their notifications older than 5 years using a [[toolforge:echo-chamber|new Toolforge tool]]. This will ensure that users retain their important notifications and avoid them being lost based on the planned change to delete notifications older than 5 years, as previously announced. [https://phabricator.wikimedia.org/T383948] * Wikipedia editors in Indonesian, Thai, Turkish, and Simple English now have access to Special:PersonalDashboard. This is an [[mw:Special:MyLanguage/Moderator Tools/Dashboard|early version of an experience]] that introduces newer editors to patrolling workflows, making it easier for them to move from making edits to participating in more advanced moderation work on their project. [https://phabricator.wikimedia.org/T402647] * The [[Special:Block]] now has two minor interface changes. Administrators can now easily perform indefinite blocks through a dedicated radio button in the expiry section. Also, choosing an indefinite expiry provides a different set of common reasons to select from, which can be changed at: [[MediaWiki:Ipbreason-indef-dropdown]]. [https://phabricator.wikimedia.org/T401823] * Mobile editors [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#Logged-out|at several wikis]] can now see an improved logged-out edit warning, thanks to the recent updates from the Growth team. These changes released last week are part of ongoing efforts and tests to enhance [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|account creation experience on mobile]] and then increase participation. [https://phabricator.wikimedia.org/T408484] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:36}} community-submitted {{PLURAL:36|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented mobile web users from seeing the block information when affected by multiple blocks has been fixed. They can now see messages of all the blocks currently affecting them when they access Wikipedia. '''Updates for technical contributors''' * Images built using Toolforge will soon get the upgraded buildpacks version, bringing support for newer language versions and other upstream improvements and fixes. If you use Toolforge Build Service, review the recent [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EMYTA32EV2V5SQ2JIEOD2CL66YFIZEKV/ cloud-announce email] and update your build configuration as necessary to ensure your tools are compatible. [https://wikitech.wikimedia.org/w/index.php?title=Help:Toolforge/Building_container_images&oldid=2392097#Buildpack_environment_upgrade_process][https://phabricator.wikimedia.org/T380127] * The [https://api.wikimedia.org/wiki/Main_Page API Portal] documentation wiki will shut down in June 2026. API keys created on the API Portal will continue to work normally. api.wikimedia.org endpoints will be deprecated gradually starting in July 2026. Documentation on the API Portal is moving to [[mw:Wikimedia APIs|mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.21|MediaWiki]] '''In depth''' * [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] is considering improvements to [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|automatically generated reference names in VisualEditor]]. Please check out the [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names#Proposed solutions|proposed solutions]] and participate in the [[m:Talk:WMDE Technical Wishes/References/VisualEditor automatic reference names#Request for comment|request for comment]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:51, 23 March 2026 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30268305 --> == Wikipedia translation of the week: 2026-14 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pulse (nightclub)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Orlando FL Pulse Nightclub01.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pulse''' was a gay bar, dance club, and nightclub in Orlando, Florida, founded in 2004 by Barbara Poma and Ron Legler. On June 12, 2016, the club was the scene of the second-deadliest mass shooting by a single gunman in U.S. history, and the second-deadliest terrorist attack on U.S. soil since the September 11 attacks. Forty-nine people were killed and 58 other people were injured. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:37, 30 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30306870 --> == Tech News: 2026-14 == <section begin="technews-2026-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/14|Translations]] are available. '''Weekly highlight''' * The Beta version of [[abstract:|Abstract Wikipedia]] a new Wikimedia project which is language-independent, was launched last week. The project allows communities to build Wikipedia articles in their native language, which can be readily accessed by other users in their own languages. The wiki is powered by instructions from Wikifunctions and also based on structured content from Wikidata. [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|Read more]]. '''Updates for editors''' * The Growth team is running an A/B test to evaluate a clearer, more user-friendly message that promotes account creation on wikis. Currently when logged-out mobile users begin editing, they see a jarring warning message that can feel abrupt and discouraging. This also presents temporary account editing as the default rather than encouraging account creation. The test is running on ten Wikipedias, including Arabic, French, Spanish and German. [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#2. Improve logged-out warning message (T415160)|Read more]]. * The Wikimedia Apps team is inviting feedback on [[mw:Special:MyLanguage/Wikimedia Apps/Team/Future of Editing on the Mobile Apps|how editing should work on the Wikipedia mobile apps]]. The discussion focuses on improving how users access editing tools when they tap "Edit". This is part of a broader effort to convert readers who develop an interest in editing, to access a more user-friendly pathway to start contributing. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:45}} community-submitted {{PLURAL:45|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where citation fetching from the large newspaper archive [https://www.newspapers.com Newspapers.com] was no longer working, due to a block in [[mw:Special:MyLanguage/Citoid|Citoid]] requests, has now been fixed. [https://phabricator.wikimedia.org/T419903] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:26, 30 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30329462 --> == Wikipedia translation of the week: 2026-15 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Tofana di Rozes]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Tofana di Rozes 04.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Tofana di Rozes''' (3,225 metres (10,581 ft)) is a mountain of the Dolomites in the Province of Belluno, Veneto, Italy. Located west of the resort of Cortina d'Ampezzo, the mountain's giant three-edged pyramid shape and its vertical south face, above the Falzarego Pass, makes it the most popular peak in the Tofane group, and one of the most popular in the Dolomites. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:27, 6 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30306870 --> == Tech News: 2026-15 == <section begin="technews-2026-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/15|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] now includes a new group goal-setting feature, enabling organizers to set and track event goals such as the number of articles created and participating contributors in real time. Similarly, participants can work toward shared targets and see their collective impact as the event unfolds. The feature is now available on all Wikimedia wikis. Learn more in [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Collaborative contributions#Goal setting|the documentation]]. * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] The new [[mw:Special:MyLanguage/Help:Watchlist labels|watchlist labels]] feature (announced in [[m:Special:MyLanguage/Tech/News/2026/07|Tech News 2026-07]]) is now available via VisualEditor, the source editor, and the 'watchstar' (or watch link, for skins that don't have a star icon). Previously it was only possible to assign labels via [[Special:EditWatchlist|EditWatchlist]]. In all three places it is a new field following the expiry field. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where talk pages on mobile with Parsoid are unusable after empty section headers, has now been fixed. [https://phabricator.wikimedia.org/T419171] '''Updates for technical contributors''' * The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sub-referencing feature]], which lets editors add details to an existing reference without duplicating it, will be gradually rolled out to [[phab:T414094|more wikis]] later this year. Wikis using the [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]] gadget are encouraged to update their version (typically at [[m:MediaWiki:Gadget-ReferenceTooltips.js|MediaWiki:Gadget-ReferenceTooltips.js]] as shown [https://en.wikipedia.org/w/index.php?diff=1344408362 here]) to ensure compatibility. Other reference-related gadgets may also be affected. [https://phabricator.wikimedia.org/T416304] * All Wikinews editions will be closed and switched to read-only mode on 4 May 2026. Content will remain accessible, but no new edits or articles can be added. This closure was approved by the Board of Trustees of the Wikimedia Foundation following extended discussions. [[m:Wikimedia Foundation Board noticeboard#Board of Trustees Approves Closure of Wikinews|Read more]]. * The [[:mw:Special:MyLanguage/API:Action API|Action API]] has had several formats for requested output. One of them, <bdi lang="zxx" dir="ltr"><code><nowiki>format=php</nowiki></code></bdi>, is being removed soon. Please ensure your scripts or bots use the [[mw:Special:MyLanguage/API:Data formats#Output|JSON format]]. This removal should affect very few scripts and bots. [https://phabricator.wikimedia.org/T118538] * The [[Special:NamespaceInfo|Special:NamespaceInfo]] page now includes namespace aliases. For example "WP" for the "Project" ("Wikipedia") namespace on the German Wikipedia. [https://phabricator.wikimedia.org/T381455] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.23|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:19, 6 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30362761 --> == Wikipedia translation of the week: 2026-16 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Very-low-calorie diet]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Green smoothie (8222465502).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''very-low-calorie diet''' (VLCD), also known as semistarvation diet and crash diet, is a type of diet with very or extremely low daily food energy consumption. VLCDs are defined as a diet of 800 kilocalories (3,300 kJ) per day or less. Modern medically supervised VLCDs use total meal replacements, with regulated formulations in Europe and Canada which contain the recommended daily requirements for vitamins, minerals, trace elements, fatty acids, protein and electrolyte balance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:56, 13 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30306870 --> == Tech News: 2026-16 == <section begin="technews-2026-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/16|Translations]] are available. '''Weekly highlight''' * Experienced editors are invited to [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Main_Page test] the [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature, designed to help less-experienced editors create well-structured, policy-compliant Wikipedia articles. Testing instructions are [[mw:Special:MyLanguage/Article guidance/Test feature guide|available]]. Also, after reviewing [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance the outlines], please provide feedback on the [[mw:Talk:Article guidance|project talk page]]. Based on your input, the feature will be refined and transferred to the pilot Wikipedias to translate and adapt. Check out [[c:File:Article Guidance workflow demo - April 2026.webm|the video]] explaining the feature. '''Updates for editors''' * On most wikis, all autoconfirmed users can now use [[Special:ChangeContentModel|Special:ChangeContentModel]] page to [[mw:Special:MyLanguage/Help:ChangeContentModel|create new pages with custom content models]], such as mass message lists, making custom page formats more accessible. Check [[Special:ListGroupRights|Special:ListGroupRights]] for the status of your wiki. [https://phabricator.wikimedia.org/T248294] * The Growth team has launched an [[mw:Special:MyLanguage/Contributors/Account_Creation_Experiments|account creation experiment]] to evaluate whether adding an account creation button to the mobile web header increases new account registrations and encourages more mobile users to contribute to the wikis. The experiment is currently live on Hindi, Indonesian, Bengali, Thai, and Hebrew Wikipedia, and targets 10% of logged-out mobile web users. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where VisualEditor could get stuck loading on Windows devices with animations turned off, has now been fixed. [https://phabricator.wikimedia.org/T382856] '''Updates for technical contributors''' * Starting later this week, {{int:group-abusefilter}} who have the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature enabled will have [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] as the editor at [[Special:AbuseFilter|Special:AbuseFilter]]. This is part of the broader effort to make the user experience more consistent across all editors. [https://phabricator.wikimedia.org/T399673][https://phabricator.wikimedia.org/T419332] * Tools and bots that access the [[mw:Special:MyLanguage/Notifications/API|Notifications API]] (<bdi lang="zxx" dir="ltr"><code><nowiki>action=query&meta=notifications</nowiki></code></bdi>) will need to update their OAuth or BotPassword grants to also include access to private notifications. [https://phabricator.wikimedia.org/T421991] * Due to a library upgrade, listings on category pages may be displayed out of order starting on Monday, 20th April. A migration script will be run to correct this, and will take hours to days depending on the size of the wiki (up to a week for English Wikipedia). [https://phabricator.wikimedia.org/T422544] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.24|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:19, 13 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30380527 --> == Wikipedia translation of the week: 2026-17 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Chromodoris willani]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Babosa de mar (Chromodoris willani), Anilao, Filipinas, 2023-08-24, DD 34.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Chromodoris willani''''', commonly known as Willan's chromodoris, is a species of sea slug, a dorid nudibranch, a shell-less marine gastropod mollusk in the family Chromodorididae. The species is named for the renowned nudibranch taxonomist Dr. Richard C. Willan. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:34, 20 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30430366 --> == Tech News: 2026-17 == <section begin="technews-2026-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/17|Translations]] are available. '''Weekly highlight''' * After two years of development, [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], is to be promoted out of beta on Tuesday, April 21. It brings better code and wikitext readability, reduction in typing errors, and other [[mw:Special:MyLanguage/Help:Extension:CodeMirror|benefits]] to all users of the standard syntax highlighter. A huge thank you to volunteer [https://phabricator.wikimedia.org/p/Bhsd/ Bhsd] who developed many of the new features, including [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Code folding|code folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linting]]. [https://phabricator.wikimedia.org/T259059] * A major update to the Wikipedia app for iOS is now rolling out, redesigning the interface to align with Apple's latest "Liquid Glass" visual design. [https://apps.apple.com/us/app/wikipedia/id324715238 Download the latest version] and explore the update. '''Updates for editors''' * [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading lists]] is a feature which allows readers to save articles to a list for reading later. This feature is now in beta on Arabic, French, Indonesian, Vietnamese, and Chinese Wikipedias and by default for all new accounts on all Wikipedias. * An experiment which explores extending [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Page Previews to mobile web]] will be launched in the week of April 20 on Arabic, English, French, Italian, Polish, and Vietnamese Wikipedias. Page Previews are pop-ups that display a thumbnail, lead paragraph, and a link to open the full article of a blue link, thereby improving content discovery. The feature is already available on desktop and in the apps. [[m:Special:MyLanguage/List of experiments in Product and Technology#Template|Read more about this experiment and others]]. * On several wikis, logged-in editors who haven't [[mw:Special:MyLanguage/Help:Email confirmation|confirmed their email addresses]] can now see a banner encouraging them to do so. Having the email address confirmed allows a user to restore access to the account if they lose it. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Encouraging users to confirm their email addresses|Learn more]]. [https://phabricator.wikimedia.org/T421366] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:15}} community-submitted {{PLURAL:15|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where editing very large wiki pages in the 2017 wikitext editor caused slow loading, preview and scrolling lag, and performance issues when selecting, cutting, or pasting content, has now been fixed. [https://phabricator.wikimedia.org/T184857] '''Updates for technical contributors''' * As part of the promotion of [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] from a beta feature, all users will use [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages. [https://phabricator.wikimedia.org/T419332] * The <code>mirrors.wikimedia.org</code> service for Debian and Ubuntu users will sunset and stop working on May 15. The resources for the service will be replaced with new and better options. Some users may need to switch to a different server which should take about a minute. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LJYRIS4WB66HIRCAO4GIDTXCMDVZRBMA/ You can read more]. [https://phabricator.wikimedia.org/T416707] * The <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> table will be removed from [[wikitech:Help:Wiki Replicas|wikireplicas]]. If your tools or queries access <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> or <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> directly, please update them to use the <bdi lang="zxx" dir="ltr"><code><nowiki>file</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>filerevision</nowiki></code></bdi> table before 28 May. [https://phabricator.wikimedia.org/T28741] * Following the recent implementation of global API rate limits on unidentified traffic, the Wikimedia Foundation will continue efforts to ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]] by applying global limits to identified API traffic beginning the last week of April. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]]. * The [[mw:Special:MyLanguage/Attribution API|Attribution API]] is now available as a [[mw:Special:MyLanguage/Wikimedia APIs/Stability policy|beta]]. The API fetches information for crediting Wikimedia articles and media files wherever they are used. Reference documentation is available through the REST Sandbox special page available on all Wikimedia wikis (such as the [https://en.wikipedia.org/w/index.php?api=attribution.v0-beta&title=Special%3ARestSandbox REST sandbox on English Wikipedia]). Share your feedback on the [[mw:Talk:Attribution API|project talk page]]. * There is no new MediaWiki version this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:01, 20 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30432763 --> == Wikipedia translation of the week: 2026-18 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Platypus venom]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Platypus spur.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> The platypus is one of the few living mammals to produce venom. The venom is made in venom glands that are connected to hollow spurs on their hind legs; it is primarily made during the mating season.[1] While the venom's effects are described as extremely painful, it is not lethal to humans. Many archaic mammal groups possess similar tarsal spurs, so it is thought that, rather than having developed this characteristic uniquely, the platypus simply inherited this characteristic from its ancestors. Rather than being a unique outlier, the platypus is the last demonstration of what was once a common mammalian characteristic, and it can be used as a model for non-therian mammals and their venom delivery and properties. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:04, 27 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30449041 --> == Tech News: 2026-18 == <section begin="technews-2026-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/18|Translations]] are available. '''Updates for editors''' * There is a change in how new users are autoconfirmed that will improve anti-vandalism protection. Currently, users who have had an account for a few days and made a few edits are automatically added to the [[{{int:grouppage-autoconfirmed/{{CONTENTLANGUAGE}}}}|{{int:group-autoconfirmed}}]] group. This configuration tends to be exploited by some vandals, who create accounts and start to use them only after some time. To mitigate this, the configuration will be updated next week so that – for the purpose of becoming autoconfirmed – the account age will be counted from their first edit, instead of registration date. The numeric value of the age threshold will remain the same. This change will be deployed only to wikis which require at least one edit as part of the autoconfirmation conditions. [https://phabricator.wikimedia.org/T418484] * All Wikipedia users with new accounts and those who activated the "automatically enable most beta features" option in their preference can now use the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|reading lists]] beta feature to save articles for later reading. This helps organize reading interests in one place for convenient access. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where infobox images have huge padding in Firefox, has been fixed. [https://phabricator.wikimedia.org/T423676] '''Updates for technical contributors''' * As a reminder, the global API rate limits will be applied this week to identified API traffic. This is to help ensure [[mw:MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]]. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, including the actual rate limits, see [[mw:Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.26|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:06, 27 April 2026 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30458046 --> == Wikipedia translation of the week: 2026-19 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kuwait National Assembly Building]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Kuwait City Arabian Gulf Street 10.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Kuwait National Assembly Building''' is the building that housed the National Assembly of Kuwait. Designed by Danish architect Jørn Utzon in 1972, it was completed in 1982 under the direction of his son Jan. The structural design was by Max Walt. The building was seriously damaged in February 1991 when retreating Iraqi troops set it on fire but has since been restored. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:16, 4 May 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30464799 --> == Tech News: 2026-19 == <section begin="technews-2026-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/19|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Article guidance|Article guidance]] team invites experienced editors of [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators|pilot Wikipedias]]—Arabic, Bangla, Japanese, Portuguese, Persian, Turkish, Simple English, Spanish, and French—to help translate and adapt [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance sample outlines]. These outlines will guide editors in creating clear, well-structured, and policy-compliant articles when using [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Special:NewArticle the feature] once it is launched in May 2026. [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|Simple instructions]] on how to translate and adapt the outlines are available. '''Updates for editors''' * The [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] has published [[:m:Special:MyLanguage/Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|draft recommendations]] on a model that affiliates can follow when contributing to the technical space. Community members are invited to provide feedback on the recommendation until May 8th [[:m:Talk:Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|on the talk page]]. * The number of available thumbnail size preferences in MediaWiki is being reduced to three standardized options—Small (180px), Regular (250px), and Large (400px), as part of ongoing efforts to improve performance and reduce strain on thumbnail services. As a result, existing preferences will be mapped to the nearest new size (for example, smaller selections like 120px or 150px will render at 180px, while larger ones like 300px or 360px will render at 400px). The preferences interface will soon be updated to reflect these changes, and users who wish to opt out or provide feedback can do so. [https://phabricator.wikimedia.org/T424909] * From now on, even when a permission expires automatically, users will receive an Echo notification similar to the standard notification for permission changes. There is a difference between this and [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]] in that the latter reminds users a week ''before'' the rights are due to expire, so that they can renew the rights. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the problem where the ULS language selector in [[m:Special:Translate|Special:Translate]] would scroll vertically when it shouldn't, has been resolved. Previously, when users opened the "Translate to English" dropdown and typed certain inputs, the dialog would scroll vertically by a few pixels even when there was enough space to display all results. The dropdown no longer shifts unnecessarily when filtering languages. [https://phabricator.wikimedia.org/T358864] * The [[m:Special:GlobalWatchlist|Global Watchlist]], which lets you view your watchlists from multiple wikis on a single page, continues to improve. For example, watchlists for Wikibase sites such as [[:d:|Wikidata]] now support [[mw:Special:MyLanguage/Extension:EntitySchema|EntitySchema]] elements for better tracking. The Live Updates mode now refreshes the special page every 60 seconds to comply with the updated [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] for improved real-time responsiveness. Additionally, a directionality bug that displayed links as "changes 3" instead of "3 changes" in mixed-direction lists has been fixed. [https://phabricator.wikimedia.org/T415450][https://phabricator.wikimedia.org/T424422][https://phabricator.wikimedia.org/T418091] '''Updates for technical contributors''' * The second phase of [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] has been rolled out to reduce the [[diffblog:2026/03/26/quo-vadis-crawlers-progress-and-whats-next-on-safeguarding-our-infrastructure/|impact of AI crawlers]] and ensure fair, sustainable access to Wikimedia resources, prioritising human and mission-aligned traffic. [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits#Limits|Limits]] have been shifted from per-hour to per-minute, producing smoother traffic patterns and more predictable API load. Community users are not expected to be affected, and no action is required. Early indications show some User-Agent-based requestors are adjusting behaviour, and around 64% of automated API traffic has been identified. Monitoring continues, and Wikimedia Enterprise remains available for commercial support. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.27|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 4 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30498077 --> == Wikipedia translation of the week: 2026-20 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Macau National Security Law]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lei relative à defesa da segurança do Estado projecto.JPG|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Macau National Security Law''' is a law in Macau which prohibits and punishes acts of treason, secession, and subversion against the Central government, as well as preparative acts leading to any of the three acts. Taken into effect on 3 March 2009, the purpose of the law is to fulfil Article 23 of the Macau Basic Law, the de facto constitution of the Macau Special Administration Region. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:53, 11 May 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30513945 --> == Tech News: 2026-20 == <section begin="technews-2026-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/20|Translations]] are available. '''Weekly highlight''' * Community Tech has published [[m:Special:MyLanguage/Community Wishlist/How to write a good wish|new guidance]] explaining how wishes on Community Wishlist are triaged and prioritized. The documentation is intended to help contributors write stronger proposals by clarifying the factors that influence prioritization decisions. Beyond vote counts, the guidance highlights considerations such as potential impact on the community when determining which wishes move forward. '''Updates for editors''' * The Reader Growth team is launching an experiment to test a new [[mw:Special:MyLanguage/Readers/Reader_Growth/Share_Card|Share Card feature]] that allows readers to create visually engaging cards from Wikipedia articles or selected article sections and share them online, with each card linking back to the original article to help expand readership and article discovery. The mobile-only A/B test will be available to a portion of readers on Arabic, Chinese, French, Vietnamese, and English Wikipedia to better understand reading and sharing habits, and is scheduled to begin the week of May 18 and run for four weeks. * The Android and iOS Wikipedia apps recently released the [[mw:Special:MyLanguage/Wikimedia_Apps/Team/25th_Birthday_Reading_Challenge|25-day reading challenge]] into Beta, as part of efforts to drive reader engagement by encouraging users to complete reading milestones. To track their reading streak during the challenge, App users can add a widget featuring Baby Globe to their home screen. The challenge officially begins May 11. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:17}} community-submitted {{PLURAL:17|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the global preference for enabling syntax highlighting in wikitext could unexpectedly disable itself after being turned on, has now been fixed. [https://phabricator.wikimedia.org/T425286] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader module <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui.input</nowiki></code></bdi>, deprecated since [[m:Special:MyLanguage/Tech/News/2023/39|September 2023]], will be removed this week. There is a [[mw:Special:MyLanguage/Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. [https://phabricator.wikimedia.org/T420125] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.2|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:21, 11 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30524429 --> == Tech News: 2026-21 == <section begin="technews-2026-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/21|Translations]] are available. '''Weekly highlight''' * The Abstract Wikipedia team has identified five potential pilot wikis to assess their interest in adopting abstract articles on their wikis. The pilots are Malayalam, Bengali, Dagbani, Arabic, and Indonesian Wikipedia. The feedback period will be open until May 22. If your community is interested in becoming a pilot, [[m:Talk:Abstract Wikipedia|let us know on Meta]]. '''Updates for editors''' * An experiment to show [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]] to logged-out readers on mobile web will launch on May 18 across German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu Wikipedias, and will run for one month. The effort supports broader goals of helping readers save and organize articles for later reading, while encouraging habits that could lead to future Wikipedia contributions. * To support a bookmark button in the Reading List beta feature, the "Tools > Action" menu has been updated to display icons, including the watch star indicator that helps editors identify temporarily watched articles. The icons now also match those used on mobile, improving consistency across platforms. The change is currently limited to the actions menu and mainly affects editors with privileged user rights. [https://phabricator.wikimedia.org/T426008] * [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] was released as an [[w:en:A/B test|A/B test]] for newcomer editors on the mobile website at [[phab:T421189|~15 Wikipedias]]. The experiment will measure the impact that Suggestion Mode has on the proportion of newcomer mobile web edit sessions that result in constructive (un-reverted) article edits. The experiment will also evaluate the feature's impact on editor retention, and monitor changes in revert and block rates. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue in the Wikipedia Android app where images could sometimes fail to load after opening a recommended reading list notification, has now been fixed. [https://phabricator.wikimedia.org/T418231] '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/Wikidata Platform|Wikidata Platform team]] has published its [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/Backend Replacement|backend replacement recommendation]] and accompanying [[wikitech:Wikidata Query Service/WDQS Architecture re-design|technical architecture]] for the migration of the Wikidata Query Service (WDQS) away from Blazegraph. Feedback is invited until May 25th 2026, especially on potential gaps and impacts on advanced use cases. Wikidata community members and WDQS users are also encouraged to help identify high-impact tools and workflows that may need attention on [[d:Wikidata:SPARQL query service/WDQS backend update/High-Impact Use Cases|this page]]. Feedback can be shared on the [[d:Wikidata talk:SPARQL query service/WDQS backend update|Migration talk page]] or during the [[d:Special:MyLanguage/Wikidata:Blazegraph Migration Office Hours|next office hour]]. See the [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|WDP team newsletter]] for more details. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.3|MediaWiki]] '''In depth''' * On English, French, Japanese, and a few other Wikipedias, there was a [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|trial of hCaptcha]], a third-party bot detection service. The trial showed that hCaptcha effectively detects and deters some bad-faith automated activity, on its own and by giving [[w:en:Wikipedia:Village pump (technical)/Archive 225#Introducing SuggestedInvestigations|checkusers and stewards]] signals to look into. Because the results were positive, hCaptcha will be rolled out across all wikis over the next few weeks. [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|See the hCaptcha project page]] for technical information about the implementation and privacy protections. [[diffblog:2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2/|Learn more]]. * The latest Community Tech update is now available, with progress across several Community Wishlist initiatives, including Reading Lists expansion from the mobile app to the website, new language support for "Who Wrote That" and the Personal Dashboard, improvements to 3D rendering and Charts, and upcoming work on talk page sorting, audio playback, and editing workflows. The update also shares current priorities, wishlist status trends, and opportunities for community feedback on future focus areas and the Wikimedia Foundation’s 2026–2027 Annual Plan. [[m:Special:MyLanguage/Community Wishlist/Updates#May 13, 2026: Latest updates from the Community Tech team|Read the full newsletter for details]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:22, 18 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30539262 --> == Wikipedia translation of the week: 2026-21 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Stela of the cactus bearer]]'''<br /> <small>''([[:es:Estela del portador del cactus]])&#32;([[:ca:Estela del portador del cactus]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Estela Wachumero en Chavin.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''stela of the cactus bearer''' is a monolith or stele of a single piece of granite, belonging to the Chavín culture of ancient Peru, which remains in its original location on the northwest side of the circular plaza at the archaeological site known as the ceremonial center of Chavín de Huántar in the Ancash region of Peru. It was discovered during the 1972 excavation season by Peruvian archaeologist Luis Guillermo Lumbreras. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 04:05, 21 May 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30529698 --> == Wikipedia translation of the week: 2026-22 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Griffith Hughes]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The Reverend '''Griffith Hughes''' (1707 – c.1758), FRS, was a Welsh naturalist, clergyman, and author. Hughes wrote The Natural History of Barbados, which included the first description of the grapefruit (also known as "The Forbidden Fruit"). His work was praised by Linnaeus, but it has also been considered a "scientific fraud". <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:32, 25 May 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30529698 --> == Tech News: 2026-22 == <section begin="technews-2026-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/22|Translations]] are available. '''Weekly highlight''' * Following a [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#LOWM|successful account creation experiment]], an improved logged-out edit warning message will be deployed to all Wikimedia wikis in the first week of June. The change will only affect logged-out users on mobile web who open an editing session. The updated experience is designed to encourage account creation more clearly, while still allowing users to edit with temporary accounts. Results from the experiment showed a significant increase in account creation, with a 27% relative lift among users shown the updated message. As expected, as more people funnel into account creation, temporary accounts decreased by a relative 16%. The experiment did not show any significant changes in constructive edit rates or other monitored contributor metrics. [https://phabricator.wikimedia.org/T424595] '''Updates for editors''' * For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Members of these groups will be unable to disable the last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the next few weeks, users without 2FA will be removed from these groups. Notably, this applies to bureaucrats. See the linked tasks for deployment schedules. [https://phabricator.wikimedia.org/T423119][https://phabricator.wikimedia.org/T423120] * [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] will run an [[w:en:A/B testing|A/B test]] on [[:phab:T415904|10 wikis]], testing [[m:WMDE Technical Wishes/References/Reference Previews|potential improvements for Reference Previews]]. The experiment will run for ~2 weeks at the end of May / beginning of June and will affect 10% of desktop readers on the participating wikis. * After two successful experiments, the Reader Growth team is rolling out an [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|Image Browsing]] beta feature for all Wikipedias on mobile on May 25. This means that anyone who has all beta features on by default will start to see this feature, and others can check the box to turn it on in their preferences. The beta feature will include a carousel of all an article's images at the top of the article, with controls for editors to [[mw:Readers/Reader_Growth/Image_Browsing#Phase_2.1_beta_feature|exclude images from the article's carousel or to exclude an article from the feature entirely]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, three dimensional STL files were being rendered incorrectly by the media viewer 3D extension which is now fixed. [https://phabricator.wikimedia.org/T416723] '''Updates for technical contributors''' * The legacy CSS classes <bdi lang="zxx" dir="ltr"><code><nowiki>tleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>tright</nowiki></code></bdi> have been replaced with <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> as the former do not work consistently across all MediaWiki platforms, notably mobile web and mobile apps. Projects relying on these classes are encouraged to review related usage and plan for migration. Please note that <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> may also be deprecated in future, although there are currently no plans to do so. [[phab:T426452|Read more]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.4|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:52, 25 May 2026 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30584502 --> == Wikipedia translation of the week: 2026-23 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Umuganda]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Umuganda"Rwandan community work".jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Umuganda''' is a national holiday in Rwanda taking place on the last Saturday of every month for mandatory nationwide community service from 08:00 to 11:00. Participation in Umuganda is required by law; failure to participate can result in a fine. The program was most recently re-established under President Paul Kagame in 2009, having resulted in a notable improvement in the cleanliness of Rwanda. Also, there are other informal Umuganda day activities that occur in the middle of the month. These activities are initiated by either society or the government. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:55, 1 June 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30529698 --> == Tech News: 2026-23 == <section begin="technews-2026-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/23|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is conducting an experiment to show the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|reading lists]] feature, which is still in development, to logged-out mobile readers to test whether it encourages account creation at a higher rate compared to the watchstar button. The [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists#Experiment timeline|experiment]] was launched on May 18th on German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu wikis, and it will run for a month. * The Wikimedia Apps team released [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh/Phase 1|Phase 1]] of the redesigned Home Feed to the Android Beta app. The new Home Feed includes a refreshed "Community" tab and a personalized "For You" tab featuring daily updated reading recommendations. The redesign is part of a broader effort to improve content discovery and create more engaging learning experiences in the Wikipedia apps. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where images could fail to load for some suggested edits on [[w:Special:Homepage|Special:Homepage]], leaving the thumbnail stuck in a loading state, has now been fixed. [https://phabricator.wikimedia.org/T424048] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.5|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:09, 1 June 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30613639 --> == Wikipedia translation of the week: 2026-24 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Juryeonggu]]'''<br /> <small>''([[:kr:주령구]])&#32;([[:ja:酒令具]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:주령구의 발굴 당시 사진.png|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''Juryeonggu''' (주령구?, 酒令具?, JuryeongguLR, ChuryŏngguMR) è un dado a 14 facce, risalente al periodo del Silla unificato (668-935 d.C.), ritrovato nel 1975 dopo alcuni scavi occorsi presso il Donggung e lo stagno Wolji di Gyeongju, in Corea del Sud. Le facce del dado mostravano inscrizioni recanti varie penalità o sfide, legate ad un gioco di bevute, dimostrando l'importanza dell'alcool e la raffinatezza con cui la sua assunzione veniva celebrata. L'artefatto originale è andato perduto, incendiato in un maldestro tentativo di preservazione: oggi ne esistono delle repliche, disponibili anche commercialmente. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:20, 8 June 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30622359 --> == Tech News: 2026-24 == <section begin="technews-2026-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/24|Translations]] are available. '''Weekly highlight''' * Wikimedia Enterprise has increased the free usage limits for its API offerings. The monthly request limit for the On-demand API has increased from 5,000 to 50,000 requests, while the Snapshot API limit has increased from 15 to 30 requests per month. In addition, Structured Contents snapshots are now available for free accounts. These changes expand access to Wikimedia Enterprise data for developers, researchers, and organizations using Wikimedia content. [https://enterprise.wikimedia.com/blog/enhanced-free-api] '''Updates for editors''' * The [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Explore Feed Refresh/Phase 1|refreshed Explore Feed]], now called the Home Feed, is rolling out to 50% of users of the Wikipedia Android app. The Home Feed helps readers discover relevant content through two new tabs: ''Community'' and ''For You''. The Community tab provides a scrollable feed of curated content and updates from the broader Wikimedia community and movement, while the ''For You'' tab offers a full-screen, swipeable experience that shows content tailored to a user's interests. The redesign is part of a broader effort to improve discovery and enhance the learning experience in the Wikipedia app. * The [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/"Which came first?" Game|Which came first?]] daily trivia game is now available in the beta version of the Wikipedia iOS app in English, German, French, Portuguese, Russian, Spanish, Arabic, Chinese, and Turkish. The game uses historical events from Wikipedia's "On This Day" content and challenges readers to guess which of two events happened first. The game was previously released on Android. Communities interested in making the game available in their languages can [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Games#Game availability by language|read the instructions and requirements]]. * [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new MediaWiki feature that allows editors to reuse references with different details, will begin rolling out to Wikimedia wikis following a successful pilot phase. Deployment will start on 8 June for most [[wikitech:Deployments/Train#Wednesday|Group 1 wikis]] and French Wikipedia, with additional Wikipedia language editions receiving the feature over the coming months. Communities are encouraged to prepare by checking for [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-cite&language=en&action_source=search&filter=%21translated&optional=1&action=translate untranslated Cite extension messages] in their language and reviewing any use of [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]], which may require [[:phab:T416304#11668731|updates]] to support the new functionality. Wikis using [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] do not need to take any action. Communities may also wish to create the ''cite-tracking-category-ref-details'' [[Special:TrackingCategories|tracking category]] as a hidden category using <code><nowiki>__HIDDENCAT__</nowiki></code> (or a dedicated template), and connect it to the corresponding Wikidata item [[d:Q129764848]]. [https://phabricator.wikimedia.org/T425662] * The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews#Experimentation|Page Previews experiment]] on mobile web has concluded. The team decided not to roll out the feature after the results showed no statistically significant impact on reader retention, as the primary success metric was retention improvement. Page Previews, which are already available on desktop and in the apps, display a thumbnail, lead paragraph, and link to the full article when readers tap a blue link. The experiment tested this experience on mobile web across six Wikipedias. * The [[mw:Special:MyLanguage/Codex/Design/Icons|user interface icon library]] will be [[phab:T399175|updated later this week or next week]]. Most of the ~300 icons have been slightly refined and ~30 new icons have been added. These changes improve the icons to make them more consistent and comprehensible, and provide more visual balance when they are used in groups. * The [[mw:Special:MyLanguage/Universal Language Selector|Universal Language Selector]] (ULS) interface in MediaWiki, which helps users select content in other languages, has been updated. The new version improves speed and accessibility, and users of Wikimedia projects can now pin languages for quicker language switching. The deployment to Wikimedia sites will happen gradually in the coming weeks. You can test it now as a beta feature by selecting [[Special:Preferences#mw-prefsection-betafeatures|beta features]] in your profile preferences and share your feedback on [[mw:Special:MyLanguage/Universal Language Selector/New ULS|the project page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the Pageviews Analysis dashboard on pageviews.wmcloud.org stopped updating graph data in May 2026, affecting all users, has been fixed. [https://phabricator.wikimedia.org/T427171] '''Updates for technical contributors''' * The function signature for <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink()</nowiki></code></bdi> has been simplified. Developers can now pass a configuration object instead of a list of positional parameters when creating portlet links. The previous function signature remains supported for backwards compatibility. For example, instead of: <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', '#', 'Stub', 'ca-stubtag', 'Add a stub tag to this page');</nowiki></code></bdi> use <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', { href: '#', text: 'Stub', id: 'ca-stubtag', tooltip: 'Add a stub tag to this page' });</nowiki></code></bdi>. Script maintainers are encouraged to review existing uses of <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink()</nowiki></code></bdi> and update them where appropriate. This change will be available on all wikis from 11 June. Thanks to community volunteer Gerges for contributing this improvement. [https://phabricator.wikimedia.org/T427945] * '''Community Wishlist discussion''': Product & Technology [[m:Special:MyLanguage/Community Wishlist/Updates#May 20, 2026: Community Tech becomes a program|introduced changes]] meant to increase the number and complexity of wishes fulfilled, including the disbanding of the Community Tech team. They are [[m:Special:MyLanguage/Community Wishlist/Updates|engaging in discussions]] about a [[m:Talk:Community Wishlist#Proposed direction for Wishlist|proposed direction for the wishlist]] from community members. Includes ways to structure annual voting, better tracking of wishes, removing focus areas, and [[m:Special:MyLanguage/Community Wishlist/Updates|staffing updates]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.6|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:30, 8 June 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30650573 --> == Wikipedia translation of the week: 2026-25 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cape Fiolent]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Beach of Cape Fiolent, Crimea.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Cape Fiolent''' (Crimean Tatar: Felenk Burun; Ukrainian: Фіолент; Russian: Фиолент; Latin: Parthenium), also historically called Cape Fiolente, is a cape and nature reserve (zakaznik) located in southern Sevastopol, a city within Crimea that is internationally recognised as part of Ukraine but currently occupied by Russia since 2014. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:24, 15 June 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30662919 --> == Tech News: 2026-25 == <section begin="technews-2026-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/25|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Readers/Reader Growth|Reader Growth team]] has launched an [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|Image Browsing]] beta feature on the mobile web version of all Wikipedias. The feature shows an image carousel at the top of articles with 3 or more images. Editors can configure this feature with the following controls: to hide a specific image from a page, either use <code>class=notpageimage</code> excluding it from thumbnail previews, or <code>class=noviewer</code> excluding it from MediaViewer. The carousel can also be disabled from a page entirely, with the magic word <code><nowiki>__NOMEDIAVIEWERCAROUSEL__</nowiki></code>. To submit feedback or flag bugs, please visit the [[mw:Talk:Readers/Reader Growth/Image Browsing|project page]]. * [[mw:Special:MyLanguage/Help:Tables#class="wikitable"|Wikitables]] can now be [[mw:Special:MyLanguage/Help:Sortable tables#Forcing the initial sort direction|sorted in descending order]] on the first click by adding <code dir=ltr>data-sort-order="desc"</code> to the header cell. Previously, by default, clicking a column header for the first time sorts it in ascending order. This addition to a Wikitable gives it more control and flexibility, while the default behavior for subsequent clicks remains unchanged. [https://phabricator.wikimedia.org/T398416] '''Updates for editors''' * The [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature is currently being tested with some editors creating new articles on the Simple English, French, and Turkish Wikipedias. The experiment will soon begin on the Arabic and Bangla Wikipedias as well. [[w:simple:Special:NewArticle|This feature]] gives editors community-curated guidance to help them create articles that follow community standards. Experienced editors can continue creating or adapting outlines for specific article types that are commonly created by less experienced contributors. The outlines guide less experienced editors in creating high-quality articles. A quick guide to markups used in outlines can be found on [[mw:Special:MyLanguage/Article guidance/Test feature guide#Markups in outlines|this page]]. [[w:simple:Wikipedia:Article Guidance|Example outlines]] that can be adapted and instructions for how to adapt them are on [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|this section]] of the project page. * Wikis that wish to replace the "indefinitely" button in Special:Block for temporary accounts (for example, wikis that block temporary users only until account expiration) will be able to do so by creating [[MediaWiki:ipb-indefinite-expiry-temporary-account]] with the block duration they want. [https://phabricator.wikimedia.org/T427125] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:41}} community-submitted {{PLURAL:41|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * By the end of June, a valid user-agent string will be required for automated dumps downloads from the dumps.wikimedia.org website. Automated requests that provide a generic or empty user-agent will be blocked. This [[phab:T400119|extends enforcement]] of the long standing [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|user-agent policy]]. Access to dumps through Wikimedia Cloud Services will not change. * The roll out of global [[mw:Wikimedia APIs/Rate limits|API rate limits]] is now complete, with limits enforced across all APIs and at the documented levels for all groups. Bots running in Toolforge/WMCS or with the bot user right on any wiki remain exempt. All bots should continue to follow the documented best practices to avoid being rate limited. * The [https://api.wikimedia.org/wiki/Main_Page API Portal wiki] will be read only starting this week (June 15-18). The following week (June 22-25), all API Portal wiki URLs will redirect to [[mw:Wikimedia APIs|Wikimedia APIs on mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.7|MediaWiki]] '''Meetings and events''' * On June 17th at 6pm UTC the WMF will be holding Discord call focused on a code review. We've heard through the [[mw:Special:MyLanguage/Developer Satisfaction Survey/2026|Developer Satisfaction Survey]] that volunteers are struggling with code review and we'd like to discuss these experiences with the goal of surfacing workable solutions. You can join the call [https://discord.gg/wikipedia?event=1514727511102062664 via the Wikimedia Community Discord server]. * The [[m:Special:MyLanguage/Conferencia Wikimedia de América Latina 2026|Latin American Wikimedia Conference]] will host a regional hackathon that will bring together the Wikimedia movement’s technical community including developers, system administrators, data scientists, and users with extended rights. Interested technical contributors can [https://docs.google.com/forms/d/e/1FAIpQLSf4osJzTHBJjQbYJk7TMVEJjTEQv7IgtsUDfP-o-qTgeRQQxw/viewform apply for a scholarship] to participate until June 21 at midnight (Bolivia time, UTC-4). * Sign up for Wikimania Team Challenges to join this special event. The Team challenges will take place online and in person from July 21 to 22, before Wikimania conference. Everyone is welcome, regardless of skills or Wikimania registration. Teams will work on 10 important challenges supporting the Wikimedia community. For details, visit [[wmania:Special:MyLanguage/2026:Team challenges|the Team Challenges page]] and [https://wikimedia.eventyay.com/wm/teamchallenges/ register there]. Registration closes on June 20th at 11pm UTC. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:49, 15 June 2026 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30689604 --> == Wikipedia translation of the week: 2026-26 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Renovating Action Party]]'''<br /> <small>''([[:es:Partido de Acción Renovadora]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Flag of the Renovating Action Party.svg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Renovating Action Party''' was a left-wing Salvadoran political party that existed from 1944 to 1967. The party had three distinct phases of its existence under the leaderships of Colonel José Asencio Menéndez (1944–1950), the old line (1950–1964), and the new line (1964–1967). <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:52, 22 June 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30717601 --> == Tech News: 2026-26 == <section begin="technews-2026-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/26|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Growth/Feature summary|Growth features]] are [[phab:T418115|now available at Wikidata]]. This update enables access to Mentorship ([[mw:Special:MyLanguage/Help:Growth/Mentorship|if configured]]), Impact module, the Help Panel, and a simplified Newcomer Homepage (without Suggested Edits). Wikidata administrators are still configuring the features through Community Configuration. '''Updates for editors''' * The special page [[{{#special:RangeCalculator}}]] has been created. It allows users to find an IP range without needing to rely on external tools. Until now, this tool was only available to CheckUsers. [https://phabricator.wikimedia.org/T268429] * [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]] is a new MediaWiki feature that allows editors to reuse references with different details. It will be deployed to most small and medium-sized Wikipedia language versions on June 23. The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#deployment|FAQ]] lists possible actions to take on your wiki to support the deployment. Check the [[:phab:T414094|rollout plan]] for the next deployment steps. [https://phabricator.wikimedia.org/T428902] * Starting next week, users will get a notification when they are blocked or unblocked from editing, or if this block changes. [https://phabricator.wikimedia.org/T100974] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting next week, abuse filters that are set to "require CAPTCHA verification" will begin to also affect users with the <code>skipcaptcha</code> right, which includes most autoconfirmed users. Bots are exempted. This change only affects edits that trigger an abuse filter. The <code>skipcaptcha</code> right will continue to exempt users from having to solve CAPTCHAs in the ordinary course of using the wikis. [https://phabricator.wikimedia.org/T402595] * Reference documentation for the [[wikitech:Machine_Learning/LiftWing/API|Lift Wing API]] has moved from the API Portal to the interactive [https://wikitech.wikimedia.org/w/index.php?api=lift-wing&title=Special%3ARestSandbox REST Sandbox]. * The API Portal wiki is now closed. For API documentation, see [[mw:Special:MyLanguage/Wikimedia_APIs|Wikimedia APIs on mediawiki.org]]. All API Portal wiki URLs (https://api.wikimedia.org/wiki/) will redirect to the mediawiki.org page starting June 22. [https://phabricator.wikimedia.org/T427537] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.8|MediaWiki]] '''Meetings and events''' * Join an online call on 25 June at 2:30pm UTC to meet the current Wikimedia interns for [[mw:Google_Summer_of_Code/2026|Google Summer of Code]] and [[mw:Outreachy/Round_32|Outreachy]]. Interns will provide an overview of their projects and a brief demo of their work so far. Attendees are encouraged to [[mw:event:Google_Summer_of_Code/Summer_2026_June_Internship_open_session|share ideas and connections in their community]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13:05, 23 June 2026 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30722494 --> == Wikipedia translation of the week: 2026-27 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Facial age estimation]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Facial age estimation''' is the use of artificial intelligence to estimate the age of a person based on their facial features. Computer vision techniques are used to analyse the facial features in the images of millions of people whose age is known and then deep learning is used to create an algorithm that tries to predict the age of an unknown person. The key use of the technology is to prevent access to age-restricted goods and services. Examples include restricting children from accessing internet pornography, checking that they meet a mandatory minimum age when registering for an account on social media, or preventing adults from accessing websites, online chat or games designed only for use by children. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div>--[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:44, 29 June 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30717601 --> == Tech News: 2026-27 == <section begin="technews-2026-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/27|Translations]] are available. '''Updates for editors''' * As part of the [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|Account Creation Experiments]], the Growth team tested adding a user account icon in the mobile web header for logged-out users, providing direct access to "Create account" and "Log in" actions. The experiment increased account creation by about 20% without negatively affecting edit quality or constructive edit rates. The feature will now be rolled out to all Wikimedia Foundation wikis on mobile web in the first week of July. [https://phabricator.wikimedia.org/T428220] * After a [[phab:T426248|successful experiment]], logged-in users who did not [[mw:Special:MyLanguage/Help:Email_confirmation|confirm their email address]] when their account was created see a new banner asking them to complete that process. This helps reduce the risk that users get locked out of their account, and makes account email addresses overall more reliable. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project. [https://phabricator.wikimedia.org/T428292] * An update to [[Special:Search|Search]] is refining how the <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> behaves when used to exclude results. Previously, using <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> with negation could unintentionally broaden search results by adding the namespaces included in the search scope, leading to confusing behavior for users expecting a straightforward exclusion filter. With the update, <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> will now strictly exclude matching page titles as intended and may display a warning if the relevant namespace has not been explicitly selected. The behavior of <bdi lang="zxx" dir="ltr"><code><nowiki>prefix:</nowiki></code></bdi> without negation however remains unchanged. [https://phabricator.wikimedia.org/T427443] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where reviewers using the Page Curation toolbar were not automatically subscribed to talk page discussions they started has now been fixed. Reviewers will now receive notifications when someone replies to those discussions. [https://phabricator.wikimedia.org/T329346] '''Updates for technical contributors''' * Starting June 29th, automated downloads from the dumps.wikimedia.org website will be subject to the [[Foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|user-agent policy]]. Automated requests that provide a generic or empty user-agent will be blocked. Access to dumps through Wikimedia Cloud Services remains unaffected. This is a follow up to the announcement made in the [[m:Special:MyLanguage/Tech/News/2026/25|2026/25 issue of Tech News]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.9|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 11:48, 29 June 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30744833 --> == Wikipedia translation of the week: 2026-28 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Paulo César Vinha State Park]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Capim dourado.jpg|300px|center|]] <div style="text-align:left; padding: .4em;"> The '''Paulo César Vinha State Park''' (Portuguese: Parque Estadual Paulo César Vinha) is a state park in the state of Espírito Santo, Brazil. It protects an area of dunes, lagoons and marshes along the Atlantic shore. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:35, 6 July 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30717601 --> == Tech News: 2026-28 == <section begin="technews-2026-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/28|Translations]] are available. '''Updates for editors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the search bar results on Wikidata, showed English results instead of using the correct language fallback for users of language variants, has now been fixed. Search suggestions will now follow the expected language fallback chain. [https://phabricator.wikimedia.org/T429769] '''Updates for technical contributors''' * In preparation for [[m:Special:MyLanguage/Event:Celebrate Women|Celebrate Women campaign]] planned for March 2027, the Wikimedia Foundation’s [[m:Special:MyLanguage/Wikimedia Foundation/Advancement/Community Growth/Content Enablement|Content Enablement team]] has launched a 22-question survey to better understand technical contributions by women+ (anyone who identifies as a woman) across Wikimedia projects. The survey takes approximately 15–20 minutes to complete and will remain open until 20 July 2026. The [[m:Special:MyLanguage/Celebrate Women/Technical contributions survey|questions]] are also available on-wiki for review in advance. * The [[mw:Special:MyLanguage/Extension:Score|Score extension]] now supports rendering music scores as SVG images in addition to PNG, addressing a long-standing [[:phab:T49578|feature request]] and resolving historical image quality issues. Both formats are now provided to clients, with PNG in the <bdi lang="zxx" dir="ltr"><code><nowiki>src</nowiki></code></bdi> attribute and SVG in the <bdi lang="zxx" dir="ltr"><code><nowiki>srcset</nowiki></code></bdi> attribute. * The new [[wikitech:Parsoid|Parsoid]] parser [[mw:Special:MyLanguage/Parsoid/Parser_Unification/Updates|continues to be deployed to additional wikis]], making it easier to introduce new reading and editing features. It was enabled on French Wikipedia, bringing total progress to covering 78.9% of Wikipedia page views. Rollout to English Wikipedia desktop will progress through this week. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.10|MediaWiki]] '''In depth''' * The Wikimedia Hackathon 2026 [[diffblog:2026/06/29/wikimedia-hackathon-2026-building-collaborating-and-shaping-the-future-together/|recap blog post]] is now live. It highlights the projects, sessions, and social activities from this year’s event, and shares initial plans for the 2027 Wikimedia Hackathon. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13:57, 6 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30773578 --> == Wikipedia translation of the week: 2026-29 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Caledonian MacBrayne]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Cal-Mac HQ2005.jpg|300px|center|]] <div style="text-align:left; padding: .4em;"> '''Caledonian MacBrayne''', in short form CalMac, is the trade name of CalMac Ferries Ltd, the major operator of passenger and vehicle ferries to the west coast of Scotland, serving ports on the mainland and 22 of the major islands. It is a subsidiary of holding company David MacBrayne, which is owned by the Scottish Government. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> -[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:20, 13 July 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30717601 --> == Tech News: 2026-29 == <section begin="technews-2026-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/29|Translations]] are available. '''Updates for editors''' * [[mw:Special:MyLanguage/Growth/Revise_Tone|Revise Tone]] helps newcomers identify passages in Wikipedia articles that may contain non-encyclopedic language and encourages them to consider revising the tone. The feature was [[w:en:A/B_testing|A/B tested]] on the Arabic, English, French, and Portuguese Wikipedias, where newcomer task completion rates [[mw:Special:MyLanguage/Growth/Revise_Tone#Experiment_Results|increased by 38.7%]] compared to the default Copyedit task, with no decrease in edit quality. The test ended on July 9, and the feature is now available for everyone on these wikis, configurable via Community Configuration. [[phab:T426364|The plan]] is to release Revise Tone to more wikis. * The community configuration that allows [[mw:Special:MyLanguage/Help:Growth/Mentorship#Automated mentor list cleanup|automatic removal of inactive mentors]] based on configurable criteria will be enabled on Thursday 16, [[mw:Special:MyLanguage/Growth/Deployment|on some wikis]] to keep mentor lists up to date. Mentors are experienced contributors who opt in to help new users on-wiki through the [[mw:Special:MyLanguage/Growth/Feature summary|Growth Features]]. Administrators can now prepare the settings via [[w:Special:CommunityConfiguration/Mentorship|Special:CommunityConfiguration/Mentorship]]; they will take effect starting Thursday. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:38}} community-submitted {{PLURAL:38|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where some users of the Wikipedia Android app were logged out immediately after signing in, preventing them from staying logged in and editing pages, has now been fixed. [https://phabricator.wikimedia.org/T316916] '''Updates for technical contributors''' * Editing a page via user scripts or gadgets was causing watchlist labels that the user had assigned to that page to reset. This has now been fixed. [https://phabricator.wikimedia.org/T423778] * To work around a Safari bug (see [[phab:T425211]]), on Parsoid-enabled wikis, wikilink hrefs now use absolute urls instead of protocol-relative urls. REST API output remains unchanged and continue to use protocol-relative urls. Gadgets, user scripts, bots, and CSS might need to be adapted if they relied on the presence of protocol-relative urls in wikilink hrefs. [https://phabricator.wikimedia.org/T431358] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.11|MediaWiki]] '''In depth''' * The Wikimedia Foundation’s Experiment Platform Team has published a blog post reflecting on its first year of structured experimentation. It highlights successful experiments such as Paste Check, Reference Check, and Tone Check, which improved editing outcomes and have been rolled out to more users, as well as experiments that did not lead to product changes. [[diffblog:2026/07/07/moving-the-needle-how-we-test-new-ideas-across-wikimedia-projects|Read more]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:12, 13 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30804401 --> == Wikipedia translation of the week: 2026-30 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Immigration to Switzerland]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In 2023, resident foreigners made up 26.3% of Switzerland's population. Most of these (83%) were from European countries. Italy provided the largest single group of foreigners, accounting for 14.7% of total foreign population, followed closely by Germany (14.0%), Portugal (11.7%), France (6.6%), Kosovo (5.1%), Spain (3.9%), Turkey (3.1%), North Macedonia (3.1%), Serbia (2.8%), Austria (2.0%), United Kingdom (1.9%), Bosnia and Herzegovina (1.3%) and Croatia (1.3%). Immigrants from Sri Lanka (1.3%), most of them former Tamil refugees, were the largest group of Asian origin (7.9%). <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 20 July 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30717601 --> == Tech News: 2026-30 == <section begin="technews-2026-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/30|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Reader/Reader Experience|Reader Experience team]] has incorporated community feedback around the placement of watchstar and watchlist buttons for the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading Lists beta feature]], which would allow for saving articles for later reading – a [[m:Special:MyLanguage/Community Wishlist/W102|wishlist item]] to bring the functionality to web. Editors are invited to enable the beta feature to test it out and [[phab:T426453|share their thoughts]]. * [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] offers edit suggestions within the VisualEditor for improving Wikipedia articles. [[Special:EditChecks|All suggestions]] are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators – local customization|community-configurable]]. The [[mw:Special:MyLanguage/Edit check/TextMatch|TextMatch]] feature is a way for volunteers to create custom local suggestions. The feature searches in articles for strings of text, and now includes support for regular expressions. This gives volunteers greater precision and flexibility over the kinds of local suggestions they can create. Note: Suggestions [[mw:Special:MyLanguage/Edit check/Configuration#:~:text=maximumEditcount|can be targeted]] based on the edit count of the person editing as well as other aspects of the page. You can [[mw:Special:MyLanguage/Help:Suggestion mode#Create custom local types of Suggestions|find examples from other communities]] for inspiration, including TextMatches that detect: typos, grammar-errors, potential advertisements, clichés, incorrect dash or hyphen usage, non-specific time keywords, outdated names, and more. Any [[mw:Special:MyLanguage/Talk:VisualEditor/Suggestion Mode|feedback]] is appreciated. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the SVG Translate tool could use an outdated version of a file, causing existing translations to be overwritten when new ones were uploaded, has now [[phab:T430577|been fixed]]. Overall, in the last quarter from April – June 2026 about 337 community tasks were resolved by the Wikimedia Foundation. '''Updates for technical contributors''' * On Parsoid-enabled wikis, Parsoid now renders a maximum of 1,250 images per page. A new tracking category, "media-limit-reached", will be soon made available to identify pages where this limit is reached, making it easier to find content whose media output may have been restricted during rendering. See [[phab:T430854]] for more information and to provide feedback. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.12|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 05:47, 21 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30836091 --> == Wikipedia translation of the week: 2026-31 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Study of Man's Impact on Climate]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> La '''Study of Man's Impact on Climate''' (traduisible en français par « Étude de l'impact de l'homme sur le climat ») est une conférence scientifique internationale consacrée à l'influence humaine sur le climat qui s'est tenue à Stockholm, en Suède, du 28 juin au 16 juillet 1971. Elle aborde diverses hypothèses parmi lesquelles la destruction de la couche d'ozone et le réchauffement (ou refroidissement) climatique, établit l'état du savoir à leur sujet et, soulignant les nombreuses inconnues qui demeurent, appelle à consacrer davantage de fonds à la recherche scientifique sur le climat. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:00, 27 July 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30849684 --> == Tech News: 2026-31 == <section begin="technews-2026-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/31|Translations]] are available. '''Updates for editors''' * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] [[mw:Special:MyLanguage/ContentTranslation|Content Translation]] now supports dark mode, fulfilling a [[m:Community Wishlist/W544|Community Wishlist request]]. This brings the tool in line with the accessibility features available in the Vector 2022 and Minerva skins, helping reduce visual fatigue for users translating content. [https://phabricator.wikimedia.org/T367077] * DiscussionTools' source mode and the 2017 wikitext editor will now offer autocomplete for links (<bdi lang="zxx" dir="ltr"><code><nowiki>[[</nowiki></code></bdi>), templates (<bdi lang="zxx" dir="ltr"><code><nowiki>{{</nowiki></code></bdi>), HTML and parser tags (<bdi lang="zxx" dir="ltr"><code><nowiki><</nowiki></code></bdi>), and magic words (<bdi lang="zxx" dir="ltr"><code><nowiki>__</nowiki></code></bdi>), making it quicker and easier to insert links, templates, and other wiki markup while editing. [https://phabricator.wikimedia.org/T432400] * The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Readers Growth team]] has concluded its experiment with mobile page previews and will not roll out the feature. Page Previews are a pop-up bottom sheet that appears when readers tap a blue link, showing a thumbnail, lead paragraph, and an option to open the article. The experiment showed flat retention and negative indicator metrics, suggesting that mobile web readers preferred navigating directly to linked articles rather than using page previews. * The Reader Experience team has seen encouraging early results from the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists feature]], with 93% of participating users reporting that it was useful. Reading Lists help active readers save articles for future reading and support their learning goals on Wikimedia projects. The team plans further improvements before expanding the feature to more users. * The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh|Explore Feed Refresh]] initiative was tested with new and casual Wikipedia app readers. The refreshed feed helps readers discover new and relevant content. After a 10.5% increase in engagement with the feed, Wikimedia Apps team has decided to scale the Home Feed redesign to iOS with the learnings from the Android release applied. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where subject names in the Article Guidance feature were displayed with incorrect capitalization on French Wikipedia, has now been fixed. Subject names will now follow the correct capitalization rules for the language. [https://phabricator.wikimedia.org/T427201] '''Updates for technical contributors''' * After running several [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|Account Creation Experiments]] to improve registration completion rates, a new version of the username field on [[Special:CreateAccount|Create Account]] has been rolled out. It includes [[:c:File:Create account - July 2026 updates.png|a popover summarizing the username policy]] to provide clearer guidance during account creation. As part of this change, the messages <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-helpusername</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-help</nowiki></code></bdi> that several communities have configured will no longer be used. If communities want to customize the guidance shown in the new popover, they can instead edit the following messages: <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet1</nowiki></code></bdi>, <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet2</nowiki></code></bdi>, and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet3</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T430604] * Later this week, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror syntax highlighter]] will offer [[w:en:Theme (computing)|themes]]. The themes can be picked from a dropdown menu in the full [[mw:Special:MyLanguage/Help:Extension:CodeMirror#CodeMirror preferences|CodeMirror preferences]] dialog. For wikitext, available themes are default, colorblind-friendly (previously the colorblind preference option on [[Special:Preferences#mw-prefsection-editing]]) and no-highlighting. For code languages (i.e., CSS/JavaScript/JSON/Vue/Lua), there are several themes available. These same themes will eventually be available for wikitext, too. [https://phabricator.wikimedia.org/T163533] * From now on, wikis can restrict editing in the "User" namespace to only the page owner and certain user groups. [[mw:Special:MyLanguage/Manual:$wgRestrictUserPageEditing|Read the configuration documentation]] to learn more. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.14|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:50, 27 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30856308 --> == Wikipedia translation of the week: 2026-32 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Plot of Prats de Molló]]'''<br /> <small>''([[:ca:Fets de Prats de Molló]])&#32;([[:es:Complot de Prats de Molló]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''plot of Prats de Molló''' was an attempted military invasion of Catalonia carried out from France to achieve its independence planned by Francesc Macià and the leadership of the Estat Català party, discovered and aborted in 1926. The plan consisted of the penetration of two columns (one from Saint-Laurent-de-Cerdans, the other from Coll d'Ares), which were to occupy Olot and proclaim the Catalan Republic. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:11, 3 August 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30879613 --> == Tech News: 2026-32 == <section begin="technews-2026-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/32|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] has developed a [https://82db7c8d4b.catalyst.wmcloud.org/w/index.php?title=Regent%27s_Park&uselang=de patch demo] that wraps the page toolbar onto two lines when there is not enough horizontal space for all the buttons. This aims to reduce crowding in the Vector 2022 toolbar, which can occur on some language Wikipedias at certain screen widths. [https://phabricator.wikimedia.org/T429518] * The Reader Experience team is planning to launch [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]], a [[m:Special:MyLanguage/Community Wishlist Survey 2021/Mobile and apps/Have Apps reading lists available on Destop/Mobile|Community Wishlist item]], which is currently available to try in beta, as a full feature in September. Before then, volunteer translator help is needed for [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-readinglists&filter=&action=translate string translations] into a number of languages. The feature supports reading and learning goals on Wikipedia. * Next week, the table of contents on Wikimedia Commons file pages will be improved by consolidating the file page table of contents with the page table of contents. This will make it easier to understand a file page’s structure, navigate to specific sections, and share links to individual sections. [https://phabricator.wikimedia.org/T332644] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where some [[w:TIFF|TIFF]] images failed to load after clicking their thumbnail, causing a broken image to be displayed instead of the full-size image, has now been fixed. [https://phabricator.wikimedia.org/T429326] '''Updates for technical contributors''' * The variable and function selector in AbuseFilter has been updated to support search and autocomplete. It will allow filter maintainers to find the desired variable or function more quickly. [https://phabricator.wikimedia.org/T323698] * The MJPEG and VP8 formats are removed from the video player. The MP4 format (MPEG-4 Part 2) is added instead, which provides higher quality videos to older iPhone devices. It may take a few weeks to retroactively update all existing videos. The default format for modern devices stays the same (VP9/WebM). [https://phabricator.wikimedia.org/T358266] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.15|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:47, 3 August 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30872536 --> == Wikipedia translation of the week: 2026-33 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Composizione VII]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Composition VII - Wassily Kandinsky, GAC.jpg|300px|center|]] <div style="text-align:left; padding: .4em;"> '''Composizione VII''' (Композиция VII o Zu Komposition 7) è un olio su tela del 1913, realizzato dal pittore russo Vasilij Vasil'evič Kandinskij e conservato nella Galleria Tret'jakov di Mosca. Prodotto centrale del pittore russo nel periodo 1910-1915, essa è considerata l'opera che certificò la raggiunta maturità creativa da parte di Kandinskij, rappresentando anche l'apice della sua energia creativa. È considerato il più rappresentativo tra i lavori completati durante l'anno del successo internazionale dell'artista, simboleggiando il punto di emancipazione definitivo dell'Astrattismo. Opera più grande mai realizzata dall'artista per dimensione, facente parte della serie denominata Composizioni, rappresenta un'allegoria dell'Apocalisse, di cui riprende il tema e lo propone in una versione astratta, trasfigurata dalla realtà in una forma composta da sole linee e colori. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:24, 10 August 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30889664 --> 55j84ejfd7l059nvvmpxymwemkwi402 Cookbook:Pancake 102 452155 4657029 4585402 2026-08-10T11:56:40Z ~2026-43774-51 3620472 typo on dadar gulung (it was gutung) 4657029 wikitext text/x-wiki {{Cookdp}} '''Pancakes''' are a subcategory of [[Cookbook:Flatbread|flatbreads]] made by cooking a [[Cookbook:Batter|batter]] on a hot pan or [[Cookbook:Griddle|griddle]]. == Characteristics == Pancakes vary widely in size, shape, and ingredients. Their main shared trait is that they are typically made from a relatively thin batter and cooked on a pan or griddle. A select few are made from a very thin dough instead of a batter, and a few exceptions are [[Cookbook:Baking|baked]] in the [[Cookbook:Oven|oven]]. Most pancakes are either filled or topped with other ingredients, both sweet and savory. Depending on the variety and the culture, they can be eaten at all meals. == Varieties == * '''[[Cookbook:Pancakes (North American)|American pancakes]]:''' wheat-based and chemically leavened; fluffy, usually served with sweet toppings as [[Cookbook:Breakfast|breakfast]] or [[Cookbook:Brunch|brunch]] * '''[[Cookbook:Crêpe|Crêpes]]:''' large, thin pancakes; typically with sweet or savory fillings * '''[[Cookbook:Bliny|Blini]]:''' small, round, and puffed; often topped with [[Cookbook:Sour Cream|sour cream]], smoked fish, and/or [[Cookbook:Caviar|caviar]] * '''Blintz:''' thin pancakes enclosing a filling of sweetened [[Cookbook:Cheese|cheese]] or [[Cookbook:Jam|jam]] * '''Palacsinta:''' very thin Hungarian pancake * '''Dutch pancakes:''' puffy, eggy pancakes baked in the oven; similar to Yorkshire pudding * '''Bao bing:''' plain Chinese pancake made of wheat flour * '''Chinese scallion pancakes (''cong you bin''):''' layered savory pancake filled with scallions * '''Jeon:''' variety of Korean pancake; often filled with savory ingredients * '''Dadar gulung:''' Indonesian pancake with sweet fillings * '''Matefaim:''' thick French pancake * '''Injera:''' fermented [[Cookbook:Teff|teff]]-based Ethiopian pancake; used to scoop up and eat other foods * '''Farinata:''' savory, [[Cookbook:Chickpea|chickpea]]-based Italian pancake * '''[[Cookbook:Dosa II|Dosa]]:''' thin South Asian pancake made of fermented [[Cookbook:Rice|rice]]/[[Cookbook:Lentil|lentils]] * '''Hotteok:''' thick yeasted Korean pancake with sweet fillings * '''Okonomiyaki:''' Japanese pancakes made from [[Cookbook:Nagaimo|nagaimo]] and filled/topped with a wide range of savory foods * '''Banh xeo:''' Vietnamese pancake based on rice flour and [[Cookbook:Turmeric|turmeric]] * Tortilla * Chremslach * Arepa * Schmarren * Ratzelach * Swedish pancakes == Gallery == <gallery mode="packed"> File:Injera 1.jpg|Injera File:Pancake with chocolate topping.jpg|Stacked American pancakes with chocolate sauce File:Crepes dsc07085.jpg|Crêpes File:Korean pancake-Pajeon-06.jpg|Korean scallion pancake (''pajeon'') File:Okonomiyaki with tomato and cheeze (4716607523).jpg|Okonomiyaki File:German pancake in Portland.jpg|Dutch pancake File:Spring onion pancake 2013.JPG|Chinese scallion pancakes (''cong you bing'') File:Cheese blintzes with blackberries.jpg|Blintzes with blackberries File:Blini at restaurant Frans & Amélie.jpg|Blini File:Banh Xeo with fish sauce and vegetables.jpg|Banh xeo </gallery> == Recipes == {{div col|3}} <categorytree mode="all">Pancake recipes</categorytree> {{div col end}} == External links and references == * Davidson, A., Jaine, T. (2014). The Oxford Companion to Food. United Kingdom: OUP Oxford. * https://www.delightedcooking.com/what-are-pancakes.htm * https://www.seriouseats.com/pancakes-around-the-world * https://www.scientificamerican.com/article/bring-science-home-gluten-pancakes/ l3bp2xe7lzv1xz7ud4phlvsy3tzgtt8 Math for Non-Geeks 0 470009 4656834 4639373 2026-08-09T21:17:56Z ~2026-43979-21 3620339 /* Real Analysis */ 4656834 wikitext text/x-wiki {{Shelves|Applied mathematics|University level mathematics books}}{{status|50%}}{{Under construction}} [[File:Titelbild MFNF mit Serlo-Logo.jpg|thumb|Title image of the German version by [[commons:User:Olivier Vidal|Olivier Vidal]] |center]] = Books = <div style="column-width: 50em;"> {{#invoke:Math for Non-Geeks/Seite|buecher}} </div> = Important note = This book is a translated version of the book project [https://de.wikibooks.org/wiki/Mathe_f%C3%BCr_Nicht-Freaks “Mathe für Nicht-Freaks”] on the German version of Wikibooks. Templates and modules do not yet work completely and are in the process of being adjusted. = Table of Contents = This page lists all chapters of the project “Math for Non-Geeks”. This page serves as an overview and the complete navigation and the tables of contents of the individual books are generated from it. {| class="wikitable" |+Legend !Symbol !Meaning |- |red link |Link to a chapter that does not yet exist and has yet to be written. |- |blue link |Chapter has already been created and contains content. |- |{{stage|0%}} |Progress 0% – Chapter has little or no content. The chapter must be rewritten or supplemented and revised. |- |{{stage|25%}} |Progress 25% – Chapter is currently under development, but still needs to be significantly expanded. |- |{{stage|50%}} |Progress 50% – Essential content is available, but important content still needs to be added (there are often ToDo notes on the page that still need to be added). |- |{{stage|75%}} |Progress 75% – Chapter is finished in terms of content, but still needs to be revised (correct spelling mistakes, change wording so that it is easier to understand or sounds better. Remove redundant expressions). |- |{{stage|100%}} |Progress 100% – The chapter is complete and has been proofread at least once. But you can also proofread again. In other words: correct spelling mistakes and improve the wording. These chapters (like all others) can also be supplemented content-wise. |} == Real Analysis == === Help === * [[Math for Non-Geeks/Translating chapters|Translating chapters]] * [[Math for Non-Geeks/Guidelines for translation|Guidelines for translation]] * [[Math for Non-Geeks/Sitemap|Sitemap]] === Introduction === * [[Math for Non-Geeks/What is analysis?|What is analysis?]] {{stage|50%}} * [[Math for Non-Geeks/Why studying analysis?|Why studying analysis?]] {{stage|50%}} * [[Math for Non-Geeks/Propositional logic|Propositional logic]] {{stage|50%}} * [[Math for Non-Geeks/Mathematical induction|Mathematical induction]] {{stage|50%}} * [[Math for Non-Geeks/Real numbers|Real numbers]] {{stage|50%}} === Complex numbers === * [[Math for Non-Geeks/Introduction and motivation|Introduction and motivation]] {{stage|50%}} * [[Math for Non-Geeks/Definition of complex numbers|Definition of complex numbers]] {{stage|50%}} * [[Math for Non-Geeks/Absolute value and conjugation|Absolute value and conjugation]] {{stage|50%}} * [[Math for Non-Geeks/Polar representation|Polar representation]] {{stage|0%}} * [[Math for Non-Geeks/Drawing complex-valued functions|Drawing complex-valued functions]] {{stage|0%}} * [[Math for Non-Geeks/Exercises: Complex numbers|Exercises]] {{stage|50%}} === Suprema and infima === * [[Math for Non-Geeks/Supremum and infimum|Supremum and infimum]] {{stage|50%}} * [[Math for Non-Geeks/The infinite case|The infinite case]] {{stage|50%}} * [[Math for Non-Geeks/How to prove existence of a supremum or infimum|How to prove existence of a supremum or infimum]] {{stage|50%}} * [[Math for Non-Geeks/Properties of supremum and infimum|Properties of supremum and infimum]] {{stage|50%}} === Sequences === * [[Math for Non-Geeks/Sequences|Sequences]] {{stage|50%}} * [[Math for Non-Geeks/Explicit and recursive description|Explicit and recursive description]] {{stage|50%}} * [[Math for Non-Geeks/Examples and properties of sequences|Examples and properties of sequences]] {{stage|50%}} * [[Math for Non-Geeks/Exercises: Sequences|Exercises]] {{stage|50%}} === Convergence and divergence === * [[Math for Non-Geeks/Limit: Convergence and divergence|Limit: Convergence and divergence]] {{stage|50%}} * [[Math for Non-Geeks/How to prove convergence and divergence|How to prove convergence and divergence]] {{stage|50%}} * [[Math for Non-Geeks/Examples for limits|Examples for limits]] {{stage|50%}} * [[Math for Non-Geeks/Unbounded sequences diverge|Unbounded sequences diverge]] {{stage|50%}} * [[Math for Non-Geeks/Limit theorems|Limit theorems]] {{stage|50%}} * [[Math for Non-Geeks/The squeeze theorem|The squeeze theorem]] {{stage|50%}} * [[Math for Non-Geeks/Monotonicity criterion|Monotonicity criterion]] {{stage|50%}} * [[Math for Non-Geeks/How to prove convergence for recursive sequences|How to prove convergence for recursive sequences]] {{stage|50%}} * [[Math for Non-Geeks/Exercises: Convergence and divergence|Exercises]] {{stage|50%}} === Subsequences, Accumulation points and Cauchy sequences === * [[Math for Non-Geeks/Subsequences|Subsequences]] {{stage|50%}} * [[Math for Non-Geeks/Accumulation points of sequences|Accumulation points of sequences]] {{stage|50%}} * [[Math for Non-Geeks/Accumulation points of sets|Accumulation points of sets]] {{stage|50%}} * [[Math for Non-Geeks/The Bolzano-Weierstrass theorem|The Bolzano-Weierstrass theorem]] {{stage|50%}} * [[Math for Non-Geeks/Divergence to infinity|Divergence to infinity]] {{stage|50%}} * [[Math for Non-Geeks/Divergence to infinity/Rules|Divergence to infinity: Rules]] {{stage|50%}} * [[Math for Non-Geeks/Superior and inferior limit|Superior and inferior limit]] {{stage|50%}} * [[Math for Non-Geeks/Cauchy sequences|Cauchy sequences]] {{stage|50%}} * [[Math for Non-Geeks/Exercises: Subsequences, Accumulation points, and Cauchy sequences|Exercises]] {{stage|50%}} === Series === * [[Math for Non-Geeks/Series|Series]] {{stage|50%}} * [[Math for Non-Geeks/Computation rules for series|Computation rules for series]] {{stage|50%}} * [[Math for Non-Geeks/Telescoping sums and series|Telescoping sums and series]] {{stage|50%}} * [[Math for Non-Geeks/Geometric series|Geometric series]] {{stage|50%}} * [[Math for Non-Geeks/Harmonic series|Harmonic series]] {{stage|50%}} * [[Math for Non-Geeks/Exponential series|Exponential series]] {{stage|50%}} * [[Math for Non-Geeks/Absolute convergence of a series|Absolute convergence of a series]] {{stage|50%}} * [[Math for Non-Geeks/Rearrangement theorem for series|Rearrangement theorem for series]] {{stage|50%}} * [[Math for Non-Geeks/Exercises: Series|Exercises]] {{stage|50%}} === Convergence criteria for series === * [[Math for Non-Geeks/Overview: Convergence criteria|Overview: Convergence criteria]] {{stage|50%}} * [[Math for Non-Geeks/Cauchy criterion|Cauchy criterion]] {{stage|50%}} * [[Math for Non-Geeks/Term test|Term test]] {{stage|50%}} * [[Math for Non-Geeks/Bounded series and convergence|Bounded series and convergence]] {{stage|50%}} * [[Math for Non-Geeks/Direct comparison test|Direct comparison test]] {{stage|50%}} * [[Math for Non-Geeks/ Root test|Root test]] {{stage|50%}} * [[Math for Non-Geeks/ Ratio test|Ratio test]] {{stage|50%}} * [[Math for Non-Geeks/ Alternating series test|Alternating series test]] {{stage|50%}} * [[Math for Non-Geeks/ Cauchy condensation test|Cauchy condensation test]] {{stage|50%}} * [[Math for Non-Geeks/ Application of convergence criteria|Application of convergence criteria]] {{stage|50%}} * [[Math for Non-Geeks/ Exercises: Convergence criteria for series|Exercises]] {{stage|50%}} === Exponential and Logarithm functions === * [[Math for Non-Geeks/ Derivation and definition of the exponential series|Derivation and definition of the exponential series]] {{stage|0%}} * [[Math for Non-Geeks/ Properties of the exponential series|Properties of the exponential series]] {{stage|0%}} * [[Math for Non-Geeks/ Logarithmic function|Logarithmic function]] {{stage|0%}} * [[Math for Non-Geeks/ Real exponents|Real exponents]] {{stage|0%}} * [[Math for Non-Geeks/ Exp and log functions for complex numbers|Exp and log functions for complex numbers]] {{stage|0%}} * [[Math for Non-Geeks/ Exercises: Exponential and Logarithm functions|Exercises]] {{stage|50%}} === Trigonometric and Hyperbolic functions === * [[Math for Non-Geeks/ Sine and cosine|Sine and cosine]] {{stage|50%}} === Continuity === * [[Math for Non-Geeks/ Continuity of functions|Continuity of functions]] {{stage|50%}} * [[Math for Non-Geeks/ Epsilon-delta definition of continuity|Epsilon-delta definition of continuity]] {{stage|50%}} * [[Math for Non-Geeks/ Sequential definition of continuity|Sequential definition of continuity]] {{stage|50%}} * [[Math for Non-Geeks/ Limit of functions|Limit of functions]] {{stage|25%}} * [[Math for Non-Geeks/ Proving continuity|Proving continuity]] {{stage|50%}} * [[Math for Non-Geeks/ Proving discontinuity|Proving discontinuity]] {{stage|50%}} * [[Math for Non-Geeks/ Composition of continuous functions|Composition of continuous functions]] {{stage|50%}} * [[Math for Non-Geeks/ Extreme value theorem|Extreme value theorem]] {{stage|50%}} * [[Math for Non-Geeks/ Intermediate value theorem|Intermediate value theorem]] {{stage|50%}} * [[Math for Non-Geeks/ Continuity of the inverse function|Continuity of the inverse function]] {{stage|50%}} * [[Math for Non-Geeks/ Uniform continuity|Uniform continuity]] {{stage|50%}} * [[Math for Non-Geeks/ Lipschitz continuity|Lipschitz continuity]] {{stage|50%}} * [[Math for Non-Geeks/ Exercises: Continuity|Exercises]] {{stage|50%}} === Differential Calculus === * [[Math for Non-Geeks/ Derivatives|Derivatives]] {{stage|50%}} * [[Math for Non-Geeks/ Computing derivatives|Computing derivatives]] {{stage|50%}} * [[Math for Non-Geeks/ Computing derivatives - special|Computing derivatives - special]] {{stage|50%}} * [[Math for Non-Geeks/ Derivative - inverse function|Derivative - inverse function]] {{stage|50%}} * [[Math for Non-Geeks/ Examples for derivatives|Examples for derivatives]] {{stage|50%}} * [[Math for Non-Geeks/ Derivatives of higher order|Derivatives of higher order]] {{stage|50%}} * [[Math for Non-Geeks/ Rolle's theorem|Rolle's theorem]] {{stage|50%}} * [[Math for Non-Geeks/ Mean value theorem|Mean value theorem]] {{stage|50%}} * [[Math for Non-Geeks/ Constant functions|Constant functions]] {{stage|50%}} * [[Math for Non-Geeks/ Monotonic functions|Monotonic functions]] {{stage|50%}} * [[Math for Non-Geeks/ Derivative and local extrema|Derivative and local extrema]] {{stage|50%}} * [[Math for Non-Geeks/ L'Hôspital's rule|L'Hôspital's rule]] {{stage|50%}} * [[Math for Non-Geeks/ Overview: continuity and differentiability|Overview: continuity and differentiability]] {{stage|50%}} * [[Math for Non-Geeks/ Exercises: Derivatives 1|Exercises 1]] {{stage|50%}} * [[Math for Non-Geeks/ Exercises: Derivatives 2|Exercises 2]] {{stage|50%}} * [[Math for Non-Geeks/ Exercises: Derivatives 3|Exercises 3]] {{stage|50%}} * [[Math for Non-Geeks/ Exercises: Derivatives 4|Exercises 4]] {{stage|50%}} == [[Math for Non-Geeks/Linear algebra|Linear algebra]] == === Vector spaces === * [[Math for Non-Geeks/Introduction: Vector space|Introduction: Vector space]] {{stage|50%}} * [[Math for Non-Geeks/Vector space|Vector space]] {{stage|50%}} * [[Math for Non-Geeks/Vector space: properties|Vector space: properties]] {{stage|50%}} * [[Math for Non-Geeks/Proofs for vector spaces|Proofs for vector spaces]] {{stage|50%}} * [[Math for Non-Geeks/Field as a vector space|Field as a vector space]] {{stage|50%}} * [[Math for Non-Geeks/Coordinate spaces|Coordinate spaces]] {{stage|50%}} * [[Math for Non-Geeks/Sequence spaces|Sequence spaces]] {{stage|50%}} * [[Math for Non-Geeks/Function spaces|Function spaces]] {{stage|50%}} * [[Math for Non-Geeks/Subspace|Subspace]] {{stage|50%}} * [[Math for Non-Geeks/Union and intersection of vector spaces|Union and intersection of vector spaces]] {{stage|50%}} * [[Math for Non-Geeks/Sum of subspaces|Sum of subspaces]] {{stage|50%}} * [[Math for Non-Geeks/Inner direct sum|Inner direct sum]] {{stage|50%}} * [[Math for Non-Geeks/Complements of vector spaces|Complements of vector spaces]] {{stage|50%}} * [[Math for Non-Geeks/Cosets of a subspace|Cosets of a subspace]] {{stage|50%}} * [[Math for Non-Geeks/Quotient space|Quotient space]] {{stage|50%}} === Linear combinations, generators and bases === * [[Math for Non-Geeks/Linear combinations|Linear combinations]] {{stage|50%}} * [[Math for Non-Geeks/Span|Span]] {{stage|50%}} * [[Math for Non-Geeks/Generators|Generators]] {{stage|50%}} * [[Math for Non-Geeks/Linear independence|Linear independence]] {{stage|50%}} * [[Math for Non-Geeks/Basis|Basis]] {{stage|50%}} * [[Math for Non-Geeks/Steinitz's theorem|Steinitz's theorem]] {{stage|50%}} * [[Math for Non-Geeks/Dimension|Dimension]] {{stage|50%}} === Linear maps === * [[Math for Non-Geeks/Linear map|Linear map]] {{stage|50%}} * [[Math for Non-Geeks/Properties of linear maps|Properties of linear maps]] {{stage|50%}} * [[Math for Non-Geeks/Linear continuation|Linear continuation]] {{stage|50%}} * [[Math for Non-Geeks/Proofs for linear maps|Proofs for linear maps]] {{stage|50%}} * [[Math for Non-Geeks/Monomorphisms|Monomorphisms]] {{stage|50%}} * [[Math for Non-Geeks/Epimorphisms|Epimorphisms]] {{stage|50%}} * [[Math for Non-Geeks/Isomorphisms|Isomorphisms]] {{stage|50%}} * [[Math for Non-Geeks/Endomorphism and Automorphism|Endomorphism and Automorphism]] {{stage|50%}} * [[Math for Non-Geeks/Image of a linear map|Image of a linear map]] {{stage|50%}} * [[Math for Non-Geeks/Kernel of a linear map|Kernel of a linear map]] {{stage|50%}} * [[Math for Non-Geeks/Vector space of a linear map|Vector space of a linear map]] {{stage|50%}} * [[Math for Non-Geeks/Dual space|Dual space]] {{stage|50%}} * [[Math for Non-Geeks/Exercises Linear Maps|Exercises]] {{stage|50%}} === Matrices === * [[Math for Non-Geeks/Introduction: Matrices|Introduction: Matrices]] {{stage|50%}} * [[Math for Non-Geeks/Matrix of a linear map|Matrix of a linear map]] {{stage|50%}} * [[Math for Non-Geeks/Definition of a matrix|Definition of a matrix]] {{stage|50%}} * [[Math for Non-Geeks/Linear systems and matrices|Linear systems and matrices]] {{stage|50%}} * [[Math for Non-Geeks/Vector space structure on matrices|Vector space structure on matrices]] {{stage|50%}} * [[Math for Non-Geeks/Matrix multiplication|Matrix multiplication]] {{stage|50%}} * [[Math for Non-Geeks/Basis change via matrices|Basis change via matrices]] {{stage|50%}} * [[Math for Non-Geeks/Exercises: Matrices|Exercises]] {{stage|50%}} == [[Math for Non-Geeks/Measure theory|Measure theory]] == === Introduction, basic definitions === * [[Math for Non-Geeks/Overview: Objects in Measure Theory|Overview: Objects in Measure Theory]] {{stage|50%}} * [[Math for Non-Geeks/Volumes on rings|Volumes on rings]] {{stage|50%}} * [[Math for Non-Geeks/Continuity of volumes on rings|Continuity of volumes on rings]] {{stage|50%}} * [[Math for Non-Geeks/Pre-measures and measures|Pre-measures and measures]] {{stage|50%}} === Constructing measures === * [[Math for Non-Geeks/Constructing measures: overview|Constructing measures: overview]] {{stage|50%}} * [[Math for Non-Geeks/Generated sigma-algebras|Generated sigma-algebras]] {{stage|50%}} * [[Math for Non-Geeks/Existence of a measure continuation|Existence of a measure continuation]] {{stage|50%}} * [[Math for Non-Geeks/Uniqueness of a continuation|Uniqueness of a continuation]] {{stage|50%}} __NOINDEX__ __NONEWSECTIONLINK__ bru8e7auosdmofx9nor7blied44950p Geometry/Cover 0 470521 4656816 4652146 2026-08-09T16:07:42Z ShakespeareFan00 46022 4656816 wikitext text/x-wiki <div style="text-align: center;"><span style = "text-align: center; font-size:500%;color:blue;font-family:serif">GEOMETRY</span></div> = '''Welcome To Geometry!''' = This Wikibook helps you to learn geometry. If you wish to read this book, click the link above. {{BookCat}} iisdxjpgpabrtbfzs2x301ru5lk89vc Number Theory/Cover 0 470524 4656856 4650871 2026-08-09T22:11:41Z ShakespeareFan00 46022 4656856 wikitext text/x-wiki <div style="text-align: center;"><span style = "text-align: center; font-size:500%;color:orange;font-family:serif">NUMBER THEORY</span></div> = '''Welcome To Number Theory!''' = This Wikibook helps you to learn number theory. If you wish to read this book, click the link above. {{BookCat}} o5sma68by3sbt4vnpam819x2e38wcsv Arithmetic/Cover 0 470693 4656849 4650413 2026-08-09T22:02:53Z ShakespeareFan00 46022 4656849 wikitext text/x-wiki {{Chapter navigation||Chapter 0}} <div style="text-align: center;"><span style = "font-size:500%;color:#f3d64f;font-family:serif">ARITHMETIC</span></div> = '''Welcome To Arithmetic!''' = This wikibook will teach you arithmetic and pre-algebra. If you wish to read this book, click the link above. {{BookCat}} 56mkh5xo7b88behatbm2t7hcwnja0e4 User:ValWinter 2 476946 4656832 4608804 2026-08-09T19:55:01Z ValWinter 3475096 4656832 wikitext text/x-wiki == ValWinter == Working on: * [[User:ValWinter/RoughDrafts|Rough Drafts]] * [[User:ValWinter/RoughTemplates|Rough Templates]] * [[Cookbook]] * [[Swedish]] * [[User:ValWinter/Crossing boundaries|Crossing boundaries]] ** https://en.wikipedia.org/wiki/Category:Human_rights_by_issue Resources: * https://simple.wikibooks.org/wiki/Category:Templates jdg1y9qoqfavevtsczjc71gic98cz6x Linear Algebra and the C Language/a02k 0 477407 4656827 4533932 2026-08-09T19:22:26Z Xhungab 545789 4656827 wikitext text/x-wiki __NOTOC__ '''Install this file in your working directory.''' <syntaxhighlight lang="c"> /* ------------------------------------ */ /* Save as : vdotu.h */ /* ------------------------------------ */ /* ------------------------------------ */ /* ------- u.v = v^t u ---------------- */ /* ------------------------------------ */ double dot_R( double **u, double **v ) { double **vt = i_mR(R1, rsize_R(v)); double **vtu = i_mR(R1, C1); double udotv; transpose_mR(v,vt); mul_mR(vt,u,vtu); udotv = vtu[R1][C1]; f_mR(vt); f_mR(vtu); return (udotv); } /* ------------------------------------ */ /* ------ ||u|| = (u.u)^(1/2) ------- */ /* ------------------------------------ */ double norm_R( double **u ) { return (pow(dot_R(u,u),(1./2.))); } /* ------------------------------------ */ /* -- d(u,v) = ||u-v|| -- */ /* ------------------------------------ */ double dist_R( double **u, double **v ) { double **umnsv = i_mR(rsize_R(v),csize_R(v)); double d; sub_mR(u,v,umnsv); d = norm_R(umnsv); f_mR(umnsv); return (d); } /* ------------------------------------ */ /* (<u,v>/||v||^2) * v */ /* ------------------------------------ */ double **proj_mR( double **u, double **v, double **projuv ) { /* <u,v> / ||v||^2 */ double s = dot_R(u,v) / dot_R(v,v); smul_mR(s,v,projuv); return(projuv); } /* ------------------------------------ */ /* ------------------------------------ */ double **normalize_mR( double **U, double **Q ) { double **u = i_mR(rsize_R(U),C1); double **q = i_mR(rsize_R(U),C1); int c_U = csize_R(U); int c; for( c = C1; c <= c_U; c++) { c_c_mR(U,c, u,C1); smul_mR(1./norm_R(u),u,q); c_c_mR(q,C1, Q,c); } f_mR(u); f_mR(q); return(Q); } /* ------------------------------------ */ /* ------------------------------------ */ double **Normalize_mR( double **Q ) { double **u = i_mR(rsize_R(Q),C1); double **q = i_mR(rsize_R(Q),C1); int c_Q = csize_R(Q); int c; for( c = C1; c <= c_Q; c++) { c_c_mR(Q,c, u,C1); smul_mR(1./norm_R(u),u, q); c_c_mR(q,C1, Q,c); } f_mR(u); f_mR(q); return(Q); } /* ------------------------------------ */ /* cos(alpha) = <p,q> / ||p|| ||q|| */ /* ------------------------------------ */ double cos_R( double **u, double **v ) { return(( dot_R(u,v) / (norm_R(u) * norm_R(v)) )); } /* ------------------------------------ */ /* ------------------------------------ */ double **orth_mR( double **U, double **Q, int Normal /* YES = 1 NO = 0 */ ) { double **u = i_mR(rsize_R(U),C1); double **v = i_mR(rsize_R(U),C1); double **q = i_mR(rsize_R(U),C1); double **projuv = i_mR(rsize_R(U),C1); double **tq = i_mR(rsize_R(U),C1); int c_U; int c_Q; c_c_mR(U,C1, Q,C1); for( c_U = C2; c_U < U[C_SIZE][C0]; c_U++) { c_c_mR(U,c_U, u,C1); c_c_mR(U,c_U, q,C1); for( c_Q = C1; c_Q < c_U; c_Q++) { c_c_mR(Q,c_Q, v,C1); proj_mR(u,v, projuv); /* [<u,v> / ||v||^2] * v */ sub_mR(q, projuv, tq); c_mR( tq, q); } c_c_mR(q,C1, Q,c_Q); } if(Normal) Normalize_mR(Q); f_mR(u); f_mR(v); f_mR(q); f_mR(projuv); f_mR(tq); return(Q); } /* ------------------------------------ */ /* ------------------------------------ */ /* ------------------------------------ */ /* ------------------------------------ double **xorth_mR( double **U, double **Q ) { double **u = i_mR(rsize_R(U),C1); double **v = i_mR(rsize_R(U),C1); double **q = i_mR(rsize_R(U),C1); double **projuv = i_mR(rsize_R(U),C1); int c_U; int c_Q; c_c_mR(U,C1, Q,C1); for( c_U = C2; c_U < U[C_SIZE][C0]; c_U++) { c_c_mR(U,c_U, u,C1); c_c_mR(U,c_U, q,C1); for( c_Q = C1; c_Q < c_U; c_Q++) { c_c_mR(Q,c_Q, v,C1); proj_mR(u,v, projuv); sub_mR(q,projuv, v); c_mR(v,q); } c_c_mR(q,C1, Q,c_Q); } Normalize_mR(Q); f_mR(u); f_mR(v); f_mR(q); f_mR(projuv); return(Q); }*/ /* ------------------------------------ */ /* ------------------------------------ */ void QR_mR( double **U, double **Q, double **R) { double **Q_T = i_mR(csize_R(Q),rsize_R(Q)); orth_mR(U,Q,YES); transpose_mR(Q,Q_T); mul_mR(Q_T,U, R); f_mR(Q_T); } /* ------------------------------------ */ double **eigs_mR( double **A, double **EigsValue ) { int r = rsize_R(A); double **T = i_mR(r,r); double **Q = i_mR(r,r); double **R = i_mR(r,r); int i; int rc; c_mR(A,T); for(i=0;i<LOOP_EIGSUV;i++) { QR_mR(T,Q,R); mul_mR(R,Q,T); } for(rc=R1;rc<=r;rc++) { EigsValue[rc][C1] = T[rc][rc]; } f_mR(T); f_mR(Q); f_mR(R); return(EigsValue); } /* ------------------------------------ */ double **sqrt_svd_mR( double **A, double **sqrtA ) { int r; int c; dif_sizes_mR(A,sqrtA,"svd_sqrt_mR();","(A or sqrtA)"); for ( r=R1; r<A[R_SIZE][C0]; r++) for ( c=C1; c<A[C_SIZE][C0]; c++) sqrtA[r][c] = sqrt(A[r][c]); return(sqrtA); } /* ------------------------------------ */ double **inv_svd_mR( double **S, double **invS ) { int r; int c; dif_sizes_mR(S,invS, "inv_svd_mR();","(S,invS)"); for ( r=R1; r<S[R_SIZE][C0]; r++) for ( c=C1; c<S[C_SIZE][C0]; c++) if(r==c) { if(fabs(S[r][c]) < ERROR_E) invS[r][c] = 0; else invS[r][c] = (1./S[r][c]); } else invS[r][c] = 0; return(invS); } /* ------------------------------------ */ /* ------------------------------------ */ /* ------------------------------------ */ double **svds_mR( double **A, double **SvdValue) { int rA = rsize_R(A); int cA = csize_R(A); double **A_T = i_mR(cA,rA); double **S = i_mR(cA,cA); double **SvdValue_2 = i_mR(cA,C1); transpose_mR(A,A_T); mul_mR(A_T,A, S); eigs_mR(S,SvdValue_2); sqrt_svd_mR(SvdValue_2,SvdValue); f_mR(A_T); f_mR(S); f_mR(SvdValue_2); return(SvdValue); } /* ------------------------------------ */ /* ------------------------------------ */ </syntaxhighlight> {{BookCat}} s6525k3b0i3au2g2sr77msrigcsr26x User:ValWinter/Crossing boundaries 2 478213 4656828 4609215 2026-08-09T19:27:11Z ValWinter 3475096 4656828 wikitext text/x-wiki {{DISPLAYTITLE:User:ValWinter/Crossing boundaries}} <div style="font-family:Courier New, monospace; font-size:16px; display:grid;"> {{Short description|[[w:freedom of movement|freedom of movement]] reference book in [[w:Simple English]].}} = Crossing borders = <div> [[File:AFR_V2_D317_Kabyle_family_traveling.jpg|alt=Black and white ink illustration of a Kabyle family traveling.|left|frameless|400x400px]] A reference book in [[w:Simple English|<u>Simple English</u>]] about [[w:freedom of movement|<u>freedom of movement</u>]]. Freedom of movement is the idea a person has a [[w:human right|<u>human right</u>]] to travel from place to place inside a country. It is also about the human right to go to a different country or territory. Many people have different beliefs on how much freedom a person has to travel. This belief has led to approval and punishment, peace and war, and a large amount of discussion. It is necessary to have knowledge about the complete process to have a true understanding. Crossing borders has a list of what a person may need to do to travel to a different country or territory. It has history and news about emigration, immigration, migration, and more. </div> {| style="padding:2px; margin:2px;" |-valign="center" | style="width:32px;" | [[Image:Help (89606) - The Noun Project.svg|32px|Example|link=]] | style="color: #202122; border-left: 4px solid green; padding-left: 6px; " | {{{1| '''Tools to read Crossing boundaries:''' * A <u>PDF version [[File:Icon pdf file.png|Generic PNG icon for PDF files]]</u> is here. It is easy to read on mobile (cell phone/tablet). * A <u>print version [[File:Zorin Icon Themes – document-print-symbolic.svg|Icon from the icon collection for Zorin OS.]]</u> is here. * Crossing borders can be made into a physical book to buy with [[w:PediaPress|<u>PediaPress</u>]]. <u>Click this link</u> or go to the [[user:ValWinter/Part1#About|<u>About</u>]] section to learn more. {{reading level|beginner}} }}} |} <div> == Part 1 - about this book and how to use it == [[user:ValWinter/Part1#About|<u>About</u>]] | <span style="color: red;">[[user:ValWinter/Part1#Disclaimers|<u>Disclaimers</u>]] |</span> <u>[[User:ValWinter/Part1#Editors|Editors]]</u> | [[user:ValWinter/Part1#Local manual of style|<u>Local manual of style</u>]] | Glossary - words explained| See also - more information | Study - practice learning | Templates == Part 2 - how people engage with freedom of movement == [[File:San Francisco, Calif. Apr. 1942. A scene at the Wartime Civil Control Administration station where the first group of 664 persons of Japanese ancestry from San Francisco, registered before going to War Relocation Authority centers (LOC).jpg|thumb|200px|The first group of Japanese people registered for internment camps during World War II.]] * <u>[[User:ValWinter/Part 2|What is freedom of movement and how do people use it?]]</u> * Bureaucracy — how do people and governing bodies interact with freedom of movement? * Entry — what is the process of physically moving within or over polity lines like? * Passing the test — what is the process for keeping newly acquired freedoms for movement like? * Remove — what is the process for taking away freedom of movement? * Return — what is the process for getting freedom of movement back? == Part 3 - freedom of movement within a polity == [[File:Boston I-90 Toll Booth, Allston-Brighton, June 22, 2012 (7439626046).jpg|thumb|Boston I-90 Toll Booth, Allston-Brighton, June 22, 2012 (7439626046)]] # <u>[[User:ValWinter/Part2#Choose a polity|Choose a polity]]</u> # [[user:ValWinter/Part2#Inadmissibility|<u>Inadmissibility</u>]] - what can make it so you <big>''cannot''</big> move within a polity # [[user:ValWinter/Part2#Eligibility|<u>Eligibility</u>]] - what makes it so you <big>''can''</big> move within a polity # [[user:ValWinter/Part2#Application(s)|<u>Application(s)</u>]] - what you need <big>''to do''</big> to <big>''be accepted'' into a polity</big> # [[user:ValWinter/Part2#Entry|<u>Entry</u>]] - what <big>''to do''</big> when you <big>''enter''</big> a polity # <u>Maintenance</u> - ''<big>how to stay</big>'' in a polity == Part 4 - freedom of movement into a different polity == [[File:CBP International Travel Preclearance Operations in Canada (26003077068).jpg|thumb|CBP International Travel Preclearance Operations in Canada (26003077068)]] #<u>[[User:ValWinter/Part 4#Choose a polity|Choose a polity]]</u> # [[user:ValWinter/Part 4#Inadmissibility|<u>Inadmissibility</u>]] - what can make it so you <big>''cannot''</big> move within a polity # [[user:ValWinter/Part 4#Eligibility|<u>Eligibility</u>]] - what makes it so you <big>''can''</big> move within a polity # [[user:ValWinter/Part 4#Application(s)|<u>Application(s)</u>]] - what you need <big>''to do''</big> to <big>''be accepted'' into a polity</big> # [[user:ValWinter/Part 4#Entry|<u>Entry</u>]] - what <big>''to do''</big> when you <big>''enter''</big> a polity # [[user:ValWinter/Part 4#Maintenance|<u>Maintenance</u>]] - ''<big>how to stay</big>'' in a polity == Part 5 - topics in detail == [[File:NS Block Party (2).jpg|thumb|NS Block Party (2)]] [[user:ValWinter/Part3#Culture|<u>Culture</u>]] | [[user:ValWinter/Part3#Emergency|<u>Emergency</u>]] | [[user:ValWinter/Part3#Government|<u>Government</u>]] | [[user:ValWinter/Part3#health|<u>Health</u>]] | [[user:ValWinter/Part3#Money|<u>Money</u>]] | [[user:ValWinter/Part3#Relationships|<u>Relationships</u>]] | [[user:ValWinter/Part3#Travel|<u>Travel</u>]] </div> </div>{{DEFAULTSORT:ValWinter/Crossing boundaries}} __FORCETOC__ 1wakad1fzdi73fo434w9raz53ez7xrr Chess Opening Theory/1. d4/1...d5/2. c4/2...c6/3. Nc3/3...Nf6/4. Nf3/4...e6/5. Bg5/5...h6/6. Bh4 0 480191 4656874 4609376 2026-08-09T22:47:02Z Greenman 7490 /* Theory table */ 4656874 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Anti-Moscow |parent=[[../|Semi-Slav defence]] |eco=[[Chess/ECOD|D43]] |aka=Anti-Moscow gambit }} == 6. Bh4 · Anti-Moscow == White has decided to enter the Anti-Moscow variation of the Semi-Slav, a tactically rich and theoretically heavy opening. Black's main move is '''[[/6...dxc4/]]''', taking the pawn that White has declined to defend. == Theory table == {{Chess Opening Theory/Table}} {{Chess/theory table |links=all |line1=6...dxc4 7. e4 g5 8. Bg3 b5 |eval1={{Chess/not|=}} |line2=6...Be7 |eval2= |line3=6...g5 |eval3= }} {{ChessMid}} ==References== {{reflist}} {{Wikipedia|Semi-Slav Defence|anchor1=Anti-Moscow_Variation:_5...h6_6.Bh4_dxc4}} {{BCO2}} {{Chess Opening Theory/Footer}} gpsfugjri08mo5k355jggwjnesl70sh 4656875 4656874 2026-08-09T22:47:42Z Greenman 7490 /* Theory table */ Nbd7 4656875 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Anti-Moscow |parent=[[../|Semi-Slav defence]] |eco=[[Chess/ECOD|D43]] |aka=Anti-Moscow gambit }} == 6. Bh4 · Anti-Moscow == White has decided to enter the Anti-Moscow variation of the Semi-Slav, a tactically rich and theoretically heavy opening. Black's main move is '''[[/6...dxc4/]]''', taking the pawn that White has declined to defend. == Theory table == {{Chess Opening Theory/Table}} {{Chess/theory table |links=all |line1=6...dxc4 7. e4 g5 8. Bg3 b5 |eval1={{Chess/not|=}} |line2=6...Be7 |eval2= |line3=6...g5 |eval3= |line4=6...Nbd7 |eval4= }} {{ChessMid}} ==References== {{reflist}} {{Wikipedia|Semi-Slav Defence|anchor1=Anti-Moscow_Variation:_5...h6_6.Bh4_dxc4}} {{BCO2}} {{Chess Opening Theory/Footer}} 9nn8yvx9fskm6eoo7df42glu8cbzz01 User:Dom walden/Multivariate Analytic Combinatorics/Homology of Critical Points 2 480750 4656812 4656621 2026-08-09T15:30:45Z Dom walden 3209423 /* Introduction */ 4656812 wikitext text/x-wiki == Introduction == Morse theory tells us that the topology of M only changes at its critical points. The "Morse data" tells us the topology at each critical point. Attaching this Morse data together gives us a space which is homopotically eqivalent to M. This space is a "cell complex", which has an easy to calculate homology. Theorem: Our domain of convergence is homotopic to a cell complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>This is theorem D.23 in Pemantle, Wilson and Melczer 2024, pp. 546. Also theorem in section 1.2*/5.2* in SMT pp. 200.</ref> Proof: # <math display="inline">X</math> is our entire domain, <math display="inline">\mathcal{V}</math> our variety # Project our entire domain to complex projective space <math display="inline">Z = \phi(X) \subset \C\mathbb{P}^n - H</math> [define H] # Define a linear subspace <math display="inline">G \subset \C\mathbb{P}^n</math> of dimension <math display="inline">d - 1</math> # Define a Morse function on <math display="inline">f: \C\mathbb{P}^n \to \R</math> which approximates the distance from <math display="inline">G</math> and such that <math display="inline">f^{-1}(0) = G</math> and <math display="inline">f^{-1}(1) = H</math> # We "build" <math display="inline">X - \mathcal{V}</math> from <math display="inline">\pi^{-1}(G \cap Z) \cap (X - \mathcal{V})</math> by attaching CW complexes at critical points which are of at most dimension <math display="inline">2n - d - 1</math> # At a critical point, the normal Morse data is <math display="inline">(J, K) = \coprod_x (J_x, K_x)</math> and the relative complex link is <math display="inline">\mathcal{L}^\pi = \coprod_x \mathcal{L}_x</math> # We show that the quotient <math display="inline">J_x/K_x</math> is homotopic to a CW complex of dimension <math display="inline">\leq 2n - d - 1</math> # The neighbourhood of <math display="inline">x</math> in <math display="inline">J_x</math> is homeomorphic to the cone in <math display="inline">L_x(X - \mathcal{V})</math>, and removing the point <math display="inline">x</math> increases the homotopy dimension to at most the homotopy dimension of <math display="inline">L_x</math> # <math display="inline">(J_x \cup \{x\}, K_x)</math> is homotopic to <math display="inline">(\text{cone}(\mathcal{L}_x), \mathcal{L}_x)</math> # <math display="inline">\mathcal{L}_x</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math> # The tangential Morse data at the critical point is homotopic to the pair <math display="inline">(D^\lambda, \partial D^\lambda)</math> # Therefore, at each critical point a space has been added homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>. == Morse theory == Steps(?) * Explain topology * Every point of a stratum is locally like a product structure (proved by Thom's Isotopy Lemma) [GM pp. 41-42] ** Including those around critical points, which are the product of normal and tangential Morse data (these are our quasi-local cycles?) * Thom's Isotopy Lemma proves a strong deformation retraction (which only stops at critical points) [PWM pp. 541-542] === Homotopy === We want to replace our domain of convergence <math display="inline">M</math>, which is the complement of our singular variety <math display="inline">\mathcal{V}</math>, with an "equivalent" space <math display="inline">M'</math> which has better understood properties. We say "equivalent" because there are several different things we could mean by "equivalent" in this context. The equivalence we are referring to in this section is called '''homotopy'''. Imagine two subspaces <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> of a space <math display="inline">Y</math> which are defined respectively by smooth functions <math display="inline">f, g: X \to Y</math>. If there exists a smooth function <math display="inline">h_s: X \times [0, 1] \to Y</math>, called a homotopy, such that <math display="inline">h_0 = f</math>, <math display="inline">h_1 = g</math> and for any <math display="inline">\epsilon > 0</math> there exists a <math display="inline">\delta_a</math> and <math display="inline">\delta_b</math> such that when <math display="inline">|s - s_0| < \delta_a</math> and <math display="inline">|x - x_0| < \delta_b</math> we have <math display="inline">|h_s(x) - h_{s_0}(x_0)| < \epsilon</math>, then we say <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are '''homotopic'''.<ref>Henle 1979, pp. 251-252.</ref> Below is an example where <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are one-dimensional curves and <math display="inline">H(t, s) = h_s(t)</math>. [[File:Homotopy_curves.png|300px]] In [[#Homotopy_equivalence|Appendix A]], we formally prove that we can construct an equivalent space <math display="inline">M'</math>. We provide only an example to give some intuition before describing how to construct the space <math display="inline">M'</math> in terms of local cycles around critical points. === Motivating example === Imagine a torus and a height function which is just the z value of the point. [[File:3D-Leveltorus.png|200px]] It has four critical points: two at the top and bottom of the outer circle (<math display="inline">p_1, p_4</math>) and two at the top and bottom of the inner circle (<math display="inline">p_2, p_3</math>). [picture] When the height is between the <math display="inline">p_1</math> and <math display="inline">p_2</math>, the space is a two-cell, which can be retracted to a point. [picture] When the height is between <math display="inline">p_2</math> and <math display="inline">p_3</math>, the space is a cylinder, which can be retracted to a two-cell with a one-cell attached. [[File:3D-Cylinder_and_disk_with_handle.png|200px]] When the height is between <math display="inline">p_3</math> and <math display="inline">p_4</math>, the space is a torus with a disc removed, which can be retracted to a cylinder with a one-cell attached. [[File:3D-Cylinder_with_handle_and_torus_with_hole.png|200px]] When the height is greater than <math display="inline">p_4</math>, then the full torus is constructed by attaching a two-cell. [Explain in terms of Morse data and Morse index?] === Morse data and quasi-local cycles === As in the above example, we start at the "bottom" of <math display="inline">M</math> and build upwards until just before we reach our first critical point <math display="inline">p</math>. ;Smooth points :This is a tube around a <math display="inline">(d-1)</math>-chain <math display="inline">\gamma</math> where the height function <math display="inline">h</math> is maximised at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223.</ref> :For example, if <math display="inline">F(x, y) = \frac{1}{1 - x - y}</math> then <math display="inline">\lambda = 1</math> and <math display="inline">B^\lambda</math> is an arc reaching its highest point at <math display="inline">p</math>. :The normal plane <math display="inline">N</math> at <math display="inline">p</math> is a plane orthogonal to <math display="inline">B^1</math>(?). :Its normal link <math display="inline">L(S)</math> is a circle with two points missing where it intersects <math display="inline">\mathcal{V}</math>. :We make our quasi-local cycle out of the product of the arc and circle joined to <math display="inline">M_-</math> at points below <math display="inline">M_-</math>. :With the exception of degenerate points, such as monkey saddles...<ref>e.g. Pemantle, Wilson and Melczer 2024, pp. 211.</ref> ;Transverse multiple points :This is the product of a <math display="inline">k</math>-torus and a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math>. The torus is the product of circles about <math display="inline">p</math> in the complex normal space to each strata which intersects <math display="inline">p</math>. The chain <math display="inline">\gamma</math> is supported in the stratum which is the common intersection of the varieties defined by the factors vanishing at <math display="inline">p</math>, and achieves its maximum height at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223-224.</ref> ;Arrangement multiple point :This is the product of a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math> and several <math display="inline">k</math>-tori, one for each pair of sheets which intersect transversely, where the torus is the product of circles about <math display="inline">p</math> in each sheet.<ref>Pemantle, Wilson and Melczer 2024, pp. 226.</ref> ;Cone point :A cone point is zero-dimensional so there is no <math display="inline">\gamma</math>, just a <math display="inline">d</math>-torus about <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 227.</ref> == Homology of cell complexes == We have constructed a new space <math display="inline">M'</math> which is homotopic to <math display="inline">M</math>. Our space <math display="inline">M'</math> is a '''cell complex''' or '''CW complex''' with a cell, which we call a '''quasi-local cycle''', around each critical point. We show in [[#Cellular_homology|Appendix B]] that a cell complex which has <math display="inline">k</math> <math display="inline">n</math>-cells has an homology that can be generated by at most <math display="inline">k</math> elements. Therefore, any chain in <math display="inline">M'</math> is homologous to a chain which is the linear combination of at most <math display="inline">k</math> elements. This includes our torus of integration <math display="inline">T</math>, which is homologous to <math display="inline">\sum_i n_i \sigma_i</math>. Two chains which are homologous have the same integral, therefore <math display="block">\frac{1}{(2\pi i)^n} \int_T \frac{f(\zeta) d\zeta}{(\zeta - z)} = \sum_i \frac{n_i}{(2\pi i)^n} \int_{\sigma_i} \frac{f(\zeta) d\zeta}{(\zeta - z)}.</math> In the remaining three chapters we show how, for each <math display="inline">i</math>, we calculate <math display="inline">n_i</math> and asymptotically estimate the integrand around the chain <math display="inline">\sigma_i</math>. == Appendix == === Homotopy equivalence === [Assuming no CVAI...] Theorem: # Homotopy equivalence between M_{\leq a} and M_{\leq b}... # If in a range <math display="inline">[a, b]</math> there are no CVAI and only one critical value <math display="inline">c</math>, not equal to either <math display="inline">a</math> or <math display="inline">b</math>, with one or more critical points <math display="inline">z_1, \cdots, z_m</math> then there is a stratified flow deforming any chain in <math display="inline">M</math> to a (homotopic?) chain in the union of <math display="inline">M_{<c}</math> with sufficiently small balls around each critical point. This induces a homotopy between <math display="inline">(M_{c+\epsilon}, M_{c-\epsilon})</math> and the direct sum of <math display="inline">(M_{c-\epsilon} \cup B_{2\epsilon}(z_i), M_{c-\epsilon})</math> for each critical point <math display="inline">z_i</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 231.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. We can (potentially) define a function to implement this flow. Define <math display="inline">\Phi(x, t)</math> where <math display="inline">x</math> are points in the space and <math display="inline">t</math> is something like time. As <math display="inline">t</math> goes from zero to some positive number, <math display="inline">\Phi</math> moves the points <math display="inline">x</math> along the vectors. To describe this process formally, we say <math display="inline">\Phi</math> is the solution to the differential equation <math display="block">\frac{d}{dt} \Phi(x, t) = v(x).</math> We want a particular vector field <math display="inline">v</math> with certain properties... The proof of the existence of this vector field is long and complicated and we will not go into it here.<ref>It involves concepts such as Thom's isotopy lemma and Mather's controlled vector flows. See Mather 2012.</ref> Using this vector field <math display="inline">v</math> but modified so as to be zero on <math display="inline">M_{\leq a}</math>. This vector field defines a function <math display="inline">\Phi(x, t)</math> such that * <math display="inline">d/dt \Phi(x, t) = v(x)</math> when <math display="inline">h(x) \in (a, b]</math>. * <math display="inline">\Phi(x, t)</math> is defined for <math display="inline">0 \leq t \leq h(x) - a</math> and in this range <math display="inline">h(\Phi(x, t)) = h(x) - t</math>. * the map <math display="inline">\psi(x) = \Phi(x, b - a)</math> is a continuous map on <math display="inline">M_{\leq b}</math> with range (image?) <math display="inline">M_{\leq a}</math> and fixing <math display="inline">M_{\leq a}</math>. The function <math display="inline">\Phi(x, 0)</math> is the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\Phi(x, b - a) = \psi(x)</math>, therefore <math display="inline">\Phi</math> in the range <math display="inline">[0, b - a]</math> is a homotopy between the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\psi</math>. This implies 1)???<ref>Pemantle, Wilson and Melczer 2024, pp. 233.</ref> Define the distance from a critical point <math display="inline">\kappa(x) = \min\{ |x - z_i| : z_1, \cdots, z_m \}</math>. For <math display="inline">s > 0 </math> we define a new vector field <math display="block">v_s(x) = \begin{cases} v(x) & \kappa(x) \geq s \\ \rho(\kappa(x)) v(x) & \kappa(x) \in [s/2, s] \\ 0 & \kappa(x) \leq s/2 \end{cases}</math> for a smooth non-decreasing function <math display="inline">\rho</math> where <math display="inline">\rho(s/2) = 0</math>. Define <math display="inline">\Phi_s</math> as the function such that <math display="inline">d/dt \Phi(x, t)_s = v_s(x)</math>. The height function <math display="inline">h</math> is non-increasing along <math display="inline">\Phi_s</math> (by implication of bullet point 2?) so points in <math display="inline">M_{\leq c-\epsilon}</math> stay in <math display="inline">M_{\leq c - \epsilon}</math> when flowed along <math display="inline">\Phi_s</math> and therefore <math display="inline">\Phi_s</math> is a homotopy equivalence between <math display="inline">(M_{\leq c+\epsilon}, M_{\leq c-\epsilon})</math> and <math display="inline">(\Phi(M_{\leq c+\epsilon}, 2\epsilon), M_{\leq c-\epsilon})</math>. By <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> we mean the space <math display="inline">M_{\leq c+\epsilon}</math> flowed along <math display="inline">\Phi(x, t)</math> for a short period of time <math display="inline">2\epsilon</math>. [Prove it has the same critical points and is proper?] <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> takes points in <math display="inline">M_{\leq c+\epsilon}</math> to <math display="inline">M_{\leq c-\epsilon}</math> except for those that come within <math display="inline">s</math> of a critical point within time <math display="inline">2\epsilon</math>. Therefore, we see how we <math display="inline">\Phi_s</math> can homotopically deform a chain in <math display="inline">M_{\leq c+\epsilon}</math> to a chain in the union of <math display="inline">M_{\leq c-\epsilon}</math> and small neighbourhoods of critical points.<ref>Pemantle, Wilson and Melczer 2024, pp. 234-235.</ref> On the assumption of this theorem, we can start with any chain in <math display="inline">M</math> and deform this chain to <math display="inline">M_{c_1+}</math> using part 1. Then we deform this chain to a chain in the union of <math display="inline">M_{c_1-}</math> and small balls around the critical points. The (sub?)chain in <math display="inline">M_{c_1-}</math> is then deformed to a chain in <math display="inline">M_{c_2+}</math>, which is deformed to a chain in <math display="inline">M_{c_2-} \cup z_{c_2}</math>, and so on. Eventually, we get to <math display="inline">M_{c_j-}</math> which is homotopic to any space "below" it. Therefore, we have deformed our chain in <math display="inline">M</math> to a homotopic chain in the union of small balls around critical points.<ref>Baryshnikov, Melczer and Pemantle 2022, pp. ???.</ref><ref>Pemantle, Wilson and Melczer 2024, pp. 217???</ref> [Direct sum of homology generators for relative cycles] === Cellular homology === [Explain continuous?] A standard <math display="inline">n</math>-simplex <math display="inline">\Delta^n</math> is defined <math display="block">\Delta^n = \{ (t_1, \cdots, t_{n+1}) \in R^{n+1} \mid t_1 + \cdots + t_{n+1} = 1, t_i \geq 0 \}</math> A standard <math display="inline">0</math>-simplex is a point, a <math display="inline">1</math>-simplex a line of length 1, a <math display="inline">2</math>-simplex is a right-angled triangle with two sides of length 1. [picture] For any space <math display="inline">X</math>, a '''singular <math display="inline">n</math>-simplex''' is a continuous function from a standard <math display="inline">n</math>-simplex to our space <math display="inline">X</math>, <math display="inline">\sigma: \Delta^n \to X</math>. For example, the singular <math display="inline">0</math>-simplexes are all points in <math display="inline">X</math> and the singular <math display="inline">1</math>-simplexes are all continuous paths in <math display="inline">X</math>.<ref>Henle 1979, pp. 261.</ref> For any space, there is an uncountably infinite number of <math display="inline">n</math>-simplexes. [picture] An '''<math display="inline">n</math>-chain''' <math display="inline">C_n</math> is a finite sum of <math display="inline">n</math>-simplexes <math display="inline">\sum_i n_i \sigma_i</math> for <math display="inline">n_i \in \Z</math>. [picture] A '''homomorphism''' on chains will take an <math display="inline">n</math>-chain and return an <math display="inline">(n-1)</math>-chain. We can connect a sequence of chains <math display="inline">\cdots, C_{n+1}, C_n, C_{n-1}, \cdots</math> by homomorphisms <math display="inline">\cdots, \alpha_{n+1}, \alpha_n, \cdots</math> in the form <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math>. The '''boundary''' of an <math display="inline">n</math>-simplex is defined by <math display="block">\partial_n(\sigma) = \sum_i (-1)^i \sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> where <math display="inline">\sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> means <math display="inline">\sigma</math> restricted only to the face of <math display="inline">\Delta^n</math> formed by removing the vertex <math display="inline">v_i</math>. So <math display="inline">\partial_n</math> maps faces of <math display="inline">\Delta^n</math> to <math display="inline">X</math>. [picture] The '''boundary''' of an <math display="inline">n</math>-chain <math display="inline">C_n = \sum_i n_i \sigma_i</math> is defined by <math display="block">\partial_n(C_n) = \sum_i n_i \partial_n(\sigma_i).</math> [picture] We can fit this into our diagram above if we let <math display="inline">a_n = \partial_n</math> and draw the diagram <math display="block">\cdots \to C_{n+1} \overset{\partial_{n+1}}{\to} C_n \overset{\partial_n}{\to} C_{n-1} \to \cdots</math> Because <math display="inline">\partial_{n+1} \partial_n = 0</math>, we call this a '''chain complex'''. The '''image''' of <math display="inline">\partial_n</math> (<math display="inline">\mathrm{im}\, \partial_n</math>) is the set of all outputs of <math display="inline">\partial_n(C_n)</math> for all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math>. This is the set of all '''boundaries''' of all possible <math display="inline">n</math>-chains defined in <math display="inline">X</math>. [picture] The '''kernel''' of <math display="inline">\partial_n</math> (<math display="inline">\ker \partial_n</math>) is the set of all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math> such that <math display="inline">\partial_n(C_n) = 0</math>. This is the set of all <math display="inline">n</math>-chains which do not have a boundary, also known as '''<math display="inline">n</math>-cycles'''. [picture] Two <math display="inline">n</math>-cycles are called '''homologous''' if their difference equals the boundary of some <math display="inline">(n+1)</math>-chain. In other words, if <math display="inline">C_n - C_n' \in \mathrm{im}\, \partial_{n+1}</math>. [Example!] Homologous cycles are part of the same '''homology class''' and we write <math display="inline">H_n(X)</math> to denote the set of all such homology classes of <math display="inline">n</math>-cycles in <math display="inline">X</math>. Any <math display="inline">n</math>-cycle in <math display="inline">X</math> is a member of one of these classes. [Representative member?] Because <math display="inline">\partial_n</math> can also be seen as mapping homology classes in <math display="inline">H_n(X)</math> to (a subset of) homology classes in <math display="inline">H_{n-1}(X)</math>, we can diagram <math display="block">\cdots \to H_{n+1}(X) \overset{\partial_{n+1}}{\to} H_n(X) \overset{\partial_n}{\to} H_{n-1}(X) \to \cdots</math>. Imagine a space <math display="inline">(X, A)</math> which is <math display="inline">X</math> with its subspace <math display="inline">A</math> shrunk to a point. In this space, the relative <math display="inline">n</math>-chains <math display="inline">C_n(X, A)</math> are <math display="inline">n</math>-chains in <math display="inline">X</math> after any sub-chains that are in <math display="inline">A</math> are shrunk to a point. This is also referred to as the '''quotient''' <math display="inline">X / A</math> and <math display="inline">C_n(X) / C_n(A)</math>, respectively. Two relative chains are in the same homology class if their difference is a boundary of some <math display="inline">C_{n+1}(X)</math> plus any chain in <math display="inline">C_n(A)</math>. The set of such homology classes is denoted by <math display="inline">H_n(X, A)</math>. [example] A sequence <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math> is called '''exact''' if <math display="inline">\ker \alpha_n = \mathrm{im}\, \alpha_{n+1}</math>. In the case that <math display="inline">\alpha = \partial</math> then this means that the boundary of all <math display="inline">(n+1)</math>-chains are <math display="inline">n</math>-cycles. This has some important properties which we use later. <math display="inline">0 \to A \overset{\alpha}{\to} B \overset{\beta}{\to} C \to 0</math> is exact iff <math display="inline">\alpha</math> is injective, <math display="inline">\beta</math> is surjective and <math display="inline">\ker \beta = \mathrm{im}\, \alpha</math>. One consequence is that <math display="inline">C</math> is isomorphic to <math display="inline">B / \mathrm{im}\, \alpha</math>.<ref>Hatcher 2001, pp. 114.</ref> We prove that we can construct an exact sequence <math display="block">\cdots \to H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A) \overset{i_{n-1}}{\to} H_{n-1}(X) \overset{j_{n-1}}{\to} H_{n-1}(X, A) \to \cdots</math> where <math display="inline">i</math> is the inclusion (and an injection), <math display="inline">j</math> is the quotient map (and a surjection) and <math display="inline">\ker j_n = \mathrm{im}\, i_n</math> [how]. As a consequence, in the below diagram the two rows are exact sequences. [[File:Commutative diagram used in proof of relative exact sequence.png]] The part of the sequence <math display="inline">H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A)</math> is automatic from the definition of <math display="inline">i_n</math> and <math display="inline">j_n</math>. We just need to prove that there exists a <math display="inline">\partial_n</math> which will allow us to do <math display="inline">H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A)</math>. Take a cycle <math display="inline">c \in C_n(X, A)</math>. Since <math display="inline">j</math> is surjective, <math display="inline">c = j_n(b)</math> for at least one <math display="inline">b \in C_n(X)</math> (note that <math display="inline">b</math> may not be unique, but we will show in the next paragraph this is not a problem). This takes us from the top right to the top middle in our diagram. <math display="inline">\partial_n(b)</math> takes us from the top middle to the bottom middle and it is in <math display="inline">\ker j_{n-1}</math> because <math display="inline"></math>. Since the rows are exact, <math display="inline">\ker j_{n-1} = \mathrm{im}\, i_{n-1}</math> and so <math display="inline">\partial_n(b) = i_{n-1}(a)</math> for some <math display="inline">a \in C_{n-1}(A)</math>. <math display="inline">a</math> is unique because <math display="inline">i_{n-1}</math> is injective and this takes us from the bottom middle to the bottom left, as desired. One problem is there may be more than one <math display="inline">b \in C_n(X)</math> for which <math display="inline">j_n(b) = c</math>. Take two <math display="inline">b, b' \in C_n(X)</math> such that <math display="inline">j(b) = j(b') = c</math>. This also means <math display="inline">j(b - b') = j(b) - j(b') = 0</math> and therefore <math display="inline">b - b' \in \ker j_{n-1}</math>. Since <math display="inline">\ker j_{n-1} = \mathrm{im}\,_{n-1}</math>, <math display="inline">b - b' = i(a')</math> for some <math display="inline">a' \in C_{n-1}(A)</math> and <math display="inline">b' = b + i(a')</math>. The effect of replacing <math display="inline">b</math> by <math display="inline">b + i(a')</math> changes <math display="inline">a</math> to an element in the same homology class <math display="inline">a + \partial a'</math> since <math display="inline">i(a + \partial a') = i(a) + i(\partial a') = \partial b + \partial i(a') = \partial(b + i(a'))</math>. Changing <math display="inline">c</math> to a another cycle in the same homology class would be of the form <math display="inline">c + \partial c'</math>. Since <math display="inline">c' = j(b')</math> for some <math display="inline">b'</math>, we have <math display="inline">c + \partial c' = c + \partial j(b') = c + j(\partial b') = j(b + \partial b')</math>, so <math display="inline">b</math> is replaced by <math display="inline">b + \partial b'</math> but <math display="inline">\partial(b + \partial b') = \partial b + \partial \partial b' = \partial b</math>, which leaves <math display="inline">\partial b</math> and <math display="inline">a</math> unchanged.<ref>Hatcher 2001, pp. 116.</ref> We need to prove that it is an exact sequence: # <math display="inline">\mathrm{im}\, i \subset \ker j</math>, since <math display="inline">ji = 0</math> implies <math display="inline">i_* j_* = 0</math>. # <math display="inline">\mathrm{im} \subset \ker \partial</math>, since <math display="inline">j</math> takes cycles to cycles and so <math display="inline">\partial j(b) = 0</math> if <math display="inline">b</math> is a cycle. # <math display="inline">\mathrm{im}\, \partial \subset \ker i</math>, since <math display="inline">i_* \partial = 0</math> since <math display="inline">\partial[c] = [a] = [\partial b] = 0</math>. # <math display="inline">\ker j \subset \mathrm{im}\, i</math>... # <math display="inline">\ker \partial \subset \mathrm{im}\, j</math>... # <math display="inline">\ker i \subset \mathrm{im}\, \partial</math>, since a cycle <math display="inline">a \in C_{n-1}(A)</math> such that <math display="inline">i(a) = \partial b</math> for some <math display="inline">b \in C_n(X)</math>, then <math display="inline">j(b)</math> is a cycle since <math display="inline">\partial j(b) = j(\partial b) = ji(a) = 0</math> and <math display="inline">\partial[j(b)] = [a]</math>.<ref>Hatcher 2001, pp. 117.</ref> [define cell?] To construct a '''cell complex''' (not to be confused with a chain complex): # Start with a set of points (<math display="inline">0</math>-cells). Call this <math display="inline">X^0</math>. # Introduce a set of lines (<math display="inline">1</math>-cells) and attach the two end-points of these lines to the points from step 1. Call this <math display="inline">X^1</math>. # Introduce a set of discs (<math display="inline">2</math>-cells) and attach the boundary of these discs to the lines and/or points from steps 1 and 2. Call this <math display="inline">X^2</math>. # Continue this for higher-dimension cells (potentially up to infinity). [example] Like above, we define a space <math display="inline">(X^n, X^{n-1})</math> which is <math display="inline">X^n</math> with its subspace <math display="inline">X^{n-1}</math> shrunk to a point. In this space, the relative chains <math display="inline">C_n(X^n, X^{n-1})</math> are chains in <math display="inline">X^n</math> after any sub-chains that are in <math display="inline">X^{n-1}</math> are shrunk to a point. Two relative chains are homologous if their difference is a boundary of some <math display="inline">C_{n+1}(X^n)</math> plus any chain in <math display="inline">C_n(X^{n-1})</math>. The set of such equivalence classes is denoted by <math display="inline">H_n(X^n, X^{n-1})</math>. We can prove that the representatives of each class of <math display="inline">H_n(X^n, X^{n-1})</math> is expressed as a linear combination of <math display="inline">n</math>-cells of <math display="inline">X</math>. Take \direct_a H(X_a, a) \to H_n(\cup X / \cup a, \cup a / \cup a) (p 2.22)...<ref>Hatcher 2001, pp. 124, 126, 137.</ref> Therefore, we can see any representative of a class in <math display="inline">H_n(X^n, X^{n-1})</math> as a chain and we can form them into a chain complex by drawing the below diagram, which is the combination of three exact sequences proven above. [[File:Commutative diagram used in proof of cellular chain complex.png|1000px]] The green, blue and red diagonals are different parts of the exact sequence we constructed above. The sequence of <math display="inline">\cdots \to H_n(X^{n+1}, X^n) \to H_n(X^n, X^{n-1}) \to H_n(X^{n-1}, X^{n-2}) \to \cdots</math>, represented by the horizontal row in the above diagram, is a chain complex if <math display="inline">j_n \partial_{n+1} = d_{n+1}</math> because then <math display="inline">d_{n+1} d_n = j_n \partial_{n+1} j_{n-1} \partial_n = \partial_{n+1} \partial_n j_n j_{n-1} = 0</math> because <math display="inline">\partial_{n+1} \partial_n = 0</math>. This chain complex has its own homology group <math display="inline">H_n^{CW}(X)</math> and we can prove is isomorphic to the "normal" homology group of <math display="inline">H_n(X)</math>.<ref>Hatcher 2001, pp. 139.</ref> [explain functions, injections, isomorphisms, etc.] In the above diagram, <math display="inline">H_n(X)</math> is isomorphic to <math display="inline">H_n(X^{n+1})</math> [how?] which is in turn isomorphic to <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> by virtue of it being part of an exact sequence. Both being part of a exact sequences, <math display="inline">j_n</math> and <math display="inline">\partial_{n+1}</math> are injective. <math display="inline">\partial_{n+1}</math> maps each element of <math display="inline">H_{n+1}(X^{n+1}, X^n)</math> to a unique element of <math display="inline">H_n(X^n)</math> which in turn is mapped by <math display="inline">j_n</math> to a unique element of <math display="inline">H_n(X^n, X^{n-1})</math>. Therefore, <math display="inline">\mathrm{im}\, \partial_{n+1}</math> is mapped isomorphically onto <math display="inline">\mathrm{im}\,(j_n \partial_{n+1}) = \mathrm{im}\, d_{n+1}</math>. Trivially, <math display="inline">j_n</math> maps <math display="inline">H_n(X^n)</math> isomorphically onto its own image, therefore <math display="inline">\mathrm{im}\, j_n = \ker \partial_n</math>. Since <math display="inline">j_{n-1}</math> is also injective by virtue of being an exact sequence, the zero element of <math display="inline">H_{n-1}(X^{n-1})</math> is mapped to the zero element of <math display="inline">H_{n-1}(X^{n-1}, X^{n-2})</math> and, being injective, no other element is. Therefore, <math display="inline">\ker \partial_n = \ker d_n</math>. Putting this all together we get <math display="inline">j_n</math> induces an isomorphism between <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> and <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 139-140.</ref> Because we saw above that <math display="inline">H_n(X^n, X^{n-1})</math> is generated by linear combinations of <math display="inline">n</math>-cells then any subgroup must be generated by a subset of these same cells and so is <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 140.</ref> TODO: # Finish the two proofs above (exact sequences and good pairs) ## Explain inclusion and quotient map # Draw lots of diagrams # Come up with lots of examples # Restructure, with lots more signposting/up-fronting of theorems (perhaps move this whole section to its own chapter) == Notes == {{Reflist}} == References == * {{citation | last1=Baryshnikov | first1=Yuliy | last2=Melczer | first2=Stephen | last3=Pemantle | first3=Robin | title=Stationary Points at Infinity for Analytic Combinatorics | year=2022 | journal=Foundations of Computational Mathematics | volume=22 | number=5 | pages=1631-1664 | url=https://www2.math.upenn.edu/~pemantle/papers/SPAI-published-version.pdf }}. * {{cite book | last=Hatcher | first1=Allen | title=Algebraic Topology | publisher=Cambridge University Press | year=2001 | url=https://pi.math.cornell.edu/~hatcher/AT/AT+.pdf }} * {{cite book | last=Henle | first1=Michael | title=A Combinatorial Introduction to Topology | publisher=Dover Publications Inc. New York | year=1979 }} * {{citation | last=Mather | first=John | title=Notes on Topological Stability | year=2012 | journal=Bulletin of the American Mathematical Society | volume=49 | number=4 | pages=475-506 | url=https://www.ams.org/journals/bull/2012-49-04/S0273-0979-2012-01383-6/S0273-0979-2012-01383-6.pdf }}. * {{cite book | last1=Pemantle | first1=Robin | last2=Wilson | first2=Mark C. | last3=Melczer | first3=Stephen | title=Analytic Combinatorics in Several Variables | publisher=Cambridge University Press | year=2024 | edition=2nd | url=https://acsvproject.com/PemantleWilsonMelczer23.pdf }} m5vpvzkk5yhsp16seesuw1e2ks722ps 4657002 4656812 2026-08-10T08:56:52Z Dom walden 3209423 /* Introduction */ 4657002 wikitext text/x-wiki == Introduction == Morse theory tells us that the topology of M only changes at its critical points. The "Morse data" tells us the topology at each critical point. Attaching this Morse data together gives us a space which is homopotically eqivalent to M. This space is a "cell complex", which has an easy to calculate homology. Theorem: Our domain of convergence is homotopic to a cell complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>This is theorem D.23 in Pemantle, Wilson and Melczer 2024, pp. 546. Also theorem in section 1.2*/5.2* in SMT pp. 200.</ref> Proof: # <math display="inline">X</math> is our entire domain, <math display="inline">\mathcal{V}</math> our variety # Project our entire domain to complex projective space <math display="inline">Z = \pi(X) \subset \C\mathbb{P}^n - H</math> [define H] # Define a linear subspace <math display="inline">G \subset \C\mathbb{P}^n</math> of dimension <math display="inline">d - 1</math> # Define a Morse function on <math display="inline">f: \C\mathbb{P}^n \to \R</math> which approximates the distance from <math display="inline">G</math> and such that <math display="inline">f^{-1}(0) = G</math> and <math display="inline">f^{-1}(1) = H</math> # We "build" <math display="inline">X - \mathcal{V}</math> from <math display="inline">\pi^{-1}(G \cap Z) \cap (X - \mathcal{V})</math> by attaching CW complexes at critical points which are of at most dimension <math display="inline">2n - d - 1</math> # At a critical point, the normal Morse data is <math display="inline">(J, K) = \coprod_x (J_x, K_x)</math> and the relative complex link is <math display="inline">\mathcal{L}^\pi = \coprod_x \mathcal{L}_x</math> # We show that the quotient <math display="inline">J_x/K_x</math> is homotopic to a CW complex of dimension <math display="inline">\leq 2n - d - 1</math> # The neighbourhood of <math display="inline">x</math> in <math display="inline">J_x</math> is homeomorphic to the cone in <math display="inline">L_x(X - \mathcal{V})</math>, and removing the point <math display="inline">x</math> increases the homotopy dimension to at most the homotopy dimension of <math display="inline">L_x</math> # <math display="inline">(J_x \cup \{x\}, K_x)</math> is homotopic to <math display="inline">(\text{cone}(\mathcal{L}_x), \mathcal{L}_x)</math> # <math display="inline">\mathcal{L}_x</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math> # The tangential Morse data at the critical point is homotopic to the pair <math display="inline">(D^\lambda, \partial D^\lambda)</math> # Therefore, at each critical point a space has been added homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>. == Morse theory == Steps(?) * Explain topology * Every point of a stratum is locally like a product structure (proved by Thom's Isotopy Lemma) [GM pp. 41-42] ** Including those around critical points, which are the product of normal and tangential Morse data (these are our quasi-local cycles?) * Thom's Isotopy Lemma proves a strong deformation retraction (which only stops at critical points) [PWM pp. 541-542] === Homotopy === We want to replace our domain of convergence <math display="inline">M</math>, which is the complement of our singular variety <math display="inline">\mathcal{V}</math>, with an "equivalent" space <math display="inline">M'</math> which has better understood properties. We say "equivalent" because there are several different things we could mean by "equivalent" in this context. The equivalence we are referring to in this section is called '''homotopy'''. Imagine two subspaces <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> of a space <math display="inline">Y</math> which are defined respectively by smooth functions <math display="inline">f, g: X \to Y</math>. If there exists a smooth function <math display="inline">h_s: X \times [0, 1] \to Y</math>, called a homotopy, such that <math display="inline">h_0 = f</math>, <math display="inline">h_1 = g</math> and for any <math display="inline">\epsilon > 0</math> there exists a <math display="inline">\delta_a</math> and <math display="inline">\delta_b</math> such that when <math display="inline">|s - s_0| < \delta_a</math> and <math display="inline">|x - x_0| < \delta_b</math> we have <math display="inline">|h_s(x) - h_{s_0}(x_0)| < \epsilon</math>, then we say <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are '''homotopic'''.<ref>Henle 1979, pp. 251-252.</ref> Below is an example where <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are one-dimensional curves and <math display="inline">H(t, s) = h_s(t)</math>. [[File:Homotopy_curves.png|300px]] In [[#Homotopy_equivalence|Appendix A]], we formally prove that we can construct an equivalent space <math display="inline">M'</math>. We provide only an example to give some intuition before describing how to construct the space <math display="inline">M'</math> in terms of local cycles around critical points. === Motivating example === Imagine a torus and a height function which is just the z value of the point. [[File:3D-Leveltorus.png|200px]] It has four critical points: two at the top and bottom of the outer circle (<math display="inline">p_1, p_4</math>) and two at the top and bottom of the inner circle (<math display="inline">p_2, p_3</math>). [picture] When the height is between the <math display="inline">p_1</math> and <math display="inline">p_2</math>, the space is a two-cell, which can be retracted to a point. [picture] When the height is between <math display="inline">p_2</math> and <math display="inline">p_3</math>, the space is a cylinder, which can be retracted to a two-cell with a one-cell attached. [[File:3D-Cylinder_and_disk_with_handle.png|200px]] When the height is between <math display="inline">p_3</math> and <math display="inline">p_4</math>, the space is a torus with a disc removed, which can be retracted to a cylinder with a one-cell attached. [[File:3D-Cylinder_with_handle_and_torus_with_hole.png|200px]] When the height is greater than <math display="inline">p_4</math>, then the full torus is constructed by attaching a two-cell. [Explain in terms of Morse data and Morse index?] === Morse data and quasi-local cycles === As in the above example, we start at the "bottom" of <math display="inline">M</math> and build upwards until just before we reach our first critical point <math display="inline">p</math>. ;Smooth points :This is a tube around a <math display="inline">(d-1)</math>-chain <math display="inline">\gamma</math> where the height function <math display="inline">h</math> is maximised at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223.</ref> :For example, if <math display="inline">F(x, y) = \frac{1}{1 - x - y}</math> then <math display="inline">\lambda = 1</math> and <math display="inline">B^\lambda</math> is an arc reaching its highest point at <math display="inline">p</math>. :The normal plane <math display="inline">N</math> at <math display="inline">p</math> is a plane orthogonal to <math display="inline">B^1</math>(?). :Its normal link <math display="inline">L(S)</math> is a circle with two points missing where it intersects <math display="inline">\mathcal{V}</math>. :We make our quasi-local cycle out of the product of the arc and circle joined to <math display="inline">M_-</math> at points below <math display="inline">M_-</math>. :With the exception of degenerate points, such as monkey saddles...<ref>e.g. Pemantle, Wilson and Melczer 2024, pp. 211.</ref> ;Transverse multiple points :This is the product of a <math display="inline">k</math>-torus and a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math>. The torus is the product of circles about <math display="inline">p</math> in the complex normal space to each strata which intersects <math display="inline">p</math>. The chain <math display="inline">\gamma</math> is supported in the stratum which is the common intersection of the varieties defined by the factors vanishing at <math display="inline">p</math>, and achieves its maximum height at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223-224.</ref> ;Arrangement multiple point :This is the product of a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math> and several <math display="inline">k</math>-tori, one for each pair of sheets which intersect transversely, where the torus is the product of circles about <math display="inline">p</math> in each sheet.<ref>Pemantle, Wilson and Melczer 2024, pp. 226.</ref> ;Cone point :A cone point is zero-dimensional so there is no <math display="inline">\gamma</math>, just a <math display="inline">d</math>-torus about <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 227.</ref> == Homology of cell complexes == We have constructed a new space <math display="inline">M'</math> which is homotopic to <math display="inline">M</math>. Our space <math display="inline">M'</math> is a '''cell complex''' or '''CW complex''' with a cell, which we call a '''quasi-local cycle''', around each critical point. We show in [[#Cellular_homology|Appendix B]] that a cell complex which has <math display="inline">k</math> <math display="inline">n</math>-cells has an homology that can be generated by at most <math display="inline">k</math> elements. Therefore, any chain in <math display="inline">M'</math> is homologous to a chain which is the linear combination of at most <math display="inline">k</math> elements. This includes our torus of integration <math display="inline">T</math>, which is homologous to <math display="inline">\sum_i n_i \sigma_i</math>. Two chains which are homologous have the same integral, therefore <math display="block">\frac{1}{(2\pi i)^n} \int_T \frac{f(\zeta) d\zeta}{(\zeta - z)} = \sum_i \frac{n_i}{(2\pi i)^n} \int_{\sigma_i} \frac{f(\zeta) d\zeta}{(\zeta - z)}.</math> In the remaining three chapters we show how, for each <math display="inline">i</math>, we calculate <math display="inline">n_i</math> and asymptotically estimate the integrand around the chain <math display="inline">\sigma_i</math>. == Appendix == === Homotopy equivalence === [Assuming no CVAI...] Theorem: # Homotopy equivalence between M_{\leq a} and M_{\leq b}... # If in a range <math display="inline">[a, b]</math> there are no CVAI and only one critical value <math display="inline">c</math>, not equal to either <math display="inline">a</math> or <math display="inline">b</math>, with one or more critical points <math display="inline">z_1, \cdots, z_m</math> then there is a stratified flow deforming any chain in <math display="inline">M</math> to a (homotopic?) chain in the union of <math display="inline">M_{<c}</math> with sufficiently small balls around each critical point. This induces a homotopy between <math display="inline">(M_{c+\epsilon}, M_{c-\epsilon})</math> and the direct sum of <math display="inline">(M_{c-\epsilon} \cup B_{2\epsilon}(z_i), M_{c-\epsilon})</math> for each critical point <math display="inline">z_i</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 231.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. We can (potentially) define a function to implement this flow. Define <math display="inline">\Phi(x, t)</math> where <math display="inline">x</math> are points in the space and <math display="inline">t</math> is something like time. As <math display="inline">t</math> goes from zero to some positive number, <math display="inline">\Phi</math> moves the points <math display="inline">x</math> along the vectors. To describe this process formally, we say <math display="inline">\Phi</math> is the solution to the differential equation <math display="block">\frac{d}{dt} \Phi(x, t) = v(x).</math> We want a particular vector field <math display="inline">v</math> with certain properties... The proof of the existence of this vector field is long and complicated and we will not go into it here.<ref>It involves concepts such as Thom's isotopy lemma and Mather's controlled vector flows. See Mather 2012.</ref> Using this vector field <math display="inline">v</math> but modified so as to be zero on <math display="inline">M_{\leq a}</math>. This vector field defines a function <math display="inline">\Phi(x, t)</math> such that * <math display="inline">d/dt \Phi(x, t) = v(x)</math> when <math display="inline">h(x) \in (a, b]</math>. * <math display="inline">\Phi(x, t)</math> is defined for <math display="inline">0 \leq t \leq h(x) - a</math> and in this range <math display="inline">h(\Phi(x, t)) = h(x) - t</math>. * the map <math display="inline">\psi(x) = \Phi(x, b - a)</math> is a continuous map on <math display="inline">M_{\leq b}</math> with range (image?) <math display="inline">M_{\leq a}</math> and fixing <math display="inline">M_{\leq a}</math>. The function <math display="inline">\Phi(x, 0)</math> is the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\Phi(x, b - a) = \psi(x)</math>, therefore <math display="inline">\Phi</math> in the range <math display="inline">[0, b - a]</math> is a homotopy between the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\psi</math>. This implies 1)???<ref>Pemantle, Wilson and Melczer 2024, pp. 233.</ref> Define the distance from a critical point <math display="inline">\kappa(x) = \min\{ |x - z_i| : z_1, \cdots, z_m \}</math>. For <math display="inline">s > 0 </math> we define a new vector field <math display="block">v_s(x) = \begin{cases} v(x) & \kappa(x) \geq s \\ \rho(\kappa(x)) v(x) & \kappa(x) \in [s/2, s] \\ 0 & \kappa(x) \leq s/2 \end{cases}</math> for a smooth non-decreasing function <math display="inline">\rho</math> where <math display="inline">\rho(s/2) = 0</math>. Define <math display="inline">\Phi_s</math> as the function such that <math display="inline">d/dt \Phi(x, t)_s = v_s(x)</math>. The height function <math display="inline">h</math> is non-increasing along <math display="inline">\Phi_s</math> (by implication of bullet point 2?) so points in <math display="inline">M_{\leq c-\epsilon}</math> stay in <math display="inline">M_{\leq c - \epsilon}</math> when flowed along <math display="inline">\Phi_s</math> and therefore <math display="inline">\Phi_s</math> is a homotopy equivalence between <math display="inline">(M_{\leq c+\epsilon}, M_{\leq c-\epsilon})</math> and <math display="inline">(\Phi(M_{\leq c+\epsilon}, 2\epsilon), M_{\leq c-\epsilon})</math>. By <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> we mean the space <math display="inline">M_{\leq c+\epsilon}</math> flowed along <math display="inline">\Phi(x, t)</math> for a short period of time <math display="inline">2\epsilon</math>. [Prove it has the same critical points and is proper?] <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> takes points in <math display="inline">M_{\leq c+\epsilon}</math> to <math display="inline">M_{\leq c-\epsilon}</math> except for those that come within <math display="inline">s</math> of a critical point within time <math display="inline">2\epsilon</math>. Therefore, we see how we <math display="inline">\Phi_s</math> can homotopically deform a chain in <math display="inline">M_{\leq c+\epsilon}</math> to a chain in the union of <math display="inline">M_{\leq c-\epsilon}</math> and small neighbourhoods of critical points.<ref>Pemantle, Wilson and Melczer 2024, pp. 234-235.</ref> On the assumption of this theorem, we can start with any chain in <math display="inline">M</math> and deform this chain to <math display="inline">M_{c_1+}</math> using part 1. Then we deform this chain to a chain in the union of <math display="inline">M_{c_1-}</math> and small balls around the critical points. The (sub?)chain in <math display="inline">M_{c_1-}</math> is then deformed to a chain in <math display="inline">M_{c_2+}</math>, which is deformed to a chain in <math display="inline">M_{c_2-} \cup z_{c_2}</math>, and so on. Eventually, we get to <math display="inline">M_{c_j-}</math> which is homotopic to any space "below" it. Therefore, we have deformed our chain in <math display="inline">M</math> to a homotopic chain in the union of small balls around critical points.<ref>Baryshnikov, Melczer and Pemantle 2022, pp. ???.</ref><ref>Pemantle, Wilson and Melczer 2024, pp. 217???</ref> [Direct sum of homology generators for relative cycles] === Cellular homology === [Explain continuous?] A standard <math display="inline">n</math>-simplex <math display="inline">\Delta^n</math> is defined <math display="block">\Delta^n = \{ (t_1, \cdots, t_{n+1}) \in R^{n+1} \mid t_1 + \cdots + t_{n+1} = 1, t_i \geq 0 \}</math> A standard <math display="inline">0</math>-simplex is a point, a <math display="inline">1</math>-simplex a line of length 1, a <math display="inline">2</math>-simplex is a right-angled triangle with two sides of length 1. [picture] For any space <math display="inline">X</math>, a '''singular <math display="inline">n</math>-simplex''' is a continuous function from a standard <math display="inline">n</math>-simplex to our space <math display="inline">X</math>, <math display="inline">\sigma: \Delta^n \to X</math>. For example, the singular <math display="inline">0</math>-simplexes are all points in <math display="inline">X</math> and the singular <math display="inline">1</math>-simplexes are all continuous paths in <math display="inline">X</math>.<ref>Henle 1979, pp. 261.</ref> For any space, there is an uncountably infinite number of <math display="inline">n</math>-simplexes. [picture] An '''<math display="inline">n</math>-chain''' <math display="inline">C_n</math> is a finite sum of <math display="inline">n</math>-simplexes <math display="inline">\sum_i n_i \sigma_i</math> for <math display="inline">n_i \in \Z</math>. [picture] A '''homomorphism''' on chains will take an <math display="inline">n</math>-chain and return an <math display="inline">(n-1)</math>-chain. We can connect a sequence of chains <math display="inline">\cdots, C_{n+1}, C_n, C_{n-1}, \cdots</math> by homomorphisms <math display="inline">\cdots, \alpha_{n+1}, \alpha_n, \cdots</math> in the form <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math>. The '''boundary''' of an <math display="inline">n</math>-simplex is defined by <math display="block">\partial_n(\sigma) = \sum_i (-1)^i \sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> where <math display="inline">\sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> means <math display="inline">\sigma</math> restricted only to the face of <math display="inline">\Delta^n</math> formed by removing the vertex <math display="inline">v_i</math>. So <math display="inline">\partial_n</math> maps faces of <math display="inline">\Delta^n</math> to <math display="inline">X</math>. [picture] The '''boundary''' of an <math display="inline">n</math>-chain <math display="inline">C_n = \sum_i n_i \sigma_i</math> is defined by <math display="block">\partial_n(C_n) = \sum_i n_i \partial_n(\sigma_i).</math> [picture] We can fit this into our diagram above if we let <math display="inline">a_n = \partial_n</math> and draw the diagram <math display="block">\cdots \to C_{n+1} \overset{\partial_{n+1}}{\to} C_n \overset{\partial_n}{\to} C_{n-1} \to \cdots</math> Because <math display="inline">\partial_{n+1} \partial_n = 0</math>, we call this a '''chain complex'''. The '''image''' of <math display="inline">\partial_n</math> (<math display="inline">\mathrm{im}\, \partial_n</math>) is the set of all outputs of <math display="inline">\partial_n(C_n)</math> for all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math>. This is the set of all '''boundaries''' of all possible <math display="inline">n</math>-chains defined in <math display="inline">X</math>. [picture] The '''kernel''' of <math display="inline">\partial_n</math> (<math display="inline">\ker \partial_n</math>) is the set of all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math> such that <math display="inline">\partial_n(C_n) = 0</math>. This is the set of all <math display="inline">n</math>-chains which do not have a boundary, also known as '''<math display="inline">n</math>-cycles'''. [picture] Two <math display="inline">n</math>-cycles are called '''homologous''' if their difference equals the boundary of some <math display="inline">(n+1)</math>-chain. In other words, if <math display="inline">C_n - C_n' \in \mathrm{im}\, \partial_{n+1}</math>. [Example!] Homologous cycles are part of the same '''homology class''' and we write <math display="inline">H_n(X)</math> to denote the set of all such homology classes of <math display="inline">n</math>-cycles in <math display="inline">X</math>. Any <math display="inline">n</math>-cycle in <math display="inline">X</math> is a member of one of these classes. [Representative member?] Because <math display="inline">\partial_n</math> can also be seen as mapping homology classes in <math display="inline">H_n(X)</math> to (a subset of) homology classes in <math display="inline">H_{n-1}(X)</math>, we can diagram <math display="block">\cdots \to H_{n+1}(X) \overset{\partial_{n+1}}{\to} H_n(X) \overset{\partial_n}{\to} H_{n-1}(X) \to \cdots</math>. Imagine a space <math display="inline">(X, A)</math> which is <math display="inline">X</math> with its subspace <math display="inline">A</math> shrunk to a point. In this space, the relative <math display="inline">n</math>-chains <math display="inline">C_n(X, A)</math> are <math display="inline">n</math>-chains in <math display="inline">X</math> after any sub-chains that are in <math display="inline">A</math> are shrunk to a point. This is also referred to as the '''quotient''' <math display="inline">X / A</math> and <math display="inline">C_n(X) / C_n(A)</math>, respectively. Two relative chains are in the same homology class if their difference is a boundary of some <math display="inline">C_{n+1}(X)</math> plus any chain in <math display="inline">C_n(A)</math>. The set of such homology classes is denoted by <math display="inline">H_n(X, A)</math>. [example] A sequence <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math> is called '''exact''' if <math display="inline">\ker \alpha_n = \mathrm{im}\, \alpha_{n+1}</math>. In the case that <math display="inline">\alpha = \partial</math> then this means that the boundary of all <math display="inline">(n+1)</math>-chains are <math display="inline">n</math>-cycles. This has some important properties which we use later. <math display="inline">0 \to A \overset{\alpha}{\to} B \overset{\beta}{\to} C \to 0</math> is exact iff <math display="inline">\alpha</math> is injective, <math display="inline">\beta</math> is surjective and <math display="inline">\ker \beta = \mathrm{im}\, \alpha</math>. One consequence is that <math display="inline">C</math> is isomorphic to <math display="inline">B / \mathrm{im}\, \alpha</math>.<ref>Hatcher 2001, pp. 114.</ref> We prove that we can construct an exact sequence <math display="block">\cdots \to H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A) \overset{i_{n-1}}{\to} H_{n-1}(X) \overset{j_{n-1}}{\to} H_{n-1}(X, A) \to \cdots</math> where <math display="inline">i</math> is the inclusion (and an injection), <math display="inline">j</math> is the quotient map (and a surjection) and <math display="inline">\ker j_n = \mathrm{im}\, i_n</math> [how]. As a consequence, in the below diagram the two rows are exact sequences. [[File:Commutative diagram used in proof of relative exact sequence.png]] The part of the sequence <math display="inline">H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A)</math> is automatic from the definition of <math display="inline">i_n</math> and <math display="inline">j_n</math>. We just need to prove that there exists a <math display="inline">\partial_n</math> which will allow us to do <math display="inline">H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A)</math>. Take a cycle <math display="inline">c \in C_n(X, A)</math>. Since <math display="inline">j</math> is surjective, <math display="inline">c = j_n(b)</math> for at least one <math display="inline">b \in C_n(X)</math> (note that <math display="inline">b</math> may not be unique, but we will show in the next paragraph this is not a problem). This takes us from the top right to the top middle in our diagram. <math display="inline">\partial_n(b)</math> takes us from the top middle to the bottom middle and it is in <math display="inline">\ker j_{n-1}</math> because <math display="inline"></math>. Since the rows are exact, <math display="inline">\ker j_{n-1} = \mathrm{im}\, i_{n-1}</math> and so <math display="inline">\partial_n(b) = i_{n-1}(a)</math> for some <math display="inline">a \in C_{n-1}(A)</math>. <math display="inline">a</math> is unique because <math display="inline">i_{n-1}</math> is injective and this takes us from the bottom middle to the bottom left, as desired. One problem is there may be more than one <math display="inline">b \in C_n(X)</math> for which <math display="inline">j_n(b) = c</math>. Take two <math display="inline">b, b' \in C_n(X)</math> such that <math display="inline">j(b) = j(b') = c</math>. This also means <math display="inline">j(b - b') = j(b) - j(b') = 0</math> and therefore <math display="inline">b - b' \in \ker j_{n-1}</math>. Since <math display="inline">\ker j_{n-1} = \mathrm{im}\,_{n-1}</math>, <math display="inline">b - b' = i(a')</math> for some <math display="inline">a' \in C_{n-1}(A)</math> and <math display="inline">b' = b + i(a')</math>. The effect of replacing <math display="inline">b</math> by <math display="inline">b + i(a')</math> changes <math display="inline">a</math> to an element in the same homology class <math display="inline">a + \partial a'</math> since <math display="inline">i(a + \partial a') = i(a) + i(\partial a') = \partial b + \partial i(a') = \partial(b + i(a'))</math>. Changing <math display="inline">c</math> to a another cycle in the same homology class would be of the form <math display="inline">c + \partial c'</math>. Since <math display="inline">c' = j(b')</math> for some <math display="inline">b'</math>, we have <math display="inline">c + \partial c' = c + \partial j(b') = c + j(\partial b') = j(b + \partial b')</math>, so <math display="inline">b</math> is replaced by <math display="inline">b + \partial b'</math> but <math display="inline">\partial(b + \partial b') = \partial b + \partial \partial b' = \partial b</math>, which leaves <math display="inline">\partial b</math> and <math display="inline">a</math> unchanged.<ref>Hatcher 2001, pp. 116.</ref> We need to prove that it is an exact sequence: # <math display="inline">\mathrm{im}\, i \subset \ker j</math>, since <math display="inline">ji = 0</math> implies <math display="inline">i_* j_* = 0</math>. # <math display="inline">\mathrm{im} \subset \ker \partial</math>, since <math display="inline">j</math> takes cycles to cycles and so <math display="inline">\partial j(b) = 0</math> if <math display="inline">b</math> is a cycle. # <math display="inline">\mathrm{im}\, \partial \subset \ker i</math>, since <math display="inline">i_* \partial = 0</math> since <math display="inline">\partial[c] = [a] = [\partial b] = 0</math>. # <math display="inline">\ker j \subset \mathrm{im}\, i</math>... # <math display="inline">\ker \partial \subset \mathrm{im}\, j</math>... # <math display="inline">\ker i \subset \mathrm{im}\, \partial</math>, since a cycle <math display="inline">a \in C_{n-1}(A)</math> such that <math display="inline">i(a) = \partial b</math> for some <math display="inline">b \in C_n(X)</math>, then <math display="inline">j(b)</math> is a cycle since <math display="inline">\partial j(b) = j(\partial b) = ji(a) = 0</math> and <math display="inline">\partial[j(b)] = [a]</math>.<ref>Hatcher 2001, pp. 117.</ref> [define cell?] To construct a '''cell complex''' (not to be confused with a chain complex): # Start with a set of points (<math display="inline">0</math>-cells). Call this <math display="inline">X^0</math>. # Introduce a set of lines (<math display="inline">1</math>-cells) and attach the two end-points of these lines to the points from step 1. Call this <math display="inline">X^1</math>. # Introduce a set of discs (<math display="inline">2</math>-cells) and attach the boundary of these discs to the lines and/or points from steps 1 and 2. Call this <math display="inline">X^2</math>. # Continue this for higher-dimension cells (potentially up to infinity). [example] Like above, we define a space <math display="inline">(X^n, X^{n-1})</math> which is <math display="inline">X^n</math> with its subspace <math display="inline">X^{n-1}</math> shrunk to a point. In this space, the relative chains <math display="inline">C_n(X^n, X^{n-1})</math> are chains in <math display="inline">X^n</math> after any sub-chains that are in <math display="inline">X^{n-1}</math> are shrunk to a point. Two relative chains are homologous if their difference is a boundary of some <math display="inline">C_{n+1}(X^n)</math> plus any chain in <math display="inline">C_n(X^{n-1})</math>. The set of such equivalence classes is denoted by <math display="inline">H_n(X^n, X^{n-1})</math>. We can prove that the representatives of each class of <math display="inline">H_n(X^n, X^{n-1})</math> is expressed as a linear combination of <math display="inline">n</math>-cells of <math display="inline">X</math>. Take \direct_a H(X_a, a) \to H_n(\cup X / \cup a, \cup a / \cup a) (p 2.22)...<ref>Hatcher 2001, pp. 124, 126, 137.</ref> Therefore, we can see any representative of a class in <math display="inline">H_n(X^n, X^{n-1})</math> as a chain and we can form them into a chain complex by drawing the below diagram, which is the combination of three exact sequences proven above. [[File:Commutative diagram used in proof of cellular chain complex.png|1000px]] The green, blue and red diagonals are different parts of the exact sequence we constructed above. The sequence of <math display="inline">\cdots \to H_n(X^{n+1}, X^n) \to H_n(X^n, X^{n-1}) \to H_n(X^{n-1}, X^{n-2}) \to \cdots</math>, represented by the horizontal row in the above diagram, is a chain complex if <math display="inline">j_n \partial_{n+1} = d_{n+1}</math> because then <math display="inline">d_{n+1} d_n = j_n \partial_{n+1} j_{n-1} \partial_n = \partial_{n+1} \partial_n j_n j_{n-1} = 0</math> because <math display="inline">\partial_{n+1} \partial_n = 0</math>. This chain complex has its own homology group <math display="inline">H_n^{CW}(X)</math> and we can prove is isomorphic to the "normal" homology group of <math display="inline">H_n(X)</math>.<ref>Hatcher 2001, pp. 139.</ref> [explain functions, injections, isomorphisms, etc.] In the above diagram, <math display="inline">H_n(X)</math> is isomorphic to <math display="inline">H_n(X^{n+1})</math> [how?] which is in turn isomorphic to <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> by virtue of it being part of an exact sequence. Both being part of a exact sequences, <math display="inline">j_n</math> and <math display="inline">\partial_{n+1}</math> are injective. <math display="inline">\partial_{n+1}</math> maps each element of <math display="inline">H_{n+1}(X^{n+1}, X^n)</math> to a unique element of <math display="inline">H_n(X^n)</math> which in turn is mapped by <math display="inline">j_n</math> to a unique element of <math display="inline">H_n(X^n, X^{n-1})</math>. Therefore, <math display="inline">\mathrm{im}\, \partial_{n+1}</math> is mapped isomorphically onto <math display="inline">\mathrm{im}\,(j_n \partial_{n+1}) = \mathrm{im}\, d_{n+1}</math>. Trivially, <math display="inline">j_n</math> maps <math display="inline">H_n(X^n)</math> isomorphically onto its own image, therefore <math display="inline">\mathrm{im}\, j_n = \ker \partial_n</math>. Since <math display="inline">j_{n-1}</math> is also injective by virtue of being an exact sequence, the zero element of <math display="inline">H_{n-1}(X^{n-1})</math> is mapped to the zero element of <math display="inline">H_{n-1}(X^{n-1}, X^{n-2})</math> and, being injective, no other element is. Therefore, <math display="inline">\ker \partial_n = \ker d_n</math>. Putting this all together we get <math display="inline">j_n</math> induces an isomorphism between <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> and <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 139-140.</ref> Because we saw above that <math display="inline">H_n(X^n, X^{n-1})</math> is generated by linear combinations of <math display="inline">n</math>-cells then any subgroup must be generated by a subset of these same cells and so is <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 140.</ref> TODO: # Finish the two proofs above (exact sequences and good pairs) ## Explain inclusion and quotient map # Draw lots of diagrams # Come up with lots of examples # Restructure, with lots more signposting/up-fronting of theorems (perhaps move this whole section to its own chapter) == Notes == {{Reflist}} == References == * {{citation | last1=Baryshnikov | first1=Yuliy | last2=Melczer | first2=Stephen | last3=Pemantle | first3=Robin | title=Stationary Points at Infinity for Analytic Combinatorics | year=2022 | journal=Foundations of Computational Mathematics | volume=22 | number=5 | pages=1631-1664 | url=https://www2.math.upenn.edu/~pemantle/papers/SPAI-published-version.pdf }}. * {{cite book | last=Hatcher | first1=Allen | title=Algebraic Topology | publisher=Cambridge University Press | year=2001 | url=https://pi.math.cornell.edu/~hatcher/AT/AT+.pdf }} * {{cite book | last=Henle | first1=Michael | title=A Combinatorial Introduction to Topology | publisher=Dover Publications Inc. New York | year=1979 }} * {{citation | last=Mather | first=John | title=Notes on Topological Stability | year=2012 | journal=Bulletin of the American Mathematical Society | volume=49 | number=4 | pages=475-506 | url=https://www.ams.org/journals/bull/2012-49-04/S0273-0979-2012-01383-6/S0273-0979-2012-01383-6.pdf }}. * {{cite book | last1=Pemantle | first1=Robin | last2=Wilson | first2=Mark C. | last3=Melczer | first3=Stephen | title=Analytic Combinatorics in Several Variables | publisher=Cambridge University Press | year=2024 | edition=2nd | url=https://acsvproject.com/PemantleWilsonMelczer23.pdf }} 2gowxxhpfymvhizlz3qdl8hlj77cphn 4657022 4657002 2026-08-10T11:10:23Z Dom walden 3209423 /* Introduction */ 4657022 wikitext text/x-wiki == Introduction == Morse theory tells us that the topology of M only changes at its critical points. The "Morse data" tells us the topology at each critical point. Attaching this Morse data together gives us a space which is homopotically eqivalent to M. This space is a "cell complex", which has an easy to calculate homology. Theorem: Our domain of convergence is homotopic to a cell complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>This is theorem D.23 in Pemantle, Wilson and Melczer 2024, pp. 546. Also theorem in section 1.2*/5.2* in SMT pp. 200.</ref> Proof: # <math display="inline">X</math> is our entire domain, <math display="inline">\mathcal{V}</math> our variety # Project our entire domain to complex projective space <math display="inline">Z = \pi(X) \subset \C\mathbb{P}^n - H</math> [define H] # Define a linear subspace <math display="inline">G \subset \C\mathbb{P}^n</math> of dimension <math display="inline">d - 1</math> # Define a Morse function on <math display="inline">f: \C\mathbb{P}^n \to \R</math> which approximates the distance from <math display="inline">G</math> and such that <math display="inline">f^{-1}(0) = G</math> and <math display="inline">f^{-1}(1) = H</math> # We "build" <math display="inline">X - \mathcal{V}</math> from <math display="inline">\pi^{-1}(G \cap Z) \cap (X - \mathcal{V})</math> by attaching CW complexes at critical points which are of at most dimension <math display="inline">2n - d - 1</math> # At a critical point, the normal Morse data is <math display="inline">(J, K) = \coprod_x (J_x, K_x)</math> and the relative complex link is <math display="inline">\mathcal{L}^\pi = \coprod_x \mathcal{L}_x</math> # We show that the quotient <math display="inline">J_x/K_x</math> is homotopic to a CW complex of dimension <math display="inline">\leq 2n - d - 1</math> # The neighbourhood of <math display="inline">x</math> in <math display="inline">J_x</math> is homeomorphic to the cone in <math display="inline">L_x(X - \mathcal{V})</math>, and removing the point <math display="inline">x</math> increases the homotopy dimension to at most the homotopy dimension of <math display="inline">L_x</math> # <math display="inline">(J_x \cup \{x\}, K_x)</math> is homotopic to <math display="inline">(\text{cone}(\mathcal{L}_x), \mathcal{L}_x)</math> # <math display="inline">\mathcal{L}_x</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math> # The tangential Morse data at the critical point is homotopic to the pair <math display="inline">(D^\lambda, \partial D^\lambda)</math> # Therefore, at each critical point a space has been added homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>. Theorem: If <math display="inline">X</math> is the complement in <math display="inline">\C^n</math> of a complex variety <math display="inline">\mathcal{V}</math> of dimension <math display="inline">d</math> then <math display="inline">X</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 546.</ref> Proof: # We build <math display="inline">X</math> by attaching cells of dimension at most <math display="inline">2n - d - 1</math> at each critical point. ## These cells are a product of the normal and tangential Morse data. ## We use Thom's Isotopy Lemma to prove that there is a strong deformation retraction, stopping only at critical points. # <math display="inline">k</math> is the dimension of the strata. # If <math display="inline">k = d</math> then it is a smooth point and the cell is the product of <math display="inline">S^{2(n-d)-1}</math> and the tangential data is dimension at most <math display="inline">d</math>. # If <math display="inline">k < d</math>, ... <ref>Pemantle, Wilson and Melczer 2024, pp. 547.</ref> == Morse theory == Steps(?) * Explain topology * Every point of a stratum is locally like a product structure (proved by Thom's Isotopy Lemma) [GM pp. 41-42] ** Including those around critical points, which are the product of normal and tangential Morse data (these are our quasi-local cycles?) * Thom's Isotopy Lemma proves a strong deformation retraction (which only stops at critical points) [PWM pp. 541-542] === Homotopy === We want to replace our domain of convergence <math display="inline">M</math>, which is the complement of our singular variety <math display="inline">\mathcal{V}</math>, with an "equivalent" space <math display="inline">M'</math> which has better understood properties. We say "equivalent" because there are several different things we could mean by "equivalent" in this context. The equivalence we are referring to in this section is called '''homotopy'''. Imagine two subspaces <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> of a space <math display="inline">Y</math> which are defined respectively by smooth functions <math display="inline">f, g: X \to Y</math>. If there exists a smooth function <math display="inline">h_s: X \times [0, 1] \to Y</math>, called a homotopy, such that <math display="inline">h_0 = f</math>, <math display="inline">h_1 = g</math> and for any <math display="inline">\epsilon > 0</math> there exists a <math display="inline">\delta_a</math> and <math display="inline">\delta_b</math> such that when <math display="inline">|s - s_0| < \delta_a</math> and <math display="inline">|x - x_0| < \delta_b</math> we have <math display="inline">|h_s(x) - h_{s_0}(x_0)| < \epsilon</math>, then we say <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are '''homotopic'''.<ref>Henle 1979, pp. 251-252.</ref> Below is an example where <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are one-dimensional curves and <math display="inline">H(t, s) = h_s(t)</math>. [[File:Homotopy_curves.png|300px]] In [[#Homotopy_equivalence|Appendix A]], we formally prove that we can construct an equivalent space <math display="inline">M'</math>. We provide only an example to give some intuition before describing how to construct the space <math display="inline">M'</math> in terms of local cycles around critical points. === Motivating example === Imagine a torus and a height function which is just the z value of the point. [[File:3D-Leveltorus.png|200px]] It has four critical points: two at the top and bottom of the outer circle (<math display="inline">p_1, p_4</math>) and two at the top and bottom of the inner circle (<math display="inline">p_2, p_3</math>). [picture] When the height is between the <math display="inline">p_1</math> and <math display="inline">p_2</math>, the space is a two-cell, which can be retracted to a point. [picture] When the height is between <math display="inline">p_2</math> and <math display="inline">p_3</math>, the space is a cylinder, which can be retracted to a two-cell with a one-cell attached. [[File:3D-Cylinder_and_disk_with_handle.png|200px]] When the height is between <math display="inline">p_3</math> and <math display="inline">p_4</math>, the space is a torus with a disc removed, which can be retracted to a cylinder with a one-cell attached. [[File:3D-Cylinder_with_handle_and_torus_with_hole.png|200px]] When the height is greater than <math display="inline">p_4</math>, then the full torus is constructed by attaching a two-cell. [Explain in terms of Morse data and Morse index?] === Morse data and quasi-local cycles === As in the above example, we start at the "bottom" of <math display="inline">M</math> and build upwards until just before we reach our first critical point <math display="inline">p</math>. ;Smooth points :This is a tube around a <math display="inline">(d-1)</math>-chain <math display="inline">\gamma</math> where the height function <math display="inline">h</math> is maximised at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223.</ref> :For example, if <math display="inline">F(x, y) = \frac{1}{1 - x - y}</math> then <math display="inline">\lambda = 1</math> and <math display="inline">B^\lambda</math> is an arc reaching its highest point at <math display="inline">p</math>. :The normal plane <math display="inline">N</math> at <math display="inline">p</math> is a plane orthogonal to <math display="inline">B^1</math>(?). :Its normal link <math display="inline">L(S)</math> is a circle with two points missing where it intersects <math display="inline">\mathcal{V}</math>. :We make our quasi-local cycle out of the product of the arc and circle joined to <math display="inline">M_-</math> at points below <math display="inline">M_-</math>. :With the exception of degenerate points, such as monkey saddles...<ref>e.g. Pemantle, Wilson and Melczer 2024, pp. 211.</ref> ;Transverse multiple points :This is the product of a <math display="inline">k</math>-torus and a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math>. The torus is the product of circles about <math display="inline">p</math> in the complex normal space to each strata which intersects <math display="inline">p</math>. The chain <math display="inline">\gamma</math> is supported in the stratum which is the common intersection of the varieties defined by the factors vanishing at <math display="inline">p</math>, and achieves its maximum height at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223-224.</ref> ;Arrangement multiple point :This is the product of a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math> and several <math display="inline">k</math>-tori, one for each pair of sheets which intersect transversely, where the torus is the product of circles about <math display="inline">p</math> in each sheet.<ref>Pemantle, Wilson and Melczer 2024, pp. 226.</ref> ;Cone point :A cone point is zero-dimensional so there is no <math display="inline">\gamma</math>, just a <math display="inline">d</math>-torus about <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 227.</ref> == Homology of cell complexes == We have constructed a new space <math display="inline">M'</math> which is homotopic to <math display="inline">M</math>. Our space <math display="inline">M'</math> is a '''cell complex''' or '''CW complex''' with a cell, which we call a '''quasi-local cycle''', around each critical point. We show in [[#Cellular_homology|Appendix B]] that a cell complex which has <math display="inline">k</math> <math display="inline">n</math>-cells has an homology that can be generated by at most <math display="inline">k</math> elements. Therefore, any chain in <math display="inline">M'</math> is homologous to a chain which is the linear combination of at most <math display="inline">k</math> elements. This includes our torus of integration <math display="inline">T</math>, which is homologous to <math display="inline">\sum_i n_i \sigma_i</math>. Two chains which are homologous have the same integral, therefore <math display="block">\frac{1}{(2\pi i)^n} \int_T \frac{f(\zeta) d\zeta}{(\zeta - z)} = \sum_i \frac{n_i}{(2\pi i)^n} \int_{\sigma_i} \frac{f(\zeta) d\zeta}{(\zeta - z)}.</math> In the remaining three chapters we show how, for each <math display="inline">i</math>, we calculate <math display="inline">n_i</math> and asymptotically estimate the integrand around the chain <math display="inline">\sigma_i</math>. == Appendix == === Homotopy equivalence === [Assuming no CVAI...] Theorem: # Homotopy equivalence between M_{\leq a} and M_{\leq b}... # If in a range <math display="inline">[a, b]</math> there are no CVAI and only one critical value <math display="inline">c</math>, not equal to either <math display="inline">a</math> or <math display="inline">b</math>, with one or more critical points <math display="inline">z_1, \cdots, z_m</math> then there is a stratified flow deforming any chain in <math display="inline">M</math> to a (homotopic?) chain in the union of <math display="inline">M_{<c}</math> with sufficiently small balls around each critical point. This induces a homotopy between <math display="inline">(M_{c+\epsilon}, M_{c-\epsilon})</math> and the direct sum of <math display="inline">(M_{c-\epsilon} \cup B_{2\epsilon}(z_i), M_{c-\epsilon})</math> for each critical point <math display="inline">z_i</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 231.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. We can (potentially) define a function to implement this flow. Define <math display="inline">\Phi(x, t)</math> where <math display="inline">x</math> are points in the space and <math display="inline">t</math> is something like time. As <math display="inline">t</math> goes from zero to some positive number, <math display="inline">\Phi</math> moves the points <math display="inline">x</math> along the vectors. To describe this process formally, we say <math display="inline">\Phi</math> is the solution to the differential equation <math display="block">\frac{d}{dt} \Phi(x, t) = v(x).</math> We want a particular vector field <math display="inline">v</math> with certain properties... The proof of the existence of this vector field is long and complicated and we will not go into it here.<ref>It involves concepts such as Thom's isotopy lemma and Mather's controlled vector flows. See Mather 2012.</ref> Using this vector field <math display="inline">v</math> but modified so as to be zero on <math display="inline">M_{\leq a}</math>. This vector field defines a function <math display="inline">\Phi(x, t)</math> such that * <math display="inline">d/dt \Phi(x, t) = v(x)</math> when <math display="inline">h(x) \in (a, b]</math>. * <math display="inline">\Phi(x, t)</math> is defined for <math display="inline">0 \leq t \leq h(x) - a</math> and in this range <math display="inline">h(\Phi(x, t)) = h(x) - t</math>. * the map <math display="inline">\psi(x) = \Phi(x, b - a)</math> is a continuous map on <math display="inline">M_{\leq b}</math> with range (image?) <math display="inline">M_{\leq a}</math> and fixing <math display="inline">M_{\leq a}</math>. The function <math display="inline">\Phi(x, 0)</math> is the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\Phi(x, b - a) = \psi(x)</math>, therefore <math display="inline">\Phi</math> in the range <math display="inline">[0, b - a]</math> is a homotopy between the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\psi</math>. This implies 1)???<ref>Pemantle, Wilson and Melczer 2024, pp. 233.</ref> Define the distance from a critical point <math display="inline">\kappa(x) = \min\{ |x - z_i| : z_1, \cdots, z_m \}</math>. For <math display="inline">s > 0 </math> we define a new vector field <math display="block">v_s(x) = \begin{cases} v(x) & \kappa(x) \geq s \\ \rho(\kappa(x)) v(x) & \kappa(x) \in [s/2, s] \\ 0 & \kappa(x) \leq s/2 \end{cases}</math> for a smooth non-decreasing function <math display="inline">\rho</math> where <math display="inline">\rho(s/2) = 0</math>. Define <math display="inline">\Phi_s</math> as the function such that <math display="inline">d/dt \Phi(x, t)_s = v_s(x)</math>. The height function <math display="inline">h</math> is non-increasing along <math display="inline">\Phi_s</math> (by implication of bullet point 2?) so points in <math display="inline">M_{\leq c-\epsilon}</math> stay in <math display="inline">M_{\leq c - \epsilon}</math> when flowed along <math display="inline">\Phi_s</math> and therefore <math display="inline">\Phi_s</math> is a homotopy equivalence between <math display="inline">(M_{\leq c+\epsilon}, M_{\leq c-\epsilon})</math> and <math display="inline">(\Phi(M_{\leq c+\epsilon}, 2\epsilon), M_{\leq c-\epsilon})</math>. By <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> we mean the space <math display="inline">M_{\leq c+\epsilon}</math> flowed along <math display="inline">\Phi(x, t)</math> for a short period of time <math display="inline">2\epsilon</math>. [Prove it has the same critical points and is proper?] <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> takes points in <math display="inline">M_{\leq c+\epsilon}</math> to <math display="inline">M_{\leq c-\epsilon}</math> except for those that come within <math display="inline">s</math> of a critical point within time <math display="inline">2\epsilon</math>. Therefore, we see how we <math display="inline">\Phi_s</math> can homotopically deform a chain in <math display="inline">M_{\leq c+\epsilon}</math> to a chain in the union of <math display="inline">M_{\leq c-\epsilon}</math> and small neighbourhoods of critical points.<ref>Pemantle, Wilson and Melczer 2024, pp. 234-235.</ref> On the assumption of this theorem, we can start with any chain in <math display="inline">M</math> and deform this chain to <math display="inline">M_{c_1+}</math> using part 1. Then we deform this chain to a chain in the union of <math display="inline">M_{c_1-}</math> and small balls around the critical points. The (sub?)chain in <math display="inline">M_{c_1-}</math> is then deformed to a chain in <math display="inline">M_{c_2+}</math>, which is deformed to a chain in <math display="inline">M_{c_2-} \cup z_{c_2}</math>, and so on. Eventually, we get to <math display="inline">M_{c_j-}</math> which is homotopic to any space "below" it. Therefore, we have deformed our chain in <math display="inline">M</math> to a homotopic chain in the union of small balls around critical points.<ref>Baryshnikov, Melczer and Pemantle 2022, pp. ???.</ref><ref>Pemantle, Wilson and Melczer 2024, pp. 217???</ref> [Direct sum of homology generators for relative cycles] === Cellular homology === [Explain continuous?] A standard <math display="inline">n</math>-simplex <math display="inline">\Delta^n</math> is defined <math display="block">\Delta^n = \{ (t_1, \cdots, t_{n+1}) \in R^{n+1} \mid t_1 + \cdots + t_{n+1} = 1, t_i \geq 0 \}</math> A standard <math display="inline">0</math>-simplex is a point, a <math display="inline">1</math>-simplex a line of length 1, a <math display="inline">2</math>-simplex is a right-angled triangle with two sides of length 1. [picture] For any space <math display="inline">X</math>, a '''singular <math display="inline">n</math>-simplex''' is a continuous function from a standard <math display="inline">n</math>-simplex to our space <math display="inline">X</math>, <math display="inline">\sigma: \Delta^n \to X</math>. For example, the singular <math display="inline">0</math>-simplexes are all points in <math display="inline">X</math> and the singular <math display="inline">1</math>-simplexes are all continuous paths in <math display="inline">X</math>.<ref>Henle 1979, pp. 261.</ref> For any space, there is an uncountably infinite number of <math display="inline">n</math>-simplexes. [picture] An '''<math display="inline">n</math>-chain''' <math display="inline">C_n</math> is a finite sum of <math display="inline">n</math>-simplexes <math display="inline">\sum_i n_i \sigma_i</math> for <math display="inline">n_i \in \Z</math>. [picture] A '''homomorphism''' on chains will take an <math display="inline">n</math>-chain and return an <math display="inline">(n-1)</math>-chain. We can connect a sequence of chains <math display="inline">\cdots, C_{n+1}, C_n, C_{n-1}, \cdots</math> by homomorphisms <math display="inline">\cdots, \alpha_{n+1}, \alpha_n, \cdots</math> in the form <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math>. The '''boundary''' of an <math display="inline">n</math>-simplex is defined by <math display="block">\partial_n(\sigma) = \sum_i (-1)^i \sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> where <math display="inline">\sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> means <math display="inline">\sigma</math> restricted only to the face of <math display="inline">\Delta^n</math> formed by removing the vertex <math display="inline">v_i</math>. So <math display="inline">\partial_n</math> maps faces of <math display="inline">\Delta^n</math> to <math display="inline">X</math>. [picture] The '''boundary''' of an <math display="inline">n</math>-chain <math display="inline">C_n = \sum_i n_i \sigma_i</math> is defined by <math display="block">\partial_n(C_n) = \sum_i n_i \partial_n(\sigma_i).</math> [picture] We can fit this into our diagram above if we let <math display="inline">a_n = \partial_n</math> and draw the diagram <math display="block">\cdots \to C_{n+1} \overset{\partial_{n+1}}{\to} C_n \overset{\partial_n}{\to} C_{n-1} \to \cdots</math> Because <math display="inline">\partial_{n+1} \partial_n = 0</math>, we call this a '''chain complex'''. The '''image''' of <math display="inline">\partial_n</math> (<math display="inline">\mathrm{im}\, \partial_n</math>) is the set of all outputs of <math display="inline">\partial_n(C_n)</math> for all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math>. This is the set of all '''boundaries''' of all possible <math display="inline">n</math>-chains defined in <math display="inline">X</math>. [picture] The '''kernel''' of <math display="inline">\partial_n</math> (<math display="inline">\ker \partial_n</math>) is the set of all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math> such that <math display="inline">\partial_n(C_n) = 0</math>. This is the set of all <math display="inline">n</math>-chains which do not have a boundary, also known as '''<math display="inline">n</math>-cycles'''. [picture] Two <math display="inline">n</math>-cycles are called '''homologous''' if their difference equals the boundary of some <math display="inline">(n+1)</math>-chain. In other words, if <math display="inline">C_n - C_n' \in \mathrm{im}\, \partial_{n+1}</math>. [Example!] Homologous cycles are part of the same '''homology class''' and we write <math display="inline">H_n(X)</math> to denote the set of all such homology classes of <math display="inline">n</math>-cycles in <math display="inline">X</math>. Any <math display="inline">n</math>-cycle in <math display="inline">X</math> is a member of one of these classes. [Representative member?] Because <math display="inline">\partial_n</math> can also be seen as mapping homology classes in <math display="inline">H_n(X)</math> to (a subset of) homology classes in <math display="inline">H_{n-1}(X)</math>, we can diagram <math display="block">\cdots \to H_{n+1}(X) \overset{\partial_{n+1}}{\to} H_n(X) \overset{\partial_n}{\to} H_{n-1}(X) \to \cdots</math>. Imagine a space <math display="inline">(X, A)</math> which is <math display="inline">X</math> with its subspace <math display="inline">A</math> shrunk to a point. In this space, the relative <math display="inline">n</math>-chains <math display="inline">C_n(X, A)</math> are <math display="inline">n</math>-chains in <math display="inline">X</math> after any sub-chains that are in <math display="inline">A</math> are shrunk to a point. This is also referred to as the '''quotient''' <math display="inline">X / A</math> and <math display="inline">C_n(X) / C_n(A)</math>, respectively. Two relative chains are in the same homology class if their difference is a boundary of some <math display="inline">C_{n+1}(X)</math> plus any chain in <math display="inline">C_n(A)</math>. The set of such homology classes is denoted by <math display="inline">H_n(X, A)</math>. [example] A sequence <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math> is called '''exact''' if <math display="inline">\ker \alpha_n = \mathrm{im}\, \alpha_{n+1}</math>. In the case that <math display="inline">\alpha = \partial</math> then this means that the boundary of all <math display="inline">(n+1)</math>-chains are <math display="inline">n</math>-cycles. This has some important properties which we use later. <math display="inline">0 \to A \overset{\alpha}{\to} B \overset{\beta}{\to} C \to 0</math> is exact iff <math display="inline">\alpha</math> is injective, <math display="inline">\beta</math> is surjective and <math display="inline">\ker \beta = \mathrm{im}\, \alpha</math>. One consequence is that <math display="inline">C</math> is isomorphic to <math display="inline">B / \mathrm{im}\, \alpha</math>.<ref>Hatcher 2001, pp. 114.</ref> We prove that we can construct an exact sequence <math display="block">\cdots \to H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A) \overset{i_{n-1}}{\to} H_{n-1}(X) \overset{j_{n-1}}{\to} H_{n-1}(X, A) \to \cdots</math> where <math display="inline">i</math> is the inclusion (and an injection), <math display="inline">j</math> is the quotient map (and a surjection) and <math display="inline">\ker j_n = \mathrm{im}\, i_n</math> [how]. As a consequence, in the below diagram the two rows are exact sequences. [[File:Commutative diagram used in proof of relative exact sequence.png]] The part of the sequence <math display="inline">H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A)</math> is automatic from the definition of <math display="inline">i_n</math> and <math display="inline">j_n</math>. We just need to prove that there exists a <math display="inline">\partial_n</math> which will allow us to do <math display="inline">H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A)</math>. Take a cycle <math display="inline">c \in C_n(X, A)</math>. Since <math display="inline">j</math> is surjective, <math display="inline">c = j_n(b)</math> for at least one <math display="inline">b \in C_n(X)</math> (note that <math display="inline">b</math> may not be unique, but we will show in the next paragraph this is not a problem). This takes us from the top right to the top middle in our diagram. <math display="inline">\partial_n(b)</math> takes us from the top middle to the bottom middle and it is in <math display="inline">\ker j_{n-1}</math> because <math display="inline"></math>. Since the rows are exact, <math display="inline">\ker j_{n-1} = \mathrm{im}\, i_{n-1}</math> and so <math display="inline">\partial_n(b) = i_{n-1}(a)</math> for some <math display="inline">a \in C_{n-1}(A)</math>. <math display="inline">a</math> is unique because <math display="inline">i_{n-1}</math> is injective and this takes us from the bottom middle to the bottom left, as desired. One problem is there may be more than one <math display="inline">b \in C_n(X)</math> for which <math display="inline">j_n(b) = c</math>. Take two <math display="inline">b, b' \in C_n(X)</math> such that <math display="inline">j(b) = j(b') = c</math>. This also means <math display="inline">j(b - b') = j(b) - j(b') = 0</math> and therefore <math display="inline">b - b' \in \ker j_{n-1}</math>. Since <math display="inline">\ker j_{n-1} = \mathrm{im}\,_{n-1}</math>, <math display="inline">b - b' = i(a')</math> for some <math display="inline">a' \in C_{n-1}(A)</math> and <math display="inline">b' = b + i(a')</math>. The effect of replacing <math display="inline">b</math> by <math display="inline">b + i(a')</math> changes <math display="inline">a</math> to an element in the same homology class <math display="inline">a + \partial a'</math> since <math display="inline">i(a + \partial a') = i(a) + i(\partial a') = \partial b + \partial i(a') = \partial(b + i(a'))</math>. Changing <math display="inline">c</math> to a another cycle in the same homology class would be of the form <math display="inline">c + \partial c'</math>. Since <math display="inline">c' = j(b')</math> for some <math display="inline">b'</math>, we have <math display="inline">c + \partial c' = c + \partial j(b') = c + j(\partial b') = j(b + \partial b')</math>, so <math display="inline">b</math> is replaced by <math display="inline">b + \partial b'</math> but <math display="inline">\partial(b + \partial b') = \partial b + \partial \partial b' = \partial b</math>, which leaves <math display="inline">\partial b</math> and <math display="inline">a</math> unchanged.<ref>Hatcher 2001, pp. 116.</ref> We need to prove that it is an exact sequence: # <math display="inline">\mathrm{im}\, i \subset \ker j</math>, since <math display="inline">ji = 0</math> implies <math display="inline">i_* j_* = 0</math>. # <math display="inline">\mathrm{im} \subset \ker \partial</math>, since <math display="inline">j</math> takes cycles to cycles and so <math display="inline">\partial j(b) = 0</math> if <math display="inline">b</math> is a cycle. # <math display="inline">\mathrm{im}\, \partial \subset \ker i</math>, since <math display="inline">i_* \partial = 0</math> since <math display="inline">\partial[c] = [a] = [\partial b] = 0</math>. # <math display="inline">\ker j \subset \mathrm{im}\, i</math>... # <math display="inline">\ker \partial \subset \mathrm{im}\, j</math>... # <math display="inline">\ker i \subset \mathrm{im}\, \partial</math>, since a cycle <math display="inline">a \in C_{n-1}(A)</math> such that <math display="inline">i(a) = \partial b</math> for some <math display="inline">b \in C_n(X)</math>, then <math display="inline">j(b)</math> is a cycle since <math display="inline">\partial j(b) = j(\partial b) = ji(a) = 0</math> and <math display="inline">\partial[j(b)] = [a]</math>.<ref>Hatcher 2001, pp. 117.</ref> [define cell?] To construct a '''cell complex''' (not to be confused with a chain complex): # Start with a set of points (<math display="inline">0</math>-cells). Call this <math display="inline">X^0</math>. # Introduce a set of lines (<math display="inline">1</math>-cells) and attach the two end-points of these lines to the points from step 1. Call this <math display="inline">X^1</math>. # Introduce a set of discs (<math display="inline">2</math>-cells) and attach the boundary of these discs to the lines and/or points from steps 1 and 2. Call this <math display="inline">X^2</math>. # Continue this for higher-dimension cells (potentially up to infinity). [example] Like above, we define a space <math display="inline">(X^n, X^{n-1})</math> which is <math display="inline">X^n</math> with its subspace <math display="inline">X^{n-1}</math> shrunk to a point. In this space, the relative chains <math display="inline">C_n(X^n, X^{n-1})</math> are chains in <math display="inline">X^n</math> after any sub-chains that are in <math display="inline">X^{n-1}</math> are shrunk to a point. Two relative chains are homologous if their difference is a boundary of some <math display="inline">C_{n+1}(X^n)</math> plus any chain in <math display="inline">C_n(X^{n-1})</math>. The set of such equivalence classes is denoted by <math display="inline">H_n(X^n, X^{n-1})</math>. We can prove that the representatives of each class of <math display="inline">H_n(X^n, X^{n-1})</math> is expressed as a linear combination of <math display="inline">n</math>-cells of <math display="inline">X</math>. Take \direct_a H(X_a, a) \to H_n(\cup X / \cup a, \cup a / \cup a) (p 2.22)...<ref>Hatcher 2001, pp. 124, 126, 137.</ref> Therefore, we can see any representative of a class in <math display="inline">H_n(X^n, X^{n-1})</math> as a chain and we can form them into a chain complex by drawing the below diagram, which is the combination of three exact sequences proven above. [[File:Commutative diagram used in proof of cellular chain complex.png|1000px]] The green, blue and red diagonals are different parts of the exact sequence we constructed above. The sequence of <math display="inline">\cdots \to H_n(X^{n+1}, X^n) \to H_n(X^n, X^{n-1}) \to H_n(X^{n-1}, X^{n-2}) \to \cdots</math>, represented by the horizontal row in the above diagram, is a chain complex if <math display="inline">j_n \partial_{n+1} = d_{n+1}</math> because then <math display="inline">d_{n+1} d_n = j_n \partial_{n+1} j_{n-1} \partial_n = \partial_{n+1} \partial_n j_n j_{n-1} = 0</math> because <math display="inline">\partial_{n+1} \partial_n = 0</math>. This chain complex has its own homology group <math display="inline">H_n^{CW}(X)</math> and we can prove is isomorphic to the "normal" homology group of <math display="inline">H_n(X)</math>.<ref>Hatcher 2001, pp. 139.</ref> [explain functions, injections, isomorphisms, etc.] In the above diagram, <math display="inline">H_n(X)</math> is isomorphic to <math display="inline">H_n(X^{n+1})</math> [how?] which is in turn isomorphic to <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> by virtue of it being part of an exact sequence. Both being part of a exact sequences, <math display="inline">j_n</math> and <math display="inline">\partial_{n+1}</math> are injective. <math display="inline">\partial_{n+1}</math> maps each element of <math display="inline">H_{n+1}(X^{n+1}, X^n)</math> to a unique element of <math display="inline">H_n(X^n)</math> which in turn is mapped by <math display="inline">j_n</math> to a unique element of <math display="inline">H_n(X^n, X^{n-1})</math>. Therefore, <math display="inline">\mathrm{im}\, \partial_{n+1}</math> is mapped isomorphically onto <math display="inline">\mathrm{im}\,(j_n \partial_{n+1}) = \mathrm{im}\, d_{n+1}</math>. Trivially, <math display="inline">j_n</math> maps <math display="inline">H_n(X^n)</math> isomorphically onto its own image, therefore <math display="inline">\mathrm{im}\, j_n = \ker \partial_n</math>. Since <math display="inline">j_{n-1}</math> is also injective by virtue of being an exact sequence, the zero element of <math display="inline">H_{n-1}(X^{n-1})</math> is mapped to the zero element of <math display="inline">H_{n-1}(X^{n-1}, X^{n-2})</math> and, being injective, no other element is. Therefore, <math display="inline">\ker \partial_n = \ker d_n</math>. Putting this all together we get <math display="inline">j_n</math> induces an isomorphism between <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> and <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 139-140.</ref> Because we saw above that <math display="inline">H_n(X^n, X^{n-1})</math> is generated by linear combinations of <math display="inline">n</math>-cells then any subgroup must be generated by a subset of these same cells and so is <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 140.</ref> TODO: # Finish the two proofs above (exact sequences and good pairs) ## Explain inclusion and quotient map # Draw lots of diagrams # Come up with lots of examples # Restructure, with lots more signposting/up-fronting of theorems (perhaps move this whole section to its own chapter) == Notes == {{Reflist}} == References == * {{citation | last1=Baryshnikov | first1=Yuliy | last2=Melczer | first2=Stephen | last3=Pemantle | first3=Robin | title=Stationary Points at Infinity for Analytic Combinatorics | year=2022 | journal=Foundations of Computational Mathematics | volume=22 | number=5 | pages=1631-1664 | url=https://www2.math.upenn.edu/~pemantle/papers/SPAI-published-version.pdf }}. * {{cite book | last=Hatcher | first1=Allen | title=Algebraic Topology | publisher=Cambridge University Press | year=2001 | url=https://pi.math.cornell.edu/~hatcher/AT/AT+.pdf }} * {{cite book | last=Henle | first1=Michael | title=A Combinatorial Introduction to Topology | publisher=Dover Publications Inc. New York | year=1979 }} * {{citation | last=Mather | first=John | title=Notes on Topological Stability | year=2012 | journal=Bulletin of the American Mathematical Society | volume=49 | number=4 | pages=475-506 | url=https://www.ams.org/journals/bull/2012-49-04/S0273-0979-2012-01383-6/S0273-0979-2012-01383-6.pdf }}. * {{cite book | last1=Pemantle | first1=Robin | last2=Wilson | first2=Mark C. | last3=Melczer | first3=Stephen | title=Analytic Combinatorics in Several Variables | publisher=Cambridge University Press | year=2024 | edition=2nd | url=https://acsvproject.com/PemantleWilsonMelczer23.pdf }} bsk7mjibx3b5916av5uxfgr7yl4dt7i 4657026 4657022 2026-08-10T11:41:42Z Dom walden 3209423 /* Introduction */ 4657026 wikitext text/x-wiki == Introduction == Morse theory tells us that the topology of M only changes at its critical points. The "Morse data" tells us the topology at each critical point. Attaching this Morse data together gives us a space which is homopotically eqivalent to M. This space is a "cell complex", which has an easy to calculate homology. Theorem: Our domain of convergence is homotopic to a cell complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>This is theorem D.23 in Pemantle, Wilson and Melczer 2024, pp. 546. Also theorem in section 1.2*/5.2* in SMT pp. 200.</ref> Proof: # <math display="inline">X</math> is our entire domain, <math display="inline">\mathcal{V}</math> our variety # Project our entire domain to complex projective space <math display="inline">Z = \pi(X) \subset \C\mathbb{P}^n - H</math> [define H] # Define a linear subspace <math display="inline">G \subset \C\mathbb{P}^n</math> of dimension <math display="inline">d - 1</math> # Define a Morse function on <math display="inline">f: \C\mathbb{P}^n \to \R</math> which approximates the distance from <math display="inline">G</math> and such that <math display="inline">f^{-1}(0) = G</math> and <math display="inline">f^{-1}(1) = H</math> # We "build" <math display="inline">X - \mathcal{V}</math> from <math display="inline">\pi^{-1}(G \cap Z) \cap (X - \mathcal{V})</math> by attaching CW complexes at critical points which are of at most dimension <math display="inline">2n - d - 1</math> # At a critical point, the normal Morse data is <math display="inline">(J, K) = \coprod_x (J_x, K_x)</math> and the relative complex link is <math display="inline">\mathcal{L}^\pi = \coprod_x \mathcal{L}_x</math> # We show that the quotient <math display="inline">J_x/K_x</math> is homotopic to a CW complex of dimension <math display="inline">\leq 2n - d - 1</math> # The neighbourhood of <math display="inline">x</math> in <math display="inline">J_x</math> is homeomorphic to the cone in <math display="inline">L_x(X - \mathcal{V})</math>, and removing the point <math display="inline">x</math> increases the homotopy dimension to at most the homotopy dimension of <math display="inline">L_x</math> # <math display="inline">(J_x \cup \{x\}, K_x)</math> is homotopic to <math display="inline">(\text{cone}(\mathcal{L}_x), \mathcal{L}_x)</math> # <math display="inline">\mathcal{L}_x</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math> # The tangential Morse data at the critical point is homotopic to the pair <math display="inline">(D^\lambda, \partial D^\lambda)</math> # Therefore, at each critical point a space has been added homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>. Theorem: If <math display="inline">X</math> is the complement in <math display="inline">\C^n</math> of a complex variety <math display="inline">\mathcal{V}</math> of dimension <math display="inline">d</math> then <math display="inline">X</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 546.</ref> Proof: # We build <math display="inline">X</math> by attaching cells of dimension at most <math display="inline">2n - d - 1</math> at each critical point. ## These cells are a product of the normal and tangential Morse data. ### Normal data: <math display="inline">(\mathcal{L}(S), \partial \mathcal{L}(S)) \times (D^1, \partial D^1)</math> [GM pp. 18] ### Tangential data: <math display="inline">(B_\delta \cap f^{-1}[v - \epsilon, v + \epsilon], B_\delta \cap f^{-1}(v - \epsilon))</math> for <math display="inline">f</math> restricted to <math display="inline">X</math> (or <math display="inline">\mathcal{V}</math>?) [GM pp. 63-64] ## We use Thom's Isotopy Lemma to prove that there is a strong deformation retraction, stopping only at critical points. # <math display="inline">k</math> is the dimension of the strata. # If <math display="inline">k = d</math> then it is a smooth point and the cell is the product of <math display="inline">S^{2(n-d)-1}</math> and the tangential data is dimension at most <math display="inline">d</math>. # If <math display="inline">k < d</math>, ... <ref>Pemantle, Wilson and Melczer 2024, pp. 547.</ref> == Morse theory == Steps(?) * Explain topology * Every point of a stratum is locally like a product structure (proved by Thom's Isotopy Lemma) [GM pp. 41-42] ** Including those around critical points, which are the product of normal and tangential Morse data (these are our quasi-local cycles?) * Thom's Isotopy Lemma proves a strong deformation retraction (which only stops at critical points) [PWM pp. 541-542] === Homotopy === We want to replace our domain of convergence <math display="inline">M</math>, which is the complement of our singular variety <math display="inline">\mathcal{V}</math>, with an "equivalent" space <math display="inline">M'</math> which has better understood properties. We say "equivalent" because there are several different things we could mean by "equivalent" in this context. The equivalence we are referring to in this section is called '''homotopy'''. Imagine two subspaces <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> of a space <math display="inline">Y</math> which are defined respectively by smooth functions <math display="inline">f, g: X \to Y</math>. If there exists a smooth function <math display="inline">h_s: X \times [0, 1] \to Y</math>, called a homotopy, such that <math display="inline">h_0 = f</math>, <math display="inline">h_1 = g</math> and for any <math display="inline">\epsilon > 0</math> there exists a <math display="inline">\delta_a</math> and <math display="inline">\delta_b</math> such that when <math display="inline">|s - s_0| < \delta_a</math> and <math display="inline">|x - x_0| < \delta_b</math> we have <math display="inline">|h_s(x) - h_{s_0}(x_0)| < \epsilon</math>, then we say <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are '''homotopic'''.<ref>Henle 1979, pp. 251-252.</ref> Below is an example where <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are one-dimensional curves and <math display="inline">H(t, s) = h_s(t)</math>. [[File:Homotopy_curves.png|300px]] In [[#Homotopy_equivalence|Appendix A]], we formally prove that we can construct an equivalent space <math display="inline">M'</math>. We provide only an example to give some intuition before describing how to construct the space <math display="inline">M'</math> in terms of local cycles around critical points. === Motivating example === Imagine a torus and a height function which is just the z value of the point. [[File:3D-Leveltorus.png|200px]] It has four critical points: two at the top and bottom of the outer circle (<math display="inline">p_1, p_4</math>) and two at the top and bottom of the inner circle (<math display="inline">p_2, p_3</math>). [picture] When the height is between the <math display="inline">p_1</math> and <math display="inline">p_2</math>, the space is a two-cell, which can be retracted to a point. [picture] When the height is between <math display="inline">p_2</math> and <math display="inline">p_3</math>, the space is a cylinder, which can be retracted to a two-cell with a one-cell attached. [[File:3D-Cylinder_and_disk_with_handle.png|200px]] When the height is between <math display="inline">p_3</math> and <math display="inline">p_4</math>, the space is a torus with a disc removed, which can be retracted to a cylinder with a one-cell attached. [[File:3D-Cylinder_with_handle_and_torus_with_hole.png|200px]] When the height is greater than <math display="inline">p_4</math>, then the full torus is constructed by attaching a two-cell. [Explain in terms of Morse data and Morse index?] === Morse data and quasi-local cycles === As in the above example, we start at the "bottom" of <math display="inline">M</math> and build upwards until just before we reach our first critical point <math display="inline">p</math>. ;Smooth points :This is a tube around a <math display="inline">(d-1)</math>-chain <math display="inline">\gamma</math> where the height function <math display="inline">h</math> is maximised at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223.</ref> :For example, if <math display="inline">F(x, y) = \frac{1}{1 - x - y}</math> then <math display="inline">\lambda = 1</math> and <math display="inline">B^\lambda</math> is an arc reaching its highest point at <math display="inline">p</math>. :The normal plane <math display="inline">N</math> at <math display="inline">p</math> is a plane orthogonal to <math display="inline">B^1</math>(?). :Its normal link <math display="inline">L(S)</math> is a circle with two points missing where it intersects <math display="inline">\mathcal{V}</math>. :We make our quasi-local cycle out of the product of the arc and circle joined to <math display="inline">M_-</math> at points below <math display="inline">M_-</math>. :With the exception of degenerate points, such as monkey saddles...<ref>e.g. Pemantle, Wilson and Melczer 2024, pp. 211.</ref> ;Transverse multiple points :This is the product of a <math display="inline">k</math>-torus and a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math>. The torus is the product of circles about <math display="inline">p</math> in the complex normal space to each strata which intersects <math display="inline">p</math>. The chain <math display="inline">\gamma</math> is supported in the stratum which is the common intersection of the varieties defined by the factors vanishing at <math display="inline">p</math>, and achieves its maximum height at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223-224.</ref> ;Arrangement multiple point :This is the product of a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math> and several <math display="inline">k</math>-tori, one for each pair of sheets which intersect transversely, where the torus is the product of circles about <math display="inline">p</math> in each sheet.<ref>Pemantle, Wilson and Melczer 2024, pp. 226.</ref> ;Cone point :A cone point is zero-dimensional so there is no <math display="inline">\gamma</math>, just a <math display="inline">d</math>-torus about <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 227.</ref> == Homology of cell complexes == We have constructed a new space <math display="inline">M'</math> which is homotopic to <math display="inline">M</math>. Our space <math display="inline">M'</math> is a '''cell complex''' or '''CW complex''' with a cell, which we call a '''quasi-local cycle''', around each critical point. We show in [[#Cellular_homology|Appendix B]] that a cell complex which has <math display="inline">k</math> <math display="inline">n</math>-cells has an homology that can be generated by at most <math display="inline">k</math> elements. Therefore, any chain in <math display="inline">M'</math> is homologous to a chain which is the linear combination of at most <math display="inline">k</math> elements. This includes our torus of integration <math display="inline">T</math>, which is homologous to <math display="inline">\sum_i n_i \sigma_i</math>. Two chains which are homologous have the same integral, therefore <math display="block">\frac{1}{(2\pi i)^n} \int_T \frac{f(\zeta) d\zeta}{(\zeta - z)} = \sum_i \frac{n_i}{(2\pi i)^n} \int_{\sigma_i} \frac{f(\zeta) d\zeta}{(\zeta - z)}.</math> In the remaining three chapters we show how, for each <math display="inline">i</math>, we calculate <math display="inline">n_i</math> and asymptotically estimate the integrand around the chain <math display="inline">\sigma_i</math>. == Appendix == === Homotopy equivalence === [Assuming no CVAI...] Theorem: # Homotopy equivalence between M_{\leq a} and M_{\leq b}... # If in a range <math display="inline">[a, b]</math> there are no CVAI and only one critical value <math display="inline">c</math>, not equal to either <math display="inline">a</math> or <math display="inline">b</math>, with one or more critical points <math display="inline">z_1, \cdots, z_m</math> then there is a stratified flow deforming any chain in <math display="inline">M</math> to a (homotopic?) chain in the union of <math display="inline">M_{<c}</math> with sufficiently small balls around each critical point. This induces a homotopy between <math display="inline">(M_{c+\epsilon}, M_{c-\epsilon})</math> and the direct sum of <math display="inline">(M_{c-\epsilon} \cup B_{2\epsilon}(z_i), M_{c-\epsilon})</math> for each critical point <math display="inline">z_i</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 231.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. We can (potentially) define a function to implement this flow. Define <math display="inline">\Phi(x, t)</math> where <math display="inline">x</math> are points in the space and <math display="inline">t</math> is something like time. As <math display="inline">t</math> goes from zero to some positive number, <math display="inline">\Phi</math> moves the points <math display="inline">x</math> along the vectors. To describe this process formally, we say <math display="inline">\Phi</math> is the solution to the differential equation <math display="block">\frac{d}{dt} \Phi(x, t) = v(x).</math> We want a particular vector field <math display="inline">v</math> with certain properties... The proof of the existence of this vector field is long and complicated and we will not go into it here.<ref>It involves concepts such as Thom's isotopy lemma and Mather's controlled vector flows. See Mather 2012.</ref> Using this vector field <math display="inline">v</math> but modified so as to be zero on <math display="inline">M_{\leq a}</math>. This vector field defines a function <math display="inline">\Phi(x, t)</math> such that * <math display="inline">d/dt \Phi(x, t) = v(x)</math> when <math display="inline">h(x) \in (a, b]</math>. * <math display="inline">\Phi(x, t)</math> is defined for <math display="inline">0 \leq t \leq h(x) - a</math> and in this range <math display="inline">h(\Phi(x, t)) = h(x) - t</math>. * the map <math display="inline">\psi(x) = \Phi(x, b - a)</math> is a continuous map on <math display="inline">M_{\leq b}</math> with range (image?) <math display="inline">M_{\leq a}</math> and fixing <math display="inline">M_{\leq a}</math>. The function <math display="inline">\Phi(x, 0)</math> is the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\Phi(x, b - a) = \psi(x)</math>, therefore <math display="inline">\Phi</math> in the range <math display="inline">[0, b - a]</math> is a homotopy between the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\psi</math>. This implies 1)???<ref>Pemantle, Wilson and Melczer 2024, pp. 233.</ref> Define the distance from a critical point <math display="inline">\kappa(x) = \min\{ |x - z_i| : z_1, \cdots, z_m \}</math>. For <math display="inline">s > 0 </math> we define a new vector field <math display="block">v_s(x) = \begin{cases} v(x) & \kappa(x) \geq s \\ \rho(\kappa(x)) v(x) & \kappa(x) \in [s/2, s] \\ 0 & \kappa(x) \leq s/2 \end{cases}</math> for a smooth non-decreasing function <math display="inline">\rho</math> where <math display="inline">\rho(s/2) = 0</math>. Define <math display="inline">\Phi_s</math> as the function such that <math display="inline">d/dt \Phi(x, t)_s = v_s(x)</math>. The height function <math display="inline">h</math> is non-increasing along <math display="inline">\Phi_s</math> (by implication of bullet point 2?) so points in <math display="inline">M_{\leq c-\epsilon}</math> stay in <math display="inline">M_{\leq c - \epsilon}</math> when flowed along <math display="inline">\Phi_s</math> and therefore <math display="inline">\Phi_s</math> is a homotopy equivalence between <math display="inline">(M_{\leq c+\epsilon}, M_{\leq c-\epsilon})</math> and <math display="inline">(\Phi(M_{\leq c+\epsilon}, 2\epsilon), M_{\leq c-\epsilon})</math>. By <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> we mean the space <math display="inline">M_{\leq c+\epsilon}</math> flowed along <math display="inline">\Phi(x, t)</math> for a short period of time <math display="inline">2\epsilon</math>. [Prove it has the same critical points and is proper?] <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> takes points in <math display="inline">M_{\leq c+\epsilon}</math> to <math display="inline">M_{\leq c-\epsilon}</math> except for those that come within <math display="inline">s</math> of a critical point within time <math display="inline">2\epsilon</math>. Therefore, we see how we <math display="inline">\Phi_s</math> can homotopically deform a chain in <math display="inline">M_{\leq c+\epsilon}</math> to a chain in the union of <math display="inline">M_{\leq c-\epsilon}</math> and small neighbourhoods of critical points.<ref>Pemantle, Wilson and Melczer 2024, pp. 234-235.</ref> On the assumption of this theorem, we can start with any chain in <math display="inline">M</math> and deform this chain to <math display="inline">M_{c_1+}</math> using part 1. Then we deform this chain to a chain in the union of <math display="inline">M_{c_1-}</math> and small balls around the critical points. The (sub?)chain in <math display="inline">M_{c_1-}</math> is then deformed to a chain in <math display="inline">M_{c_2+}</math>, which is deformed to a chain in <math display="inline">M_{c_2-} \cup z_{c_2}</math>, and so on. Eventually, we get to <math display="inline">M_{c_j-}</math> which is homotopic to any space "below" it. Therefore, we have deformed our chain in <math display="inline">M</math> to a homotopic chain in the union of small balls around critical points.<ref>Baryshnikov, Melczer and Pemantle 2022, pp. ???.</ref><ref>Pemantle, Wilson and Melczer 2024, pp. 217???</ref> [Direct sum of homology generators for relative cycles] === Cellular homology === [Explain continuous?] A standard <math display="inline">n</math>-simplex <math display="inline">\Delta^n</math> is defined <math display="block">\Delta^n = \{ (t_1, \cdots, t_{n+1}) \in R^{n+1} \mid t_1 + \cdots + t_{n+1} = 1, t_i \geq 0 \}</math> A standard <math display="inline">0</math>-simplex is a point, a <math display="inline">1</math>-simplex a line of length 1, a <math display="inline">2</math>-simplex is a right-angled triangle with two sides of length 1. [picture] For any space <math display="inline">X</math>, a '''singular <math display="inline">n</math>-simplex''' is a continuous function from a standard <math display="inline">n</math>-simplex to our space <math display="inline">X</math>, <math display="inline">\sigma: \Delta^n \to X</math>. For example, the singular <math display="inline">0</math>-simplexes are all points in <math display="inline">X</math> and the singular <math display="inline">1</math>-simplexes are all continuous paths in <math display="inline">X</math>.<ref>Henle 1979, pp. 261.</ref> For any space, there is an uncountably infinite number of <math display="inline">n</math>-simplexes. [picture] An '''<math display="inline">n</math>-chain''' <math display="inline">C_n</math> is a finite sum of <math display="inline">n</math>-simplexes <math display="inline">\sum_i n_i \sigma_i</math> for <math display="inline">n_i \in \Z</math>. [picture] A '''homomorphism''' on chains will take an <math display="inline">n</math>-chain and return an <math display="inline">(n-1)</math>-chain. We can connect a sequence of chains <math display="inline">\cdots, C_{n+1}, C_n, C_{n-1}, \cdots</math> by homomorphisms <math display="inline">\cdots, \alpha_{n+1}, \alpha_n, \cdots</math> in the form <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math>. The '''boundary''' of an <math display="inline">n</math>-simplex is defined by <math display="block">\partial_n(\sigma) = \sum_i (-1)^i \sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> where <math display="inline">\sigma|[v_0, \cdots, \hat{v_i}, \cdots, v_n]</math> means <math display="inline">\sigma</math> restricted only to the face of <math display="inline">\Delta^n</math> formed by removing the vertex <math display="inline">v_i</math>. So <math display="inline">\partial_n</math> maps faces of <math display="inline">\Delta^n</math> to <math display="inline">X</math>. [picture] The '''boundary''' of an <math display="inline">n</math>-chain <math display="inline">C_n = \sum_i n_i \sigma_i</math> is defined by <math display="block">\partial_n(C_n) = \sum_i n_i \partial_n(\sigma_i).</math> [picture] We can fit this into our diagram above if we let <math display="inline">a_n = \partial_n</math> and draw the diagram <math display="block">\cdots \to C_{n+1} \overset{\partial_{n+1}}{\to} C_n \overset{\partial_n}{\to} C_{n-1} \to \cdots</math> Because <math display="inline">\partial_{n+1} \partial_n = 0</math>, we call this a '''chain complex'''. The '''image''' of <math display="inline">\partial_n</math> (<math display="inline">\mathrm{im}\, \partial_n</math>) is the set of all outputs of <math display="inline">\partial_n(C_n)</math> for all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math>. This is the set of all '''boundaries''' of all possible <math display="inline">n</math>-chains defined in <math display="inline">X</math>. [picture] The '''kernel''' of <math display="inline">\partial_n</math> (<math display="inline">\ker \partial_n</math>) is the set of all <math display="inline">n</math>-chains <math display="inline">C_n</math> in <math display="inline">X</math> such that <math display="inline">\partial_n(C_n) = 0</math>. This is the set of all <math display="inline">n</math>-chains which do not have a boundary, also known as '''<math display="inline">n</math>-cycles'''. [picture] Two <math display="inline">n</math>-cycles are called '''homologous''' if their difference equals the boundary of some <math display="inline">(n+1)</math>-chain. In other words, if <math display="inline">C_n - C_n' \in \mathrm{im}\, \partial_{n+1}</math>. [Example!] Homologous cycles are part of the same '''homology class''' and we write <math display="inline">H_n(X)</math> to denote the set of all such homology classes of <math display="inline">n</math>-cycles in <math display="inline">X</math>. Any <math display="inline">n</math>-cycle in <math display="inline">X</math> is a member of one of these classes. [Representative member?] Because <math display="inline">\partial_n</math> can also be seen as mapping homology classes in <math display="inline">H_n(X)</math> to (a subset of) homology classes in <math display="inline">H_{n-1}(X)</math>, we can diagram <math display="block">\cdots \to H_{n+1}(X) \overset{\partial_{n+1}}{\to} H_n(X) \overset{\partial_n}{\to} H_{n-1}(X) \to \cdots</math>. Imagine a space <math display="inline">(X, A)</math> which is <math display="inline">X</math> with its subspace <math display="inline">A</math> shrunk to a point. In this space, the relative <math display="inline">n</math>-chains <math display="inline">C_n(X, A)</math> are <math display="inline">n</math>-chains in <math display="inline">X</math> after any sub-chains that are in <math display="inline">A</math> are shrunk to a point. This is also referred to as the '''quotient''' <math display="inline">X / A</math> and <math display="inline">C_n(X) / C_n(A)</math>, respectively. Two relative chains are in the same homology class if their difference is a boundary of some <math display="inline">C_{n+1}(X)</math> plus any chain in <math display="inline">C_n(A)</math>. The set of such homology classes is denoted by <math display="inline">H_n(X, A)</math>. [example] A sequence <math display="block">\cdots \to C_{n+1} \overset{\alpha_{n+1}}{\to} C_n \overset{\alpha_n}{\to} C_{n-1} \to \cdots</math> is called '''exact''' if <math display="inline">\ker \alpha_n = \mathrm{im}\, \alpha_{n+1}</math>. In the case that <math display="inline">\alpha = \partial</math> then this means that the boundary of all <math display="inline">(n+1)</math>-chains are <math display="inline">n</math>-cycles. This has some important properties which we use later. <math display="inline">0 \to A \overset{\alpha}{\to} B \overset{\beta}{\to} C \to 0</math> is exact iff <math display="inline">\alpha</math> is injective, <math display="inline">\beta</math> is surjective and <math display="inline">\ker \beta = \mathrm{im}\, \alpha</math>. One consequence is that <math display="inline">C</math> is isomorphic to <math display="inline">B / \mathrm{im}\, \alpha</math>.<ref>Hatcher 2001, pp. 114.</ref> We prove that we can construct an exact sequence <math display="block">\cdots \to H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A) \overset{i_{n-1}}{\to} H_{n-1}(X) \overset{j_{n-1}}{\to} H_{n-1}(X, A) \to \cdots</math> where <math display="inline">i</math> is the inclusion (and an injection), <math display="inline">j</math> is the quotient map (and a surjection) and <math display="inline">\ker j_n = \mathrm{im}\, i_n</math> [how]. As a consequence, in the below diagram the two rows are exact sequences. [[File:Commutative diagram used in proof of relative exact sequence.png]] The part of the sequence <math display="inline">H_n(A) \overset{i_n}{\to} H_n(X) \overset{j_n}{\to} H_n(X, A)</math> is automatic from the definition of <math display="inline">i_n</math> and <math display="inline">j_n</math>. We just need to prove that there exists a <math display="inline">\partial_n</math> which will allow us to do <math display="inline">H_n(X, A) \overset{\partial_n}{\to} H_{n-1}(A)</math>. Take a cycle <math display="inline">c \in C_n(X, A)</math>. Since <math display="inline">j</math> is surjective, <math display="inline">c = j_n(b)</math> for at least one <math display="inline">b \in C_n(X)</math> (note that <math display="inline">b</math> may not be unique, but we will show in the next paragraph this is not a problem). This takes us from the top right to the top middle in our diagram. <math display="inline">\partial_n(b)</math> takes us from the top middle to the bottom middle and it is in <math display="inline">\ker j_{n-1}</math> because <math display="inline"></math>. Since the rows are exact, <math display="inline">\ker j_{n-1} = \mathrm{im}\, i_{n-1}</math> and so <math display="inline">\partial_n(b) = i_{n-1}(a)</math> for some <math display="inline">a \in C_{n-1}(A)</math>. <math display="inline">a</math> is unique because <math display="inline">i_{n-1}</math> is injective and this takes us from the bottom middle to the bottom left, as desired. One problem is there may be more than one <math display="inline">b \in C_n(X)</math> for which <math display="inline">j_n(b) = c</math>. Take two <math display="inline">b, b' \in C_n(X)</math> such that <math display="inline">j(b) = j(b') = c</math>. This also means <math display="inline">j(b - b') = j(b) - j(b') = 0</math> and therefore <math display="inline">b - b' \in \ker j_{n-1}</math>. Since <math display="inline">\ker j_{n-1} = \mathrm{im}\,_{n-1}</math>, <math display="inline">b - b' = i(a')</math> for some <math display="inline">a' \in C_{n-1}(A)</math> and <math display="inline">b' = b + i(a')</math>. The effect of replacing <math display="inline">b</math> by <math display="inline">b + i(a')</math> changes <math display="inline">a</math> to an element in the same homology class <math display="inline">a + \partial a'</math> since <math display="inline">i(a + \partial a') = i(a) + i(\partial a') = \partial b + \partial i(a') = \partial(b + i(a'))</math>. Changing <math display="inline">c</math> to a another cycle in the same homology class would be of the form <math display="inline">c + \partial c'</math>. Since <math display="inline">c' = j(b')</math> for some <math display="inline">b'</math>, we have <math display="inline">c + \partial c' = c + \partial j(b') = c + j(\partial b') = j(b + \partial b')</math>, so <math display="inline">b</math> is replaced by <math display="inline">b + \partial b'</math> but <math display="inline">\partial(b + \partial b') = \partial b + \partial \partial b' = \partial b</math>, which leaves <math display="inline">\partial b</math> and <math display="inline">a</math> unchanged.<ref>Hatcher 2001, pp. 116.</ref> We need to prove that it is an exact sequence: # <math display="inline">\mathrm{im}\, i \subset \ker j</math>, since <math display="inline">ji = 0</math> implies <math display="inline">i_* j_* = 0</math>. # <math display="inline">\mathrm{im} \subset \ker \partial</math>, since <math display="inline">j</math> takes cycles to cycles and so <math display="inline">\partial j(b) = 0</math> if <math display="inline">b</math> is a cycle. # <math display="inline">\mathrm{im}\, \partial \subset \ker i</math>, since <math display="inline">i_* \partial = 0</math> since <math display="inline">\partial[c] = [a] = [\partial b] = 0</math>. # <math display="inline">\ker j \subset \mathrm{im}\, i</math>... # <math display="inline">\ker \partial \subset \mathrm{im}\, j</math>... # <math display="inline">\ker i \subset \mathrm{im}\, \partial</math>, since a cycle <math display="inline">a \in C_{n-1}(A)</math> such that <math display="inline">i(a) = \partial b</math> for some <math display="inline">b \in C_n(X)</math>, then <math display="inline">j(b)</math> is a cycle since <math display="inline">\partial j(b) = j(\partial b) = ji(a) = 0</math> and <math display="inline">\partial[j(b)] = [a]</math>.<ref>Hatcher 2001, pp. 117.</ref> [define cell?] To construct a '''cell complex''' (not to be confused with a chain complex): # Start with a set of points (<math display="inline">0</math>-cells). Call this <math display="inline">X^0</math>. # Introduce a set of lines (<math display="inline">1</math>-cells) and attach the two end-points of these lines to the points from step 1. Call this <math display="inline">X^1</math>. # Introduce a set of discs (<math display="inline">2</math>-cells) and attach the boundary of these discs to the lines and/or points from steps 1 and 2. Call this <math display="inline">X^2</math>. # Continue this for higher-dimension cells (potentially up to infinity). [example] Like above, we define a space <math display="inline">(X^n, X^{n-1})</math> which is <math display="inline">X^n</math> with its subspace <math display="inline">X^{n-1}</math> shrunk to a point. In this space, the relative chains <math display="inline">C_n(X^n, X^{n-1})</math> are chains in <math display="inline">X^n</math> after any sub-chains that are in <math display="inline">X^{n-1}</math> are shrunk to a point. Two relative chains are homologous if their difference is a boundary of some <math display="inline">C_{n+1}(X^n)</math> plus any chain in <math display="inline">C_n(X^{n-1})</math>. The set of such equivalence classes is denoted by <math display="inline">H_n(X^n, X^{n-1})</math>. We can prove that the representatives of each class of <math display="inline">H_n(X^n, X^{n-1})</math> is expressed as a linear combination of <math display="inline">n</math>-cells of <math display="inline">X</math>. Take \direct_a H(X_a, a) \to H_n(\cup X / \cup a, \cup a / \cup a) (p 2.22)...<ref>Hatcher 2001, pp. 124, 126, 137.</ref> Therefore, we can see any representative of a class in <math display="inline">H_n(X^n, X^{n-1})</math> as a chain and we can form them into a chain complex by drawing the below diagram, which is the combination of three exact sequences proven above. [[File:Commutative diagram used in proof of cellular chain complex.png|1000px]] The green, blue and red diagonals are different parts of the exact sequence we constructed above. The sequence of <math display="inline">\cdots \to H_n(X^{n+1}, X^n) \to H_n(X^n, X^{n-1}) \to H_n(X^{n-1}, X^{n-2}) \to \cdots</math>, represented by the horizontal row in the above diagram, is a chain complex if <math display="inline">j_n \partial_{n+1} = d_{n+1}</math> because then <math display="inline">d_{n+1} d_n = j_n \partial_{n+1} j_{n-1} \partial_n = \partial_{n+1} \partial_n j_n j_{n-1} = 0</math> because <math display="inline">\partial_{n+1} \partial_n = 0</math>. This chain complex has its own homology group <math display="inline">H_n^{CW}(X)</math> and we can prove is isomorphic to the "normal" homology group of <math display="inline">H_n(X)</math>.<ref>Hatcher 2001, pp. 139.</ref> [explain functions, injections, isomorphisms, etc.] In the above diagram, <math display="inline">H_n(X)</math> is isomorphic to <math display="inline">H_n(X^{n+1})</math> [how?] which is in turn isomorphic to <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> by virtue of it being part of an exact sequence. Both being part of a exact sequences, <math display="inline">j_n</math> and <math display="inline">\partial_{n+1}</math> are injective. <math display="inline">\partial_{n+1}</math> maps each element of <math display="inline">H_{n+1}(X^{n+1}, X^n)</math> to a unique element of <math display="inline">H_n(X^n)</math> which in turn is mapped by <math display="inline">j_n</math> to a unique element of <math display="inline">H_n(X^n, X^{n-1})</math>. Therefore, <math display="inline">\mathrm{im}\, \partial_{n+1}</math> is mapped isomorphically onto <math display="inline">\mathrm{im}\,(j_n \partial_{n+1}) = \mathrm{im}\, d_{n+1}</math>. Trivially, <math display="inline">j_n</math> maps <math display="inline">H_n(X^n)</math> isomorphically onto its own image, therefore <math display="inline">\mathrm{im}\, j_n = \ker \partial_n</math>. Since <math display="inline">j_{n-1}</math> is also injective by virtue of being an exact sequence, the zero element of <math display="inline">H_{n-1}(X^{n-1})</math> is mapped to the zero element of <math display="inline">H_{n-1}(X^{n-1}, X^{n-2})</math> and, being injective, no other element is. Therefore, <math display="inline">\ker \partial_n = \ker d_n</math>. Putting this all together we get <math display="inline">j_n</math> induces an isomorphism between <math display="inline">H_n(X^n) / \mathrm{im}\, \partial_{n+1}</math> and <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 139-140.</ref> Because we saw above that <math display="inline">H_n(X^n, X^{n-1})</math> is generated by linear combinations of <math display="inline">n</math>-cells then any subgroup must be generated by a subset of these same cells and so is <math display="inline">\ker d_n / \mathrm{im}\, d_{n+1}</math>.<ref>Hatcher 2001, pp. 140.</ref> TODO: # Finish the two proofs above (exact sequences and good pairs) ## Explain inclusion and quotient map # Draw lots of diagrams # Come up with lots of examples # Restructure, with lots more signposting/up-fronting of theorems (perhaps move this whole section to its own chapter) == Notes == {{Reflist}} == References == * {{citation | last1=Baryshnikov | first1=Yuliy | last2=Melczer | first2=Stephen | last3=Pemantle | first3=Robin | title=Stationary Points at Infinity for Analytic Combinatorics | year=2022 | journal=Foundations of Computational Mathematics | volume=22 | number=5 | pages=1631-1664 | url=https://www2.math.upenn.edu/~pemantle/papers/SPAI-published-version.pdf }}. * {{cite book | last=Hatcher | first1=Allen | title=Algebraic Topology | publisher=Cambridge University Press | year=2001 | url=https://pi.math.cornell.edu/~hatcher/AT/AT+.pdf }} * {{cite book | last=Henle | first1=Michael | title=A Combinatorial Introduction to Topology | publisher=Dover Publications Inc. New York | year=1979 }} * {{citation | last=Mather | first=John | title=Notes on Topological Stability | year=2012 | journal=Bulletin of the American Mathematical Society | volume=49 | number=4 | pages=475-506 | url=https://www.ams.org/journals/bull/2012-49-04/S0273-0979-2012-01383-6/S0273-0979-2012-01383-6.pdf }}. * {{cite book | last1=Pemantle | first1=Robin | last2=Wilson | first2=Mark C. | last3=Melczer | first3=Stephen | title=Analytic Combinatorics in Several Variables | publisher=Cambridge University Press | year=2024 | edition=2nd | url=https://acsvproject.com/PemantleWilsonMelczer23.pdf }} s9l363v57itdd3e31szbufhwy9t51s5 Bikol/Cover 0 481198 4656863 4643339 2026-08-09T22:24:12Z ShakespeareFan00 46022 4656863 wikitext text/x-wiki {{center/top}} {| CELLPADDING="10" style="margin:0 auto;" | <div style="text-align: center;">[[image:Flag of the Philippines.svg|105px|border|Flag of the Philippines]]<br /> <small>''Philippines''</small></div> | <big><big>Bikol ~ English</big></big><br> <big>Learning the Bikol Language</big> |} [[Image:The Majesty.jpg|600px|thumb|center|Sumlang Lake]] {{center/end}} {{BookCat}} 6j7eqoa5n5nib6p223nqqlxptgymz8g Chess Opening Theory/1. d4/1...c5/2. d5/2...e5/3. e4 0 483939 4657011 4656580 2026-08-10T10:22:48Z JCrue 2226064 speedy delete test edit 4657011 wikitext text/x-wiki {{speedy|test edit}} I donot want to write . it is a lot of space. {{BookCat}} i8yt43q358vmylgf43xn866mbvlq48f User:Mr. Lechkar/sandbox 2 484799 4656987 4654371 2026-08-10T08:26:05Z ShakespeareFan00 46022 Attempting to solve lints - Please ignore the notification this edit generated. 4656987 wikitext text/x-wiki {{center/top}} {| | [[File:Flag of Morocco.svg|center|frameless]] || [[File:Berber flag.svg|center|frameless]] |} {{center/end}} Welcome to the Standard Moroccan Amazigh (ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ) Wikibook. = Introduction = == What is Standard Moroccan Amazigh? == [[:w:Standard Moroccan Amazigh|Standard Moroccan Amazigh]] is a standardized version of the [[:w:Berber languages|Berber languages]] of Morocco and was created by the [[:w:Royal Institute of Amazigh Culture|Royal Institute of Amazigh Culture]] (IRCAM) to promote the standardization of Tamazight writing. Many Amazigh people in Morocco speak either Shilha (Tachelhit), Riffian (Tarifit) or Central Atlas Tamazight. The standardized variant combines features from all three languages and is used by the government and official media. == Why should I learn it? == Any sufficient knowledge of Standard Moroccan Amazigh provides an important step to better understanding the vernacular Amazigh languages of Morocco, if not the other variants spoken throughout [[:w:Tamazgha|Tamazgha]]. = Alphabet and pronunciation = Tamazight is officially written in Neo-Tifinagh, although the Latin script is also commonly used. {| class="wikitable" |+ ! colspan="3" |Letter !Pronunciation |- !Tifinagh !Latin !Name !IPA |- |ⴰ |a | |æ |- |ⴱ |b |ⵢⴰⴱ yab |b |- |ⴳ |g |ⵢⴰⴳ yag |g |- |ⴳⵯ |gw |ⵢⴰⴳⵯ |ɡʷ |- |ⴷ |d |ⵢⴰⴷ yad |d |- |ⴹ |ḍ |ⵢⴰⴹ yaḍ |dˤ |- |ⴻ |e |ⵢⴻⵢ yey |ə |- |ⴼ |f |yaf |f |- |ⴽ |k |yak |k |- |ⴽⵯ |kw |yakʷ |kʷ |- |ⵀ |h |yah |h |- | | | | |- | | | | |- | | | | |- | | | | |- | | | | |- | | | | |- | | | | |- | | | | |- | | | | |- |ⵓ |u |yu |w |- |ⵔ |r |yar |r |- |ⵕ |ṛ |yaṛ |rˤ |- |ⵖ |ɣ |yaɣ |ɣ |- |ⵙ |s |yas |s |- |ⵚ |ṣ |yaṣ |sˤ |- |ⵛ |c |yac |ʃ |- |ⵜ |t |yat |t |- |ⵟ |ṭ |yaṭ |tˤ |- |ⵡ |w |yaw |w |- |ⵢ |y |yay |j |- |ⵣ |z |yaz |z |- |ⵥ |ẓ |yaẓ |zˤ |} = Verbs = == Tenses == Verbs can conjugate in one of four moods: aorist, perfective (completed), negative perfective and imperfective (not completed). The aorist is used to express a future tense and a desire to do something. For example, in ⵉⵅⵙ ⴰⴷ ⵉⵅⴷⵎ (ixs ad ixdm) which means "he wants/wanted to work". The negative imperfective stem replaces the imperfective if it is used with the negative particle ⵓⵔ (ur). An example of mood stems is for the verb ⵏⵏⵖⵎⵙ (to inquire). Here the verb is conjugated in second person singular (thou/you) for the indicative and imperative moods and in singular form for the participial mood. The stem is indicated in bold. Imperative affixes may be used with the unconjugated stem of the aorist/perfective: ⵅⴷⵎ (xdm) meaning "work!". This may be substituted with the imperfective stem to indicate a more intense mood, which is often the case for recurring actions or the negative imperative. * ⵅⴷⵎ ! (xdm) - "Work!" * ⵜⵜⵅⴷⴰⵎ ! (ttxdam) - "Work (often)!" === Aorist === {| class="wikitable" |+Stems for tenses ! rowspan="4" |Indicative !Aorist | rowspan="2" |ⵜ'''ⵏⵏⵖⵎⵙ'''ⴷ |- !Perfective |- !Negative Perfective |ⵜ'''ⵏⵏⵖⵎⵉⵙ'''ⴷ |- !Imperfective |ⵜⴻ'''ⵜⵜⵏⵖⵎⴰⵙ'''ⴷ |- ! rowspan="4" |Participial !Aorist | rowspan="2" |ⵉ'''ⵏⵏⵖⵎⵙ'''ⵏ |- !Perfective |- !Negative Perfective |ⵉ'''ⵏⵏⵖⵎⵉⵙ'''ⵏ |- !Imperfective |ⵉ'''ⵜⵜⵏⵖⵎⴰⵙ'''ⵏ |} The stems can be combined with personal markers to conjugate a verb. Also note that there cannot be any three of the same consonant cluster, in which case the personal marker prefix is separated from the imperfective by a phonetic schwa sound (ⴻ). To express the future tense, a particle ⵔⴰⴷ ''rad'' precedes the conjugated aorist verb. = Appendix = IRCAM maintains an online dictionary at tal.ircam.ma/dglai. Please note that it is only available in French, although you can also search for the definition in Arabic or Tamazight itself. There is also a conjugator at tal.ircam.ma/conjugueur. 079qsrg02jrgvqpplo1dr4nt88i59ow Wikibooks:Reading room/Administrative Assistance/Archives/2026/July 4 484829 4656967 4656355 2026-08-10T08:10:17Z ArchiverBot 1227662 Bot: Archiving 1 thread from [[Wikibooks:Reading room/Administrative Assistance]] 4656967 wikitext text/x-wiki {{talk archive}} == Bestdealsautofla reported by MathXplore == * {{userlinks|Bestdealsautofla}} Spam <!-- USERREPORTED:/Bestdealsautofla/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:19, 2 July 2026 (UTC) :{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:26, 3 July 2026 (UTC) == Cthrucleaningsolutionso reported by MathXplore == * {{userlinks|Cthrucleaningsolutionso}} advertising <!-- USERREPORTED:/Cthrucleaningsolutionso/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 22:19, 2 July 2026 (UTC) :{{done|Sandbox deleted}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:26, 3 July 2026 (UTC) :: The user was blocked indefinitely as a spam-only account. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:47, 3 July 2026 (UTC) == Prudhvifmsdh reported by MathXplore == * {{userlinks|Prudhvifmsdh}} Spam <!-- USERREPORTED:/Prudhvifmsdh/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:39, 8 July 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 13:07, 8 July 2026 (UTC) == Protecting Pages == Hello, Admins, My name is Kayden Swanson, and I have proudly created ''[[The Geoguide]].'' But I would like to remove the ability for fellow users to edit it to prevent vandalism and preserve my prized creation I have made for school. Could you permanently lock it so others cant edit it while I still can? [[User:Kayden Swanson|Kayden Swanson]] ([[User talk:Kayden Swanson|discuss]] • [[Special:Contributions/Kayden Swanson|contribs]]) 02:41, 6 July 2026 (UTC) :Hi @[[User:Kayden Swanson|Kayden Swanson]]! Unfortunately, that is not an appropriate justification for protecting a page here at Wikibooks per the [[Wikibooks:Protection policy|protection policy]]. Notably, {{tq|"Preemptive full protection of pages is contrary to the open nature of Wikibooks"}}. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 6 July 2026 (UTC) ::NOOOOOOOOOOOOOOOOOOOOOOOOOOOOO okay that's fine [[User:Kayden Swanson|Kayden Swanson]] ([[User talk:Kayden Swanson|discuss]] • [[Special:Contributions/Kayden Swanson|contribs]]) 00:26, 8 July 2026 (UTC) ::: I'm sorry, but that's not within the scope of the protection policy. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:39, 8 July 2026 (UTC) :::If you really want a stable version, you can make a PDF of the existing content and link it. See [[Help:Print versions]] and {{tl|Print version}}/{{tl|PDF version}}. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 19:15, 10 July 2026 (UTC) == I'm unable to create a page == Hello, I wanted to created the page [[English in Use/Agreement]]. I thought I would use a modified version of a Wikipedia article (https://en.wikipedia.org/wiki/Agreement_in_the_English_language). It's already written like a textbook, so I did some improvements and clicked "published", but I got the error: <blockquote>Welcome to Wikibooks!Your edit has triggered an automated filter and has been disallowed. It looks like your edit has added a large amount of content to this page.If you copied the content from another website, please do not add it without rewriting it in your own words. Unless the content is in the public domain (published before 1923), it is almost certainly copyrighted and cannot be added to Wikibooks.If all of the content is your own work and you cannot find anything to link, feel free to ask for the edit to be performed at the reading room. If you have received this message in error, you may report it here.</blockquote> What should I do? Can you help me? [[User:Justtocreateapage|Justtocreateapage]] ([[User talk:Justtocreateapage|discuss]] • [[Special:Contributions/Justtocreateapage|contribs]]) 20:43, 10 July 2026 (UTC) :@[[User:Justtocreateapage|Justtocreateapage]] An editfilter is preventing your edit. In my opinion, you did not do anything wrong and the filter is wrong, but an admin (=not me) would need to fix it. [[User:Der-Wir-Ing|Der-Wir-Ing]] ([[User talk:Der-Wir-Ing|discuss]] • [[Special:Contributions/Der-Wir-Ing|contribs]]) 20:52, 10 July 2026 (UTC) :: {{re|Justtocreateapage}} As a new user you face harsher requirements. You should make useful edits to Wikibooks first. If you want to use a modified version of a WP article, [[Wikibooks: Requests for import|requesting an import]] is the proper venue. This [[Help: Importing|preserves the edit history]]. ‑‑[[User:Kai Burghardt|Kai Burghardt]] ([[User talk:Kai Burghardt|discuss]] • [[Special:Contributions/Kai Burghardt|contribs]]) 21:15, 10 July 2026 (UTC) :::Okay, thanks you all. I'll request for an import then [[User:Justtocreateapage|Justtocreateapage]] ([[User talk:Justtocreateapage|discuss]] • [[Special:Contributions/Justtocreateapage|contribs]]) 21:39, 10 July 2026 (UTC) ::::{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 21:50, 10 July 2026 (UTC) == Unprotection/edit request == Hi, would an admin please temporarily unprotect the non-MediaWiki pages at [[User:TenshiBot/Errors]]? As for the MediaWiki pages, would an admin go through them and replace the <nowiki><center></nowiki> tags and replace it with <nowiki><div style="text-align: center"></nowiki>? [[User:Tenshi Hinanawi|Tenshi Hinanawi]] ([[User talk:Tenshi Hinanawi|discuss]] • [[Special:Contributions/Tenshi Hinanawi|contribs]]) 23:10, 11 July 2026 (UTC) : Unprotecting, fixing, and protecting back would take too long—I know just the thing, which is using JWB. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:35, 12 July 2026 (UTC) : [[User:Tenshi Hinanawi|Tenshi Hinanawi]], I've done what JWB could process; should there be way more in your bot's error log, let me know. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:02, 12 July 2026 (UTC) ::There's still a lot of the <nowiki><font></nowiki> tags which need replacing in the talk page archives. [[User:Tenshi Hinanawi|Tenshi Hinanawi]] ([[User talk:Tenshi Hinanawi|discuss]] • [[Special:Contributions/Tenshi Hinanawi|contribs]]) 10:11, 12 July 2026 (UTC) ::: I can replace those, but should it be <code>div</code> or <code>span</code>? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:35, 12 July 2026 (UTC) ::::Span, though the font tag's parameters need to be converted as well, see [https://github.com/TenshiSWR/TenshiBot/blob/958b59d1a5e14a31ab8b46f66db54ebdba63e101/tasks/linterrors/obsolete_HTML_tags.py#L15-L52 the code] and the [https://html.spec.whatwg.org/multipage/rendering.html#:~:text=When%20a%20font%20element%20has%20a%20color,%27color%27%20property%20to%20the%20resulting%20color. HTML spec] for this. [[User:Tenshi Hinanawi|Tenshi Hinanawi]] ([[User talk:Tenshi Hinanawi|discuss]] • [[Special:Contributions/Tenshi Hinanawi|contribs]]) 14:56, 12 July 2026 (UTC) == Emirati yahzota reported by MathXplore == * {{userlinks|Emirati yahzota}} Long-term abuse, [[:w:Wikipedia:Sockpuppet investigations/Muhammad Ali Rajab]] <!-- USERREPORTED:/Emirati yahzota/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:18, 2 July 2026 (UTC) :I deleted their page addition. @[[User:MarcGarver|MarcGarver]] could we get a CU here? Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:28, 3 July 2026 (UTC) ::Nothing to see on CU. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:07, 13 July 2026 (UTC) == NSSGGuarding reported by MathXplore == * {{userlinks|NSSGGuarding}} Spam <!-- USERREPORTED:/NSSGGuarding/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 13 July 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:45, 13 July 2026 (UTC) == Tanzeemdigital reported by MathXplore == * {{userlinks|Tanzeemdigital}} Spam, [[Special:AbuseLog/314706]] <!-- USERREPORTED:/Tanzeemdigital/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:08, 15 July 2026 (UTC) == Faisalorakzaii reported by MathXplore == * {{userlinks|Faisalorakzaii}} cross-wiki abuse, [[:w:WP:AB]]. <!-- USERREPORTED:/Faisalorakzaii/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:13, 15 July 2026 (UTC) :{{done|Page deleted}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:56, 15 July 2026 (UTC) == Drpriyajaganathan reported by MathXplore == * {{userlinks|Drpriyajaganathan}} Spam <!-- USERREPORTED:/Drpriyajaganathan/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:46, 18 July 2026 (UTC) :What do you find as spam ? [[Special:Contributions/&#126;2026-40412-29|&#126;2026-40412-29]] ([[User talk:&#126;2026-40412-29|talk]]) 12:20, 18 July 2026 (UTC) == WinniJoy reported by MathXplore == * {{userlinks|WinniJoy}} Spam <!-- USERREPORTED:/WinniJoy/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:48, 18 July 2026 (UTC) : {{done}}. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:00, 19 July 2026 (UTC) == ~2026-40144-05 reported by MathXplore == * {{userlinks|~2026-40144-05}} Spam <!-- USERREPORTED:/~2026-40144-05/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:17, 19 July 2026 (UTC) : I blocked them for creating out of scope pages. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:59, 19 July 2026 (UTC) == Tkdesigner34 reported by MathXplore == * {{userlinks|Tkdesigner34}} Spam <!-- USERREPORTED:/Tkdesigner34/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:08, 20 July 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 19:37, 20 July 2026 (UTC) == Samanthajagan reported by MathXplore == * {{userlinks|Samanthajagan}} Spam, [[Special:AbuseLog/314786]] <!-- USERREPORTED:/Samanthajagan/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:30, 21 July 2026 (UTC) :{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 12:47, 21 July 2026 (UTC) == Upgradchennai0 reported by MathXplore == * {{userlinks|Upgradchennai0}} Link spam, [[Special:AbuseLog/314865]], [[Special:CentralAuth/Upgradchennai0]] <!-- USERREPORTED:/Upgradchennai0/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 07:54, 26 July 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 13:02, 26 July 2026 (UTC) k25xoof49ssjnfeybhkilzhw7cl3yji History : Alorre Gorge 0 485036 4656882 4656296 2026-08-10T02:32:52Z Omphalographer 3427146 query - unclear book scope 4656882 wikitext text/x-wiki {{query}} Alorre Gorge is a steep ravine in Tanzania and a paleoanthropological locality. Chapters include Geology Paleoanthropology ===Geology=== Millions of years ago, the region had a paleo lake (Lake Alorre). Around 600,000 to 500,000 years ago, there was a seismic (earthquake - related) event that created the gorge we know today. ===Paleoanthropology=== In 1975, there was a fossilized hominid found in the locality, known as Alorre Hominin 1 (AH 1). It was fragmentary, just a collection of teeth, and was the holotype for the species. AH 2 was found in 1994 and was a cranium. {{shelves}} t0w72383wod59jhwh5flels8v40py96 User:Duodeca 12 2 485037 4657008 4656106 2026-08-10T09:44:23Z Atcovi 1015207 removing false information 4657008 wikitext text/x-wiki {{User more userboxes}} {{User book}}{{User chrome}} a2ar56iriovlulqpa77gw5sqk72iyzi User talk:Duodeca 12 3 485060 4656883 4656153 2026-08-10T02:35:02Z Omphalographer 3427146 /* I have added a tag to a page you created */ Reply 4656883 wikitext text/x-wiki == I have added a tag to a page you created == Hi! I'm Codename Noreste, and I recently reviewed your page, [[:History : Alorre Gorge]]. I have added a tag to the page, because it <strong>has some problems that need to be looked at.</strong>I also left you a comment: <blockquote>The book might not be suited for the scope of Wikibooks.</blockquote> If you have any questions or concerns, please [[User talk:Codename Noreste|let me know]]. Thank you! <!-- Substituted from User:JJPMaster/CurateThisPage/authorMsg --> [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:26, 2 August 2026 (UTC) :how is it not suited [[User:Duodeca 12|Duodeca 12]] ([[User talk:Duodeca 12|discuss]] • [[Special:Contributions/Duodeca 12|contribs]]) 20:26, 2 August 2026 (UTC) ::explain [[User:Duodeca 12|Duodeca 12]] ([[User talk:Duodeca 12|discuss]] • [[Special:Contributions/Duodeca 12|contribs]]) 20:27, 2 August 2026 (UTC) :explain how its not suitable [[User:Duodeca 12|Duodeca 12]] ([[User talk:Duodeca 12|discuss]] • [[Special:Contributions/Duodeca 12|contribs]]) 20:39, 2 August 2026 (UTC) :: The page appears more like a Wikipedia article, which doesn't fit the scope of Wikibooks per [[WB:NOT]]. If needed, I can move the book to your userspace where you can work on it. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 22:59, 2 August 2026 (UTC) :::or you could fix the structuring of it and clean up. [[User:Duodeca 12|Duodeca 12]] ([[User talk:Duodeca 12|discuss]] • [[Special:Contributions/Duodeca 12|contribs]]) 01:02, 3 August 2026 (UTC) :::please fix the structuring rather than deleting [[User:Duodeca 12|Duodeca 12]] ([[User talk:Duodeca 12|discuss]] • [[Special:Contributions/Duodeca 12|contribs]]) 01:20, 3 August 2026 (UTC) ::::As the author of this book, only you can explain how it is supposed to function as a textbook. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:35, 10 August 2026 (UTC) ibh8kmqf8faw8ri9z2arn2p1u642qro User talk:~2026-43761-36 3 485196 4656801 2026-08-09T12:18:04Z MathXplore 3097823 Notifying author of speedy deletion nomination 4656801 wikitext text/x-wiki == I have added a tag to a page you created == Hi! I'm MathXplore, and I recently reviewed your page, [[:Fundamentals of Calculus, Special Relativity and Quantum mechanics/Quantum tunnelling]]. I have added a tag to the page, because it <strong>may meet the [[Wikibooks:Deletion policy#Speedy deletions|criteria for speedy deletion]].</strong> This means that it can be deleted at any time. The reason I provided was: <blockquote><strong>Test page</strong></blockquote> If you believe that your page should not be deleted, please post a message on [[Talk:Fundamentals of Calculus, Special Relativity and Quantum mechanics/Quantum tunnelling|the page's talk page]] explaining why. <strong>If your reasoning is convincing, your page may be saved.</strong> If you have any questions or concerns, please [[User talk:MathXplore|let me know]]. Thank you! <!-- Substituted from User:JJPMaster/CurateThisPage/authorMsg --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:18, 9 August 2026 (UTC) nmkiz7o7ufqizubnwoh4zo5huxow85j Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3/5...Bg7/6. Be3/6...Nf6/7. Bc4 0 485198 4656811 2026-08-09T15:17:04Z JCrue 2226064 created 4656811 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Modern Bc4 variation |eco=[[Chess/ECOB|B35]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3|Modern variation]] → [[../|6...Nf6]] }} == 7. Bc4 · Modern Bc4 variation == This is the main line. White develops their bishop and increases control of d5 before playing f3. This prevents Black's rejoinder 8...d5, that otherwise equalises against the move order [[../7. f3|7. f3]] O-O 8. Qd2. After [[/7...O-O|'''7...O-O''']], the main move, White must first move their bishop again, 8. Bb3, before continuing with f3 (controlling g4), Qd2, and O-O-O. Otherwise, 8. f3?! is answered with 8...Qb6!. '''7...Qa5!?''' is a sideline. This compels White to give up on the idea of long castling. * The immediate threat is that 7...Qa5 pins the knight, so 8. Qd2? hangs the e-pawn. 8...Nxe4 9. Nxc6 Qxc3 10. Qxc3 Bxc3+ 11. bxc3 dxc6 {{chess/not|--}}. * 8. f3 Qb4 threatens to take the bishop. 9. Bb3 Nxe4! and it turns out the f-pawn wasn't enough to protect the e-pawn, as Black has now unleashed three attacks on d4. 10. fxe4? Bxd4 11. Bxd4 Qxd4 12. Qf3 {{chess/not|--}}. * 8. Nb3 attacks the queen, but can also be met with 8...Qb4 threatening to take the bishop. The line may continue e.g. 9. Nd2 Qxb2 10. Nb5 Qe5 {{chess/not|--}}. Therefore White's best play is 8. O-O, unpinning the knight and defending the e-pawn. If Black continues with 8...Qb4?! anyway, then 9. Qe2 defends the bishop and the b-pawn is poisonous. (9...Qxb2 10. Ncb5 Nxe4 11. Rab1 Nc3 12. Rxb2 Nxe2+ 13. Bxe2 {{chess/not|+++}}.) Alternatively '''7...d6''' transposes into the regular dragon variation. === History === This line was popularised in the 1950s. One of the most famous games in this position is [[w:Bobby Fischer|Fischer]] v. [[w:Samuel Reshevsky|Reshevsky]], 1958.<ref>[https://www.chessgames.com/perl/chessgame?gid=1008376 Fischer v Reshevsky, 1958. Chessgames.com]</ref> After 7...O-O 8. Be3!, Reshevsky thought to trade off the bishop with 8...Na5?, and ran afoul of 9. e5 Ne8?? 10. Bxf7+ Kxf7 11. Ne6 dxe6 12. Qxd8 {{chess/not|+++}}. == Theory table == {{ChessTable}} {{ChessMid}} == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} egml91uhsmh49fdcltt5wyjpnrd1i5h 4656813 4656811 2026-08-09T15:36:14Z JCrue 2226064 /* History */ 4656813 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Modern Bc4 variation |eco=[[Chess/ECOB|B35]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3|Modern variation]] → [[../|6...Nf6]] }} == 7. Bc4 · Modern Bc4 variation == This is the main line. White develops their bishop and increases control of d5 before playing f3. This prevents Black's rejoinder 8...d5, that otherwise equalises against the move order [[../7. f3|7. f3]] O-O 8. Qd2. After [[/7...O-O|'''7...O-O''']], the main move, White must first move their bishop again, 8. Bb3, before continuing with f3 (controlling g4), Qd2, and O-O-O. Otherwise, 8. f3?! is answered with 8...Qb6!. '''7...Qa5!?''' is a sideline. This compels White to give up on the idea of long castling. * The immediate threat is that 7...Qa5 pins the knight, so 8. Qd2? hangs the e-pawn. 8...Nxe4 9. Nxc6 Qxc3 10. Qxc3 Bxc3+ 11. bxc3 dxc6 {{chess/not|--}}. * 8. f3 Qb4 threatens to take the bishop. 9. Bb3 Nxe4! and it turns out the f-pawn wasn't enough to protect the e-pawn, as Black has now unleashed three attacks on d4. 10. fxe4? Bxd4 11. Bxd4 Qxd4 12. Qf3 {{chess/not|--}}. * 8. Nb3 attacks the queen, but can also be met with 8...Qb4 threatening to take the bishop. The line may continue e.g. 9. Nd2 Qxb2 10. Nb5 Qe5 {{chess/not|--}}. Therefore White's best play is 8. O-O, unpinning the knight and defending the e-pawn. If Black continues with 8...Qb4?! anyway, then 9. Qe2 defends the bishop and the b-pawn is poisonous. (9...Qxb2 10. Ncb5 Nxe4 11. Rab1 Nc3 12. Rxb2 Nxe2+ 13. Bxe2 {{chess/not|+++}}.) Alternatively '''7...d6''' transposes into the regular dragon variation. === History === This line was popularised in the 1950s. One of the most famous games in this position is [[w:Bobby Fischer|Fischer]] v. [[w:Samuel Reshevsky|Reshevsky]], 1958.<ref>[https://www.chessgames.com/perl/chessgame?gid=1008376 Fischer v Reshevsky, 1958. Chessgames.com]</ref> After 7...O-O 8. Be3!, Reshevsky thought to trade off the bishop with 8...Na5?, and ran afoul of 9. e5 Ne8?? 10. Bxf7+ Kxf7 11. Ne6 dxe6 12. Qxd8 {{chess/not|+++}}. The game, which ''Chess Life'' described as "sensational", served Reshevsky his only loss in the tournament and clinched the US chess championship title for Fischer.<ref>{{Cite journal |title=Fischer Does It Again |journal=Chess Life |date=1959-01-05 |url=https://uscf1-nyc1.aodhosting.com/CL-AND-CR-ALL/CL-ALL/1959/1959_01_1.pdf |volume=XIII |issue=9}}</ref> == Theory table == {{ChessTable}} {{ChessMid}} == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} m6mv9u4mwldpllvla9jgst3vmz6rlf0 4656814 4656813 2026-08-09T15:48:50Z JCrue 2226064 /* History */ 4656814 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Modern Bc4 variation |eco=[[Chess/ECOB|B35]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3|Modern variation]] → [[../|6...Nf6]] }} == 7. Bc4 · Modern Bc4 variation == This is the main line. White develops their bishop and increases control of d5 before playing f3. This prevents Black's rejoinder 8...d5, that otherwise equalises against the move order [[../7. f3|7. f3]] O-O 8. Qd2. After [[/7...O-O|'''7...O-O''']], the main move, White must first move their bishop again, 8. Bb3, before continuing with f3 (controlling g4), Qd2, and O-O-O. Otherwise, 8. f3?! is answered with 8...Qb6!. '''7...Qa5!?''' is a sideline. This compels White to give up on the idea of long castling. * The immediate threat is that 7...Qa5 pins the knight, so 8. Qd2? hangs the e-pawn. 8...Nxe4 9. Nxc6 Qxc3 10. Qxc3 Bxc3+ 11. bxc3 dxc6 {{chess/not|--}}. * 8. f3 Qb4 threatens to take the bishop. 9. Bb3 Nxe4! and it turns out the f-pawn wasn't enough to protect the e-pawn, as Black has now unleashed three attacks on d4. 10. fxe4? Bxd4 11. Bxd4 Qxd4 12. Qf3 {{chess/not|--}}. * 8. Nb3 attacks the queen, but can also be met with 8...Qb4 threatening to take the bishop. The line may continue e.g. 9. Nd2 Qxb2 10. Nb5 Qe5 {{chess/not|--}}. Therefore White's best play is 8. O-O, unpinning the knight and defending the e-pawn. If Black continues with 8...Qb4?! anyway, then 9. Qe2 defends the bishop and the b-pawn is poisonous. (9...Qxb2 10. Ncb5 Nxe4 11. Rab1 Nc3 12. Rxb2 Nxe2+ 13. Bxe2 {{chess/not|+++}}.) Alternatively '''7...d6''' transposes into the regular dragon variation. === History === [[Image:Bobby Fischer at 13 years old portrait photo 03.jpg|thumb|right|His victory over Reshevsky secured the 14-year-old Bobby Fischer the US championship title.]] This line was popularised in the 1950s. One of the most famous games in this position is [[w:Bobby Fischer|Fischer]] v. [[w:Samuel Reshevsky|Reshevsky]], 1958.<ref>[https://www.chessgames.com/perl/chessgame?gid=1008376 Fischer v Reshevsky, 1958. Chessgames.com]</ref> After 7...O-O 8. Be3!, Reshevsky thought to trade off the bishop with 8...Na5?, and ran afoul of 9. e5 Ne8?? 10. Bxf7+ Kxf7 11. Ne6 dxe6 12. Qxd8 {{chess/not|+++}}. The game, which ''Chess Life'' described as "sensational", served Reshevsky his only loss in the tournament and clinched the US chess championship title for Fischer.<ref>{{Cite journal |title=Fischer Does It Again |journal=Chess Life |date=1959-01-05 |url=https://uscf1-nyc1.aodhosting.com/CL-AND-CR-ALL/CL-ALL/1959/1959_01_1.pdf |volume=XIII |issue=9}}</ref> == Theory table == {{ChessTable}} {{ChessMid}} == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} tt1vapm0ug19i6m7g40k41xkemsy4ne 4656831 4656814 2026-08-09T19:37:20Z JCrue 2226064 /* 7. Bc4 · Modern Bc4 variation */ 4656831 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Modern Bc4 variation |eco=[[Chess/ECOB|B35]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3|Modern variation]] → [[../|6...Nf6]] }} == 7. Bc4 · Modern Bc4 variation == This is the main line. White develops their bishop and increases control of d5 before playing f3. This prevents Black's rejoinder 8...d5, that otherwise equalises against the move order [[../7. f3|7. f3]] O-O 8. Qd2. After [[/7...O-O|'''7...O-O''']], the main move, White must first move their bishop again, 8. Bb3, before continuing with f3 (controlling g4), Qd2, and O-O-O. Otherwise, 8. f3?! is answered with 8...Qb6!, 8. Qd2? with 8...Ng4!, exposing an attack on d4 while attacking White's dark square bishop. '''7...Qa5!?''' is a sideline. This compels White to give up on the idea of long castling. * The immediate threat is that 7...Qa5 pins the knight, so 8. Qd2? hangs the e-pawn. 8...Nxe4 9. Nxc6 Qxc3 10. Qxc3 Bxc3+ 11. bxc3 dxc6 {{chess/not|--}}. * 8. f3 Qb4 threatens to take the bishop. 9. Bb3 Nxe4! and it turns out the f-pawn wasn't enough to protect the e-pawn, as Black has now unleashed three attacks on d4. 10. fxe4? Bxd4 11. Bxd4 Qxd4 12. Qf3 {{chess/not|--}}. * 8. Nb3 attacks the queen, but can also be met with 8...Qb4 threatening to take the bishop. The line may continue e.g. 9. Nd2 Qxb2 10. Nb5 Qe5 {{chess/not|--}}. Therefore White's best play is 8. O-O, unpinning the knight and defending the e-pawn. If Black continues with 8...Qb4?! anyway, then 9. Qe2 defends the bishop and the b-pawn is poisonous. (9...Qxb2 10. Ncb5 Nxe4 11. Rab1 Nc3 12. Rxb2 Nxe2+ 13. Bxe2 {{chess/not|+++}}.) Alternatively '''7...d6''' transposes into the regular dragon variation. === History === [[Image:Bobby Fischer at 13 years old portrait photo 03.jpg|thumb|right|His victory over Reshevsky secured the 14-year-old Bobby Fischer the US championship title.]] This line was popularised in the 1950s. One of the most famous games in this position is [[w:Bobby Fischer|Fischer]] v. [[w:Samuel Reshevsky|Reshevsky]], 1958.<ref>[https://www.chessgames.com/perl/chessgame?gid=1008376 Fischer v Reshevsky, 1958. Chessgames.com]</ref> After 7...O-O 8. Be3!, Reshevsky thought to trade off the bishop with 8...Na5?, and ran afoul of 9. e5 Ne8?? 10. Bxf7+ Kxf7 11. Ne6 dxe6 12. Qxd8 {{chess/not|+++}}. The game, which ''Chess Life'' described as "sensational", served Reshevsky his only loss in the tournament and clinched the US chess championship title for Fischer.<ref>{{Cite journal |title=Fischer Does It Again |journal=Chess Life |date=1959-01-05 |url=https://uscf1-nyc1.aodhosting.com/CL-AND-CR-ALL/CL-ALL/1959/1959_01_1.pdf |volume=XIII |issue=9}}</ref> == Theory table == {{ChessTable}} {{ChessMid}} == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} d81ws65n91gl4cjlreaqxkiy717rqhe Vehicle Identification Numbers (VIN codes)/Daihatsu/VIN Codes 0 485199 4656884 2026-08-10T02:39:14Z JustTheFacts33 3434282 Created page with "{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} ====Daihatsu WMIs==== The WMI is specified in characters 1-3 of the VIN. * JD1 - Daihatsu Motor Company Ltd., Daihatsu Passenger Car * JD2 - Daihatsu Motor Company Ltd., Daihatsu Multipurpose Passenger Vehicle (SUV) ===Vehicle Line=== {| class="wikitable" |+Position 5 !Code !Description |- |G |Charade (1988-1992) |- |F |Rocky (1990-1992) |} ===Series=== {| class="wikitable" |+Position 6 |+Based on the..." 4656884 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} ====Daihatsu WMIs==== The WMI is specified in characters 1-3 of the VIN. * JD1 - Daihatsu Motor Company Ltd., Daihatsu Passenger Car * JD2 - Daihatsu Motor Company Ltd., Daihatsu Multipurpose Passenger Vehicle (SUV) ===Vehicle Line=== {| class="wikitable" |+Position 5 !Code !Description |- |G |Charade (1988-1992) |- |F |Rocky (1990-1992) |} ===Series=== {| class="wikitable" |+Position 6 |+Based on the Chassis code given for the car !Code !Description |- |1 |Charade w/1.0L engine ('88-'92): G'''1'''00 or w/1.3L engine ('89-'92): G'''1'''02 |- |3 |Rocky ('90-'92): F'''3'''00 |} ===Engine Type=== {| class="wikitable" |+Position 8 |- ! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | 0 || 1.0L || I3 || Gas || SOHC,<br /> 6 valve || MPI. Daihatsu CB-90 engine. Charade ('88-'92). |- | 0 || 1.6L || I4 || Gas || SOHC,<br /> 16 valve || MPI. Daihatsu HD-E engine. Rocky ('90-'92). |- | 2 || 1.3L || I4 || Gas || SOHC,<br /> 16 valve || MPI. Daihatsu HC-E engine. Charade ('89-'92). |} ===Position 9, Check Digit=== [[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]] ===Position 10, Model Year=== [[Vehicle Identification Numbers (VIN codes)/Model year|Model year]] ===Position 11, Production Plant:=== * 4: Oyamazaki, Kyoto prefecture, Japan (Charade) * 6: Ikeda #2 Plant - Ikeda, Osaka prefecture, Japan (Rocky) '''Positions 12–17, Serial Number''' {{BookCat}} pejp5nqyfb8jsk7noxvqvfo795n5iec 4656885 4656884 2026-08-10T03:00:10Z JustTheFacts33 3434282 /* Vehicle Line */ 4656885 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} ====Daihatsu WMIs==== The WMI is specified in characters 1-3 of the VIN. * JD1 - Daihatsu Motor Company Ltd., Daihatsu Passenger Car * JD2 - Daihatsu Motor Company Ltd., Daihatsu Multipurpose Passenger Vehicle (SUV) ===Body Style & Transmission=== {| class="wikitable" |+Position 4 !Code !Description |- |F |Charade 3-d hatchback w/5-spd. man. trans. (1988-1992) |- |J |Charade 3-d hatchback w/3-spd. auto. trans. (1989-1992) |- |E |Charade 4-d sedan w/5-spd. man. trans. (1990-1992) |- |H |Charade 4-d sedan w/3-spd. auto. trans. (1990-1992) |- |B |Rocky hardtop w/5-spd. man. trans. (1990-1992) |- |F |Rocky convertible w/5-spd. man. trans. (1990-1992) |} ===Vehicle Line=== {| class="wikitable" |+Position 5 !Code !Description |- |G |Charade (1988-1992) |- |F |Rocky (1990-1992) |} ===Series=== {| class="wikitable" |+Position 6 |+Based on the Chassis code given for the car !Code !Description |- |1 |Charade w/1.0L engine ('88-'92): G'''1'''00 or w/1.3L engine ('89-'92): G'''1'''02 |- |3 |Rocky ('90-'92): F'''3'''00 |} ===Engine Type=== {| class="wikitable" |+Position 8 |- ! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications |- | 0 || 1.0L || I3 || Gas || SOHC,<br /> 6 valve || MPI. Daihatsu CB-90 engine. Charade ('88-'92). |- | 0 || 1.6L || I4 || Gas || SOHC,<br /> 16 valve || MPI. Daihatsu HD-E engine. Rocky ('90-'92). |- | 2 || 1.3L || I4 || Gas || SOHC,<br /> 16 valve || MPI. Daihatsu HC-E engine. Charade ('89-'92). |} ===Position 9, Check Digit=== [[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]] ===Position 10, Model Year=== [[Vehicle Identification Numbers (VIN codes)/Model year|Model year]] ===Position 11, Production Plant:=== * 4: Oyamazaki, Kyoto prefecture, Japan (Charade) * 6: Ikeda #2 Plant - Ikeda, Osaka prefecture, Japan (Rocky) '''Positions 12–17, Serial Number''' {{BookCat}} 2ljura5agotusn6kpdboapenac4lv5s User talk:90.146.228.22 3 485200 4656931 2026-08-10T07:14:15Z Thomas.haslwanter 89715 /* Auditory system */ new section 4656931 wikitext text/x-wiki == Auditory system == Hi, I started the Wikibook "Sensory Systems", and can confirm that the content has not been copied from outside. Therefore I have removed the tag "This module might have been copied". As for the values, I will add the corresponding references. [[User:Thomas.haslwanter|Thomas.haslwanter]] ([[User talk:Thomas.haslwanter|discuss]] • [[Special:Contributions/Thomas.haslwanter|contribs]]) 07:14, 10 August 2026 (UTC) rpf8pb0jghz2xmqme913sj5ign6mc00 The Linux Kernel/Multitasking/Synchronization 0 485201 4657007 2026-08-10T09:43:51Z Conan 3188 Created blank page 4657007 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 4657009 4657007 2026-08-10T09:44:22Z Conan 3188 split Synchronization into subpage 4657009 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Synchronization}} </noinclude> == Synchronization == Thread {{w|Synchronization (computer science)|synchronization}} is defined as a mechanism which ensures that two or more concurrent processes or threads do not simultaneously execute some particular program segment known as {{w|mutual exclusion}} (mutex). When one thread starts executing the critical section (serialized segment of the program) the other thread should wait until the first thread finishes. If proper synchronization techniques are not applied, it may cause a race condition where, the values of variables may be unpredictable and vary depending on the timings of context switches of the processes or threads. === User space synchronization === ==== POSIX Timers ==== ⚲ APIs : {{The Linux Kernel/man|2|timer_create}} – creates a POSIX timer : {{The Linux Kernel/man|2|timer_settime}} – starts or modifies a timer : {{The Linux Kernel/man|2|timer_gettime}} – retrieves the remaining time of a timer : {{The Linux Kernel/man|2|timer_delete}} – deletes a POSIX timer : {{The Linux Kernel/man|2|clock_nanosleep}} – suspends execution for a specified time ⚙️ Internals : {{The Linux Kernel/include|linux/posix-timers.h}} : {{The Linux Kernel/source|kernel/time/itimer.c}} &ndash; interval timer (setitimer/getitimer) : {{The Linux Kernel/source|kernel/time/posix-timers.c}} &ndash; POSIX clock and timer operations : {{The Linux Kernel/source|kernel/time/posix-cpu-timers.c}} &ndash; per-process/thread CPU timers :: {{The Linux Kernel/id|posix_cpu_timer_set}} – function setting up CPU timers ==== Futex ==== A {{The Linux Kernel/man|2|futex}} ↪ {{The Linux Kernel/id|do_futex}} (short for "Fast User space muTex") is a kernel system call that programmers can use to implement basic locking, or as a building block for higher-level locking abstractions such as semaphores and POSIX mutexes or condition variables. A futex consists of a kernel space ''wait queue'' that is attached to an aligned integer in user space. Multiple processes or threads operate on the integer entirely in user space (using atomic operations to avoid interfering with one another), and only resort to relatively expensive system calls to request operations on the wait queue (for example to wake up waiting processes, or to put the current process on the wait queue). A properly programmed futex-based lock will not use system calls except when the lock is contended; since most operations do not require arbitration between processes, this will not happen in most cases. The basic operations of futexes are based on only two central operations {{The Linux Kernel/id|futex_wait}} and {{The Linux Kernel/id|futex_wake}} though implementation has more operations for more specialized cases. : WAIT (''addr'', ''val'') checks if the value stored at the address ''addr'' is ''val'', and if it is puts the current thread to sleep. : WAKE (''addr'', ''val'') wakes up ''val'' number of threads waiting on the address ''addr''. ⚲ API : {{The Linux Kernel/include|uapi/linux/futex.h}} : {{The Linux Kernel/include|linux/futex.h}} ⚙️ Internals: {{The Linux Kernel/source|kernel/futex}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#futex stress-ng --futex] 📖 References : {{w|Futex}} : {{The Linux Kernel/man|7|futex}} : {{The Linux Kernel/doc|Futex API reference|kernel-hacking/locking.html#futex-api-reference}} : {{The Linux Kernel/ltp|kernel/syscalls|futex}} ==== File locking ==== ⚲ API: {{The Linux Kernel/man|2|flock}} ==== Semaphore ==== 💾 ''History: Semaphore is part of System V IPC {{The Linux Kernel/man|7|sysvipc}}'' ⚲ API : {{The Linux Kernel/man|2|semget}} : {{The Linux Kernel/man|2|semctl}} : {{The Linux Kernel/man|2|semop}} ⚙️ Internals: {{The Linux Kernel/source|ipc/sem.c}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#sem stress-ng --sem] === Kernel space synchronization === For kernel mode synchronization Linux provides three categories of locking primitives: sleeping, per CPU local locks and spinning locks. ==== Read-Copy-Update ==== Common mechanism to solve the readers–writers problem is the {{w|read-copy-update}} (''RCU'') algorithm. Read-copy-update implements a kind of mutual exclusion that is wait-free (non-blocking) for readers, allowing extremely low overhead. However, RCU updates can be expensive, as they must leave the old versions of the data structure in place to accommodate pre-existing readers. ⚲ The core API in {{The Linux Kernel/include|linux/rcupdate.h}} is quite small: : {{The Linux Kernel/id|rcu_read_lock}} marks an RCU-protected data structure so that it won't be reclaimed for the full duration of that critical section. : {{The Linux Kernel/id|rcu_read_unlock}} is used by a reader to inform the reclaimer that the reader is exiting an RCU read-side critical section. Note that RCU read-side critical sections may be nested and/or overlapping. : {{The Linux Kernel/id|synchronize_rcu}} blocks until all pre-existing RCU read-side critical sections on all CPUs have completed. Note that <code>synchronize_rcu</code> will ''not'' necessarily wait for any subsequent RCU read-side critical sections to complete. For example, consider the following sequence of events: {| class="wikitable" ! !CPU 0 !CPU 1 !CPU 2 |- |1. |rcu_read_lock() | | |- |2. | |enters synchronize_rcu() | |- |3. | | | rcu_read_lock() |- |4. |rcu_read_unlock() | | |- |5. | |exits synchronize_rcu() | |- |6. | | |rcu_read_unlock() |} [[File:Rcu api.jpg|thumb|upright=2|RCU API communications between the reader, updater, and reclaimer]] :Since <code>synchronize_rcu</code> is the API that must figure out when readers are done, its implementation is key to RCU. For RCU to be useful in all but the most read-intensive situations, <code>synchronize_rcu</code>'s overhead must also be quite small. :Alternatively, instead of blocking, synchronize_rcu may register a callback to be invoked after all ongoing RCU read-side critical sections have completed. This callback variant is called {{The Linux Kernel/id|call_rcu}} in the Linux kernel. : {{The Linux Kernel/id|rcu_assign_pointer}} - The updater uses this function to assign a new value to an RCU-protected pointer, in order to safely communicate the change in value from the updater to the reader. This function returns the new value, and also executes any {{w|Memory barrier}} instructions required for a given CPU architecture. Perhaps more importantly, it serves to document which pointers are protected by RCU. : {{The Linux Kernel/id|rcu_dereference}} - The reader uses this function to fetch an RCU-protected pointer, which returns a value that may then be safely dereferenced. It also executes any directives required by the compiler or the CPU, for example, a volatile cast for gcc, a memory_order_consume load for C/C++11 or the memory-barrier instruction required by the old DEC Alpha CPU. The value returned by <code>rcu_dereference</code> is valid only within the enclosing RCU read-side critical section. As with <code>rcu_assign_pointer</code>, an important function of <code>rcu_dereference</code> is to document which pointers are protected by RCU. The RCU infrastructure observes the time sequence of <code>rcu_read_lock</code>, <code>rcu_read_unlock</code>, <code>synchronize_rcu</code>, and <code>call_rcu</code> invocations in order to determine when (1) <code>synchronize_rcu</code> invocations may return to their callers and (2) <code>call_rcu</code> callbacks may be invoked. Efficient implementations of the RCU infrastructure make heavy use of batching in order to amortize their overhead over many uses of the corresponding APIs. ⚲ API : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=rcu_nocbs%5B rcu_nocbs] &ndash; no-callback CPUs : {{The Linux Kernel/include|linux/rcupdate.h}} : {{The Linux Kernel/include|linux/rculist.h}} &ndash; RCU-protected linked list operations ⚙️ Internals : {{The Linux Kernel/source|kernel/rcu}} &ndash; read-copy-update implementation 📖 References : {{The Linux Kernel/doc|Avoiding Locks: Read Copy Update|kernel-hacking/locking.html?#avoiding-locks-read-copy-update}} : {{The Linux Kernel/doc|RCU concepts|RCU}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-9.html RCU initialization] 📚 Further reading : [https://lpc.events/event/18/contributions/1906/attachments/1590/3302/LPC-2024-Vienna.pdf Reduce synchronize_rcu() latency] ==== Sleeping locks ==== ===== Mutexes ===== ⚲ API : {{The Linux Kernel/include|linux/mutex.h}} : {{The Linux Kernel/include|linux/completion.h}} : {{The Linux Kernel/id|mutex}} has owner and usage constraints, easier to debug than semaphore :: {{The Linux Kernel/id|rt_mutex}} blocking mutual exclusion locks with priority inheritance (PI) support :: {{The Linux Kernel/id|ww_mutex}} Wound/Wait mutexes: blocking mutual exclusion locks with deadlock avoidance : {{The Linux Kernel/id|rw_semaphore}} readers–writer semaphores : {{The Linux Kernel/id|percpu_rw_semaphore}} : {{The Linux Kernel/id|completion}} - use completion for synchronization task with ISR and task or two tasks. :: {{The Linux Kernel/id|wait_for_completion}} :: {{The Linux Kernel/id|complete}} 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#mutex stress-ng --mutex] 💾 ''Historical'' : {{The Linux Kernel/id|semaphore}} - use mutex instead semaphore if possible : {{The Linux Kernel/include|linux/semaphore.h}} : {{The Linux Kernel/include|linux/rwsem.h}} 📖 References : {{The Linux Kernel/doc|Completions - “wait for completion” barrier APIs|scheduler/completion.html}} : {{The Linux Kernel/doc|Mutex API reference|kernel-hacking/locking.html#mutex-api-reference}} : [http://lwn.net/Articles/23993/ LWN: completion events] ==== per CPU local lock ==== On normal preemptible kernel local_lock calls {{The Linux Kernel/id|preempt_disable}}. On RT preemptible kernel local_lock calls {{The Linux Kernel/id|migrate_disable}} and {{The Linux Kernel/id|spin_lock}}. Any changes applied to spinlock_t also apply to local_lock. ⚲ API : {{The Linux Kernel/include|linux/local_lock.h}} :: {{The Linux Kernel/id|local_lock}}, {{The Linux Kernel/id|preempt_disable}} :: {{The Linux Kernel/id|local_lock_irqsave}}, {{The Linux Kernel/id|local_irq_save}} :: etc 📖 References : {{The Linux Kernel/doc|local_lock|locking/locktypes.html#local-lock}} : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} : {{The Linux Kernel/doc|Proper locking under a preemptive kernel|locking/preempt-locking.html}} : [https://lwn.net/Articles/828477/ Local locks in the kernel] ==== Spinning locks ==== ===== {{w|Spinlock}}s ===== a ''spinlock'' is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is available. Since the thread remains active but is not performing a useful task, the use of such a lock is a kind of busy waiting. Once acquired, spinlocks will usually be held until they are explicitly released, although in some implementations they may be automatically released if the thread being waited on (that which holds the lock) blocks, or "goes to sleep". Spinlocks are commonly used inside kernels because they are efficient if threads are likely to be blocked for only short periods. However, spinlocks become wasteful if held for longer durations, as they may prevent other threads from running and require rescheduling. 👁 For example {{The Linux Kernel/id|kobj_kset_join}} uses spinlock to protect assess to the linked list. Enabling and disabling of kernel preemption replaced spinlocks on uniprocessor systems (disabled {{The Linux Kernel/id|CONFIG_SMP}}). Most spinning locks becoming sleeping locks in the {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} kernels. ⚲ API : {{The Linux Kernel/include|linux/spinlock.h}} :: {{The Linux Kernel/id|spinlock_t}} :: {{The Linux Kernel/id|raw_spinlock_t}} : {{The Linux Kernel/include|linux/bit_spinlock.h}} :: {{The Linux Kernel/id|bit_spin_lock}} 📖 References : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-1.html Introduction to spinlocks] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-2.html Queued spinlocks] ===== {{w|Seqlock}}s ===== A ''seqlock'' (short for "sequential lock") is a special locking mechanism used in Linux for supporting fast writes of shared variables between two parallel operating system routines. It is a special solution to the readers–writers problem when the number of writers is small. It is a reader-writer consistent mechanism which avoids the problem of writer starvation. A {{The Linux Kernel/id|seqlock_t}} consists of storage for saving a sequence counter {{The Linux Kernel/id|seqcount_t}}/seqcount_spinlock_t in addition to a lock. The lock is to support synchronization between two writers and the counter is for indicating consistency in readers. In addition to updating the shared data, the writer increments the sequence counter, both after acquiring the lock and before releasing the lock. Readers read the sequence counter before and after reading the shared data. If the sequence counter is odd on either occasion, a writer had taken the lock while the data was being read and it may have changed. If the sequence counters are different, a writer has changed the data while it was being read. In either case readers simply retry (using a loop) until they read the same even sequence counter before and after. ⚲ API : {{The Linux Kernel/id|seqlock_t}} :: {{The Linux Kernel/id|DEFINE_SEQLOCK}}, {{The Linux Kernel/id|seqlock_init}}, {{The Linux Kernel/id|read_seqlock_excl}}, {{The Linux Kernel/id|write_seqlock}} : {{The Linux Kernel/id|seqcount_t}} :: {{The Linux Kernel/id|seqcount_init}}, {{The Linux Kernel/id|read_seqcount_begin}}, {{The Linux Kernel/id|read_seqcount_retry}}, {{The Linux Kernel/id|write_seqcount_begin}}, {{The Linux Kernel/id|write_seqcount_end}} : {{The Linux Kernel/include|linux/seqlock.h}} 👁 Example: {{The Linux Kernel/id|mount_lock}}, defined in {{The Linux Kernel/source|fs/namespace.c}} 📖 References : {{The Linux Kernel/doc|Sequence counters and sequential locks|locking/seqlock.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-6.html SeqLock] ==== Spinning or sleeping locks ==== :{| class="wikitable" ! !! normal !! on preempt RT |- | spinlock_t, || raw_spinlock_t || rt_mutex_base, rt_spin_lock, sleeping |- | rwlock_t || spinning || sleeping |- | local_lock || preempt_disable|| migrate_disable, rt_spin_lock, sleeping |} ==== Low level ==== The compiler might optimize away or reorder writes to variables leading to unexpected behavior when variables are accessed concurrently by multiple threads. ⚲ API : {{The Linux Kernel/include|asm-generic/rwonce.h}} &ndash; prevent the compiler from merging or refetching reads or writes. : {{The Linux Kernel/include|linux/compiler.h}} :: {{The Linux Kernel/id|barrier}} &ndash; prevents the compiler from reordering instructions around the barrier : {{The Linux Kernel/include|asm-generic/barrier.h}} &ndash; generic barrier definitions : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} &ndash; force strict CPU ordering :: {{The Linux Kernel/id|mb}} &ndash; ensures that all memory operations before the barrier are completed before any memory operations after the barrier are started ⚙️ Internals : {{The Linux Kernel/doc|Atomics|driver-api/basics.html#atomics}} :: {{The Linux Kernel/include|linux/atomic.h}} &ndash; atomic operations wrapper :: {{The Linux Kernel/include|asm-generic/atomic.h}} :: {{The Linux Kernel/include|linux/atomic/atomic-instrumented.h}} ::: {{The Linux Kernel/id|atomic_dec_and_test}} ... 📚 Further reading : {{w|Volatile_(computer_programming)#In_C_and_C++|volatile}} &ndash; prevents the compiler from optimizations : {{w|Memory barrier}} &ndash; enforces an ordering constraint on memory operations 🔨 [https://manpages.ubuntu.com/manpages/resolute/man1/stress-ng.1.html#Lock stress-ng --lockbus] ==== ... ==== ⚙️ Locking internals : {{The Linux Kernel/include|linux/lockdep.h}} &ndash; runtime locking correctness validator : {{The Linux Kernel/include|linux/debug_locks.h}} : {{The Linux Kernel/source|lib/locking-selftest.c}} &ndash; locking correctness self-tests : {{The Linux Kernel/source|kernel/locking}} &ndash; locking primitives : {{The Linux Kernel/id|mutex_waiter}}, {{The Linux Kernel/id|timer_list}}, {{The Linux Kernel/id|wait_queue_head_t}} :: {{The Linux Kernel/source|kernel/locking/locktorture.c}} &ndash; module-based torture test facility for locking 📖 Locking references : {{The Linux Kernel/doc|locking|locking}} :: {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} ::: 😴 {{The Linux Kernel/doc|sleeping locks|locking/locktypes.html#sleeping-locks}} :::: {{The Linux Kernel/id|mutex}}, {{The Linux Kernel/id|rt_mutex}}, {{The Linux Kernel/id|semaphore}}, {{The Linux Kernel/id|rw_semaphore}}, {{The Linux Kernel/id|ww_mutex}}, {{The Linux Kernel/id|percpu_rw_semaphore}} :::: on preempt RT: local_lock, spinlock_t, rwlock_t ::: 😵‍💫 {{The Linux Kernel/doc|spinning locks|locking/locktypes.html#spinning-locks}}: :::: raw_spinlock_t, bit spinlocks :::: on non preempt RT: spinlock_t, rwlock_t : {{The Linux Kernel/doc|Unreliable Guide To Locking|kernel-hacking/locking.html}} : [https://sysprog21.github.io/lkmpg/#synchronization LKMPG: Synchronization] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/ Synchronization primitives] {{BookCat}} 30s6k38ep8n3jvnemup1k5r6vu6ecka Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6/5. Nc3/5...Bg7/6. Be3/6...Nf6/7. Bc4/7...O-O 0 485202 4657010 2026-08-10T10:19:59Z JCrue 2226064 created 4657010 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Modern Bc4 variation |eco=[[Chess/ECOB|B35]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...g6|Accelerated dragon]] → [[../|Modern Bc4 variation]] }} == 7...O-O == Black castles. White would like to continue their plan to long castle and assault Black's king side, but again they must take additional time to prepare it. Otherwise... '''8. Qd2?''' to make way for long castling is answered with 8...Ng4!. This uncovers an attack on the knight on d4 while also attacking White's dark square bishop, which is a valuable piece needed to contest Black's bishop's control of the dark squares. To save the bishop, White is compelled to initiate the trade of knights themselves, 9. Nxc6 dxc6 10. Qxd8 (10. O-O-O?! Qxd2 11. Rxd2 Nxe3 loses the bishop pair anyway; 11. Bxd2?? hangs 11...Nxf2 with a fork) 10...Rxd8 11. Bg5 {{chess/not|+}} and Black stands better. White may try '''8. f3?!''' to prevent ...Ng4, so that they can then play Qd2 and O-O-O. However, 8. f3 is answered with 8...Qb6!. This move attacks b2, so if e.g. 9. O-O? Qxb2! 10. Ncb5 Qb4 11. Be2 Nxd4 12. Nxd4 {{chess/not|++}} and Black escapes with a clean pawn. However the greater danger of 8...Qb6! is that it brings a second attacker to d4, and Black is ready to uncork a third. If 9. Qd2?? Nxe4! attacks the queen, while discovering an attack on d4 (10. fxe4 Bxd4 11. Bxd4 Qxd4 12. Qxd4 Nxd4 {{Chess/not|++}}). 9. Bb5? is imaginative, but again falls afoul of 9...Nxe4! (10. fxe4 Bxd4 11. Bxd4 Qxd4 12. Qxd4 Nxd4 {{Chess/not|++}}). The best try is 9. Bb3: 9...Nxe4 still follows, but White can at least recover the material with 10. Nd5 Qa5+ 11. c3 Nf6 12. Nxc6 dxc6 13. Nxe7+ {{chess/not|-}}. Therefore White must begin with [[/8. Bb3|'''8. Bb3''']]. This places the bishop on a safer square where it is guarded, and where it prevents ...Qb6 from exerting any pressure on the b2 pawn. White can then follow with f3 to prevent ...Ng4, Qd2, and O-O-O. '''8. O-O''' is a less challenging variation for Black to face. Black may respond 8...d6 to transpose into a good version of the regular dragon variation, or 8...Nxe4!, a temporary piece sacrifice where after 9. Nxe4 d5 10. Nxc6 bxc6 11. Bd3 dxe4 12. Bxe4, the game is equal. == Theory table == {{ChessTable}} {{ChessMid}} == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} mdlpoh9sxele4y4nbyvbqi0twufybef Chess Opening Theory/1. e4/1...b6/2. d4/2...Ba6 0 485203 4657027 2026-08-10T11:42:04Z JCrue 2226064 created 4657027 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Guatemala defence |eco=[[Chess/ECOB|B00]] |parent=<br /> * [[Chess Opening Theory/1. e4/1...b6|Owen's defence]] → [[../|'''2. d4''']] * [[Chess Opening Theory/1. d4/1...b6|English defence]] → '''2. e4''' }} ==2...Ba6?! · Guatemala defence == {{chess/sideline}} Black offers White the trade of bishops, '''3. Bxa6''' Nxa6. Black is left with weak light squares on the queen's side and their knight is misplaced on the rim. Black has spent time they can ill afford. === History === The reason for the association of the line with Guatemala is unclear. Benjamin & Schiller (1987) refer to the line as the Guatemala defence and may have originated the term.<ref>{{Cite book |title=Unorthodox Openings |last=Benjamin |first=Joel |publisher=B T Batsford |year=1987 |location=London |pages=117-118 |last2=Schiller |first2=Eric}}. The two cited games are given as Knoppert vs Schiller, Docklands Marathon, 1985</ref> It is very seldom played. An early recorded game is a correspondence game from 1989.<ref>[https://www.chessgames.com/perl/chessgame?gid=1322933 Schuster v Bellas, 1989. Chessgames.com]</ref> == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} jeme2g84y7jxvqopn376asmx0p6icdc