Зміст

  • Передумови розробки
  • Не антагоністи, а партнери
  • Синиця в руках і журавель в небі
  • Початок кінця
  • Кінець початку
  • Епітафія

На початку «нульових» шина FireWire була модною темою для ЗМІ та й просто комп’ютерних ентузіастів — все-таки нові зовнішні інтерфейси, причому потужні і універсальні, з’являються далеко не кожен рік. Тоді ж виходила на ринок і USB, але без особливого шуму. Світлого майбутнього у USB не проглядалося — саме через планів по FireWire можливості цього інтерфейсу спочатку були штучно обмежені. Втім, не завжди вони обмежувалися штучно: раз вже передбачається введення двох сучасних інтерфейсів, замінюють всі інші стандарти (але не один одного), а один з них за визначенням швидкий і складний, то другий розумно зробити не тільки повільним, але й простим — так дешевше. А ось «просунутий», здавалося б, варто робити найбільш універсальним і технічно досконалим. Однак саме це «технічну досконалість» укупі з універсальністю і згубило FireWire — на сьогодні цей інтерфейс остаточно став лише історичним спогадом, але спогадом цікавим і повчальним.

Передумови розробки

Сьогоднішній комп’ютерний світ очам користувача, вирваного з кінця 80-х — початку 90-х років минулого століття, швидше за все, здався б дуже нудним. Чому? Та хоча б тому, що зараз майже у всіх інтелектуальних пристроях» (від компактного дешевого плеєра до суперсервера) панують процесори всього двох архітектур — x86-64 і ARM. Причому левова частка систем на базі x86-64 ще і працює під управлінням рівно одного сімейства операційних систем. Зовсім не те було 25-30 років тому. Десятиліття бурхливого розвитку персональних комп’ютерів і трохи більший період вдосконалення «більш серйозною» техніки зробили світ дуже строкатим. Вже тоді висловлювалися перші думки про те, що скінчиться все це похмурою стандартизацією (наприклад, можна згадати, що вийшла в 1991 році в PC Magazine статтю Джима Сеймура з провокаційною назвою «Всі комп’ютери крім IBM PC підуть у небуття»), однак ставилися до таких думок не краще, ніж до будь-яких утопій або антиутопиям. На ринку, що розвивається місця вистачало всім, вдалі ідеї завжди могли знайти своє втілення, виражене в кількості одиниць техніки, що продається і досить вагомий кількості загальнолюдських цінностей (зазвичай у вигляді доларів, фунтів стерлінгів або німецьких марок — інші тогочасні валюти виглядали менш серйозно). Intel тоді контролювала більшу частину ринку х86-процесорів, ніж зараз, проте і на цьому ринку були присутні близько п’яти-шести незалежних виробників, а були й припущення, що весь він може скукожитися до нуля: у багатьох лінійках персональних комп’ютерів і робочих станцій використовувалися процесори Motorola, свою частку намагався відрізати Sun, багато перебували під враженням попередньої інформації про DEC Alpha і т. д. і т. п. Комп’ютери перестали бути лише справою ентузіастів, як на початку 80-х, однак майже на порожньому місці створити велику компанію, захопити чималу частку ринку, змусити про себе говорити… а потім разом збанкрутувати все ще було не так вже й складно. Загалом, всі атрибути молодого і динамічного ринку очевидна.


Користувачі сучасних комп’ютерів в більшості своїй знайомих роз’ємів тут не побачать 🙂

Включаючи і тотальну несумісність всього з усім іншим. Всі виробники, природно, у своїх системах використовували свої ж шини. За прикладами далеко ходити не треба: на одному лише ринку «IBM PC» розгорнулася справжня «війна шин», коли IBM просувала MCA, більшість виробників зберігали вірність застарілою, але такий недорогий і простий ISA, а один консорціум активно просував EISA в якості єдиного універсального рішення (втім, про ті події ми вже писали, так що повторюватися не будемо). Очевидно, що виробники комп’ютерів на базі процесорів Motorola використовували свої шини (причому саме у множині — домовитися до однієї єдиної у них якось не вийшло), Sun — свою, Hewlett Packard в робочих станціях на базі процесорів PA-RISC — свою, DEC — свою, і так далі, і тому подібне.


Всередині — не краще (Sun SPARCstation 5)

