Faits: A. A._, ressortissant kosovar né en 1971, a été arrêté le 3 novembre 2009 et inculpé, par le Juge d'instruction du canton de Genève, de violation de la LStup. Il lui est reproché d'avoir, le 23 octobre 2009 en Argovie, remis un sac contenant 5 kg d'héroïne aux dénommés B._ et C._ (également inculpés, mais remis en liberté), qui devaient transporter la marchandise jusqu'à Genève. La détention préventive a été prolongée par ordonnances de la Chambre d'accusation genevoise des 10 novembre 2009 et 26 janvier 2010, en raison des risques de fuite et de collusion. Par ordonnance du 5 février 2010, la Chambre d'accusation a rejeté une demande de mise en liberté. Les charges à l'encontre de A._, confirmées par les déclarations de B._ et C._ ainsi que par l'identification de son numéro de téléphone, étaient suffisantes. Le risque de collusion persistait jusqu'à l'audience de jugement car il était à craindre que l'inculpé ne tente de contacter ceux qui le mettent en cause afin qu'ils se rétractent. Ce risque existait aussi avec le dénommé D._, soit le commanditaire présumé du trafic de drogue, avec lequel l'inculpé avait eu des contacts téléphoniques. Le risque de fuite a lui aussi été confirmé, compte tenu de la nationalité de l'inculpé - lequel aurait cherché, dans un premier temps, à échapper à la justice suisse - et de la gravité des faits. Aucune caution n'était proposée. B. A._ forme un recours en matière pénale par lequel il demande sa mise en liberté immédiate. La Chambre d'accusation se réfère à sa décision. Le Ministère public conclut au rejet du recours. Invité à répliquer, le recourant a confirmé les motifs et conclusions de son recours.