Загалом, розробка плат розширення на той момент була не найпростішим завданням: найскладніше було вирішити, на який ринок ми взагалі орієнтуємося, а все інше (власне сама розробка) — це вже дрібні технічні труднощі. Але найгірше було те, що і розробники периферійного обладнання стикалися з тими ж проблемами, оскільки в області зовнішніх інтерфейсів панував той же принцип «хто в ліс, хто по дрова». Навіть єдиного стандарту мережевого інтерфейсу не було: це зараз Ethernet — законодавець провідний моди, а тоді він був лише одним з безлічі варіантів, якому, до речі, більшість взагалі пророкували швидку і болісну смерть. Загалом, на ринку були присутні всього два зовнішні інтерфейси, які (хоч і з певними застереженнями) можна було вважати галузевими стандартами: вже тоді стародавній страшенно повільний послідовний RS232C і універсальний швидкісний, але дуже дорогий SCSI. Всі! У тих випадках, коли жоден з них не підходив, зазвичай винаходили свій власний велосипед. Тому, наприклад, зовні схожі клавіатури для Commodore Amiga, Apple Macintosh, Sun SPARCstation або стандартного «писюка» були абсолютно не є взаємозамінними: інтерфейси-то різні. Ось і спробуйте щось заробляти на такому ринку, коли у всіх виробників своя власна периферія, причому збереження в майбутньому наявних роз’ємів ніхто не обіцяє.

Можна було, звичайно, остаточно стандартизувати обидва або один з двох наявних інтерфейсів і використовувати лише їх. Але розумним виходом це не було. Послідовний порт — дуже повільний. Для миші — підійде (і такі випускалися), для принтера — з великою натяжкою (і тому в PC найчастіше використовувалися спеціальні паралельні принтерные порти), а от для якого-небудь зовнішнього накопичувача або сканера — вже ніяк. (Я от 18 років тому поспілкувався з плеєром, що підключається до комп’ютера через СОМ-порт — досі це залишається одним з самих страшних спогадів мого життя :)) загалом, в світлі освоєння мультимедіа про RS232C варто забути і не згадувати.

SCSI… Тут все складніше. Цей універсальний інтерфейс для підключення всього до всього» довгий час залишався не тільки найшвидшим із допускають підключення периферії, але і самим швидким взагалі. Причому вже в ті безжурні часи найперша версія SCSI підтримувала швидкість в 5 МБ/с — навіть розрахований на вінчестери IDE досяг таких швидкостей не відразу, а інші багато років і не намагалися. Нічого дивного, що SCSI-адаптер довгий час був невід’ємною частиною будь-якого комп’ютера професійного призначення. Жорсткі диски високої ємності випускалися тільки для SCSI, CD-ROM перший час — тільки SCSI, магнитооптика і CD-R/RW — аналогічно, так і у іншого професійного обладнання, типу сканерів і тому подібного, лише в поточному столітті відбувся масовий перехід на інші інтерфейси. Однак у кожної медалі є дві сторони, так що були у SCSI і недоліки. Перший і для багатьох найважливіший — дуже висока ціна. Другий — обмежена кількість пристроїв. Причому в міру зростання швидкості (а цей стандарт з тодішніх 5 МБ/с встиг дорости, перш ніж помер, до 320 МБ/с) кількість підтримуваних пристроїв і довжина шлейфів неухильно скорочувалися. Причина зрозуміла: паралельна природа інтерфейсу ніяк не допускала «вольностей» з довгим дротом і десятками периферійних пристроїв. Загалом, і SCSI не зовсім відповідав потребам індустрії.

Якщо ж нічого з існуючого не підходить, вихід очевидний: потрібно робити нові інтерфейси. Оскільки вони повинні стати галузевими, а не внутріфірмовими стандартами, розробляти їх потрібно «всім світом». Оскільки нам потрібні високі швидкості, велика кількість пристроїв, простота реалізації (щоб застосовувати їх і в недорогий периферії або навіть побутової техніки), ці інтерфейси повинні бути послідовними. Таким чином, ще в ті часи поступово почалася робота над тим, що пізніше стало називатися USB, і проектом, в кінцевому підсумку принесло в світ FireWire. Що стосується USB, то це окрема, але досить цікава історія, до якої ми, можливо, повернемося згодом. Тим більше, що вона ще не закінчилася — на відміну від FireWire, де вже поставлена крапка.

Не антагоністи, а партнери

Спочатку конкуренція між FireWire і USB не могла приснитися навіть у страшному сні не одному з їх розробників — надто вже різні сфери застосування вони були орієнтовані. Втім, в чомусь вони, звичайно, були схожі один на одного. Так, обидва стандарту були послідовні, оскільки вже тоді було очевидно, що спроба покращувати паралельні інтерфейси — шлях тупиковий: приклад SCSI, який по мірі зростання швидкості втрачав універсальність і дальність дії, був перед очима. Обидва стандарту були розраховані на підключення великої кількості пристроїв (127 для USB і 63 для FireWire, що, знову ж таки, було новим віянням — навіть SCSI підтримував всього до 15 пристроїв, а інші і того менше) усього до одного контролера, а в особливо клінічних випадках — і до одного порту. Але ось швидкість передачі даних — принципово різна. На тлі масових інтерфейсів того часу USB виглядав досить швидким: 12 Мбіт/с. Це не так уже й мало, якщо порівняти з можливостями старого послідовного RS232C, в теорії здатного лише на 115 Кбіт/с. Однак це вже точно і не багато, оскільки основний і вже застарілий тоді внутрішній інтерфейс (ISA) хоча б в теорії «тягнув» 16 МБ/с. до Речі, поліпшені специфікації паралельного порту дозволяли досягти швидкості до 4 Мбіт/с, тобто були швидше, ніж найповільніший з варіантів USB, але повільніше, ніж «повношвидкісний». Загалом, сфера застосування була окреслена чітко. Принтерів та іншого обладнання, що використовує паралельний порт (дешеві мережеві адаптери, деякі накопичувачі тощо) покладається USB Full Speed, який дозволить збільшити швидкість роботи втричі і не зажадає городити для кожного з пристроїв власний інтерфейсний порт. Миші, клавіатури, ігрова периферія, модеми для телефонних ліній та інше, що обходиться COM-портом або спеціалізованими примітивними інтерфейсами — кожному з вас USB Low Speed буде багато, але всім разом вистачить. Швидких у сучасному розумінні цього слова масових пристроїв тоді особливо й не було.

Але були масові», тобто професійні. Професіоналам потрібна була повноцінна заміна SCSI, який вже перестав задовольняти виробників в якості зовнішнього інтерфейсу. Тому перші реалізації FireWire «в залізі» ще до фактичної стандартизації вже підтримували швидкісний режим в 25 Мбіт/с — більш ніж удвічі більше, ніж USB. Потім з того ж шматка дроту навчилися вичавлювати 50 Мбіт/с, потім 100, потім 200, і нарешті, коли шина була вже готова до стандартизації, максимальним швидкісним режимом стало 400 Мбіт/с. Зараз ця цифра здається невеликою, але тоді для зовнішнього інтерфейсу це було щось неймовірне. Досить згадати, що «круту» UltraSCSI давав лише 40 МБ/с, а кращий варіант IDE десятирічної давності (дозволив, до речі, стандарту розвиватися далі, незважаючи на припущення про його швидкої смерті) АТА33 — відповідно, 33 МБ/с. Що з цього випливає? Всього-на-всього те, що FireWire виявилося достатньо навіть для підключення основних (внутрішніх) вінчестерів! І не тільки їх 🙂 Для роботи з накопичувачами в стандарт було внесено практично повний набір команд SCSI, але була там крім них і повна реалізація протоколів АТМ. Зараз це «слово з трьох букв» здається більшості незнайомим (викликаючи в кращому випадку асоціацію з банкоматами :)), але 20 років тому АТМ на повному серйозі розглядався як мережевий протокол майбутнього — Ethernet-то, за більшістю прогнозів, повинен був померти. Йому якось дався перехід від 10 до 100 Мбіт/с, але подальших перспектив не видно, так що виробники мережевого обладнання та серверів хапалися за будь-яку соломинку, що дозволяє розвиватися далі, бо було очевидно, що 100 Мбіт/с на перспективу занадто мало. Так от, одна з іпостасей FireWire — це повноцінна мережа зі швидкістю 400 Мбіт/с. Знову ж, зараз це тремтіння в кінцівках не викликає, навіть бездротові мережі вміють працювати швидше (нехай і з низкою застережень). А ось тоді… Тоді цю саму «сотку» тільки-тільки почали освоювати, у світі продовжували трудитися мережі зі швидкістю 2, 4, 10 або 16 Мбіт/с, а в гігабітний Ethernet вірили тільки ентузіасти (до речі, невідомо ще було, і хто стане остаточним переможцем на швидкості до 100 Мбіт/с Ethernet, 100 VG AnyLAN (близький за духом до Token Ring) або АТМ). А далі потенційно могло настати час FireWire, для чого в шину і були закладені відповідні можливості та протоколи. У такому разі, можливо, деякі рішення, що стали звичними лише до кінця нульових, сприймалися б як належне набагато раніше: наприклад, будь-вінчестер з інтерфейсом FireWire — це вже фактично NAS. Причому його зовсім не обов’язково було б розташовувати поруч з розеткою: ще при розробці перших версій стандарту задумалися про електроживленні «ненажерливих» пристроїв (те, що в рамках USB реалізували лише зовсім недавно і обмежено), надавши їм теоретичну можливість отримувати до 45 Вт (1,5 А 30 В) безпосередньо через шину.

Ще одним цікавим наслідком мережевий природи FireWire було потенційне рівноправність всіх підключених пристроїв. USB спочатку будувався за принципом «ведучий—ведений», так що в міру поширення «розумних» пристроїв (типу тих же смартфонів або планшетів) довелося придумувати розширення протоколу, щоб вони могли працювати як підлеглий пристрій при підключенні до комп’ютера, але самостійно «переварити» якусь флешку. Для FireWire робити аналог USB On-the-Go не потрібно — така функціональність в шину була закладена ще на старті.

Отже, сфери діяльності обох сучасних (на той момент) послідовних інтерфейсів чітко розділилися. Те, що їх залишалося два, формально не сприяло припиненню бардаку на ринку, але вмістити все-все-все в рамки однієї шини здавалося неможливим — надто вже велика різниця між потребами мишей або сканерів і вінчестерів. Теоретично ніщо не заважало і мишей «пересадити» на FireWire, але… Зробити це на практиці заважав здоровий глузд: аж надто дорогим б вийшов маніпулятор 🙂 Тому майбутнє очима більшості гравців ринку бачилося простим: в кожному комп’ютері має бути півдюжини портів USB для всякої низькошвидкісний масової дріб’язку і два-три високошвидкісні порти FireWire. Стеля першої шини був позначений чітко і назавжди — 12 Мбіт/с. З приводу другої відразу ж було заявлено, що вона буде з часом масштабуватися до швидкостей 800 Мбіт/с, потім 1,6 і, нарешті, 3,2 Гбіт/с. Чому ці можливості не були відразу внесені в стандарт? Це просто нікому не потрібно. Навіть вінчестери лише відносно недавно перевершили другу з «майбутніх вершин» FireWire за фізичним швидкостей, так і більш швидкий інтерфейс у них з’явився трохи раніше: перша інкарнація SATA — це лише 1,5 Гбіт/с. Ну і навіщо було робити двадцять років тому шину, відразу розраховану на швидкості, непідвладні ні периферії, ні навіть внутрішніх пристроїв? Нема чого. Тому й не робили. Але щоб покупці технологій не лякалися, стандарт відразу ж була закладена можливість подальшого збільшення швидкостей.

Синиця в руках і журавель в небі

При всій красі специфікацій і закладених в стандарт можливостей подальшого зростання, однією з перших серйозних проблем стало те, що з масовими реалізаціями інтерфейсу для професійної сфери застосування ніхто не поспішав, оскільки нікуди не поспішали і самі професіонали, які продовжували використовувати вже наявне обладнання з SCSI-інтерфейсом. Втім, один потенційний «драйвер» у FireWire з’явився відразу: цифрові камери формату MiniDV були розраховані на підключення до комп’ютера саме за допомогою даного інтерфейсу. Але їм і самим спочатку потрібно було якось поширитися на ринку.

USB на перших етапах відчувала ті ж проблеми, але оскільки вона призначалася для масових пристроїв, то швидко стала обов’язковою, благо контролер «прописався» прямо в чіпсеті. У результаті В кінці 90-х пара портів цієї шини була вже в кожному новому комп’ютері, а ось підключати до них було нічого. Однак по мірі зростання парку USB-сумісна техніки, а також після виходу Windows 98, 2000, підтримують цей новий інтерфейс, виробники периферії ним зацікавилися. Швидкісний ж і зручною шиною FireWire мало хто цікавився, оскільки вона продовжувала залишатися опціональною при всіх своїх перевагах. А деякі з її переваг не використовувало зовсім — наприклад, підтримка локальних мереж на базі FireWire, на розробку яку творці інтерфейсу витратили чимало ресурсів, з’явилася тільки в Windows ME і ХР, до більш ранніх версій ОС Microsoft вона «прикручивалась» тільки за допомогою платного програмного забезпечення. Природно, в таких умовах бажаючих користуватися FireWire не спостерігалося: нехай Ethernet і повільніше, але він дешевше. Крім того, мережеві можливості FireWire сильно підкосили такі, здавалося б, незначні компоненти, як… кабелі. Справа в тому, що в першій версії стандарту (IEEE1394) був закладений лише один варіант кабелю: довжиною 4,5 метра. Це робило шину цікавою для, наприклад, безпосереднього з’єднання настільного комп’ютера з ноутбуком при необхідності передати з одного на інший велику кількість даних — благо підтримка більш повільного Ethernet ще не була повсюдною, а для (зовсім) повільного USB потрібні спеціальні дорогі «кабелі». Але намагатися будувати на базі FireWire мережу навіть в невеликому офісі вже було б складно навіть при сильному бажанні — з чисто технічних причин.

Другим дивним рішенням розробників була опціонально живлення: реалізувати скрізь і всюди максимальні 45 Вт, звичайно, було б занадто складно, а то й просто неможливо, однак обумовити якийсь мінімум в стандарті мало сенс. Його і поставили: 0 Вт.


Інтерфейс один і той же — просто справа немає ліній живлення

На практиці це виглядало як поява в рамках стандарту двох роз’ємів: з шістьма та чотирма контактами. Останнє якраз обмежувало інтерфейс двома парами проводів, необхідними для реалізації високошвидкісних протоколів, а харчуванням виробник кінцевого пристрою повинен був потурбуватися самостійно. В результаті потенційна можливість підключати одним кабелем навіть «ненажерливі» пристрою так і залишилася потенційної: ринок FireWire і без того був вузьким, і ще сильніше обмежувати цільову аудиторію просто не мало сенсу. Обмежені ж, але гарантовані можливості USB по харчуванню виявилися більш зручними — на них можна було покладатися завжди. Тому шину USB почали застосовувати навіть там, де це не передбачалося — наприклад, у зовнішніх накопичувачах на базі вінчестерів. FireWire для цього підходила куди краще, але на практиці єдиною його перевагою виявилася більш висока швидкість роботи. Вагомо, але недостатньо для масовості. Перші USB-накопичувачі були дуже повільними, але їх хоча б було куди підключати.

Такими були технічні проблеми першої реалізації стандарту. Крім них знайшлися й інші: ліцензійні відрахування, якими вирішено було оподатковувати кожний порт (навіть не пристрій!). Деякі вважають саме їх визначальними, але ми з цією версією не зовсім згодні: на практиці користувачі зазвичай готові доплачувати, якщо отримують за це щось відчутне. Зокрема, ті, хто працював з цифровим відео на касетах MiniDV, отримували можливість це робити — і платили за неї стільки, скільки зажадають. Для інших же інтерфейс FireWire залишався практично марним, а от оплачувати потенційні можливості на перспективу бажаючих зазвичай мало 🙂 В таких умовах, природно, не квапилися і виробники — а навіщо, якщо потенційний ринок збуту не простежується? Що могло змінити появу підтримки FireWire чіпсетами для системних плат (адже підтримка USB у них з’явилася раніше, ніж стала реально затребуваною), але… І тут, схоже, критичною виявилася не ціна — просто єдиним виробником чіпсетів (яких тоді було багато, причому різних для різних платформ, так що можна було навіть говорити про ринок чіпсетів), освоїли підтримку першої версії FireWire, виявилася тайванська компанія Silicon Integrated Systems. Сьогодні марка «SiS» багатьом нічого не говорить, так що коротко повідомимо, що її продукція завжди ставилася до бюджетного сегменту, зустрічаючись в основному в самих дешевих комп’ютерних системах. Реалізація ж «просунутого професійного» інтерфейсу розширити свою присутність на ринку компанії SiS ніяк не допомагала, так що незабаром була припинена. Тим більше що почалося…

Початок кінця

На рубежі століть консорціум по просуванню USB раптово перестав повторювати мантру про те, що подальший розвиток стандарту не планується. Навпаки, всі заговорили про USB 2.0. Мова про серйозної модернізації шини не йшла — просто передбачалося додати ще один швидкісний режим, причому дійсно швидкісний: 480 Мбіт/с. Серйозний стрибок у 40 разів змушував припустити, що далі нічого «вичавити» з інтерфейсу без докорінної переробки не вийде — так воно в підсумку і вийшло: «супер»-швидкісні режими USB 3.x реалізовані принципово інакше, причому на більшій кількості проводів і через багато (за мірками індустрії) років. Але і збільшення продуктивності до 480 Мбіт/с повинно було зробити USB конкурентом FireWire, чого при початковій розробці обох стандартів виробники намагалися уникнути. Причому підтримка USB 2.0 повинна була стати масової та дешевої — в ідеалі на рівні USB 1.1.

Однак певна часова фора у вже представленого на ринку інтерфейсу все ж була: попередню версію специфікацій USB 2.0 опублікували в 2000 році, остаточну — у 2001-му, а в чіпсетах підтримка почала з’являтися лише в кінці 2002 року, причому, зрозуміло, це зачіпало лише самі нові комп’ютери, а не весь наявний парк техніки. До цього моменту контролери FireWire вже присутні на ринку, причому встигли різко подешевшати: якщо в кінці 90-х додавання підтримки цього інтерфейсу в комп’ютер могло обійтися в $100 і більше, то в самому початку нульових — все доларів 20. Примітно, що перші з’явилися у продажу дискретні контролери USB 2.0 коштували приблизно стільки ж. І відразу ж з’ясувалося, що, наприклад, FireWire накопичувачі працюють швидше, ніж аналогічні пристрої з інтерфейсом USB 2.0, незважаючи на більш високу теоретичну пікову пропускну здатність останнього. Звичайно, в цьому немає нічого дивного: один інтерфейс під таке застосування «пилился» спеціально (так само як і програмний протокол SBP2), другий же почав використовуватися в накопичувачах лише тому, що попався під руку (і розроблялося аналогічним чином — в кінці кінців після переходу на USB 3.0 від UMS довелося відмовлятися, переходячи на UASP, куди більш схожий на SBP2, ніж на попередника). Загалом, здавалося б, приблизний паритет щодо (не)поширеності при наявності технічних переваг FireWire. Однак тут зіграла роль сумісність різних версій USB один з одним, причому повна: нові швидкісні пристрої могли хоч якось працювати в що вже стали масовими портах перших версій, так що іноді вони просто купувалися «на майбутнє». Користувачам же FireWire на щось сподіватися було складно: порти або є, або їх немає зовсім. Так, у багатьох системах вони були (завдяки зниженню цін виробники стали припаювати дискретні контролери безпосередньо до плат), але далеко не у всіх. А хоч якась підтримка USB стала майже повсюдною.

У ті ж роки почали поступово забувати і про мережеві можливості FireWire. Війни стандартів середини 90-х вже закінчилися перемогою Ethernet. Більше того, з’явилися специфікації, що дозволяють у майбутньому на основі звичайної витої пари освоїти і гігабітні швидкості. Не можна, правда, сказати, що вита пара залишалася при цьому зовсім тій же: все-таки «сотка» в кабелі використовувала дві пари проводів, а гигабиту потрібно всі чотири, що в деяких випадках вимагало змінювати і кабельне господарство. Але, принаймні, певна сумісність стандартів була, і перспективи теж простежувалися. При цьому навіть з 10 Мбіт/с 100 Мбіт/с переходили поетапно, так що і освоєння гігабіта уявлялося аналогічним (забігаючи вперед — так воно і сталося). Тому є у FireWire мережеві можливості, ні у FireWire мережевих можливостей — яка різниця, якщо прямо зараз ними скористатися не вийде, а в подальшому простіше буде користуватися не ними.

Кінець початку

Втім, як вже було сказано вище, сама по собі підтримка шини FireWire подешевшала, так і контролери перестали бути екзотикою, часто доставаясь користувачеві «безкоштовно» — в навантаження до інших компонентів комп’ютера або ноутбука. А враховуючи перспективи подальшого збільшення швидкості до 3,2 Гбіт/с (чого на той момент ніхто з потенційних конкурентів навіть формально ще не обіцяв) та інші технічні переваги, можна було оцінювати перспективи FireWire з обережним оптимізмом, що всі і робили. А деякі потенційні переваги, типу електроживлення (питання, яке болючим для USB і почав ставати актуальним навіть для Ethernet — як тільки його почали використовувати не тільки для з’єднання комп’ютерів), можна було легко перетворити в реальні в рамках оновлення специфікацій, благо такі готувалися.

Оновлення побачили світ у вигляді стандарту IEEE1394b, який FireWire… остаточно поховав, причому зміг би це зробити навіть без сторонньої допомоги. Так, у ньому були виправлені багато попередні недоробки і додано то, що потрібно було додати раніше. Але і то не всі. Так, наприклад, гарантований мінімум по харчуванню так і залишився нульовим, хоча цю проблему вирішити коштувало, і з урахуванням іншого це можна було зробити відносно малою кров’ю. А деякі проблеми були вирішені занадто пізно: наприклад, з’явилася підтримка звичайної витої пари на відстанях до 100 метрів, але тільки на швидкості 100 Мбіт/с. Будь це зроблено відразу, тобто в 1995 році, FireWire встигла б вплутатися у війну стомегабитных стандартів. Однак на дворі вже був 2003 рік, кілька років пройшло з моменту анонса Gigabit Ethernet, а більш повільні реалізації вже стали стандартом де-факто на ринку. Цікавою виглядала підтримка оптичних кабелів, але лише в теорії — занадто вони в ті роки були дорогими. До речі, ця проблема зберігалася і пізніше, так що давно обіцяної деякими виробниками «смерті міді» зважаючи тотального переходу інтерфейсів на оптику навіть зараз не спостерігається.

Що було реалізовано в новому стандарті, так це підтримка швидкості до 800 Мбіт/с — на той момент максимальної для зовнішніх інтерфейсів. Однак і з нею все вийшло як завжди. Навіть наочний приклад шини USB 2.0, яку перший час «витягувала» лише сумісність зі старими версіями стандарту, стали невід’ємною складовою нових специфікацій, нічому не навчив розробників FireWire: нова швидкісна версія вимагала спеціальних кабелів і роз’ємів. Вмістити все в звичайні дві пари проводів не вдалося — потрібна третя.


Третій роз’єм — коли і двох було багато

Відповідно, і портів вже стало три різних типи: FireWire 400 «без харчування», FireWire 400 «з харчуванням» і FireWire 800. Вони були частково сумісні один з одним, що дозволяло в крайньому випадку використовувати спеціальні кабелі та перехідники, але зовсім не додавало ентузіазму розробників пристроїв. Крім того, нові роз’єми виявилися архаїчно великими, що не вкладалося у вже тоді помітну тенденцію мініатюризації пристроїв. Розробники USB цю тенденцію не відразу, але все ж врахували: роз’єм типу Mini-B були представлені у вигляді доповнення до специфікації 2.0 — ще до початку фізичного її впровадження і в якості відповіді на самодіяльність виробників периферії, яким був потрібен компактний роз’єм (в результаті з’явилося кілька нестандартних варіантів, «відмерлих» після виходу в світ стандартного). Компактний роз’єм FireWire існувала в єдиній версії: без харчування. Зовсім без. І тільки з підтримкою швидкісних режимів до 400 Мбіт/с.

Але навіть прорвавшись через всі недоробки, у ті роки потенційний користувач нерідко опинявся в положенні, коли швидкісний режим… просто не включався. Програмна підтримка перших версій FireWire з боку Microsoft, наприклад, була дуже доброю і своєчасної: зокрема, цей інтерфейс підтримувався ще в Windows 98, причому для відповідних накопичувачів окремі драйвери не потрібні (на відміну від USB Mass Storage). Можливість створення локальних мереж також була вбудована в Windows ME і XP, хоча особливої популярності з описаних вище причин не здобула. А ось підтримки IEEE1394b в Windows XP не було. Вона офіційно з’явилася лише з виходом Service Pack 2, тільки от власне режим зі швидкістю 800 Мбіт/с працював через раз. Причому звичайною ситуацією при проблемах з ним було зниження швидкості навіть не до 400, а до 200 Мбіт/с. «Танці з бубном» довкола альтернативних драйверів і проблему часто вирішували, але розраховувати при цьому на масове поширення відповідних пристроїв серед користувачів було б, м’яко кажучи, необачно. Куди краще справа йшла на платформі Apple, де FireWire 800 довгий час вважався одним із штатних високошвидкісних інтерфейсів, однак для масового розповсюдження на ринку цього було замало.


Зовнішні дискові масиви — один з небагатьох більш-менш вдалих прикладів впровадження FireWire 800, поки не з’явилися альтернативи

Крім того, в ті роки вже почав поступово зникати клас пристроїв, в якому застосування FireWire було безальтернативним — відеокамери. Точніше, самі по собі вони залишилися на місці, але впровадження HD-форматів йшло паралельно з відмовою від касет і переходом до звичайних «файловим» носіям, типу флеш-карт або жорстких дисків. При такому розкладі процедура «захоплення відео з камери» перетворилася на просте копіювання файлів на комп’ютер — швидке і, загалом-то, не надто залежне від можливостей інтерфейсу. За великим рахунком, взагалі перестало мати значення, який там у камери інтерфейс, оскільки потрібні файли можна було просто скопіювати з флешки. Зрозуміло, що працюють з касетами відеокамери довго не здавалися, маючи перевагу за ціною носіїв, але і в них почала з’являтися підтримка USB 2.0: виявилося, що цього інтерфейсу їм достатньо. А верхом цинізму стали пристрої типу Pinnacle Studio Plus 700-USB: зовнішнє пристрій захоплення з підтримкою FireWire (для підключення камер MiniDV), але з’єднане з комп’ютером через USB 2.0. Так універсальність почала перемагати спеціалізоване рішення — як воно часто й буває.


У зовнішніх аудиорешениях FireWire з основного інтерфейсу теж швидко перетворився на додатковий

Епітафія

Не можна сказати, що смерть інтерфейсу виявилася такою вже швидкій — насправді він цілком «дожив» до поточного десятиліття, а в кінці попереднього FireWire контролер зустрічався на системних платах як би не частіше, ніж у часи актуальності цієї шини. Навряд чи, звичайно, виробники розраховували на ренесанс — просто контролери стали коштувати так дешево, що було нескладно враховувати інтереси небагатьох власників FireWire-периферію.


Gigabyte Z77X-UP5 TH зразка 2012 року — з підтримкою Thunderbolt, USB 3.0, eSATA і FireWire 400 одночасно

А ось перспективи вже не проглядалися. Хоча всі огріхи ранніх версій специфікацій були виправлені, це вже не цікавило ні виробників, ні користувачів. Приміром, підтримка мереж на базі витої пари зі швидкістю 800 Мбіт/с на відстані до 100 метрів була внесена за кілька місяців до того, як Microsoft викинула можливість організації FireWire-мереж зі своїх операційних систем взагалі. Дійсно: а сенс? Якби таке в 90-е або хоча б у 2003 році — як альтернатива Gigabit Ethernet могло б зіграти. Але в 2006-му вже було пізно. Нікого не зацікавила і тихо анонсована в кінці 2007 року специфікація S3200, що узаконила швидкісний режим в 3,2 Гбіт/с — на той момент увагу індустрії була прикута до роботи над USB 3.0 з її 5 Гбіт/с. Фактично, вже тоді FireWire перейшла в стан наздоганяючої: USB довелося серйозним чином «перелопатити», але більш висока пропускна здатність з перспективою росту в її випадку виявилася цілком реалізується при збереженні сумісності з вже існуючим обладнанням. У FireWire ж не виявилося ні великого парку сумісного обладнання, ні перспектив. Тому згадана вище щодо масова підтримка інтерфейсу в комп’ютерах обмежувалася, як правило, «оригінальної» FireWire 400 — до неї-то хоч було чого підключати.

На даний же момент часу про інтерфейс FireWire пора забути. Звичайно, можна вільно придбати PCIe-карту розширення для десктопа, що підтримує швидкість передачі даних 800 Мбіт/с, і навіть знайти яке-небудь обладнання для підключення до неї… але сенс? 🙂

Як бачимо, технічну перевагу і універсальність рішення зовсім не завжди йде на благо інтерфейсу — цими перевагами ще потрібно зуміти скористатися. Не будь у FireWire конкурентів — сучасний світ міг би бути дещо іншим. Однак на практиці прості (аж до примітивізму) і дешеві USB і Ethernet захопили 100% ринку «проводового підключення». Це вже трохи не ті USB і Ethernet, звичайно, які існували 20 років тому (хоча б по пропускній здатності, збільшену на пару порядків, що вимагає зовсім інших технічних рішень), але повільне поетапне розвиток дозволило їм стати галузевими стандартами, незважаючи на всі їхні недоліки. Просто все треба було робити вчасно і зберігаючи сумісність з попередніми кроками — як бачимо, такий варіант є цілком робочим. А ось створення «найкращого стандарту» без чіткого цільового призначення призводить до таких історій, яка сталася з FireWire і якої цілком можна було б уникнути, враховуй розробники досвід інших стандартів і виправляй вчасно свої власні помилки.